mkdir-p: Depend on 'mkdir'.
[gnulib.git] / ChangeLog
blobfd631de1a0e6b57a71f56cb3c6de0c445f3f0c23
1 2018-10-05  Bruno Haible  <bruno@clisp.org>
3         mkdir-p: Depend on 'mkdir'.
4         * modules/mkdir-p (Depends-on): Add 'mkdir'.
6 2018-10-05  Bruno Haible  <bruno@clisp.org>
8         tempname: Depend on 'mkdir'.
9         Reported by Maarten Bosmans <mkbosmans@gmail.com>
10         at <https://savannah.gnu.org/bugs/?33379>.
11         * modules/tempname (Depends-on): Add 'mkdir'.
13 2018-10-05  Akim Demaille  <akim@lrde.epita.fr>
15         timevar: rely on gnulib modules for time portability.
16         * modules/timevar (Depends-on): Add sys_time, sys_times, and times.
17         * m4/timevar.m4: Don't check for clock_t and struct tms,
18         guaranteed by gnulib.
19         * lib/timevar.h: Use extern "C" protection.
20         Include <stdio.h> for FILE.
21         * lib/timevar.c: Include sys/time.h, sys/times.h unconditionally,
22         they are guaranteed by gnulib.
23         Remove uses of clock as (now useless) fallback.
25 2018-10-04  Bruno Haible  <bruno@clisp.org>
27         sh-filename: New module.
28         * m4/sh-filename.m4: New file.
29         * modules/sh-filename: New file.
30         * lib/spawni.c (_PATH_BSHELL): Use BOURNE_SHELL instead of hardcoding
31         "/bin/sh".
32         * tests/test-posix_spawn1.c (main): Likewise.
33         * tests/test-posix_spawn2.c (main): Likewise.
34         * lib/javacomp.c (compile_using_envjavac, is_envjavac_gcj,
35         is_envjavac_gcj43): Likewise.
36         * lib/javaexec.c (execute_java_class): Likewise.
37         * modules/posix_spawn-internal (Depends-on): Add sh-filename.
38         * modules/posix_spawnp-tests (Depends-on): Likewise.
39         * modules/javacomp (Depends-on): Likewise.
40         * modules/javaexec (Depends-on): Likewise.
42 2018-10-04  Bruno Haible  <bruno@clisp.org>
44         spawn-pipe tests: Avoid test failure on native Windows.
45         * tests/test-spawn-pipe-child.c (main): On native Windows, don't expect
46         that fd 2 is closed.
48 2018-10-04  Bruno Haible  <bruno@clisp.org>
50         fcntl: Make it possible to namespace the defined symbol.
51         * lib/fcntl.c (fcntl): Undefine only after the replacement function has
52         been defined.
53         (fcntl): Renamed from rpl_fcntl.
54         (rpl_fcntl_DUPFD, rpl_fcntl_DUPFD_CLOEXEC): New functions, extracted
55         from fcntl.
56         (klibc_fcntl): Move to the end of the compilation unit.
58 2018-10-02  Bruno Haible  <bruno@clisp.org>
60         vasnprintf tests: Avoid test failure on HP-UX/hppa and IRIX.
61         * tests/test-vasnprintf.c (test_function): Change the test added on
62         2018-09-23 to check only the 18 most significant digits.
64         vasnprintf tests: Avoid test failure on Cygwin.
65         * tests/test-vasnprintf.c (test_function): Change the test added on
66         2018-09-23 to check only the 42 most significant digits.
68 2018-10-01  Bruno Haible  <bruno@clisp.org>
70         mkostemp, mkostemps: Update documentation.
71         * doc/glibc-functions/mkostemp.texi: Mention the Mac OS X issue.
72         * doc/glibc-functions/mkostemps.texi: Likewise.
74 2018-10-01  Tom Tromey  <tom@tromey.com>
76         mkostemp, mkostemps: Fix compilation error in C++ mode on Mac OS X.
77         * lib/stdlib.in.h: Include <unistd.h> for mkostemp and mkostemps
78         on OS X.
80 2018-09-30  Pádraig Brady  <P@draigBrady.com>
82         hmac-*: refactor to remove repetitive code
83         * lib/hmac.c: A new parameterized single implementation.
84         * lib/hmac-md5.c: Define parameters and include implementation.
85         * lib/hmac-sha1.c: Likewise.
86         * lib/hmac-sha256.c: Likewise.
87         * lib/hmac-sha512.c: Likewise.
88         * modules/crypto/hmac-md5: Reference the new implementation file.
89         * modules/crypto/hmac-sha1: Likewise.
90         * modules/crypto/hmac-sha256: Likewise.
91         * modules/crypto/hmac-sha512: Likewise.
92         * tests/test-hmac-md5.c: Refactor common code to a single function.
93         * tests/test-hmac-sha1.c: Likewise.
94         * tests/test-hmac-sha256.c: Likewise.
95         * tests/test-hmac-sha512.c: Likewise.
97 2018-09-30  Zhang Qing  <zhangqingl@126.com>
99         hmac-sha512: fix hash for keys > blocksize (128 bytes)
100         * lib/hmac-sha512.c (hmac_sha512): Set the computed/shortened
101         key length to that output by sha512, not the blocksize.
102         Otherwise uninitialized data from the stack
103         is used when computing the hash.
104         * tests/test-hmac-sha512.c: Add a shortened key test case.
105         Reported at https://github.com/coreutils/gnulib/pull/5
107 2018-09-30  Bruno Haible  <bruno@clisp.org>
109         vasnprintf: Avoid warnings from GCC's -Wsign-compare.
110         Reported by Bjarni Ingi Gislason <bjarniig@rhi.hi.is> in
111         <https://lists.gnu.org/archive/html/bug-gnulib/2018-09/msg00105.html>.
112         * lib/vasnprintf.c (VASNPRINTF): Cast 'count' from 'int' to
113         'unsigned int' before comparison with an unsigned value.
115 2018-09-30  Bruno Haible  <bruno@clisp.org>
117         grantpt: Remove unnecessary dependency.
118         * modules/grantpt (Depends-on): Remove 'builtin-expect'.
120 2018-09-30  Bruno Haible  <bruno@clisp.org>
122         timevar: Small tweaks.
123         * lib/timevar.h: Fix comments. Add parameter names to function
124         declarations.
125         * lib/timevar.c: Include timevar.h immediately after config.h.
126         * lib/timevar.def: Fix comments.
127         * modules/timevar (Maintainer): List Akim Demaille.
129 2018-09-30  Bruno Haible  <bruno@clisp.org>
131         timevar: Include documentation in gnulib manual.
132         * doc/timevar.texi: Change node and section name to 'Profiling of
133         program phases'.
134         In the code snippets, tweak the #includes and use GNU coding style.
135         * doc/gnulib.texi: Include timevar.texi.
137 2018-09-27  Akim Demaille  <akim@lrde.epita.fr>
139         timevar: import from Bison.
140         * m4/timevar.m4, modules/timevar, lib/timevar.h, lib/timevar.c:
141         New files.
142         * lib/timevar.def: New file.
143         * doc/timevar.texi: New file.
145 2018-09-26  Bruno Haible  <bruno@clisp.org>
147         javacomp-script, javacomp: Add preliminary support for Java 12..17.
148         * m4/javacomp.m4 (gt_JAVACOMP): Treat Java versions 12..17 like 11.
149         * lib/javacomp.c (default_target_version): Likewise.
151 2018-09-26  Bruno Haible  <bruno@clisp.org>
153         javacomp-script, javacomp: Add support for Java 11.
154         * m4/javacomp.m4 (gt_JAVACOMP): Accept source-version 11 and
155         target-version 11.
156         * lib/javaversion.h: Update comments.
157         * lib/javacomp.c (default_target_version, SOURCE_VERSION_BOUND,
158         source_version_index, get_goodcode_snippet, get_failcode_snippet,
159         TARGET_VERSION_BOUND, target_version_index,
160         corresponding_classfile_version): Accept source_version 11 and
161         target_version 11.
162         * lib/javacomp.h: Update comments accordingly.
164 2018-09-23  Bruno Haible  <bruno@clisp.org>
166         vasnprintf: Fix heap memory overrun bug.
167         Reported by Ben Pfaff <blp@cs.stanford.edu> in
168         <https://lists.gnu.org/archive/html/bug-gnulib/2018-09/msg00107.html>.
169         * lib/vasnprintf.c (convert_to_decimal): Allocate one more byte of
170         memory.
171         * tests/test-vasnprintf.c (test_function): Add another test.
173 2018-09-19  Paul Eggert  <eggert@cs.ucla.edu>
175         maint: mktime.c now shared with glibc
176         * config/srclist.txt: intprops.h, timegm.c and mktime.c
177         are now the same in Gnulib and glibc.
179         mktime: fix _LIBC typo
180         * lib/mktime.c (mktime): Fix typo (misspelled "_LIBC").
182 2018-09-19  Norihiro Tanaka  <noritnk@kcn.ne.jp>
184         dfa: optimization for state merge
185         * lib/dfa.c (merge2): New function.
186         (merge_nfa_state): Use it.
188 2018-09-18  Jim Meyering  <meyering@fb.com>
190         dfa: trivial comment fix: s/is/if/
191         * lib/dfa.c (maybe_disable_superset_dfa): Fix comment typo.
193 2018-09-18  Paul Eggert  <eggert@cs.ucla.edu>
195         dfa: use more-informative function name
196         * lib/dfa.c (maybe_disable_superset_dfa):
197         Rename from dfautf8noss.  Use change.
199         dfa: tweak allocation performance
200         * lib/dfa.c (merge_nfa_state, dfaoptimize):
201         Prefer ptrdiff_t for indexes some more.
202         Use char for flags, as it’s wide enough.
203         Allocate queue and flags together, with one malloc call.
204         No need to use xnmalloc since the multiplication and
205         addition cannot overflow (it’s already been checked by
206         earlier allocation).  Prefer memset to open-coding.
208         dfa: prune states as we go
209         * lib/dfa.c (prune): Remove.
210         dfa: reorder enum for efficiency
211         (merge_nfa_state): Prune as we go instead of at the end.
212         Prefer ptrdiff_t for indexes, as this helps the compiler a bit.
214         * lib/dfa.c (END): Now -1 again.  Reorder other elements
215         of the enumeration to make it easier for GCC to generate
216         efficient code by using fewer comparisons to check for
217         ranges of values.
218         (atom): Take advantage of the reordering.
220 2018-09-18  Norihiro Tanaka  <noritnk@kcn.ne.jp>
222         dfa: optimize alternation in NFA
223         Even when similar states exist in alternation, the DFA treats them
224         as separate items, which may complicate the transition in NFA and
225         cause slowdown.  This change assembles the states into one.  For
226         example, ab|ac is changed into a(b|c).  This change speeds-up
227         matching for many branched patterns.  For example, grep speeds up
228         more than 30× in:
230           seq 10000 | sed 's/$/ abcdefghijklmnopqrstuvwxyz/; s/$/./' >in
231           time -p env LC_ALL=C grep -vf in in
233         * lib/dfa.c (prune): New function.
234         (merge_nfa_state): New function.  It merges similar NFA states.
235         (dfaoptimize): New function.  It seeks merged and removed nodes.
236         (dfaanalyze): Call new function.
237         (dfautf8noss): Change name from dfaoptimize because of addition of new
238         function.
239         (dfacomp): Update caller.
241         dfa: simplify initial state
242         Simplifying the initial state enables easier optimization of the NFA.
243         * lib/dfa.c (enum token): Add new element BEG.
244         (prtok): Adjust due to adding element BEG.
245         (dfaparse): Put BEG at a head of tokens.
246         (state_index): Adjust due to adding element BEG.
247         (dfaanalyze): Concatenate BEG to other tokens, and simplify to
248         build initial state.
249         (dfamust): Adjust due to adding element BEG.  DFAMUST ignores it.
251 2018-09-18  Bruno Haible  <bruno@clisp.org>
253         file-has-acl: Fix test failure on Cygwin 2.9.
254         * m4/acl.m4 (gl_FUNC_ACL): Update comments regarding Cygwin.
255         * lib/acl-internal.h: Likewise.
256         (HAVE_ACL_EXTENDED_FILE): Undefine on Cygwin.
257         * lib/acl-internal.c: Update comments regarding Cygwin.
258         * lib/acl_entries.c: Likewise.
259         * lib/file-has-acl.c: Likewise.
260         (file_has_acl): For Cygwin, use a different way to determine whether
261         the "default" ACL of a directory is nontrivial.
262         * lib/get-permissions.c: Update comments regarding Cygwin.
263         * lib/set-permissions.c: Likewise.
265 2018-09-18  Bruno Haible  <bruno@clisp.org>
267         stat-time tests: Fix test failure on Cygwin.
268         * tests/nap.h (nap_get_stat): Treat Cygwin like native Windows.
270 2018-09-18  Paul Eggert  <eggert@cs.ucla.edu>
272         doc: OS X 10.11 lacked ns time functions
273         According to <https://github.com/zeromq/libzmq/issues/2175>,
274         nanosecond-resolution timestamp functions were introduced
275         in macOS 10.12, so document the last version (OS X 10.11)
276         where they were absent.
278         gettime: nanotime never existed
279         Problem reported by Bruno Haible in:
280         https://lists.gnu.org/r/bug-gnulib/2018-09/msg00082.html
281         * lib/gettime.c (gettime) [HAVE_NANOTIME]: Remove unused code.
282         * m4/gettime.m4 (gl_GETTIME): Don’t check for nanotime.
284 2018-09-18  Bruno Haible  <bruno@clisp.org>
286         doc: Update statement about target platforms.
287         Reported by Simon Sobisch.
288         * doc/gnulib-intro.texi (Target Platforms): Update. Mention
289         restrictions on MSVC versions.
291 2018-09-18  Bruno Haible  <bruno@clisp.org>
293         posix_spawn tests: Fix link error on 64-bit Cygwin.
294         * tests/test-posix_spawn1.c (environ): Remove declaration.
295         * tests/test-posix_spawn2.c (environ): Likewise.
296         * tests/test-posix_spawn3.c (environ): Likewise.
297         * tests/test-posix_spawn4.c (environ): Likewise.
298         * modules/posix_spawn-tests (Depends-on): Add 'environ'.
299         * modules/posix_spawnp-tests (Depends-on): Likewise.
301 2018-09-16  Paul Eggert  <eggert@cs.ucla.edu>
303         timespec: new function current_timespec
304         * lib/gettime.c (gettime): Prefer clock_gettime to nanotime,
305         and don’t worry about it failing on a CLOCK_REALTIME arg.
306         POSIX requires it to succeed and I don’t know of any
307         counterexamples where the fallbacks would work.
308         (current_timespec): New function, taken from Emacs.  It is more
309         convenient than gettime, and can help register allocation.
310         * lib/timespec.h: Include arg-nonnull.h.
311         (current_timespec): New declaration.
312         (gettime, settime): Declare args to be nonnull.
313         * modules/timespec (Depends-on): Add snippet/arg-nonnull.
315 2018-09-16  Bruno Haible  <bruno@clisp.org>
317         setlocale: Improve locale handling on macOS 10.12 or newer.
318         * lib/setlocale.c: Include header files for CoreFoundation. Declare
319         gl_locale_name_canonicalize.
320         (libintl_setlocale): Try harder to set a locale for categories LC_CTYPE
321         and LC_MESSAGES.
322         * m4/setlocale.m4 (gl_PREREQ_SETLOCALE): Add comment.
324 2018-09-16  Bruno Haible  <bruno@clisp.org>
326         Update list of locale names with scripts on macOS.
327         * lib/localename.c (gl_locale_name_canonicalize): Update tables to
328         match Mac OS X 10.13 and recent glibc.
330 2018-09-16  Bruno Haible  <bruno@clisp.org>
332         gettext: Use newer macOS APIs when possible.
333         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Check for
334         CFLocaleCopyPreferredLanguages.
336 2018-09-16  Bruno Haible  <bruno@clisp.org>
338         localename: Revisit macOS specific code.
339         * lib/localename.c (gl_locale_name_default): Reduce code duplication.
340         Fix comments about Mac OS X versions.
342 2018-09-15  Bruno Haible  <bruno@clisp.org>
344         setlocale: Improve support for locales not supported by libc.
345         Reported by Dapeng Gao <peter@dpgao.cc> at
346         <https://savannah.gnu.org/bugs/?54479>.
347         * gettext-runtime/intl/setlocale.c: Include <stdio.h>.
348         (libintl_setlocale): Use a more error-tolerant strategy when the locale
349         to be set is not supported by libc: Emit warnings instead of failing.
351 2018-09-15  Bruno Haible  <bruno@clisp.org>
353         strstr, strcasestr: Add workaround against glibc-2.28 bug.
354         Reported by Michael Brunnbauer via Siddhesh Poyarekar and Eric Blake.
355         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Set
356         gl_cv_func_strstr_works_always to 'no' on glibc 2.28.
357         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Set
358         gl_cv_func_strcasestr_works_always to 'no' on glibc 2.28.
359         * doc/posix-functions/strstr.texi: Document the glibc 2.28 bug.
360         * doc/glibc-functions/strcasestr.texi: Likewise.
362 2018-09-14  Bruno Haible  <bruno@clisp.org>
364         doc: Fix bottom of top-level page.
365         Reported by Akim Demaille <akim.demaille@gmail.com> in
366         <https://lists.gnu.org/archive/html/bug-gnulib/2018-09/msg00072.html>.
367         * doc/pastposix-functions/index.texi: Rename node to '_index' in HTML
368         mode.
369         * doc/gnulib.texi (Legacy Function Substitutes): Update menu
370         accordingly.
372 2018-09-12  Bruno Haible  <bruno@clisp.org>
374         Add test case from a recent glibc bug.
375         * tests/test-strstr.c (main): Add test of long needle.
376         * tests/test-strcasestr.c (main): Likewise.
377         * tests/test-c-strstr.c (main): Likewise.
378         * tests/test-c-strcasestr.c (main): Likewise.
379         * tests/test-memmem.c (main): Likewise.
381 2018-09-12  Bruno Haible  <bruno@clisp.org>
383         Apply Eric Blake's improvements from 2011-02-25 to more tests.
384         * tests/test-c-strstr.c (main): Add the same tests here as well.
386 2018-09-12  Bruno Haible  <bruno@clisp.org>
388         Apply Jim Meyering's fix from 2015-01-11 to more tests.
389         * tests/test-memmem.c (main): Free haystack.
390         * tests/test-strcasestr.c (main): Likewise.
391         * tests/test-c-strcasestr.c (main): Likewise.
393 2018-09-11  Paul Eggert  <eggert@cs.ucla.edu>
395         xstrtol: fix missing-TYPE_SIGNED typo
396         * lib/xstrtol.c (TYPE_SIGNED): New macro, duplicating intprops.h.
398 2018-09-10  Paul Eggert  <eggert@cs.ucla.edu>
400         timespec: fix resolution confusion
401         In normal usage, clock resolution is given in seconds, but the
402         code was mistakenly using inverse seconds and calling it
403         “resolution”.  Fix this, partly by renaming two identifiers.
404         The old names will be kept for a bit, to ease transition.
405         * lib/timespec.h (TIMESPEC_HZ, LOG10_TIMESPEC_HZ):
406         New constants, replacing TIMESPEC_RESOLUTION and
407         LOG10_TIMESPEC_RESOLUTION, which are now obsolescent.
408         All uses changed.
410 2018-09-09  Paul Eggert  <eggert@cs.ucla.edu>
412         mktime: simplify in prep for glibc merge
413         * lib/mktime.c, lib/timegm.c [_LIBC]:
414         Include mktime-internal.h (a small file just for glibc)
415         instead of using a typedef.
417 2018-09-07  Paul Eggert  <eggert@cs.ucla.edu>
419         intprops: minor clarification of code
420         * lib/intprops.h (_GL_BINARY_OP_OVERFLOW):
421         Use _GL_INT_CONVERT rather than reinventing it.
423 2018-09-07  Bruno Haible  <bruno@clisp.org>
425         Fix a comment.
426         * tests/test-posix_spawn3.c (parent_main): Fix typo in comment.
428 2018-09-07  Bruno Haible  <bruno@clisp.org>
430         posix_spawn_file_actions_addchdir: Add tests.
431         * tests/test-posix_spawn_file_actions_addchdir.c: New file.
432         * tests/test-posix_spawn4.c: New file.
433         * modules/posix_spawn_file_actions_addchdir-tests: New file.
435 2018-09-07  Bruno Haible  <bruno@clisp.org>
437         posix_spawn_file_actions_addchdir: New module.
438         Suggested by Eric Blake in
439         <https://lists.gnu.org/archive/html/bug-findutils/2018-09/msg00007.html>.
440         * lib/spawn.in.h (posix_spawn_file_actions_addchdir): New declaration.
441         * lib/spawn_int.h (struct __spawn_action): Add tag 'spawn_do_chdir' and
442         union member 'chdir_action'.
443         * lib/spawn_faction_addchdir.c: New file.
444         * lib/spawni.c (__spawni): Implement the spawn_do_chdir action.
445         * lib/spawn_faction_addclose.c: Test REPLACE_POSIX_SPAWN instead of
446         HAVE_WORKING_POSIX_SPAWN.
447         * lib/spawn_faction_adddup2.c: Likewise.
448         * lib/spawn_faction_addopen.c: Likewise.
449         * m4/posix_spawn_faction_addchdir.m4: New file.
450         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether module
451         'posix_spawn_file_actions_addchdir' is present and whether
452         posix_spawn_file_actions_addchdir_np exists. Define REPLACE_POSIX_SPAWN
453         instead of HAVE_WORKING_POSIX_SPAWN.
454         * m4/spawn_h.m4 (gl_SPAWN_H): Test whether
455         posix_spawn_file_actions_addchdir is declared.
456         (gl_SPAWN_H_DEFAULTS): Initialize
457         GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR,
458         HAVE_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR,
459         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR.
460         * modules/spawn (Makefile.am): Substitute
461         GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR,
462         HAVE_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR,
463         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR.
464         * modules/posix_spawn_file_actions_addchdir: New file.
465         * modules/posix_spawn_file_actions_addclose (Depends-on,
466         configure.ac): Test also REPLACE_POSIX_SPAWN.
467         * modules/posix_spawn_file_actions_adddup2 (Depends-on,
468         configure.ac): Likewise.
469         * modules/posix_spawn_file_actions_addopen (Depends-on,
470         configure.ac): Likewise.
471         * tests/test-spawn-c++.cc (posix_spawn_file_actions_addchdir): Check
472         signature.
473         * doc/posix-functions/posix_spawn.texi: Mention the new module.
474         * doc/posix-functions/posix_spawnp.texi: Likewise.
476 2018-09-06  Bruno Haible  <bruno@clisp.org>
478         stddef: Override max_align_t on NetBSD 8.0/x86.
479         * m4/stddef_h.m4 (gl_STDDEF_H): When testing for max_align_t, test also
480         the value of __alignof__ (max_align_t).
481         * doc/posix-headers/stddef.texi: Mention the issue.
483 2018-09-06  Bruno Haible  <bruno@clisp.org>
485         fcntl: Fix F_DUPFD_CLOEXEC behaviour on Haiku.
486         * lib/fcntl.c (rpl_fcntl): For F_DUPFD_CLOEXEC, don't even try the
487         system fcntl.
488         * doc/posix-functions/fcntl.texi: Document the issue.
490 2018-09-06  Bruno Haible  <bruno@clisp.org>
492         count-trailing-zeros tests: Rely on limits-h module.
493         * tests/test-count-trailing-zeros.c (ULLONG_MAX): Remove fallback
494         definition.
495         * modules/count-trailing-zeros-tests (Depends-on): Add 'limits-h'.
497 2018-09-06  Bruno Haible  <bruno@clisp.org>
499         count-leading-zeros tests: Rely on limits-h module.
500         * tests/test-count-leading-zeros.c (ULLONG_MAX): Remove fallback
501         definition.
502         * modules/count-leading-zeros-tests (Depends-on): Add 'limits-h'.
504 2018-09-06  Bruno Haible  <bruno@clisp.org>
506         count-one-bits tests: Rely on limits-h module.
507         * tests/test-count-one-bits.c (ULLONG_MAX): Remove fallback definition.
508         * modules/count-one-bits-tests (Depends-on): Add 'limits-h'.
510 2018-09-06  Bruno Haible  <bruno@clisp.org>
512         xstrtoll: Rely on limits-h module.
513         * lib/xstrtol.c: Don't include intprops.h.
514         (ULLONG_MAX, LLONG_MAX, LLONG_MIN): Remove fallback definitions.
515         * modules/xstrtol (Depends-on): Remove 'intprops'.
516         * modules/xstrtoll (Depends-on): Add 'limits-h'.
518 2018-09-06  Bruno Haible  <bruno@clisp.org>
520         strtoll, strtoull: Rely on limits-h module.
521         * lib/strtol.c (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove macros.
522         (ULLONG_MAX, LLONG_MAX, LLONG_MIN): Remove fallback definitions.
523         * modules/strtoll (Depends-on): Add limits-h.
524         * modules/strtoull (Depends-on): Likewise.
526 2018-09-06  Bruno Haible  <bruno@clisp.org>
528         intprops tests: Fix compilation error with pre-C99 compiler.
529         * tests/test-intprops.c (verify_stmt): New macro.
530         (VERIFY, main): Use it.
532 2018-09-06  Bruno Haible  <bruno@clisp.org>
534         limits-h: Provide numerical limits macros.
535         * lib/limits.in.h (LLONG_MIN, LLONG_MAX, ULLONG_MAX): Define also for
536         IRIX and for GCC.
537         (WORD_BIT, LONG_BIT): Define.
538         * m4/limits-h.m4 (gl_LIMITS_H): Set LIMITS_H to non-empty also when
539         <limits.h> does not define LLONG_MAX or WORD_BIT.
540         * tests/test-limits-h.c (TYPE_SIGNED, TYPE_WIDTH, TYPE_MINIMUM,
541         TYPE_MAXIMUM): New macros, from intprops.h.
542         Add tests for CHAR_BIT, WORD_BIT, LONG_BIT, <type>_MIN, and <type>_MAX.
543         * doc/posix-headers/limits.texi: Document what the 'limits-h' module
544         provides.
546 2018-09-05  Bruno Haible  <bruno@clisp.org>
548         fcntl: Don't access nonexistent optional argument.
549         Reported by Frank Busse <f.busse@imperial.ac.uk> in
550         <https://lists.gnu.org/archive/html/bug-gnulib/2018-09/msg00018.html>.
551         * lib/fcntl.c (rpl_fcntl): For actions that don't take an argument,
552         don't consume an argument. For actions that take an 'int' argument,
553         consume an 'int' argument.
555 2018-09-05  Eric Blake  <eblake@redhat.com>
557         doc: mention environ pitfall
558         * doc/posix-functions/environ.texi (environ): Assigning NULL to
559         environ is a glibc extension.
561 2018-09-03  Bruno Haible  <bruno@clisp.org>
563         gnulib-tool: Fix build order when $testsbase is a subdir of $sourcebase.
564         Reported by Antoine Luong <antoine.luong@c-s.fr> in
565         <https://lists.gnu.org/archive/html/bug-gnulib/2018-09/msg00008.html>.
566         * gnulib-tool (func_import): For the tests, set a dotfirst flag.
567         (func_emit_lib_Makefile_am): Consider the dotfirst flag.
568         (func_emit_tests_Makefile_am): Don't consider the dotfirst flag.
570 2018-09-02  Paul Eggert  <eggert@cs.ucla.edu>
572         mktime: fix unlikely race+overflow bug
573         Problem reported by Alexandre Oliva in:
574         https://sourceware.org/bugzilla/show_bug.cgi?id=16346
575         * lib/mktime.c (__mktime_internal): Access *OFFSET only once,
576         to avoid an unlikely race if the compiler delays a load and
577         if this cascades into a signed integer overflow.
579 2018-08-31  Paul Eggert  <eggert@cs.ucla.edu>
581         mktime, timegm: simplify glibc time64_t
582         * lib/mktime.c, lib/timegm.c (mktime_offset_t) [_LIBC]:
583         Now long int, not time_t, since long int is the longstanding type
584         for this in glibc and there is no need to change it even if time_t
585         becomes 64 bits - even int would do, though this would be a change
586         to the glibc generated code.  When this change is merged into
587         glibc, it should simplify the time_t vs time64_t situation.
589         mktime, timegm: simplify merge to glibc
590         Move code around to make a merge to glibc easier to audit.
591         This should not change behavior.
592         * lib/mktime.c (NEED_MKTIME_INTERNAL, NEED_MKTIME_WINDOWS)
593         (NEED_MKTIME_WORKING): Give default values to pacify -Wundef,
594         which glibc uses.  Default NEED_MKTIME_WORKING to DEBUG_MKTIME, to
595         simplify later conditionals; default the others to zero.  In uses
596         of these conditionals, explicitly spell out how _LIBC affects
597         things, so it’s easier to review from a glibc viewpoint.
598         (my_tzset, __tzset) [!_LIBC]: New function and macro, to better
599         compartmentalize tzset issues.  Move system-dependent tzsettish
600         code here from mktime.
601         (mktime): Move tzsettish code to my_tzset, and move
602         localtime_offset to within mktime so that it doesn’t
603         need a separate ifdef.
605 2018-08-27  Paul Eggert  <eggert@cs.ucla.edu>
607         intprops: avoid evaluation of some expressions
608         This makes EXPR_SIGNED (e) easier to use, as it no longer
609         evaluates the expression E.  Formerly, E was required to be free
610         of side effects.
611         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT)
612         (EXPR_SIGNED, TYPE_WIDTH, _GL_INT_MINIMUM, _GL_INT_MAXIMUM)
613         (_GL_SIGNED_INT_MAXIMUM): Do not evaluate the expression arg.
615 2018-08-23  Bruno Haible  <bruno@clisp.org>
617         getcwd: Add cross-compilation guesses.
618         Reported by Sergio Durigan Junior <sergiodj@redhat.com> in
619         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00130.html>.
620         Based on a patch by Paul Eggert.
621         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Add cross-compilation
622         guesses for all GNU systems.
624 2018-08-19  Bruno Haible  <bruno@clisp.org>
626         glob-h: Formalize side effects from other modules.
627         * m4/glob_h.m4 (gl_REPLACE_GLOB_H): New macro.
628         * m4/glob.m4 (gl_GLOB): Invoke it.
630         fnmatch-h: Formalize side effects from other modules.
631         * m4/fnmatch_h.m4 (gl_REPLACE_FNMATCH_H): New macro.
632         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Invoke it.
634         limits-h: Formalize side effects from other modules.
635         * m4/limits-h.m4 (gl_REPLACE_LIMITS_H): New macro.
636         * m4/stdint.m4 (gl_STDINT_H): Invoke it.
638 2018-08-19  Bruno Haible  <bruno@clisp.org>
640         getpass: Move declaration to <unistd.h>.
641         * lib/unistd.in.h (getpass): New declaration.
642         * lib/getpass.h: Replace with a stub that just includes <unistd.h>.
643         * m4/getpass.m4 (gl_FUNC_GETPASS): Declare through AC_DEFUN_ONCE.
644         Require gl_UNISTD_H_DEFAULTS. Don't test whether getpass is declared.
645         (gl_FUNC_GETPASS_GNU): Require gl_UNISTD_H_DEFAULTS and gl_FUNC_GETPASS.
646         On glibc systems, don't set REPLACE_GETPASS to 1.
647         * modules/getpass (Depends-on): Add 'unistd'.
648         (configure.ac): Test also REPLACE_GETPASS. Define a module indicator.
649         (Include): Specify <unistd.h> instead of "getpass.h".
650         * modules/getpass-gnu (Depends-on): Merely depend on 'getpass'.
651         (configure.ac): Sync with the configure.ac section of modules/getpass.
652         (Include): Specify <unistd.h> instead of "getpass.h".
653         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether getpass is declared.
654         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPASS, HAVE_GETPASS,
655         REPLACE_GETPASS.
656         * modules/unistd (Makefile.am): Substitute GNULIB_GETPASS, HAVE_GETPASS,
657         REPLACE_GETPASS.
658         * tests/test-unistd-c++.cc: Test also the declaration of 'getpass'.
659         * doc/glibc-functions/getpass.texi: A length limit exists also on uClibc
660         and musl.
661         * NEWS: Mention the change.
663 2018-08-19  Bruno Haible  <bruno@clisp.org>
665         glob: Fix over-optimization due to attribute __nonnull__.
666         * lib/glob.c (_GL_ARG_NONNULL): Define to empty.
668 2018-08-19  Bruno Haible  <bruno@clisp.org>
670         glob: Fix another compilation error when glob.h is not replaced.
671         Reported by Reuben Thomas <rrt@sc3d.org> in
672         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00112.html>.
673         * m4/glob.m4 (gl_GLOB): Set GLOB_H to non-empty when needed.
674         * m4/glob_h.m4 (gl_GLOB_H): Define through AC_DEFUN_ONCE.
676 2018-08-18  Bruno Haible  <bruno@clisp.org>
678         fnmatch: Avoid conflicting macro definitions of 'fnmatch'.
679         Reported by Reuben Thomas <rrt@sc3d.org> in
680         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00108.html>.
681         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): Don't define 'fnmatch' as a macro
682         in config.h.
684 2018-08-18  Bruno Haible  <bruno@clisp.org>
686         Avoid -Wcast-function-type warnings from casts after GetProcAddress.
687         Reported by Andy Moreton <andrewjmoreton@gmail.com> in
688         <https://lists.gnu.org/archive/html/emacs-devel/2018-08/msg00468.html>.
689         Solution proposed by Eli Zaretskii.
690         * lib/getaddrinfo.c (GetProcAddress): Cast result to 'void *' first.
691         * lib/gettimeofday.c (GetProcAddress): Likewise.
692         * lib/link.c (GetProcAddress): Likewise.
693         * lib/physmem.c (GetProcAddress): Likewise.
694         * lib/poll.c (GetProcAddress): Likewise.
695         * lib/select.c (GetProcAddress): Likewise.
696         * lib/stat-w32.c (GetProcAddress): Likewise.
698 2018-08-18  Bruno Haible  <bruno@clisp.org>
700         glob: Fix another compilation error when glob.h is not replaced.
701         Reported and fix proposed by Reuben Thomas <rrt@sc3d.org> again.
702         * lib/globfree.c: Include <libc-config.h>.
704 2018-08-18  Bruno Haible  <bruno@clisp.org>
706         glob: Fix compilation error when glob.h is not replaced.
707         Reported and fix proposed by Reuben Thomas <rrt@sc3d.org> in
708         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00096.html>.
709         * lib/glob_pattern_p.c: Include <libc-config.h>.
710         * modules/glob (Depends-on): Add libc-config.
712 2018-08-18  Bruno Haible  <bruno@clisp.org>
714         scratch_buffer: Add tests.
715         * tests/test-scratch-buffer.c: New file.
716         * modules/scratch_buffer-tests: New file.
718 2018-08-18  Bruno Haible  <bruno@clisp.org>
720         scratch_buffer: Fix include file.
721         Reported by Reuben Thomas <rrt@sc3d.org> in
722         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00082.html>.
723         * lib/scratch_buffer.h: Include <libc-config.h> first. Add
724         double-inclusion guard.
726 2018-08-18  Bruno Haible  <bruno@clisp.org>
728         glob-h: Revert Paul Eggert's revert.
729         * m4/glob_h.m4: Revert to previous state.
730         * modules/glob-h: Likewise.
732 2018-08-18  Paul Eggert  <eggert@cs.ucla.edu>
734         glob-h: always build glob.h
735         This works around a problem reported by Reuben Thomas in:
736         http://lists.gnu.org/r/bug-gnulib/2018-08/msg00079.html
737         This workaround always builds glob.h, even on platforms that
738         do not need it; perhaps this could be improved someday.
739         * m4/glob_h.m4 (gl_GLOB_H): Do not set or use GLOB_H, since glob.h
740         is always created now.
741         * modules/glob-h (BUILT_SOURCES, glob.h): Always build glob.h.
743 2018-08-13  Bruno Haible  <bruno@clisp.org>
745         monetary: Simplify m4 code.
746         * m4/monetary_h.m4 (gl_MONETARY_H): Define through AC_DEFUN_ONCE.
747         (gl_MONETARY_H_BODY): Inline into gl_MONETARY_H. Remove macro.
749 2018-08-13  Bruno Haible  <bruno@clisp.org>
751         fnmatch, fnmatch-gnu: Fix compilation error on Mac OS X.
752         Reported by Jeroen Meijer <jjgmeijer@gmail.com> in
753         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00046.html>
754         and by Paul J. Lucas <paul@lucasmail.org> in
755         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00069.html>.
756         * m4/fnmatch_h.m4 (gl_FNMATCH_H): Define through AC_DEFUN_ONCE.
758 2018-08-11  Bruno Haible  <bruno@clisp.org>
760         setlocale: Trivial simplification.
761         * lib/setlocale.c (setlocale_unixlike): Remove redundant #if.
763 2018-08-11  Paul Eggert  <eggert@cs.ucla.edu>
765         verify: port 'assume' to traditional tools
766         * lib/verify.h (assume): Port better to Oracle Studio 12.6
767         and other tools that use /*NOTREACHED*/ comments.
769 2018-08-10  Bruno Haible  <bruno@clisp.org>
771         fnmatch-gnu: Fix compilation error in C++ namespace mode on Mac OS X.
772         * modules/fnmatch-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
773         * lib/fnmatch.in.h (fnmatch): Skip _GL_CXXALIASWARN if module
774         'fnmatch-gnu' is in use.
776 2018-08-07  Bruno Haible  <bruno@clisp.org>
778         glob-h: Add tests.
779         * tests/test-glob-h.c: New file, partially based on tests/test-glob.c.
780         * tests/test-glob.c: Reorder #includes. Remove tests that are moved to
781         tests/test-glob-h.c.
782         * modules/glob-h-tests: New file.
783         * tests/test-glob-h-c++.cc: Renamed from tests/test-glob-c++.cc. Add
784         conditions.
785         * modules/glob-h-c++-tests: Renamed from modules/glob-c++-tests.
786         * modules/glob-tests (Depends-on): Remove glob-c++-tests.
788 2018-08-07  Bruno Haible  <bruno@clisp.org>
790         glob-h: New module.
791         * lib/glob.in.h: Use nearly the usual gnulib idioms for header file
792         replacements.
793         * lib/glob.c: Include <config.h>.
794         * m4/glob_h.m4: New file.
795         * m4/glob.m4 (gl_GLOB): Require gl_GLOB_H. Remove code that is moved to
796         glob_h.m4. Set HAVE_GLOB, REPLACE_GLOB, HAVE_GLOB_PATTERN_P,
797         REPLACE_GLOB_PATTERN_P as appropriate.
798         (gl_PREREQ_GLOB): Don't require AC_C_RESTRICT and
799         AC_USE_SYSTEM_EXTENSIONS, now done through module 'glob-h'.
800         * modules/glob-h: New file.
801         * modules/glob (Files): Remove lib/glob.in.h, lib/glob-libc.h.
802         (Dependencies): Add glob-h. Remove extensions, snippet/*, libc-config,
803         lstat, sys_stat. Change conditions.
804         (configure.ac): Test HAVE_GLOB, REPLACE_GLOB, HAVE_GLOB_PATTERN_P,
805         REPLACE_GLOB_PATTERN_P. Set module indicator.
806         (Makefile.am): Remove code that is moved to glob-h.
807         * doc/posix-headers/glob.texi: Mention the 'glob-h' module.
808         * modules/posixcheck (Depends-on): Add glob-h.
810 2018-08-06  Bruno Haible  <bruno@clisp.org>
812         Force generation of substitute .h file when C++ support is enabled.
813         * m4/ansi-c++.m4 (gl_ANSI_CXX): New macro.
814         * modules/ansi-c++-opt (configure.ac): Just require gl_ANSI_CXX.
815         * m4/fnmatch_h.m4 (gl_FNMATCH_H): If C++ support is enabled, set
816         FNMATCH_H to non-empty.
817         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): If C++ support is enabled, set
818         ICONV_H to non-empty.
819         * m4/monetary_h.m4 (gl_MONETARY_H_BODY): If C++ support is enabled, set
820         MONETARY_H to non-empty.
821         * m4/utime_h.m4 (gl_UTIME_H): If C++ support is enabled, set UTIME_H to
822         non-empty.
824 2018-08-06  Bruno Haible  <bruno@clisp.org>
826         fnmatch-h: Fix test compilation error on mingw (regression from today).
827         * lib/fnmatch.in.h: Fix conditions.
829 2018-08-06  Bruno Haible  <bruno@clisp.org>
831         sys_resource: Relicense under LGPLv2+.
832         John Malmberg's approval is in
833         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00031.html>.
834         * modules/sys_resource (License): Change to LGPLv2+.
836 2018-08-06  Bruno Haible  <bruno@clisp.org>
838         fnmatch-h: Add tests.
839         * tests/test-fnmatch-h.c: New file.
840         * modules/fnmatch-h-tests: New file.
841         * tests/test-fnmatch-h-c++.cc: New file.
842         * modules/fnmatch-h-c++-tests: New file.
844 2018-08-06  Bruno Haible  <bruno@clisp.org>
846         fnmatch-h: New module.
847         * lib/fnmatch.in.h: Use the usual gnulib idioms for header file
848         replacements.
849         (FNM_*): Don't redefine if fnmatch exists and we are not overriding it.
850         (fnmatch): Use the usual gnulib idiom for function declarations. Enable
851         'posixcheck' warning.
852         * m4/fnmatch_h.m4: New file.
853         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Require gl_FNMATCH_H. Remove
854         code that is moved to fnmatch_h.m4. When fnmatch does not exist, don't
855         bother testing whether it is working. Set HAVE_FNMATCH, REPLACE_FNMATCH
856         as appropriate.
857         * modules/fnmatch-h: New file.
858         * modules/fnmatch (Files): Remove lib/fnmatch.in.h.
859         (Dependencies): Add fnmatch-h. Remove extensions, snippet/*. Change
860         conditions.
861         (configure.ac): Test HAVE_FNMATCH and REPLACE_FNMATCH. Set module
862         indicator.
863         (Makefile.am): Remove code that is moved to fnmatch-h.
864         * modules/fnmatch-gnu (configure.ac): Test HAVE_FNMATCH and
865         REPLACE_FNMATCH.
866         * doc/posix-headers/fnmatch.texi: Mention the 'fnmatch-h' module.
867         * modules/posixcheck (Depends-on): Add fnmatch-h.
869 2018-08-06  Bruno Haible  <bruno@clisp.org>
871         Enable more C++ tests.
872         * modules/inttypes-tests (Depends-on): Add inttypes-c++-tests.
873         * modules/monetary-tests (Depends-on): Add monetary-c++-tests.
874         * modules/strings-tests (Depends-on): Add strings-c++-tests.
875         * modules/sys_resource-tests (Depends-on): Add sys_resource-c++-tests.
876         * modules/utime-h-tests (Depends-on): Add utime-h-c++-tests.
878 2018-08-06  Bruno Haible  <bruno@clisp.org>
880         getopt-posix, utime-h: Ensure the .h file gets regenerated when needed.
881         * modules/getopt-posix (Makefile.am): Add Makefile dependency for
882         getopt.h.
883         * modules/utime-h (Makefile.am): Add Makefile dependency for utime.h.
885 2018-08-05  Bruno Haible  <bruno@clisp.org>
887         utime-h: Generate header file when module 'posixcheck' is in use.
888         * m4/utime_h.m4 (gl_UTIME_H): If module 'posixcheck' is in use, set
889         UTIME_H to non-empty.
891 2018-08-05  Bruno Haible  <bruno@clisp.org>
893         monetary: Generate header file when module 'posixcheck' is in use.
894         * m4/monetary_h.m4 (gl_MONETARY_H_BODY): If module 'posixcheck' is in
895         use, set MONETARY_H to non-empty.
897 2018-08-05  Bruno Haible  <bruno@clisp.org>
899         iconv-h: Generate header file when module 'posixcheck' is in use.
900         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): If module 'posixcheck' is in use,
901         set ICONV_H to non-empty.
903 2018-08-05  Bruno Haible  <bruno@clisp.org>
905         Optimize the "checking whether ... is declared without a macro" checks.
906         Suggested by Paul Eggert in
907         <https://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00339.html>.
908         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Expand to nothing if the
909         Gnulib module 'posixcheck' is not in use.
911 2018-08-05  Bruno Haible  <bruno@clisp.org>
913         iconv-h: Enable 'posixcheck' warnings.
914         * m4/iconv_h.m4 (gl_ICONV_H): Check for declarations of iconv and
915         iconv_open.
916         * lib/iconv.in.h (iconv_open, iconv): Use _GL_WARN_ON_USE.
918 2018-08-05  Bruno Haible  <bruno@clisp.org>
920         Fix link error regarding 'rpl_environ' (regression from 2012-11-21).
921         * m4/extern-inline.m4: Add more comments.
922         * lib/warn-on-use.h (_GL_WARN_ON_USE_ATTRIBUTE): New macro.
923         * lib/unistd.in.h (rpl_environ): Use it instead of _GL_WARN_ON_USE.
924         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL): Likewise.
926 2018-08-04  Bruno Haible  <bruno@clisp.org>
928         New module 'posixcheck'.
929         * modules/posixcheck: New file.
930         * m4/posixcheck.m4: New file.
931         * doc/gnulib-tool.texi (Finding POSIX substitutes): New section.
932         (Which modules?): Reference it.
934 2018-08-01  Assaf Gordon <assafgordon@gmail.com>
936         dfa: fix memory leak
937         * lib/dfa.c (dfafree): Add missing free() on dfa->superset.
939 2018-08-01  Paul Eggert  <eggert@cs.ucla.edu>
941         ieee754-h: new module
942         It looks like Emacs can use this for some NaN processing.
943         Emacs uses it only on double NaNs so it should be safe.
944         * MODULES.html.sh (func_all_modules): Add ieee754-h.
945         * config/srclist.txt: Mention ieee754.h in a comment.
946         * doc/glibc-headers/ieee754.texi (ieee754.h):
947         Gnulib now has a substitute that should work
948         except for long double and for non-IEEE platforms.
949         * lib/ieee754.in.h, m4/ieee754-h.m4, modules/ieee754-h:
950         * modules/ieee754-h-tests, tests/test-ieee754-h.c: New files.
952 2018-07-27  Bruno Haible  <bruno@clisp.org>
954         iswcntrl: Mention minor problem on macOS.
955         * doc/posix-functions/iswcntrl.texi: Mention oddity on macOS.
957 2018-07-26  Colin Watson  <cjwatson@debian.org>
959         bootstrap, gnulib-tool: fix translations rsync
960         Previously, we created files such as $pobase/Makefile.in.in and then the
961         subsequent rsync would immediately delete them.
962         * build-aux/bootstrap (po_download_command_format): Avoid deleting
963         non-.po files in target directory when rsyncing translations.
964         * gnulib-tool (func_import): Likewise.
965         * pygnulib/GLImport.py (GLImport.execute): Likewise.
967 2018-07-25  Jim Meyering  <meyering@fb.com>
969         bootstrap: reinstate definition fo gnulib_mk.
970         That variable is used at least by cppi.
971         * build-aux/bootstrap (gnulib_mk): Restore definition.
972         This reverts the deletion from v0.1-1844-gc66dba9ba.
974 2018-07-23  Bruno Haible  <bruno@clisp.org>
976         doc: For module names, use texinfo markup @code{} or @samp{}.
977         * doc/alloca.texi: Mark gnulib module names with @code.
978         * doc/alloca-opt.texi: Likewise.
979         * doc/quote.texi: Likewise.
980         * doc/posix-functions/freopen.texi: Likewise.
981         * doc/posix-functions/open.texi: Likewise.
982         * doc/posix-functions/readlink.texi: Likewise.
983         * doc/posix-functions/readlinkat.texi: Likewise.
984         * doc/posix-functions/stdout.texi: Likewise.
985         * doc/posix-functions/stderr.texi: Likewise.
986         * doc/posix-functions/unlink.texi: Likewise.
987         * doc/posix-functions/unlinkat.texi: Likewise.
988         * doc/posix-functions/utime.texi: Likewise.
989         * doc/posix-functions/utimensat.texi: Likewise.
990         * doc/posix-functions/utimes.texi: Likewise.
991         * doc/posix-headers/stdint.texi: Likewise.
992         * doc/glibc-functions/futimesat.texi: Likewise.
993         * doc/glibc-functions/lutimes.texi: Likewise.
994         * doc/glibc-functions/memmem.texi: Likewise.
996 2018-07-23  Werner LEMBERG  <wl@gnu.org>
998         doc: Avoid some overfull lines in the TeX output.
999         * doc/glibc-functions/futimesat.texi: Replace a long @code with a
1000         @example.
1001         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Insert a
1002         newline before the long URL.
1003         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Likewise.
1004         * doc/relocatable-maint.texi: Use @smallexample instead of @example.
1005         Add line breaks in code snippets.
1007 2018-07-17  Paul Eggert  <eggert@cs.ucla.edu>
1009         hard-locale: simplify by removing hard-locale.m4
1010         * m4/hard-locale.m4: Remove.
1011         * modules/hard-locale (Files): Remove m4/hard-locale.m4.
1012         (configure.ac): Do not call gl_HARD_LOCALE.
1014         gnulib-tool: limit line length for git send-email
1015         * gnulib-tool (func_import): Break actioncmd log line
1016         into multiple lines.
1018 2018-07-16  Bruno Haible  <bruno@clisp.org>
1020         ffs: Ensure declaration on mingw.
1021         Reported by Daniel P. Berrangé <berrange@redhat.com>
1022         in https://lists.gnu.org/archive/html/bug-gnulib/2018-07/msg00061.html.
1023         * m4/ffs.m4 (gl_FUNC_FFS): Check whether ffs() not only exists but is
1024         also declared.
1026 2018-07-13  Paul Eggert  <eggert@cs.ucla.edu>
1028         regex-tests: add dependency
1029         * modules/regex-tests (Depends-on): Add gettext-h.
1030         This is needed given the recent changes to regex,
1031         which no longer depends on gettext-h.
1033 2018-07-06  Paul Eggert  <eggert@cs.ucla.edu>
1035         regex: now in sync with glibc
1036         * config/srclist.txt: Gnulib and glibc regex code
1037         are synchronized again.
1039 2018-07-05  Paul Eggert  <eggert@cs.ucla.edu>
1041         renameatu: rename from renameat2
1042         It's looking like Glibc will add a renameat2 function
1043         that is incompatible with Gnulib renameat2; see:
1044         https://sourceware.org/ml/libc-alpha/2018-07/msg00064.html
1045         To help avoid future confusion, rename renameat2 to something else.
1046         Use the name 'renameatu', as the Gnulib function is close to the
1047         Glibc function.  Perhaps someday there will also be a renameat2
1048         Gnulib module, which mimicks the future glibc renameat2, but that
1049         can wait as nobody seems to need such a module now.
1050         * NEWS: Mention this.
1051         * lib/renameatu.c: Rename from lib/renameat2.c.
1052         * lib/renameatu.h: Rename from lib/renameat2.h.
1053         * modules/renameatu: Rename from modules/renameat2.
1054         * modules/renameatu-tests: Rename from modules/renameat2-tests.
1055         All uses of "renameat2" in identifiers or file name
1056         changed to "renameatu", except for two instances in
1057         lib/renameatu.c that deal with the Linux kernel's
1058         renameat2 syscall.
1060 2018-07-04  Paul Eggert  <eggert@cs.ucla.edu>
1062         gnulib-tool: minor tweaks for --gnu-make
1063         * gnulib-tool: Do not allow --gnu-make in test modes,
1064         since they all require automake.
1065         (func_emit_lib_Makefile_am): Don’t emit automake comment
1066         if --gnu-make.
1068         regex: work around conditional-dependencies glitch
1069         * modules/regex (Depends-on): Add langinfo.
1070         Without this change, I had problems building an experimental
1071         version of GNU Emacs.  The symptom of the bug was a message
1072         ‘./configure: line 12726: test: =: unary operator expected’.
1073         This was due to a line in gl_FUNC_NL_LANGINFO that invokes
1074         ‘test $HAVE_LANGINFO_CODESET = 1’ even though HAVE_LANGINFO_CODESET
1075         was unset.  Although gl_FUNC_NL_LANGINFO has
1076         ‘AC_REQUIRE([gl_LANGINFO_H])’ and gl_LANGINFO_H always sets
1077         HAVE_LANGINFO_CODESET to 0 or 1, gnulib-tool with
1078         --conditional-dependencies sometimes arranges for the
1079         gl_FUNC_NL_LANGINFO code to be executed before the gl_LANGINFO_H
1080         code.  Since the regex code includes <langinfo.h> it should be
1081         depending on the langinfo module anyway, and this happens to work
1082         around the bug, so install that as a workaround for now.  To
1083         reproduce the original problem, run the following shell script on
1084         the version of Gnulib just before this patch was installed.
1085                 rm -fr foo
1086                 mkdir foo
1087                 cat >foo/configure.ac <<'EOF'
1088                 AC_INIT(GNU Emacs, 27.0.50, bug-gnu-emacs@gnu.org, , https://www.gnu.org/software/emacs/)
1089                 gl_EARLY
1090                 gl_INIT
1091                 AC_OUTPUT
1092                 EOF
1093                 ./gnulib-tool --import --conditional-dependencies --gnu-make --dir foo regex
1094                 ./gnulib-tool --copy build-aux/install-sh foo/install-sh
1095                 ./gnulib-tool --copy build-aux/config.sub foo/config.sub
1096                 ./gnulib-tool --copy build-aux/config.guess foo/config.guess
1097                 cd foo
1098                 aclocal -I m4
1099                 autoconf
1100                 ./configure --with-included-regex
1102 2018-07-01  Paul Eggert  <eggert@cs.ucla.edu>
1104         wchar: fix bug when checking for ‘inline’
1105         I discovered this when looking into using the regex module
1106         with Emacs.
1107         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Fix bug introduced in
1108         2016-08-17T23:09:38Z!skunk@iSKUNK.ORG; the code compiled
1109         conftest1.c and conftest2.c but these files were not created.
1110         As far as I can see, this check never worked and nobody reported
1111         it until now, which is a bit worrisome.
1113 2018-06-30  Jim Meyering  <meyering@fb.com>
1115         bootstrap: s/--option val/--option=val/
1116         * build-aux/bootstrap (gnulib_tool_options): Change the
1117         spelling of "--option val" pairs to "--option=val", for
1118         aesthetics, and also so that this file no longer triggers
1119         a common help2man syntax-check warning when copied into
1120         projects like grep, gzip, etc.
1122 2018-07-01  Paul Eggert  <eggert@cs.ucla.edu>
1124         manywarnings: omit -Wswitch-default
1125         This should make things more consistent, as we already ignore
1126         -Wswitch-enum.  Problem reported by Reuben Thomas; see:
1127         https://lists.gnu.org/r/bug-gnulib/2018-05/msg00179.html
1128         * build-aux/g++-warning.spec, build-aux/gcc-warning.spec:
1129         Add -Wswitch-default.
1130         * m4/manywarnings-c++.m4 (gl_MANYWARN_ALL_GCC_CXX_IMPL):
1131         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC):
1132         Remove -Wswitch-default.
1134         regex: revert most trimming
1135         Problems reported by Bruno Haible in:
1136         https://lists.gnu.org/r/bug-gnulib/2018-07/msg00001.html
1137         * modules/regex (Depends-on): Add lock, memcmp, memmove,
1138         and wctype back in.  lock because regex users shouldn’t
1139         need to know that regex needs locking, and the rest because
1140         gnulib-tool should ordinarily ignore them anyway.
1142 2018-06-30  Paul Eggert  <eggert@cs.ucla.edu>
1144         regex: trim module dependencies
1145         * modules/regex (Depends-on): Remove gettext-h and lock,
1146         since the regex code should work OK without these modules,
1147         and Emacs uses it that way.  Also remove memcmp, memmove,
1148         and wctype, as these modules are obsolete and should not be
1149         needed any more.
1151 2018-06-29  Paul Eggert  <eggert@cs.ucla.edu>
1153         regex: glibc does not use intprops.h
1154         Maybe we can talk glibc into using intprops.h someday, but
1155         now doesn’t seem to be a good time.
1156         * lib/regcomp.c (TYPE_SIGNED): Remove; regex_internal.h now defines.
1157         * lib/regex_internal.h [_LIBC]: Do not include intprops.h.
1158         (TYPE_SIGNED, INT_ADD_WRAPV): New macros.
1160 2018-06-28  Paul Eggert  <eggert@cs.ucla.edu>
1162         regex: port to recently proposed glibc regex merge
1163         This patch is inspired by Adhemerval Zanella's recent proposal
1164         https://www.sourceware.org/ml/libc-alpha/2018-06/msg00905.html
1165         to merge glibc and Gnulib regex.  It aims to simplify the merge on
1166         the glibc side, without keeping Gnulib portable.
1167         * lib/regex.h: Fix a problem with glibc installed-header checking,
1168         as follows:
1169         (_Restrict_): Prefer __restrict if defined or if GCC 2.95 or later.
1170         (_Restrict_arr_): Prefer __restrict_arr if defined,
1171         otherwise prefer _Restrict_ if C99 or GCC 3.1 or later (but not C++).
1172         * lib/regex_internal.c (re_string_realloc_buffers, build_wcs_buffer)
1173         (build_wcs_upper_buffer, build_upper_buffer)
1174         (re_string_translate_buffer, re_string_context_at):
1175         Move decls here from lib/regex_internal.h, for glibc internal tests.
1176         (build_wcs_upper_buffer): Use __wcrtomb, not wcrtomb, fixing
1177         glibc BZ #18496.
1178         * lib/regex_internal.h (lock_fini) [_LIBC]: Cast to 0 to pacify
1179         -Wunused-value.
1180         (bitset_set, bitset_clear, bitset_contain, bitset_empty)
1181         (bitset_set_all, bitset_copy, bitset_not, bitset_merge)
1182         (bitset_mask): Now static inline, and without any __attribute__
1183         ((unused)) decoration, for glibc internal tests.
1185 2018-06-25  Bruno Haible  <bruno@clisp.org>
1187         threadlib: Fix LIBMULTITHREAD on platforms where --as-needed is enabled.
1188         Reported by Erik Auerswald <auerswal@unix-ag.uni-kl.de>
1189         in <https://lists.gnu.org/archive/html/coreutils/2018-06/msg00063.html>.
1190         * m4/threadlib.m4 (gl_THREADLIB_BODY): Check whether the linker supports
1191         --as-needed/--no-as-needed and --push-state/--pop-state. When defining
1192         USE_POSIX_THREADS_WEAK or USE_SOLARIS_THREADS_WEAK or
1193         USE_PTH_THREADS_WEAK, define LIBMULTITHREAD in such a way that -lpthread
1194         / -lthread / -lpth does not get optimized away by a preceding
1195         --as-needed option.
1197 2018-06-25  Bruno Haible  <bruno@clisp.org>
1199         Continue to use spaces for indentation, not tabs.
1200         * MODULES.html.sh: Untabify.
1201         * doc/regex.texi: Likewise.
1202         * lib/acl-internal.c: Likewise.
1203         * lib/dfa.c: Likewise.
1204         * lib/exclude.c: Likewise.
1205         * lib/exclude.h: Likewise.
1206         * lib/get-permissions.c: Likewise.
1207         * lib/gettimeofday.c: Likewise.
1208         * lib/parse-datetime.y: Likewise.
1209         * lib/pselect.c: Likewise.
1210         * lib/set-permissions.c: Likewise.
1211         * lib/time.in.h: Likewise.
1212         * m4/canonicalize.m4: Likewise.
1213         * m4/gc.m4: Likewise.
1214         * m4/gnulib-common.m4: Likewise.
1215         * m4/pthread_sigmask.m4: Likewise.
1216         * m4/vararrays.m4: Likewise.
1217         * tests/test-digest.h: Likewise.
1218         * tests/test-fcntl-h.c: Likewise.
1219         * tests/test-timespec.c: Likewise.
1220         * tests/uniwbrk/test-uc-wordbreaks.c: Likewise.
1222 2018-06-25  Bruno Haible  <bruno@clisp.org>
1224         manywarnings: Don't enable -Wjump-misses-init warnings by default.
1225         * build-aux/gcc-warning.spec: Add -Wjump-misses-init.
1226         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC(C)): Remove
1227         -Wjump-misses-init.
1229 2018-06-25  Jim Meyering  <meyering@fb.com>
1231         acl-internal.h: remove _GL_ATTRIBUTE_CONST on void function
1232         * lib/acl-internal.h (free_permission_context): Remove that
1233         attribute directive.  Otherwise, it would provoke this from GCC 9:
1234         lib/acl-internal.h:300:3: error: 'const' attribute on function \
1235           returning 'void' [-Werror=attributes]
1237 2018-06-24  Jim Meyering  <meyering@fb.com>
1239         parse-datetime: accommodate gcc-4.8.5
1240         Bruno Haible reported the build failure in
1241         https://lists.gnu.org/r/bug-gnulib/2018-06/msg00066.html
1242         * lib/parse-datetime.y (parse_datetime2): Remove leading "static"
1243         on declaration of new local.
1245 2018-06-24  Bruno Haible  <bruno@clisp.org>
1247         af_alg: Fail in continuable manner on Linux/powerpc64le.
1248         Reported by Assaf Gordon <assafgordon@gmail.com>
1249         in <https://lists.gnu.org/archive/html/coreutils/2018-06/msg00034.html>.
1250         * lib/af_alg.c (afalg_stream): On non-seekable streams, try a single-
1251         byte send() as the first round.
1253 2018-06-24  Bruno Haible  <bruno@clisp.org>
1255         af_alg: Fix state of stream after sendfile() succeeds.
1256         * lib/af_alg.c (afalg_stream): Invoke fflush and lseek, to ensure that
1257         the stream is correctly positioned afterwards.
1258         * modules/crypto/af_alg (Depends-on): Add fflush.
1259         * tests/test-digest.h (test_digest_on_files): Verify that after the
1260         operation the stream is positioned at end of file.
1262 2018-06-24  Jim Meyering  <meyering@fb.com>
1264         canon-host: take GCC9's advice rather than ignoring warning
1265         Pádraig Brady suggested not to ignore this GCC9 advice.
1266         * lib/canon-host.c: Undo preceding change.
1267         * lib/canon-host.h: Instead, declare with _GL_ATTRIBUTE_MALLOC.
1269         parse-datetime.y: avoid spurious GCC 9 warning
1270         * lib/parse-datetime.y (parse_datetime2): Save RELATIVE_TIME_0 into
1271         a function local prior to the first "goto fail".  The prior use would
1272         evoke this:
1273         parse-datetime.y: In function 'parse_datetime2':
1274         parse-datetime.y:1791:19: error: jump skips variable initialization \
1275           [-Werror=jump-misses-init]
1276         parse-datetime.y:2385:2: note: label 'fail' defined here
1277         parse-datetime.y:188:43: note: '({anonymous})' declared here
1278         parse-datetime.y:1841:12: note: in expansion of macro 'RELATIVE_TIME_0'
1280         canon-host.c: avoid spurious GCC 9 warning
1281         * lib/canon-host.c: Suppress GCC9's -Wsuggest-attribute=malloc.
1283         manywarnings: accommodate GCC 9.0-pre: remove -Wchkp and -Wabi
1284         * build-aux/gcc-warning.spec: Add them here, each with an explanation.
1285         * m4/manywarnings.m4: Remove them.
1286         Otherwise, building coreutils, I would see this:
1287         cc1: error: deprecated command line option '-Wchkp' [-Werror]
1288         cc1: error: -Wabi won't warn about anything [-Werror=abi]
1289         cc1: note: -Wabi warns about differences from the most up-to-date ABI,\
1290           which is also used by default
1291         cc1: note: use e.g. -Wabi=11 to warn about changes from GCC 7
1293 2018-06-24  Bruno Haible  <bruno@clisp.org>
1295         af_alg tests: Add another test.
1296         * tests/test-digest.h (test_digest_on_files): Also check a large file
1297         with a skipped header.
1298         * tests/test-md5.c: Include macros.h.
1299         * tests/test-sha1.c: Likewise.
1300         * tests/test-sha256.c: Likewise.
1301         * tests/test-sha512.c: Likewise.
1302         * modules/crypto/md5-tests (Files): Add tests/macros.h.
1303         * modules/crypto/sha1-tests (Files): Likewise.
1304         * modules/crypto/sha256-tests (Files): Likewise.
1305         * modules/crypto/sha512-tests (Files): Likewise.
1307 2018-06-24  Pádraig Brady  <P@draigBrady.com>
1309         maint: clarify comments about sticky EOF
1310         * lib/af_alg.c: Be more direct that we can't
1311         assume stickiness of EOF for portability reasons.
1312         * lib/md5.c: Clarify that this isn't just a glibc issue.
1313         * lib/sha1.c: Likewise.
1314         * lib/sha256.c: Likewise.
1315         * lib/sha512.c: Likewise.
1317 2018-06-24  Bruno Haible  <bruno@clisp.org>
1319         af_alg: Comment and style improvements.
1320         * lib/af_alg.c (alg_socket): Use 'size_t' as index into a string.
1321         (afalg_buffer, afalg_stream): Improve comments.
1323 2018-06-24  Pádraig Brady  <P@draigBrady.com>
1325         af_alg: disable kernel hash functions by default
1326         All the kernel routines were seen to be significantly slower
1327         with these relatively recent components on an i3-2310M system:
1328           kernel-4.10.6-200.fc25.x86_64
1329           openssl-1.0.2m-1.fc25.x86_64
1330         sha1 was nearly twice as slow in the kernel for example.
1331         Further considerations why this should not be the default, at:
1332         https://lists.gnu.org/r/coreutils/2018-06/msg00034.html
1334         * m4/af_alg.m4: Require --with-linux-crypto to enable.
1335         * m4/gl-openssl.m4: Tweak accordingly.
1337 2018-06-24  Pádraig Brady  <P@draigBrady.com>
1339         af_alg: avoid hangs when reading from streams
1340         * lib/af_alg.c (afalg_stream): Don't assume EOF is sticky,
1341         and thus avoid doing a fread() when feof() is set.
1342         * lib/md5.c: Ensure feof() is called before fread().
1343         * lib/sha1.c: Likewise.
1344         * lib/sha256.c: Likewise.
1345         * lib/sha512.c: Likewise.
1347 2018-06-24  Pádraig Brady  <P@draigBrady.com>
1349         af_alg: fix error handling when hash not returned
1350         * lib/af_alg.c (afalg_stream): Handle the case where we've
1351         successfully written data to the kernel in the read/write loop,
1352         but the kernel doesn't respond with the hash.
1354 2018-06-24  Paul Eggert  <eggert@cs.ucla.edu>
1356         libc-config: merge from glibc
1357         * lib/cdefs.h (__inline, __restrict):
1358         Copy from current glibc.  This fixes glibc bug 17721,
1359         which Gnulib had already fixed in a different way.
1360         (__nonnull): Lessen the distance from glibc by using the
1361         glibc definition inside an ‘#ifndef __nonnull’.
1362         (__attribute_nonstring__): New macro, copied from
1363         current glibc.
1364         * lib/libc-config.h (__attribute_nonstring__): New undef.
1365         (__restrict): Remove; workaround no longer needed.
1366         Keep the __inline workaround, though, as it uses HAVE___INLINE to
1367         support more compilers than the glibc __inline can.
1369 2018-06-24  Bruno Haible  <bruno@clisp.org>
1371         mbrtowc, wcwidth: Fix MT-safety bug (regression from 2018-06-23).
1372         * lib/mbrtowc.c (enc_t): New enum type.
1373         (locale_enc, locale_enc_cached): New functions.
1374         (mbrtowc): Eliminate static variables. Use locale_enc_cached instead.
1375         * lib/wcwidth.c (is_locale_utf8, is_locale_utf8_cached): New functions.
1376         (wcwidth): Eliminate static variables. Use is_locale_utf8_cached
1377         instead.
1378         * m4/mbrtowc.m4 (gl_PREREQ_MBRTOWC): Require AC_C_INLINE.
1379         * m4/wcwidth.m4 (gl_PREREQ_WCWIDTH): New macro.
1380         * modules/wcwidth (configure.ac): Invoke it.
1382 2018-06-24  Bruno Haible  <bruno@clisp.org>
1384         wchar-single: Fix test failure in wcwidth tests.
1385         * tests/test-wcwidth.c (main): If the wchar-single module is present,
1386         skip the tests in the C locale.
1388 2018-06-23  Pádraig Brady  <P@draigBrady.com>
1390         crypto: mention --without-linux-crypto in --with-openssl --help
1391         * m4/gl-openssl.m4 (gl_CRYPTO_CHECK): Mention that linux crypto
1392         routines take precedence in --with-openssl help output.
1394 2018-06-23  Pádraig Brady  <P@draigBrady.com>
1396         wchar-single: a new module to enable optimizations in wchar replacements
1397         * lib/mbrtowc.c (mbrtowc): Only check locale_charset() once if
1398         GNULIB_WCHAR_SINGLE is enabled.
1399         * lib/wcwidth.c (wcwidth): Likewise.
1401 2018-06-23  Bruno Haible  <bruno@clisp.org>
1403         libc-config: Fix conflict with FreeBSD include files.
1404         * lib/cdefs.h (__nonnull): Remove definition.
1405         * lib/libc-config.h (__nonnull): Remove undefinition.
1407 2018-06-21  Paul Eggert  <eggert@cs.ucla.edu>
1409         random_r: do not crash if state is unaligned
1410         Problem reported by Bruce Korb in:
1411         https://lists.gnu.org/r/bug-gnulib/2018-06/msg00030.html
1412         I reproduced the crash on 32-bit sparc with Oracle Studio 12.6
1413         with 'cc -O2 -xmemalign=8s'.
1414         * lib/random_r.c: Include string.h, for memcpy.
1415         (get_int32, set_int32): New functions.
1416         (__srandom_r, __initstate_r, __setstate_r, __random_r):
1417         Use them to avoid assumption that state pointer is aligned.
1418         (__random_r): Avoid integer overflow if INT_MAX == UINT32_MAX.
1419         * tests/test-random_r.c (test_failed): New function.
1420         (main): Use it, to test for alignment bugs.
1422         random_r: omit unnecessary include
1423         * lib/random_r.c: Do not include limits.h.
1425         random, random_r: merge from glibc
1426         * lib/random.c, lib/random_r.c:
1427         Include libc-config.h if !_LIBC, not config.h unilaterally.
1428         * lib/random.c:
1429         Do not include stdint.h or time.h; not needed.
1430         Include libc-lock.h if _LIBC, and define substitute macros otherwise.
1431         (unsafe_state): Rename from generator.  All uses changed.
1432         Use C99-style initializers.
1433         (__random, __srandom, __initstate, __setstate): Rename from
1434         non-underscored version, but define it to non-underscored version
1435         on Gnulib.  Add a lock.
1436         * lib/random_r.c (__srandom_r, __initstate_r, __setstate_r, __random_r):
1437         Likewise.
1438         Do not include <stdint.h>; not needed since stdlib.h defines int32_t.
1439         (weak_alias, __set_errno) [!_LIBC]: Remove; now done by libc-config.
1440         (__srandom_r): Use int32_t instead of long int where int32_t will do.
1441         (__random_r): Use uint32 to fix glibc bug 17343.
1442         * modules/random, modules/random_r (Depends-on): Add libc-config.
1443         Depend on stdint only if $HAVE_RANDOM = 0.
1445 2018-06-19  Jim Meyering  <meyering@fb.com>
1447         README-release: also run any check-very-expensive tests
1448         * top/README-release: Adjust instructions so they run the
1449         check-very-expensive tests when there is such a target.
1451 2018-06-18  Bruno Haible  <bruno@clisp.org>
1453         pthread_rwlock_rdlock: Add comments regarding glibc behaviour.
1454         * m4/pthread_rwlock_rdlock.m4: Add comment.
1455         * doc/posix-functions/pthread_rwlock_rdlock.texi: Mention that rwlocks
1456         are reader-preferring in glibc.
1457         * doc/posix-functions/pthread_rwlock_tryrdlock.texi: Likwise.
1458         * doc/posix-functions/pthread_rwlock_timedrdlock.texi: Likewise.
1460 2018-06-17  Paul Eggert  <eggert@cs.ucla.edu>
1462         crypto: use byteswap
1463         * lib/md4.c, lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
1464         * lib/sm3.c: Include <byteswap.h>.
1465         (SWAP): Use its macros rather than reinventing the wheel.
1466         * modules/crypto/md4, modules/crypto/md5-buffer:
1467         * modules/crypto/sha1-buffer, modules/crypto/sha256-buffer:
1468         * modules/crypto/sha512-buffer, modules/crypto/sm3:
1469         (Depends-on): Add byteswap.
1471 2018-06-17  Pádraig Brady  <P@draigBrady.com>
1473         gendocs.sh: fix support for legacy --texi2html
1474         * build-aux/gendocs.sh: Restrict use of TOP_NODE_UP_URL
1475         to the default makeinfo invocation.
1476         Reported by Bruce Korb
1478 2018-06-17  Bruno Haible  <bruno@clisp.org>
1480         gettext po infrastructure: Update from current gettext git.
1481         Reported by Akim Demaille <akim@lrde.epita.fr>.
1482         * build-aux/po/Makefile.in.in: Update from current gettext git.
1483         * build-aux/po/remove-potcdate.sin: Likewise.
1484         * config/srclist.txt: Temporarily disable sync for these files.
1486 2018-06-17  Bruno Haible  <bruno@clisp.org>
1488         getloadavg: Return 0 on Windows without Cygwin.
1489         * lib/getloadavg.c: Don't assume that the symbol WINDOWS32 is defined.
1491 2018-06-17  Paul Smith  <psmith@gnu.org>
1493         getloadavg: Allow building on Windows without Cygwin
1494         * lib/getloadavg.c: Reinstate ifdef for HAVE_UNISTD_H.
1495         * m4/getloadavg.m4: Check for unistd.h.
1497 2018-06-03  Paul Eggert  <eggert@cs.ucla.edu>
1499         Port crypto/af_alg to GCC 4.8.4
1500         Problem reported by Peter Simons in:
1501         https://lists.gnu.org/r/bug-gnulib/2018-06/msg00002.html
1502         * modules/crypto/af_alg (Depends-on): Add c99 if USE_AF_ALG.
1504 2018-05-27  Colin Watson  <cjwatson@debian.org>
1506         bootstrap: document source fetching in --help
1507         * build-aux/bootstrap (usage): Document how Gnulib sources are fetched.
1509 2018-04-09  Colin Watson  <cjwatson@debian.org>
1511         bootstrap: allow non-submodule control of gnulib
1512         * build-aux/bootstrap: Honour GNULIB_URL and GNULIB_REVISION in
1513         bootstrap.conf when fetching gnulib using "git clone" or via
1514         GNULIB_SRCDIR.
1516 2018-05-21  Paul Eggert  <eggert@cs.ucla.edu>
1518         crypto: omit stream ops Emacs doesn’t need
1519         * lib/md5.c (md5_stream):
1520         * lib/sha1.c (sha1_stream):
1521         * lib/sha256.c (shaxxx_stream, sha256_stream, sha224_stream):
1522         * lib/sha512.c (shaxxx_stream, sha512_stream, sha384_stream):
1523         Compile stream functions only if GL_COMPILE_CRYPTO_STREAM is
1524         defined.  Emacs needs this, as it does not use the stream
1525         operations and doesn’t need all the af_alg stuff we’ve recently
1526         added.  Perhaps a similar change is needed to the other crypto
1527         modules, but this patch changes only those needed for Emacs.
1528         * modules/crypto/md5-buffer, modules/crypto/sha1-buffer:
1529         * modules/crypto/sha256-buffer, modules/crypto/sha512-buffer:
1530         New modules, used by Emacs.
1531         * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
1532         * modules/crypto/sha512: Rewrite to depend on the new modules.
1534 2018-05-20  Pádraig Brady  <P@draigBrady.com>
1536         fts: avoid a memory leak edge case
1537         * lib/fts.c (fts_open): Set an appropriate fts_level
1538         so that an immediate fts_close() will free the allocation.
1539         * tests/test-fts.c (fts_dealloc): Add a test case which
1540         will trigger under valgrind or address sanitizer.
1541         Fixes https://bugs.gnu.org/31439
1543 2018-05-20  Bruno Haible  <bruno@clisp.org>
1545         wcwidth tests: Fix link error.
1546         * modules/wcwidth-tests (Makefile.am): Link test-wcwidth against
1547         $(LIBUNISTRING).
1549 2018-05-20  Bruno Haible  <bruno@clisp.org>
1551         regex: Fix "error: possibly undefined macro: gl_GLIBC21".
1552         * modules/regex (Files): Add m4/glibc21.m4.
1554 2018-05-20  Bruno Haible  <bruno@clisp.org>
1556         localcharset: Optimize.
1557         * lib/localcharset.c (alias_table): Comment out no-op mappings for
1558         platforms where these don't matter. This reduces the table size,
1559         which in turn reduces the lookup time.
1561 2018-05-19  Bruno Haible  <bruno@clisp.org>
1563         localcharset: Map the locale encodings found in newer OSes.
1564         * lib/localcharset.c (alias_table): Add mapping for locale encodings
1565         found in FreeBSD 11, NetBSD 7, Solaris 10, Openindiana, HP-UX 11.31,
1566         IRIX 6.5, Minix 3.3.
1567         * lib/localcharset.h: Update comments accordingly. Also for Cygwin 2.9.
1569 2018-05-19  Bruno Haible  <bruno@clisp.org>
1571         localcharset: Move mapping tables into the code. Use a binary search.
1572         * lib/localcharset.h: Document the GNU canonical names for character
1573         encodings here.
1574         * lib/localcharset.c: Don't include <fcntl.h>, <unistd.h>,
1575         relocatable.h, configmake.h.
1576         (O_NOFOLLOW, ISSLASH, DIRECTORY_SEPARATOR, getc, volatile): Remove
1577         macros.
1578         (charset_aliases): Remove variable.
1579         (get_charset_aliases): Remove function.
1580         (struct table_entry): New type.
1581         (alias_table, locale_table): New constants.
1582         (locale_charset): Use the alias_table or locale_table to get the
1583         canonicalized encoding name.
1584         * lib/config.charset: Remove file.
1585         * lib/ref-add.sin: Remove file.
1586         * lib/ref-del.sin: Remove file.
1587         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't require gl_FCNTL_O_FLAGS,
1588         AC_CANONICAL_HOST, gl_GLIBC21. Don't check for getc_unlocked.
1589         * modules/localcharset (Notice): Remove.
1590         (Files): Remove config.charset, ref-add.sin, ref-del.sin, fcntl-o.m4,
1591         glibc21.m4.
1592         (Depends-on): Remove configmake.
1593         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT to empty.
1594         (Makefile.am): Simplify.
1595         * build-aux/prefix-gnulib-mk: Remove special code for the removed files.
1597 2018-05-19  Bruno Haible  <bruno@clisp.org>
1599         localcharset: Add a manual test.
1600         * tests/test-localcharset.c: New file.
1601         * modules/localcharset-tests: New file.
1603 2018-05-19  Bruno Haible  <bruno@clisp.org>
1605         localcharset: Remove support for obsolete platforms.
1606         * lib/config.charset: Remove support for Linux/libc5, glibc-2.0.x, and
1607         Mac OS X 10.2. Comment out dubious entry for Solaris.
1609 2018-05-19  Jim Meyering  <meyering@fb.com>
1611         gnupload: adjust comment
1612         * build-aux/gnupload: Add FIXME-2020 comment, to make it slightly
1613         more likely we'll remove the just-added code in a year or two.
1615 2018-05-19  Bruno Haible  <bruno@clisp.org>
1617         gnupload: Fix "gpg-agent is not available in this session" error.
1618         * build-aux/gnupload (GPG): Pick the right GNUPG executable to use.
1620 2018-05-16  Paul Eggert  <eggert@cs.ucla.edu>
1622         crypto/af_alg: fix --help
1623         * m4/af_alg.m4: Avoid spurious newline in --help output.
1625 2018-05-13  Bruno Haible  <bruno@clisp.org>
1627         nl_langinfo: Fix compilation error on Android.
1628         * lib/nl_langinfo.c (nl_langinfo): Define values for the items GROUPING,
1629         INT_CURR_SYMBOL, etc. only if these items are defined.
1631 2018-05-13  Bruno Haible  <bruno@clisp.org>
1633         truncate: Fix compilation error on Android.
1634         * m4/truncate.m4 (gl_FUNC_TRUNCATE): Test also whether 'truncate' is
1635         declared. Set HAVE_DECL_TRUNCATE, not HAVE_TRUNCATE.
1636         * lib/unistd.in.h (truncate): Test HAVE_DECL_TRUNCATE, not
1637         HAVE_TRUNCATE.
1638         * modules/truncate: Likewise.
1639         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_TRUNCATE,
1640         not HAVE_TRUNCATE.
1641         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TRUNCATE, not
1642         HAVE_TRUNCATE.
1643         * doc/posix-functions/truncate.texi: Mention the issue.
1645 2018-05-13  Bruno Haible  <bruno@clisp.org>
1647         pthread: Fix compilation error on Android.
1648         * lib/pthread.in.h: Use _GL_ALREADY_INCLUDING_PTHREAD_H to shortcut
1649         recursive inclusion of this file.
1651 2018-05-13  Bruno Haible  <bruno@clisp.org>
1653         posix_spawn: Fix compilation error on Android.
1654         * lib/spawn.in.h (posix_spawnattr_t): Consider also the case
1655         HAVE_POSIX_SPAWNATTR_T = 1 && HAVE_POSIX_SPAWN = 0.
1656         (posix_spawn_file_actions_t): Consider also the case
1657         HAVE_POSIX_SPAWN_FILE_ACTIONS_T = 1 && HAVE_POSIX_SPAWN = 0.
1659 2018-05-13  Bruno Haible  <bruno@clisp.org>
1661         tsearch: Move from K&R C to ANSI C.
1662         * lib/tsearch.c (tfind): Convert definition to ANSI C.
1664 2018-05-13  Bruno Haible  <bruno@clisp.org>
1666         tsearch: Fix compilation error on Android.
1667         * lib/search.in.h (twalk): Declare when HAVE_TWALK, not HAVE_TSEARCH,
1668         is 0.
1669         (GNULIB_defined_tsearch, GNULIB_defined_twalk): New macros.
1670         * lib/tsearch.c (tsearch, tfind, tdelete): Define only if
1671         GNULIB_defined_tsearch is true.
1672         (twalk): Define only if GNULIB_defined_twalk is true.
1673         * modules/tsearch (configure.ac): Compile tsearch.c also if HAVE_TWALK
1674         is 0.
1675         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Set HAVE_TWALK.
1676         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize HAVE_TWALK.
1677         * modules/search (Makefile.am): Substitute HAVE_TWALK.
1679 2018-05-13  Bruno Haible  <bruno@clisp.org>
1681         imaxdiv: Fix compilation error on Android.
1682         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Set HAVE_IMAXDIV_T to 0 if imaxdiv_t
1683         is not defined.
1684         * lib/inttypes.in.h (imaxdiv_t): Define if HAVE_IMAXDIV_T, not
1685         HAVE_DECL_IMAXDIV, is 0.
1686         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Initialize HAVE_IMAXDIV_T.
1687         * modules/inttypes-incomplete (Makefile.am): Substitute HAVE_IMAXDIV_T.
1689 2018-05-13  Bruno Haible  <bruno@clisp.org>
1691         Support selective inclusion mechanism of recent mingw.org header files.
1692         Reported by Eli Zaretskii <eliz@gnu.org>.
1693         * lib/sys_types.in.h: On mingw, when __need_off_t, __need___off64_t,
1694         __need_ssize_t, or __need_time_t is defined, just include the system's
1695         <sys/types.h>.
1696         * lib/locale.in.h: On mingw, when __need_locale_t is defined, just
1697         include the system's <locale.h>.
1699 2018-05-13  Bruno Haible  <bruno@clisp.org>
1701         Avoid compilation error due to 'mmap' on Android.
1702         * lib/vma-iter.c (_FILE_OFFSET_BITS): Undefine on Android.
1703         * lib/get-rusage-as.c (_FILE_OFFSET_BITS): Likewise.
1704         * tests/zerosize-ptr.h (_FILE_OFFSET_BITS, __USE_FILE_OFFSET64):
1705         Undefine on Android.
1707 2018-05-13  Bruno Haible  <bruno@clisp.org>
1709         Add cross-compilation guesses for Linux systems without glibc.
1710         * m4/chown.m4 (AC_FUNC_CHOWN): Add cross-compilation guess for Linux.
1711         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
1712         * m4/link.m4 (gl_FUNC_LINK): Likewise.
1713         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
1714         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Likewise.
1715         * m4/mkdir.m4 (gl_FUNC_MKDIR): Likewise.
1716         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
1717         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
1718         * m4/pselect.m4 (gl_FUNC_PSELECT): Likewise.
1719         * m4/readlink.m4 (gl_FUNC_READLINK): Likewise.
1720         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
1721         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
1722         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
1723         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
1724         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
1725         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
1726         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
1727         * m4/utimens.m4 (gl_UTIMENS): Likewise.
1729 2018-05-13  Bruno Haible  <bruno@clisp.org>
1731         getpagesize: Fix compilation error on Android.
1732         * m4/getpagesize.m4 (gl_CHECK_FUNC_GETPAGESIZE): New macro.
1733         (gl_FUNC_GETPAGESIZE): Invoke it instead of AC_CHECK_FUNC.
1734         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Don't invoke
1735         AC_CHECK_FUNC. Instead, invoke gl_CHECK_FUNC_GETPAGESIZE and define
1736         HAVE_GETPAGESIZE accordingly.
1737         * modules/getcwd (Files): Add m4/getpagesize.m4.
1739 2018-05-13  Bruno Haible  <bruno@clisp.org>
1741         tcgetsid: Fix compilation error on Android.
1742         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Use AC_LINK_IFELSE instead of
1743         AC_CHECK_FUNC.
1745 2018-05-13  Bruno Haible  <bruno@clisp.org>
1747         getpass: Fix configure test for Android.
1748         * m4/getpass.m4 (gl_PREREQ_GETPASS): Use AC_LINK_IFELSE instead of
1749         AC_CHECK_FUNC.
1751 2018-05-13  Bruno Haible  <bruno@clisp.org>
1753         ffs: Fix compilation error on Android.
1754         * m4/ffs.m4 (gl_FUNC_FFS): Use AC_LINK_IFELSE instead of AC_CHECK_FUNC.
1756 2018-05-13  Bruno Haible  <bruno@clisp.org>
1758         mkfifo: Fix compilation error on Android.
1759         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Use AC_LINK_IFELSE instead of
1760         AC_CHECK_FUNC.
1762 2018-05-13  Bruno Haible  <bruno@clisp.org>
1764         c-strtod: Fix configure test for Android.
1765         * m4/c-strtod.m4 (gl_C_STRTOD): Use AC_LINK_IFELSE instead of
1766         AC_CHECK_FUNC.
1768 2018-05-13  Bruno Haible  <bruno@clisp.org>
1770         random: Fix compilation error on Android.
1771         * m4/random.m4 (gl_FUNC_RANDOM): Use AC_LINK_IFELSE instead of
1772         AC_CHECK_FUNC.
1774 2018-05-13  Bruno Haible  <bruno@clisp.org>
1776         grantpt: Fix compilation error on Android.
1777         * m4/grantpt.m4 (gl_FUNC_GRANTPT): Use AC_LINK_IFELSE instead of
1778         AC_CHECK_FUNC.
1780 2018-05-13  Bruno Haible  <bruno@clisp.org>
1782         stdioext: Fix compilation errors with newer Android headers.
1783         * lib/stdio-impl.h (fp_, fp_ub): Define differently for Android.
1784         (__SLBF, __SNBF, __SRD, __SWR, __SRW, __SEOF, __SERR, __SOFF): Define
1785         fallbacks for Android.
1786         * lib/fpending.c: Update comments.
1787         * lib/fpurge.c: Likewise.
1788         * lib/freadable.h: Likewise.
1789         * lib/freadable.c: Likewise.
1790         * lib/freadahead.c: Likewise.
1791         * lib/freading.h: Likewise.
1792         * lib/freadptr.c: Likewise.
1793         * lib/fseterr.c: Likewise.
1794         * lib/fwritable.h: Likewise.
1795         * lib/fwritable.c: Likewise.
1796         * lib/fwriting.h: Likewise.
1797         * lib/fwriting.c: Likewise.
1799 2018-05-13  Bruno Haible  <bruno@clisp.org>
1801         doc: Add info about Android versions 2.0 to 8.1.
1802         * doc/**/*.texi: Add info about functions in all released versions of
1803         Bionic.
1805 2018-05-12  Bruno Haible  <bruno@clisp.org>
1807         fseeko: On mingw, don't use the hidden function _fseeki64.
1808         Reported by Eli Zaretskii <eliz@gnu.org>.
1809         * m4/fseeko.m4 (gl_PREREQ_FSEEKO): Test whether _fseeki64 is declared.
1810         * lib/fseeko.c (fseeko): Use _fseeki64 only if it is declared.
1812 2018-05-12  Bruno Haible  <bruno@clisp.org>
1814         glob: Choose 'dirent_type' in a way that works better on mingw.
1815         Reported and suggested by Eli Zaretskii <eliz@gnu.org>.
1816         * lib/glob.c (dirent_type): Define as uint_fast32_t.
1818 2018-05-12  Bruno Haible  <bruno@clisp.org>
1820         execute, spawn-pipe: Avoid warning about redefining 'close'.
1821         Reported by Eli Zaretskii <eliz@gnu.org>.
1822         * lib/execute.c: Undefine 'close' before redefining it.
1823         * lib/spawn-pipe.c: Likewise.
1825 2018-05-12  Bruno Haible  <bruno@clisp.org>
1827         nanosleep: Avoid test failure on mingw when it has nanosleep.
1828         Reported by Eli Zaretskii <eliz@gnu.org>.
1829         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check whether alarm() exists.
1830         If it does not exist, use a simpler test program that does not call
1831         alarm().
1833 2018-05-10  Bruno Haible  <bruno@clisp.org>
1835         lock, cond, thread, tls: Use a different symbol as libpthread witness.
1836         Reported by Devin Hussey <husseydevin@gmail.com>.
1837         Based on a patch by Paul Eggert.
1838         * lib/glthread/lock.h (pthread_in_use): Use 'pthread_mutexattr_gettype'
1839         as witness of libpthread.
1840         * lib/glthread/cond.h (pthread_in_use): Likewise.
1841         * lib/glthread/thread.h (pthread_in_use): Likewise.
1842         * lib/glthread/tls.h (pthread_in_use): Likewise.
1844 2018-05-10  Bruno Haible  <bruno@clisp.org>
1846         cond tests: Fix compilation error on Solaris.
1847         * tests/test-cond.c: Include <unistd.h> before defining 'yield' as a
1848         macro.
1850 2018-05-10  Bruno Haible  <bruno@clisp.org>
1852         doc: Add partial info about Android 4.3.
1853         * doc/*-functions/*.texi: Add info about functions that were added
1854         to Bionic between Android 4.3 and Android 9.0.
1856 2018-05-10  Bruno Haible  <bruno@clisp.org>
1858         doc: Add info about Android 9.0.
1859         * doc/**/*.texi: Add info about functions and headers in Bionic from
1860         Android 9.0.
1862 2018-05-09  Paul Eggert  <eggert@cs.ucla.edu>
1864         af_alg: fix my typo in afalg_buffer
1865         * lib/af_alg.c (afalg_buffer): Fix typo I recently introduced.
1866         (afalg_stream): Simplify and avoid the need for a runtime test
1867         at the end.
1869         af_alg: recover better from crypto failures
1870         * lib/af_alg.c (afalg_stream): Recover from crypto failures if the
1871         input stream is seekable, by repositioning the stream back to
1872         where it was, possibly by just calling sendfile with an offset
1873         arg.  This lets us return -EAFNOSUPPORT instead of -EIO in some
1874         cases, which lets our callers try again with user-mode code.
1875         * modules/crypto/af_alg (Depends-on): Depend on fseeko and ftello
1876         instead of on fflush and lseek.
1878         af_alg: distiguish I/O errors better
1879         * lib/af_alg.c (afalg_buffer, afalg_stream): Return -EAFNOSUPPORT,
1880         not -EIO, if it’s OK for the caller to try again with user-mode code.
1881         (afalg_stream) [!_WIN32 || __CYGWIN__]: Return -EIO (not possibly
1882         some other error number) if fflush fails, as the caller should not
1883         try again that case.
1885         af_alg: avoid gotos
1886         * lib/af_alg.c (afalg_buffer, afalg_stream): Rewrite to avoid
1887         gotos, as they were a source of unreliability and made the code a
1888         bit harder to follow.
1890         af_alg: don’t leak file descriptors into children
1891         * lib/af_alg.c (alg_socket): Use SOCK_CLOEXEC when creating sockets.
1892         This code should be compiled only on recent GNU/Linux platforms
1893         so we shouldn’t have to also depend on the accept4 module.
1895         af_alg: coalesce socket creation
1896         * lib/af_alg.c (alg_socket): New function.
1897         (afalg_buffer, afalg_stream): Use it.  This avoids some
1898         code duplication and gotos.
1900         af_alg: fix file descriptor leak
1901         * lib/af_alg.c (afalg_stream): Close leak.
1903         af_alg: Pacify --enable-gcc-warnings on GCC 8
1904         * lib/af_alg.c (afalg_buffer, afalg_stream): Reorder local decls
1905         and checking to pacify gcc -Wjump-misses-init on GCC 8.
1907 2018-05-07  Paul Eggert  <eggert@cs.ucla.edu>
1909         af_alg: Pacify --enable-gcc-warnings
1910         Problem reported by Assaf Gordon in:
1911         https://lists.gnu.org/r/bug-gnulib/2018-05/msg00041.html
1912         * lib/af_alg.c (afalg_buffer): Move local decls to pacify
1913         gcc -Wjump-misses-init.
1914         * lib/sha512.c (shaxxx_stream): Now static.
1916 2018-05-06  Bruno Haible  <bruno@clisp.org>
1918         af_alg: Add ability to use Linux kernel crypto API on data in memory.
1919         * lib/af_alg.h (afalg_buffer): New declaration.
1920         * lib/af_alg.c (afalg_buffer): New function.
1922 2018-05-06  Bruno Haible  <bruno@clisp.org>
1924         af_alg: Avoid warnings.
1925         * lib/af_alg.h (afalg_stream): Mark fallback declaration as inline.
1926         * m4/af_alg.m4 (gl_AF_ALG): Require AC_C_INLINE.
1928 2018-05-06  Bruno Haible  <bruno@clisp.org>
1930         crypto/{md5,sha1,sha256,sha512} tests: Add benchmarks.
1931         * tests/bench-digest.h: New file.
1932         * tests/bench-md5.c: New file.
1933         * tests/bench-sha1.c: New file.
1934         * tests/bench-sha224.c: New file.
1935         * tests/bench-sha256.c: New file.
1936         * tests/bench-sha384.c: New file.
1937         * tests/bench-sha512.c: New file.
1938         * modules/crypto/md5-tests (Files): Add tests/bench-md5.c,
1939         tests/bench-digest.h.
1940         (Depends-on): Add getrusage, gettimeofday.
1941         (Makefile.am): Add variables to build bench-md5.
1942         * modules/crypto/sha1-tests (Files): Add tests/bench-sha1.c,
1943         tests/bench-digest.h.
1944         (Depends-on): Add getrusage, gettimeofday.
1945         (Makefile.am): Add variables to build bench-sha1.
1946         * modules/crypto/sha256-tests (Files): Add tests/bench-sha224.c,
1947         tests/bench-sha256.c, tests/bench-digest.h.
1948         (Depends-on): Add getrusage, gettimeofday.
1949         (Makefile.am): Add variables to build bench-sha224, bench-sha256.
1950         * modules/crypto/sha512-tests (Files): Add tests/bench-sha384.c,
1951         tests/bench-sha512.c, tests/bench-digest.h.
1952         (Depends-on): Add getrusage, gettimeofday.
1953         (Makefile.am): Add variables to build bench-sha384, bench-sha512.
1955 2018-05-06  Bruno Haible  <bruno@clisp.org>
1957         af_alg: Fix a resource leak.
1958         * lib/af_alg.c (afalg_stream): Close socket before returning -EINVAL.
1959         New local variable 'result'.
1961 2018-05-06  Bruno Haible  <bruno@clisp.org>
1963         af_alg: Fix bug with streams that are not at position 0.
1964         * lib/af_alg.c (afalg_stream): Before sendfile, invoke fflush. Don't
1965         assume that the stream is positioned at position 0.
1966         * lib/af_alg.h (afalg_stream): Mention restriction regarding the state
1967         of the stream.
1968         * lib/md5.h (md5_stream): Likewise.
1969         * lib/sha1.h (sha1_stream): Likewise.
1970         * lib/sha256.h (sha256_stream, sha224_stream): Likewise.
1971         * lib/sha512.h (sha512_stream, sha384_stream): Likewise.
1972         * modules/crypto/af_alg (Depends-on): Add fflush, lseek.
1974         crypto/{md5,sha1,sha256,sha512} tests: Enhance test.
1975         * tests/test-digest.h (test_digest_on_files): Add a test with a FILE
1976         stream that is not positioned at the beginning.
1978 2018-05-06  Bruno Haible  <bruno@clisp.org>
1980         af_alg: Add configure option to enable/disable use of Linux crypto API.
1981         Suggested by Assaf Gordon <assafgordon@gmail.com>.
1982         * m4/af_alg.m4 (gl_AF_ALG): Add AC_ARG_WITH invocation. Define C macro
1983         USE_LINUX_CRYPTO_API.
1984         * lib/af_alg.h: Test USE_LINUX_CRYPTO_API, not HAVE_LINUX_IF_ALG_H.
1985         * lib/af_alg.c: Likewise.
1987 2018-05-06  Bruno Haible  <bruno@clisp.org>
1989         Followup to 'af_alg: New module.'.
1990         * modules/crypto/md5 (Depends-on): Remove sys_socket, sys_stat.
1991         * modules/crypto/sha1 (Depends-on): Likewise.
1992         * modules/crypto/sha256 (Depends-on): Likewise.
1993         * modules/crypto/sha512 (Depends-on): Likewise.
1995 2018-05-05  Paul Eggert  <eggert@cs.ucla.edu>
1997         crypto/{md5,sha1,sha256,sha512}: simplify
1998         * lib/md5.c (md5_stream):
1999         * lib/sha1.c (sha1_stream):
2000         * lib/sha256.c (shaxxx_stream):
2001         Simplify, partly by assuming C99.
2002         * lib/sha256.c (shaxxx_stream):
2003         New function, which implements both sha256 and sha224.
2004         Simplify, partly by assuming C99.
2005         (sha256_stream, sha224_stream):
2006         Use it to avoid code duplication, removing a FIXME.
2007         * lib/sha512.c (shaxxx_stream, sha512_stream, sha384_stream):
2008         Likewise.
2010         af_alg: Improve comments.
2011         * lib/af_alg.h: Use imperatives and tighten up wording.
2013 2018-05-05  Bruno Haible  <bruno@clisp.org>
2015         af_alg: Improve comments.
2016         * lib/af_alg.c (afalg_stream): Improve comment about kernel bug.
2018 2018-05-05  Bruno Haible  <bruno@clisp.org>
2020         af_alg: New module.
2021         * lib/af_alg.h: Test HAVE_* macro through '#if', not '#ifdef'.
2022         * lib/af_alg.c: Include "af_alg.h" before the other header files.
2023         * lib/md5.c: Include "af_alg.h" unconditionally.
2024         (md5_stream): Invoke afalg_stream unconditionally.
2025         * lib/sha1.c: Include "af_alg.h" unconditionally.
2026         (sha1_stream): Invoke afalg_stream unconditionally.
2027         * lib/sha256.c: Include "af_alg.h" unconditionally.
2028         (sha256_stream, sha224_stream): Invoke afalg_stream unconditionally.
2029         * lib/sha512.c: Include "af_alg.h" unconditionally.
2030         (sha512_stream, sha384_stream): Invoke afalg_stream unconditionally.
2031         * m4/af_alg.m4: Renamed from m4/linux-if-alg.m4.
2032         (gl_AF_ALG): Renamed from gl_LINUX_IF_ALG_H.
2033         * modules/crypto/af_alg: New file.
2034         * modules/crypto/md5 (Files): Remove files that are now in the
2035         'crypto/af_alg' module.
2036         (Depends-on): Add crypto/af_alg.
2037         (configure.ac): Remove gl_LINUX_IF_ALG_H invocation.
2038         (Makefile.am): Don't mention af_alg.c here.
2039         * modules/crypto/sha1 (Files): Remove files that are now in the
2040         'crypto/af_alg' module.
2041         (Depends-on): Add crypto/af_alg.
2042         (configure.ac): Remove gl_LINUX_IF_ALG_H invocation.
2043         (Makefile.am): Don't mention af_alg.c here.
2044         * modules/crypto/sha256 (Files): Remove files that are now in the
2045         'crypto/af_alg' module.
2046         (Depends-on): Add crypto/af_alg.
2047         (configure.ac): Remove gl_LINUX_IF_ALG_H invocation.
2048         (Makefile.am): Don't mention af_alg.c here.
2049         * modules/crypto/sha512 (Files): Remove files that are now in the
2050         'crypto/af_alg' module.
2051         (Depends-on): Add crypto/af_alg.
2052         (configure.ac): Remove gl_LINUX_IF_ALG_H invocation.
2053         (Makefile.am): Don't mention af_alg.c here.
2055 2018-05-05  Paul Eggert  <eggert@cs.ucla.edu>
2057         crypto tests: pacify GCC
2058         * tests/test-digest.h (test_digest_on_files):
2059         Don’t assume digest size fits in int (!).
2061         af_alg: minor style improvements
2062         * lib/af_alg.c (afalg_stream): Prefer C99 style
2063         decl-after-statement, since we’re already assuming C99.  Clarify
2064         by strengthening the bind test and omit unnecessary assignment.
2066 2018-05-05  Bruno Haible  <bruno@clisp.org>
2068         af_alg: Fix bug on empty files.
2069         * lib/af_alg.c (afalg_stream): Ignore the kernel's result if the input
2070         stream is empty.
2072 2018-05-05  Paul Eggert  <eggert@cs.ucla.edu>
2074         sys-limits.h: new file for crypto and safe I/O
2075         * lib/af_alg.c: Include sys-limits.h.
2076         (MAX_RW_COUNT): Remove.  Use replaced by SYS_BUFSIZE_MAX.
2077         (afalg_stream): Also reject negative sizes for sendfile; they
2078         should not happen and the code is a bit cleaner and faster this way.
2079         * lib/safe-read.c: Include sys-limits.h.
2080         (BUGGY_READ_MAXIMUM): Remove.  All uses replaced by SYS_BUFSIZE_MAX.
2081         * lib/sys-limits.h: New file, with values and commentary derived
2082         from the old safe-read.c and from GNU Emacs sysdep.c.
2083         * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
2084         * modules/crypto/sha512, modules/safe-read, modules/safe-write:
2085         Add lib/sys-limits.h to Files section.
2087 2018-05-05  Bruno Haible  <bruno@clisp.org>
2089         af_alg: Improve function signature.
2090         * lib/af_alg.h (afalg_stream): Swap second and third argument.
2091         * lib/af_alg.c (afalg_stream): Likewise.
2092         * lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c: Callers changed.
2094 2018-05-05  Bruno Haible  <bruno@clisp.org>
2096         crypto/{md5,sha1,sha256,sha512}: Fix compilation error (S_TYPEISTMO).
2097         * modules/crypto/md5 (Depends-on): Add 'sys_stat'.
2098         * modules/crypto/sha1 (Depends-on): Likewise.
2099         * modules/crypto/sha256 (Depends-on): Likewise.
2100         * modules/crypto/sha512 (Depends-on): Likewise.
2102 2018-05-05  Bruno Haible  <bruno@clisp.org>
2104         crypto/{md5,sha1,sha256,sha512}: Fix module description.
2105         * modules/crypto/md5 (Depends-on): Add 'sys_socket'.
2106         * modules/crypto/sha1 (Depends-on): Likewise.
2107         * modules/crypto/sha256 (Depends-on): Likewise.
2108         * modules/crypto/sha512 (Depends-on): Likewise.
2110 2018-05-05  Bruno Haible  <bruno@clisp.org>
2112         af_alg: Add documentation.
2113         * lib/af_alg.h: Add comments.
2115 2018-05-05  Bruno Haible  <bruno@clisp.org>
2117         sha512: Add tests.
2118         * tests/test-sha512.c: New file.
2119         * modules/crypto/sha512-tests: New file.
2121 2018-05-05  Bruno Haible  <bruno@clisp.org>
2123         sha256: Add tests.
2124         * tests/test-sha256.c: New file.
2125         * modules/crypto/sha256-tests: New file.
2127 2018-05-05  Bruno Haible  <bruno@clisp.org>
2129         sha1 tests: Add test for sha1_stream.
2130         * tests/test-sha1.c: Include test-digest.h.
2131         (main): Invoke test_digest_on_files on 'sha1_stream'.
2132         * modules/crypto/sha1-tests (Files): Add tests/test-digest.h.
2134 2018-05-05  Bruno Haible  <bruno@clisp.org>
2136         md5 tests: Add test for md5_stream.
2137         * tests/test-digest.h: New file.
2138         * tests/test-md5.c: Include test-digest.h.
2139         (main): Invoke test_digest_on_files on 'md5_stream'.
2140         * modules/crypto/md5-tests (Files): Add tests/test-digest.h.
2142 2018-04-28  Matteo Croce  <mcroce@redhat.com>
2144         md5sum: Use AF_ALG when available.
2145         * lib/md5.c: Include af_alg.h.
2146         (md5_stream): Use afalg_stream when available.
2147         * modules/crypto/md5 (Files): Add the af_alg files.
2148         (configure.ac): Invoke gl_LINUX_IF_ALG_H.
2149         (Makefile.am): Add af_alg.c.
2151 2018-04-28  Matteo Croce  <mcroce@redhat.com>
2153         sha512sum: Use AF_ALG when available.
2154         * lib/sha512.c: Include af_alg.h.
2155         (sha512_stream, sha384_stream): Use afalg_stream when available.
2156         * modules/crypto/sha512 (Files): Add the af_alg files.
2157         (configure.ac): Invoke gl_LINUX_IF_ALG_H.
2158         (Makefile.am): Add af_alg.c.
2160 2018-04-28  Matteo Croce  <mcroce@redhat.com>
2162         sha256sum: Use AF_ALG when available.
2163         * lib/sha256.c: Include af_alg.h.
2164         (sha256_stream, sha224_stream): Use afalg_stream when available.
2165         * modules/crypto/sha256 (Files): Add the af_alg files.
2166         (configure.ac): Invoke gl_LINUX_IF_ALG_H.
2167         (Makefile.am): Add af_alg.c.
2169 2018-04-28  Matteo Croce  <mcroce@redhat.com>
2171         sha1sum: Use AF_ALG when available.
2172         * lib/af_alg.h: New file.
2173         * lib/af_alg.c: New file.
2174         * lib/sha1.c: Include af_alg.h.
2175         (sha1_stream): Use afalg_stream when available.
2176         * m4/linux-if-alg.m4: New file.
2177         * modules/crypto/sha1 (Files): Add the new files.
2178         (configure.ac): Invoke gl_LINUX_IF_ALG_H.
2179         (Makefile.am): Add af_alg.c.
2181 2018-05-05  Bruno Haible  <bruno@clisp.org>
2183         all: Replace more http URLs by https URLs.
2184         * lib/localename.c: Use https: URL.
2185         * lib/timespec.h: Likewise.
2187 2018-05-03  Paul Eggert  <eggert@cs.ucla.edu>
2189         maint: port more modules to GCC 8
2190         * lib/dirname.h (base_name):
2191         * lib/exclude.h (new_exclude):
2192         * lib/xstrndup.h (xstrndup):
2193         Add malloc attribute.
2194         * lib/readutmp.c: Pacify GCC 8 about safe use of strncpy.
2195         * lib/sig-handler.h (get_handler) [SA_SIGINFO]: Simplify.
2196         This pacifies GCC 8.
2197         * m4/gnulib-common.m4 (gl_COMMON_BODY):
2198         Define _GL_ATTRIBUTE_MALLOC here.  All other definitions removed.
2200 2018-05-03  Bruno Haible  <bruno@clisp.org>
2202         Simplify code. Drop support for Borland C++ on Windows.
2203         Reported by Gisle Vanem <gisle.vanem@gmail.com>.
2204         * lib/accept4.c: Simplify 'defined _WIN32 || defined __WIN32__' to just
2205         'defined _WIN32'.
2206         * lib/canonicalize-lgpl.c: Likewise.
2207         * lib/classpath.c: Likewise.
2208         * lib/clean-temp.c: Likewise.
2209         * lib/csharpexec.c: Likewise.
2210         * lib/ctime.c: Likewise.
2211         * lib/dosname.h: Likewise.
2212         * lib/dup2.c: Likewise.
2213         * lib/errno.in.h: Likewise.
2214         * lib/error.c: Likewise.
2215         * lib/euidaccess.c: Likewise.
2216         * lib/execute.c: Likewise.
2217         * lib/fcntl.in.h: Likewise.
2218         * lib/fcntl.c: Likewise.
2219         * lib/filename.h: Likewise.
2220         * lib/findprog.c: Likewise.
2221         * lib/flock.c: Likewise.
2222         * lib/fopen.c: Likewise.
2223         * lib/freopen.c: Likewise.
2224         * lib/fstat.c: Likewise.
2225         * lib/fsync.c: Likewise.
2226         * lib/gc-gnulib.c: Likewise.
2227         * lib/get-rusage-data.c: Likewise.
2228         * lib/getaddrinfo.c: Likewise.
2229         * lib/getdelim.c: Likewise.
2230         * lib/getdtablesize.c: Likewise.
2231         * lib/gethostname.c: Likewise.
2232         * lib/getlogin.c: Likewise.
2233         * lib/getlogin_r.c: Likewise.
2234         * lib/getopt.c: Likewise.
2235         * lib/getpagesize.c: Likewise.
2236         * lib/getpass.c: Likewise.
2237         * lib/getrusage.c: Likewise.
2238         * lib/gettimeofday.c: Likewise.
2239         * lib/glob.c: Likewise.
2240         * lib/inttypes.in.h: Likewise.
2241         * lib/isapipe.c: Likewise.
2242         * lib/javaexec.c: Likewise.
2243         * lib/link.c: Likewise.
2244         * lib/localcharset.c: Likewise.
2245         * lib/localename.h: Likewise.
2246         * lib/localename.c: Likewise.
2247         * lib/localtime.c: Likewise.
2248         * lib/lseek.c: Likewise.
2249         * lib/mbsinit.c: Likewise.
2250         * lib/mkdir.c: Likewise.
2251         * lib/msvc-nothrow.h: Likewise.
2252         * lib/nanosleep.c: Likewise.
2253         * lib/nl_langinfo.c: Likewise.
2254         * lib/nonblocking.c: Likewise.
2255         * lib/nproc.c: Likewise.
2256         * lib/open.c: Likewise.
2257         * lib/openpty.c: Likewise.
2258         * lib/pathmax.h: Likewise.
2259         * lib/pipe-filter-aux.c: Likewise.
2260         * lib/pipe-filter-gi.c: Likewise.
2261         * lib/pipe-filter-ii.c: Likewise.
2262         * lib/pipe.c: Likewise.
2263         * lib/pipe2.c: Likewise.
2264         * lib/poll.c: Likewise.
2265         * lib/popen.c: Likewise.
2266         * lib/posix_openpt.c: Likewise.
2267         * lib/printf-parse.c: Likewise.
2268         * lib/progreloc.c: Likewise.
2269         * lib/putenv.c: Likewise.
2270         * lib/read.c: Likewise.
2271         * lib/relocatable.c: Likewise.
2272         * lib/rename.c: Likewise.
2273         * lib/same-inode.h: Likewise.
2274         * lib/secure_getenv.c: Likewise.
2275         * lib/select.c: Likewise.
2276         * lib/sethostname.c: Likewise.
2277         * lib/setlocale.c: Likewise.
2278         * lib/sigaction.c: Likewise.
2279         * lib/sigprocmask.c: Likewise.
2280         * lib/sleep.c: Likewise.
2281         * lib/spawn-pipe.h: Likewise.
2282         * lib/spawn-pipe.c: Likewise.
2283         * lib/spawni.c: Likewise.
2284         * lib/stat-time.h: Likewise.
2285         * lib/stat-w32.c: Likewise.
2286         * lib/stat.c: Likewise.
2287         * lib/stdio.in.h: Likewise.
2288         * lib/stdio-impl.h: Likewise.
2289         * lib/stdio-read.c: Likewise.
2290         * lib/stdio-write.c: Likewise.
2291         * lib/stdlib.in.h: Likewise.
2292         * lib/strerror_r.c: Likewise.
2293         * lib/strftime-fixes.c: Likewise.
2294         * lib/sys_stat.in.h: Likewise.
2295         * lib/sys_types.in.h: Likewise.
2296         * lib/sys_wait.in.h : Likewise.
2297         * lib/system-quote.h: Likewise.
2298         * lib/system-quote.c: Likewise.
2299         * lib/tmpdir.c: Likewise.
2300         * lib/tzset.c: Likewise.
2301         * lib/uname.c: Likewise.
2302         * lib/unistd.in.h: Likewise.
2303         * lib/utime.in.h: Likewise.
2304         * lib/utime.c: Likewise.
2305         * lib/utimecmp.c: Likewise.
2306         * lib/utimens.c: Likewise.
2307         * lib/vasnprintf.c: Likewise.
2308         * lib/vma-iter.h: Likewise.
2309         * lib/vma-iter.c: Likewise.
2310         * lib/wait-process.c: Likewise.
2311         * lib/wcsftime.c: Likewise.
2312         * lib/wctype.in.h: Likewise.
2313         * lib/write.c: Likewise.
2314         * tests/nap.h: Likewise.
2315         * tests/test-cloexec.c: Likewise.
2316         * tests/test-dup-safer.c: Likewise.
2317         * tests/test-dup2.c: Likewise.
2318         * tests/test-dup3.c: Likewise.
2319         * tests/test-fcntl.c: Likewise.
2320         * tests/test-get-rusage-data.c: Likewise.
2321         * tests/test-getaddrinfo.c: Likewise.
2322         * tests/test-getlogin.h: Likewise.
2323         * tests/test-isatty.c: Likewise.
2324         * tests/test-localename.c: Likewise.
2325         * tests/test-mbrtowc-w32.c: Likewise.
2326         * tests/test-nonblocking.c: Likewise.
2327         * tests/test-nonblocking-pipe-main.c: Likewise.
2328         * tests/test-nonblocking-socket-main.c: Likewise.
2329         * tests/test-nonblocking-socket.h: Likewise.
2330         * tests/test-pipe.c: Likewise.
2331         * tests/test-pipe2.c: Likewise.
2332         * tests/test-poll.c: Likewise.
2333         * tests/test-pthread_sigmask1.c: Likewise.
2334         * tests/test-select.h: Likewise.
2335         * tests/test-sethostname2.c: Likewise.
2336         * tests/test-sigprocmask.c: Likewise.
2337         * tests/test-spawn-pipe-child.c: Likewise.
2338         * tests/test-stat-time.c: Likewise.
2339         * tests/test-system-quote-main.c: Likewise.
2340         * tests/test-utimens-common.h: Likewise.
2341         * tests/test-wcrtomb-w32.c: Likewise.
2342         * m4/csharpexec.m4 (gt_CSHARPEXEC): Likewise.
2343         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
2344         * m4/javacomp.m4 (gt_JAVACOMP): Likewise.
2345         * m4/javaexec.m4 (gt_JAVAEXEC): Likewise.
2346         * m4/locale-ar.m4 (gt_LOCALE_AR): Likewise.
2347         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
2348         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
2349         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
2350         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
2351         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
2352         * m4/nocrash.m4 (GL_NOCRASH): Likewise.
2353         * m4/pathmax.m4 (gl_PATHMAX_SNIPPET): Likewise.
2354         * m4/ptsname_r.m4 (gl_PREREQ_PTSNAME_R): Likewise.
2355         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
2356         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Likewise.
2357         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
2359 2018-05-02  Bruno Haible  <bruno@clisp.org>
2361         localename: Fix test failures on mingw.
2362         * lib/localename.c (gl_locale_name_thread): Remove code specific to
2363         native Windows.
2364         (gl_locale_name_posix): Move code specific to native Windows here.
2365         * tests/test-localename.c (test_locale_name, test_locale_name_posix):
2366         Accept result without charset suffix, as it appears on mingw.
2368 2018-04-28  Paul Smith  <psmith@gnu.org>
2370         bootstrap: Avoid gnulib operations if not needed
2371         * build-aux/bootstrap: Remove unused variable gnulib_mk.
2372         Set $gnulib_extra_files early so it can be overridden in .conf.
2373         Remove redundant --import flag from $gnulib_tool_options.
2374         Set $use_gnulib to false if no gnulib modules or files are needed.
2375         If $use_gnulib is false, don't do anything related to gnulib.
2376         A lot of this is just whitespace (indentation) changes.
2378 2018-04-27  Paul Eggert  <eggert@cs.ucla.edu>
2380         manywarnings: port to GCC 8.0
2381         * build-aux/gcc-warning.spec: Add -Wcatch-value,
2382         -Wclass-memaccess, -Wdo-subscript, -Wextra-semi.  Adjust to the
2383         fact that the GCC help message now mentions operands for
2384         -Warray-bounds, -Wformat, -Wformat-overflow, -Wformat-truncation,
2385         -Wimplicit-fallthrough, -Wplacement-new, -Wshift-overflow,
2386         -Wstrict-aliasing, -Wstrict-overflow, -Wstringop-overflow,
2387         and -Wunused-const-variable.
2388         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add -Wattribute-alias,
2389         -Wcast-align=strict, -Wcast-function-type, -Wif-not-aligned,
2390         -Wmissing-attributes, -Wmultistatement-macros,
2391         -Wpacked-not-aligned, -Wsizeof-pointer-div, -Wstringop-truncation,
2392         -Wsuggest-attribute=cold, -Wsuggest-attribute=malloc.
2394 2018-04-24  Bruno Haible  <bruno@clisp.org>
2396         sys_socket: Make SO_REUSEPORT available across platforms.
2397         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
2398         * lib/sys_socket.in.h (SO_REUSEPORT): New macro.
2399         * doc/posix-headers/sys_socket.texi: Mention the issue.
2400         * tests/test-poll.c (SO_REUSEPORT): Remove.
2401         * tests/test-select.h: Include <sys/socket.h>.
2402         (SO_REUSEPORT): Remove.
2403         * modules/select-tests (Depends-on): Add 'sys_socket'.
2405 2018-04-21  Benno Schulenberg  <bensberg@telfort.nl>  (tiny change)
2407         localcharset: short-circuit the search for an alias on a Mac
2408         * lib/localcharset.c (get_charset_aliases): Add a tautological
2409         UTF-8 entry to speed up the search for this case.
2410         Most machines default to a UTF-8 locale nowadays, so begin the
2411         list of aliases with a dummy UTF-8 entry so it will be found
2412         immediately and a time-consuming search through the rest of
2413         the list is avoided.
2415 2018-04-11  Paul Eggert  <eggert@cs.ucla.edu>
2417         fts: add comment
2418         * lib/fts.c (fts_build): Explain why ==, not >.
2419         See remark by Bernhard Voelker in:
2420         https://lists.gnu.org/r/bug-gnulib/2018-04/msg00041.html
2422         fts: fix bug in find across filesystems
2423         This fixes a bug I introduced last summer.
2424         Problem reported by Kamil Dudka in:
2425         https://lists.gnu.org/r/bug-gnulib/2018-04/msg00033.html
2426         * lib/fts.c (filesystem_type, dirent_inode_sort_may_be_useful)
2427         (leaf_optimization):
2428         New arg for file descriptor.  All callers changed.
2429         (fts_build): Check for whether inodes should be sorted
2430         before closing the directory.
2432 2018-04-07  Bruno Haible  <bruno@clisp.org>
2434         unicase/u*-context: Fix link errors with libunistring <= 0.9.9.
2435         Reported by Genki Sky <sky@genki.is>.
2436         * modules/unicase/u8-prefix-context (configure.ac): Require libunistring
2437         version 0.9.10 or newer.
2438         * modules/unicase/u8-suffix-context (configure.ac): Likewise.
2439         * modules/unicase/u16-prefix-context (configure.ac): Likewise.
2440         * modules/unicase/u16-suffix-context (configure.ac): Likewise.
2441         * modules/unicase/u32-prefix-context (configure.ac): Likewise.
2442         * modules/unicase/u32-suffix-context (configure.ac): Likewise.
2444 2018-04-07  Bruno Haible  <bruno@clisp.org>
2446         execute: Update comment.
2447         * lib/execute.h (execute): Refer to spawn-pipe.h, not pipe.h.
2449 2018-04-05  Paul Eggert  <eggert@cs.ucla.edu>
2451         fts: treat CIFS like NFS
2452         Problem reported by Kamil Dudka in:
2453         https://lists.gnu.org/r/bug-gnulib/2018-04/msg00015.html
2454         * lib/fts.c (S_MAGIC_CIFS): New macro.
2455         (dirent_inode_sort_may_be_useful, leaf_optimization):
2456         Treat CIFS like NFS.
2458 2018-03-28  Bruno Haible  <bruno@clisp.org>
2460         c-stack: Fix possible build failure on some platforms.
2461         * lib/c-stack.c (die): Define whenever this function is referenced.
2463 2018-03-28  Paul Eggert  <eggert@cs.ucla.edu>
2465         time_rz: fix workaround for Mac OS X 10.6 infloop
2466         Problems reported by Charles A. Roelli (Bug#27736#117).
2467         * m4/time_rz.m4 (gl_TIME_RZ): Use a slightly different timestamp.
2468         Also, discard output, which clutters the 'configure' log.
2470 2018-03-27  Paul Eggert  <eggert@cs.ucla.edu>
2472         havelib: port to Solaris 10 /bin/sh
2473         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Use 'test ! EXPR'
2474         instead of '! test EXPR'.
2476 2018-03-26  Paul Eggert  <eggert@cs.ucla.edu>
2478         time_rz: work around Mac OS X 10.6 infloop
2479         * doc/posix-functions/localtime.texi:
2480         * doc/posix-functions/localtime_r.texi: Mention the bug.
2481         * lib/time_rz.c (localtime_rz): Work around the bug.  It’d be
2482         better to fix localtime and localtime_r instead, but that would be
2483         more work and is not needed to fix the Emacs problem.
2484         * m4/time_rz.m4 (gl_TIME_RZ): Detect the bug.
2486 2018-03-24  Jim Meyering  <meyering@fb.com>
2488         test-version-etc.sh: don't use diff directly: use init.sh's compare
2489         We'd rather not sacrifice readable "diff -u" output even for
2490         "diff -c" output (not supported by busybox) or for even less
2491         readable ed-style "diff" output.  So use init.sh's compare function
2492         * tests/test-version-etc.sh: Source init.sh and add "." to path.
2493         Remove "./" from invocation of test-version-etc, so we use path.
2494         And s/diff/compare/.
2495         * modules/version-etc-tests (Depends-on): Add test-framework-sh,
2496         to get init.sh.
2497         Prompted by Eric Blake's comments in
2498         https://lists.gnu.org/r/sed-devel/2018-03/msg00015.html
2500 2018-03-24  Bruno Haible  <bruno@clisp.org>
2502         javacomp-script, javacomp: Add support for Java 10.
2503         * m4/javacomp.m4 (gt_JAVACOMP): Accept source-version 10 and
2504         target-version 10.
2505         * lib/javaversion.h: Update comments.
2506         * lib/javacomp.c (default_target_version, SOURCE_VERSION_BOUND,
2507         source_version_index, get_goodcode_snippet, get_failcode_snippet,
2508         TARGET_VERSION_BOUND, target_version_index,
2509         corresponding_classfile_version): Accept source_version 10 and
2510         target_version 10.
2511         * lib/javacomp.h: Update comments accordingly.
2513 2018-03-24  Bruno Haible  <bruno@clisp.org>
2515         javacomp-script, javacomp: Update comments.
2516         * m4/javacomp.m4: Update comments regarding gcj.
2517         * lib/javacomp.h: Likewise.
2519 2018-03-24  Bruno Haible  <bruno@clisp.org>
2521         javacomp-script, javacomp: Fix support for Java 7, 8, 9.
2522         * lib/javaversion.h: Update comments.
2523         * lib/javacomp.h: Likewise.
2524         * lib/javacomp.c (default_target_version, source_version_index,
2525         get_goodcode_snippet, get_failcode_snippet): Recognize "9" instead of
2526         "1.9".
2527         (TARGET_VERSION_BOUND): Bump to 9.
2528         (target_version_index, corresponding_classfile_version): Recognize "9"
2529         instead of "1.9".
2530         (get_source_version_for_javac): New function.
2531         (is_envjavac_nongcj_usable, is_javac_usable): Add
2532         source_version_for_javac argument.
2533         (compile_java_class): Determine and pass source_version_for_javac.
2534         * m4/javacomp.m4: Recognize version '9' instead of '1.9'. When invoking
2535         $JAVAC or javac, pass '-source 1.6' instead of '-source 1.5' when
2536         appropriate.
2538 2018-03-23  Jim Meyering  <meyering@fb.com>
2540         test-version-etc.sh: port to diff without -c
2541         * tests/test-version-etc.sh: Don't use diff's -c option.
2542         This caused spurious test failure on Alpine Linux, which
2543         uses busybox's diff. Reported by Assaf Gordon in
2544         https://lists.gnu.org/r/sed-devel/2018-03/msg00013.html
2546 2018-03-23  Paul Eggert  <eggert@cs.ucla.edu>
2548         c-stack: port to recent GCC build
2549         Problem reported by The Fireplace (Bug#30913).
2550         * lib/c-stack.c (die): Define only if used.
2552 2018-03-20  Bruno Haible  <bruno@clisp.org>
2554         euidaccess: Port to native Windows.
2555         * lib/euidaccess.c (euidaccess): On native Windows, just use _access().
2556         * posix-modules (exclude_for_mingw): Remove 'euidaccess'.
2558 2018-03-19  Bruno Haible  <bruno@clisp.org>
2560         javacomp: Add support for Java 7, 8, 9.
2561         * lib/javacomp.c (default_target_version, SOURCE_VERSION_BOUND,
2562         source_version_index, get_goodcode_snippet, get_failcode_snippet,
2563         corresponding_classfile_version): Accept source_version 1,7, 1.8, 1.9
2564         and target_version 1,7, 1.8, 1.9.
2565         * lib/javacomp.h: Update comments accordingly.
2567 2018-03-19  Bruno Haible  <bruno@clisp.org>
2569         javacomp-script: Add support for Java 9.
2570         * m4/javacomp.m4 (gt_JAVACOMP): Accept source-version 1.9 and
2571         target-version 1.9.
2573 2018-03-16  Bruno Haible  <bruno@clisp.org>
2575         glob: Don't compile replacements on recent glibc systems.
2576         * lib/glob.in.h: Use the usual idiom for the double-inclusion guard. If
2577         REPLACE_GLOB is 0, include the system's <glob.h> and use
2578         _GL_CXXALIAS_SYS.
2579         * m4/glob.m4 (gl_GLOB): Set REPLACE_GLOB instead of GLOB_H. Accept
2580         _GNU_GLOB_INTERFACE_VERSION 2 as well. Delete the file conf$$-globtest
2581         inside the AC_RUN_IFELSE block. Remove GL_GENERATE_GLOB_H conditional.
2582         * modules/glob (Dependencies): Test REPLACE_GLOB instead of GLOB_H.
2583         Remove snippet/warn-on-use.
2584         (configure.ac): Test REPLACE_GLOB instead of GLOB_H.
2585         (Makefile.am): Create glob.h always. Update list of substitutions in
2586         glob.h. Don't depend on $(WARN_ON_USE_H).
2588 2018-03-16  Bruno Haible  <bruno@clisp.org>
2590         glob: Fix link error on native Windows.
2591         * modules/glob (Depends-on): Add 'lstat'.
2593 2018-03-15  Bruno Haible  <bruno@clisp.org>
2595         glob: Fix compilation error in C++ mode.
2596         * lib/glob.in.h (_Restrict_): Define, like in regex.h and spawn.in.h.
2598 2018-03-15  Bruno Haible  <bruno@clisp.org>
2600         host-cpu-c-abi: Support for RISC-V CPU.
2601         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Recognize the various
2602         riscv32 and riscv64 ABIs.
2603         References:
2604         https://github.com/riscv/riscv-toolchain-conventions
2605         https://gcc.gnu.org/onlinedocs/gcc-7.3.0/gcc/RISC-V-Options.html
2606         https://gnu-mcu-eclipse.github.io/toolchain/riscv/
2608 2018-03-08  Paul Eggert  <eggert@cs.ucla.edu>
2610         fflush: be more paranoid about libio.h change
2611         Suggested by Eli Zaretskii in:
2612         https://lists.gnu.org/r/emacs-devel/2018-03/msg00270.html
2613         * lib/fbufmode.c (fbufmode):
2614         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
2615         (disable_seek_optimization, rpl_fflush):
2616         * lib/fpending.c (__fpending):
2617         * lib/fpurge.c (fpurge):
2618         * lib/freadable.c (freadable):
2619         * lib/freadahead.c (freadahead):
2620         * lib/freading.c (freading):
2621         * lib/freadptr.c (freadptr):
2622         * lib/freadseek.c (freadptrinc):
2623         * lib/fseeko.c (fseeko):
2624         * lib/fseterr.c (fseterr):
2625         * lib/fwritable.c (fwritable):
2626         * lib/fwriting.c (fwriting):
2627         Look at _IO_ftrylockfile as well as at _IO_EOF_SEEN.
2629 2018-03-07  Paul Eggert  <eggert@cs.ucla.edu>
2631         maint: write-file-hooks -> before-save-hook
2632         write-file-hooks is obsolete since Emacs 22.1 (released June 2007) and
2633         it's time to use the recommended replacement.
2634         Problem reported by Glenn Morris in:
2635         https://lists.gnu.org/r/bug-gnulib/2018-03/msg00008.html
2636         * build-aux/announce-gen, build-aux/bootstrap:
2637         * build-aux/do-release-commit-and-tag, build-aux/gendocs.sh:
2638         * build-aux/git-version-gen, build-aux/gitlog-to-changelog:
2639         * build-aux/gnu-web-doc-update, build-aux/gnupload:
2640         * build-aux/move-if-change, build-aux/prefix-gnulib-mk:
2641         * build-aux/update-copyright, build-aux/useless-if-before-free:
2642         * build-aux/vc-list-files:
2643         Update hook usage for files where Gnulib is the canonical source.
2645 2018-03-05  Paul Eggert  <eggert@cs.ucla.edu>
2647         binary-io: pacify gcc -Wunused-parameter
2648         Problem reported by Reuben Thomas in:
2649         https://lists.gnu.org/r/bug-gnulib/2018-03/msg00005.html
2650         * lib/binary-io.h (__gl_setmode, __gl_setmode_check):
2651         Use _GL_UNUSED where appropriate.
2653         fflush: adjust to glibc 2.28 libio.h removal
2654         Problem reported by Daniel P. Berrangé in:
2655         https://lists.gnu.org/r/bug-gnulib/2018-03/msg00000.html
2656         * lib/fbufmode.c (fbufmode):
2657         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
2658         (disable_seek_optimization, rpl_fflush):
2659         * lib/fpending.c (__fpending):
2660         * lib/fpurge.c (fpurge):
2661         * lib/freadable.c (freadable):
2662         * lib/freadahead.c (freadahead):
2663         * lib/freading.c (freading):
2664         * lib/freadptr.c (freadptr):
2665         * lib/freadseek.c (freadptrinc):
2666         * lib/fseeko.c (fseeko):
2667         * lib/fseterr.c (fseterr):
2668         * lib/fwritable.c (fwritable):
2669         * lib/fwriting.c (fwriting):
2670         Check _IO_EOF_SEEN instead of _IO_ftrylockfile.
2671         * lib/stdio-impl.h (_IO_IN_BACKUP) [_IO_EOF_SEEN]:
2672         Define if not already defined.
2674 2018-02-27  Paul Eggert  <eggert@cs.ucla.edu>
2676         environ: fix link error on 32-bit Cygwin
2677         Problem reported for GNU Emacs by Ken Brown in:
2678         https://lists.gnu.org/r/emacs-devel/2018-02/msg00765.html
2679         * lib/unistd.in.h (environ) [__i386__]: Do not redeclare.
2681 2018-02-24  Bruno Haible  <bruno@clisp.org>
2683         mbrtowc tests: Fix regression on glibc.
2684         Reported by Bernhard Voelker.
2685         * tests/test-mbrtowc.c (main): Fix expected value of wc.
2687 2018-02-24  Bruno Haible  <bruno@clisp.org>
2689         striconveha, uniconv/*: Avoid test failures on musl libc.
2690         * tests/iconvsupport.c: New file.
2691         * tests/test-striconveha.c (main): Skip autodetect_jp tests if iconv()
2692         does not support the ISO-2022-JP-2 encoding.
2693         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
2694         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
2695         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
2696         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
2697         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
2698         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
2699         * modules/striconveha-tests (Files): Add tests/iconvsupport.c.
2700         (Makefile.am): Link test-striconveha with iconvsupport.o.
2701         * modules/uniconv/u8-conv-from-enc-tests (Files): Add
2702         tests/iconvsupport.c.
2703         (Makefile.am): Link test-u8-conv-from-enc with iconvsupport.o.
2704         * modules/uniconv/u8-strconv-from-enc-tests (Files): Add
2705         tests/iconvsupport.c.
2706         (Makefile.am): Link test-u8-strconv-from-enc with iconvsupport.o.
2707         * modules/uniconv/u16-conv-from-enc-tests (Files): Add
2708         tests/iconvsupport.c.
2709         (Makefile.am): Link test-u16-conv-from-enc with iconvsupport.o.
2710         * modules/uniconv/u16-strconv-from-enc-tests (Files): Add
2711         tests/iconvsupport.c.
2712         (Makefile.am): Link test-u16-strconv-from-enc with iconvsupport.o.
2713         * modules/uniconv/u32-conv-from-enc-tests (Files): Add
2714         tests/iconvsupport.c.
2715         (Makefile.am): Link test-u32-conv-from-enc with iconvsupport.o.
2716         * modules/uniconv/u32-strconv-from-enc-tests (Files): Add
2717         tests/iconvsupport.c.
2718         (Makefile.am): Link test-u32-strconv-from-enc with iconvsupport.o.
2720 2018-02-24  Bruno Haible  <bruno@clisp.org>
2722         localename: Add support for musl libc.
2723         * m4/localename.m4 (gl_LOCALENAME): Check for <langinfo.h>.
2724         * lib/localename.c (gl_locale_name_thread_unsafe): Use NL_LOCALE_NAME
2725         on Linux platforms which define NL_LOCALE_NAME.
2727 2018-02-24  Bruno Haible  <bruno@clisp.org>
2729         mbrtowc tests: Don't make assumptions about the charset the C locale.
2730         * tests/test-mbrtowc.c (main): For bytes >= 0x80, don't assume a
2731         particular mapping in the C locale.
2733 2018-02-24  Bruno Haible  <bruno@clisp.org>
2735         ptsname_r: Don't expect that this function sets errno.
2736         * tests/test-ptsname_r.c (test_errors): Don't test errno after return
2737         from ptsname_r().
2738         * doc/glibc-functions/ptsname_r.texi: Mention the issue.
2740 2018-02-23  Bruno Haible  <bruno@clisp.org>
2742         xmalloca: pacify gcc -Wbad-function-cast
2743         * lib/xmalloca.h (xmalloca): Insert intermediate cast here as well.
2745 2018-02-23  Paul Eggert  <eggert@cs.ucla.edu>
2747         nl_langinfo: pacify gcc -Wunused-function
2748         * lib/nl_langinfo.c (ctype_codeset): Do not define if
2749         REPLACE_NL_LANGINFO && !GNULIB_defined_CODESET, as it is unused in
2750         this case.  Without this change, I got a diagnostic when building
2751         coreutils on Fedora 27 with gcc 7.3.1 20180130.
2753         same: pacify gcc -Wunused-variable
2754         * lib/same.c (same_nameat) [!CHECK_TRUNCATION]:
2755         Omit unused variable.
2757         malloca: pacify gcc -Wbad-function-cast
2758         * lib/malloca.h (malloca): Pacify gcc -Wbad-function-cast
2759         diagnostic that I got on Fedora 27 with gcc 7.3.1 20180130.
2760         To pacify GCC, I had to cast alloca’s result to some type other
2761         than void * before casting that to uintptr_t.
2763 2018-02-20  Paul Eggert  <eggert@cs.ucla.edu>
2765         utimecmp: new function utimecmpat
2766         * lib/utimecmp.c: Include fcntl.h, sys/stat.h and dirname.h.
2767         Do not include utimens.h.
2768         (utimecmpat): New function, generalizing utimecmp.
2769         (utimecmp): Now a thin layer around utimecmpat.
2770         * modules/utimecmp (Depends-on): Depend on dirname-lgpl, fstatat,
2771         utimensat instead of on lstat and utimens.
2773         same: new function same_nameat
2774         * lib/same.c: Include fcntl.h.
2775         * lib/same.c (same_nameat): New function, generalizing same_name.
2776         (same_name): Now a thin layer around same_nameat.
2777         * m4/same.m4 (gl_SAME): Check for fpathconf, not pathconf.
2778         * modules/same (Depends-on): Depend on fstatat, openat.
2780 2018-02-18  Eric Gallager  <egall@gwmail.gwu.edu>  (tiny change)
2782         warnings: Add support for Objective C.
2783         * m4/warnings.m4 (gl_UNKNOWN_WARNINGS_ARE_ERRORS(Objective C)): New
2784         macro.
2786 2018-02-17  Bruno Haible  <bruno@clisp.org>
2788         lock: Fix test-once1 crash on FreeBSD11.
2789         * lib/glthread/lock.h: On FreeBSD, test the weak value of the symbol
2790         'pthread_create', not 'pthread_cancel'.
2792 2018-02-17  Bruno Haible  <bruno@clisp.org>
2794         lock: Add test of gl_once.
2795         * tests/test-once.c: New file.
2796         * modules/lock-tests (Files): Add it.
2797         (Makefile.am): Build and test programs 'test-once1' and 'test-once2'.
2799 2018-02-17  Bruno Haible  <bruno@clisp.org>
2801         thread: Fix compilation error on IRIX.
2802         * lib/glthread/thread.h: Include <unistd.h>. Include <signal.h> when
2803         needed; include it outside the C++ extern "C" {} block.
2804         * doc/posix-headers/pthread.texi: Mention the problem with
2805         pthread_atfork on IRIX.
2807 2018-02-04  Bruno Haible  <bruno@clisp.org>
2809         nl_langinfo: Override the system's nl_langinfo() when needed.
2810         Reported by Jim Meyering.
2811         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Set REPLACE_NL_LANGINFO=1
2812         also when HAVE_LANGINFO_T_FMT_AMPM or HAVE_LANGINFO_ALTMON is 0.
2814 2018-02-04  Bruno Haible  <bruno@clisp.org>
2816         signal-h, monetary, strings: Fix build failure in some cases.
2817         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
2818         * modules/signal-h (Makefile.am): In the GNULIB_* substitutions, use '/'
2819         as delimiter in sed command, not '|'.
2820         * modules/monetary (Makefile.am): Likewise.
2821         * modules/strings (Makefile.am): Likewise.
2823 2018-02-03  Jim Meyering  <meyering@fb.com>
2825         maint.mk: exempt "/proc/filesystems" from "file system" syntax check
2826         * top/maint.mk (sc_file_system): Don't complain about
2827         "/proc/filesystems".
2829 2018-02-03  Bruno Haible  <bruno@clisp.org>
2831         stdlib: Fix compilation error on OpenIndiana.
2832         * lib/stdlib.in.h: Before including <sys/loadavg.h>, include
2833         <sys/time.h>.
2834         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
2835         * m4/getloadavg.m4 (gl_GETLOADAVG): Likewise.
2837 2018-02-03  Bruno Haible  <bruno@clisp.org>
2839         host-cpu-c-abi: Avoid use of 'grep -E' on OpenIndiana.
2840         * m4/asm-underscore.m4 (gl_ASM_SYMBOL_PREFIX): Require AC_PROG_EGREP,
2841         and use $EGREP instead of 'grep -E'.
2842         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Use 'grep' instead of
2843         'grep -E'.
2845 2018-02-02  Paul Eggert  <eggert@cs.ucla.edu>
2847         malloca: Add a compile-time verification.
2848         * lib/malloca.c (small_t): Verify that it is wide enough.
2849         * modules/malloca (Depends-on): Add verify.
2851 2018-02-02  Bruno Haible  <bruno@clisp.org>
2853         malloca: Add an argument check.
2854         Suggested by Paul Eggert.
2855         * lib/malloca.c (freea): Check against an invalid argument.
2857 2018-02-02  Bruno Haible  <bruno@clisp.org>
2859         localename: Add support for OpenIndiana.
2860         * lib/localename.c (gl_locale_name_thread_unsafe): Add code for
2861         Solaris 11 variants with uselocale() but without getlocalename_l().
2863 2018-02-02  Bruno Haible  <bruno@clisp.org>
2865         malloca, xmalloca: Make multithread-safe.
2866         Reported by Florian Weimer <fweimer@redhat.com>.
2867         Implements an idea by Ondřej Bílka <neleai@seznam.cz>.
2868         * lib/malloca.h (malloca): In the stack allocation case, return a
2869         pointer that is a multiple of 2 * sa_alignment_max.
2870         (sa_increment): Remove enum item.
2871         * lib/xmalloca.h (xmalloca): In the stack allocation case, return
2872         a pointer that is a multiple of 2 * sa_alignment_max.
2873         * lib/malloca.c (NO_SANITIZE_MEMORY): Remove macro.
2874         (MAGIC_NUMBER, MAGIC_SIZE, preliminary_header, HEADER_SIZE, header,
2875         HASH_TABLE_SIZE, mmalloca_results): Remove.
2876         (small_t): New type.
2877         (mmalloca, free): Rewritten.
2878         * lib/malloca.valgrind: Remove file.
2879         * modules/malloca (Files): Remove it.
2880         (Depends-on): Remove verify.
2882 2018-01-31  Bruno Haible  <bruno@clisp.org>
2884         environ: Fix link error on 64-bit Cygwin.
2885         * lib/unistd.in.h (environ): On Cygwin, redeclare with the
2886         __declspec(dllimport) attribute.
2887         * doc/posix-functions/environ.texi: Mention the Cygwin problem.
2889 2018-01-30  Bruno Haible  <bruno@clisp.org>
2891         get-rusage-data: Add support for Minix 3.
2892         * lib/get-rusage-data.c (get_rusage_data): Return 0 on Minix.
2894 2018-01-30  Bruno Haible  <bruno@clisp.org>
2896         vma-iter: Add support for Minix 3.
2897         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Minix.
2898         * lib/vma-iter.c: On Minix, read /proc/<pid>/map.
2900 2018-01-27  Bruno Haible  <bruno@clisp.org>
2902         Fix malfunction of socket functions on HP-UX in 64-bit mode.
2903         * m4/socketlib.m4 (gl_SOCKETLIB): Add comment.
2904         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define
2905         _HPUX_ALT_XOPEN_SOCKET_API.
2906         * modules/accept (Depends-on): Add 'extensions'.
2907         * modules/getpeername (Depends-on): Likewise.
2908         * modules/getsockname (Depends-on): Likewise.
2909         * modules/getsockopt (Depends-on): Likewise.
2910         * modules/recvfrom (Depends-on): Likewise.
2911         * doc/posix-functions/accept.texi: Mention the HP-UX socklen_t problem.
2912         * doc/posix-functions/getpeername.texi: Likewise.
2913         * doc/posix-functions/getsockname.texi: Likewise.
2914         * doc/posix-functions/getsockopt.texi: Likewise.
2915         * doc/posix-functions/recvfrom.texi: Likewise.
2917 2018-01-27  Bruno Haible  <bruno@clisp.org>
2919         getsockname tests: More tests.
2920         * tests/test-getsockname.c (open_server_socket): New function, mostly
2921         copied from test-poll.c.
2922         (main): Check that getsockname fills in addr.
2923         * modules/getsockname-tests (Depends-on): Add the necessary
2924         dependencies.
2925         (test_getsockname_LDADD): Link with $(INET_PTON_LIB).
2927 2018-01-26  Paul Eggert  <eggert@cs.ucla.edu>
2929         manywarnings: fix maintainer comment
2930         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Fix comment so that
2931         it does not mistakenly think that ‘-1)’ is an option.
2933 2018-01-26  Bruno Haible  <bruno@clisp.org>
2935         langinfo: Fix last commit.
2936         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
2937         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_ALTMON.
2939 2018-01-24  Bruno Haible  <bruno@clisp.org>
2941         langinfo, nl_langinfo: Add support for alternative month names.
2942         * m4/langinfo_h.m4 (gl_LANGINFO_H): Define HAVE_LANGINFO_ALTMON.
2943         * lib/langinfo.in.h (ALTMON_1...ALTMON_12): New macros.
2944         * lib/nl_langinfo.c (rpl_nl_langinfo): Treat ALTMON_i like MON_i.
2945         * tests/test-nl_langinfo.c (main): Test ALTMON_*.
2946         * doc/posix-headers/langinfo.texi: Document support of ALTMON_*.
2947         * doc/posix-functions/nl_langinfo.texi: Likewise.
2949 2018-01-23  Paul Eggert  <eggert@cs.ucla.edu>
2951         Merge strftime.c changes from glibc
2952         This incorporates:
2953         2017-11-14 [BZ #10871] Implement alternative month names
2954         2017-11-14 [BZ #10871] Abbreviated alternative month names (%Ob)
2955         2017-06-20 Use locale_t, not __locale_t, throughout glibc
2956         * lib/nstrftime.c (ABALTMON_1) [!COMPILE_WIDE]: New macro.
2957         (LOCALE_PARAM) [_LIBC && USE_IN_EXTENDED_LOCALE_MODEL]:
2958         Use locale_t, not __locale_t.
2959         (a_altmonth, f_altmonth, aam_len) [_NL_CURRENT]: New macros.
2960         (__strftime_internal): Add support for alternate months.
2962 2018-01-23  Bruno Haible  <bruno@clisp.org>
2964         doc: Mention another prerequisite for using Gnulib.
2965         Reported at <https://stackoverflow.com/questions/48378214/>.
2966         * doc/gnulib-tool.texi (Initial import): Mention requirement to use
2967         AC_CONFIG_HEADERS.
2969 2018-01-22  Mathieu Lirzin  <mthl@gnu.org>
2971         build: GuixSD doesn't have /bin/bash
2972         * Makefile (SHELL): Search 'bash' in the PATH environment variable.
2974 2018-01-21  Bruno Haible  <bruno@clisp.org>
2976         Avoid test failures on Microsoft Windows Subsystem for Linux.
2977         * tests/test-fcntl.c (main): Allow a different errno.
2978         * tests/test-rename.h (test_rename): Likewise.
2979         * tests/test-renameat.c (main): Likewise.
2980         * tests/test-renameat2.c (main): Likewise.
2982 2018-01-14  Paul Eggert  <eggert@cs.ucla.edu>
2984         filenamecat: make base a suffix of result
2985         * lib/filenamecat-lgpl.c (longest_relative_suffix): Remove.
2986         (mfile_name_concat): Always make BASE a suffix of the result, as
2987         cp expects this.  To implement this, separate with '.' instead of
2988         '/' in some rare cases.  Clarify spec to say ./BASE not BASE.
2989         * tests/test-filenamecat.c (main): Adjust tests to match
2990         current behavior.  Check that BASE_IN_RESULT points to
2991         a copy of BASE and is a suffix of the resultk, and that DIR
2992         is a prefix of the result that is no longer than the prefix
2993         indicated by BASE_IN_RESULT.
2995 2018-01-04  Mathieu Lirzin  <mthl@gnu.org>
2997         update-copyright: Handle use of ©
2998         * build-aux/update-copyright ($circle_c_re): Update regex to
2999         handle use of © in headers.
3001 2018-01-04  Tim Rühsen  <tim.ruehsen@gmx.de>
3003         Fix -Wundef warning in user-included header lib/cdefs.h.
3004         * lib/cdefs.h: Check if defined before using __USE_FORTIFY_LEVEL.
3006 2018-01-04  Bruno Haible  <bruno@clisp.org>
3008         pthread_sigmask: Avoid compilation error on mingw.
3009         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
3010         * lib/signal.in.h (pthread_sigmask): Don't declare it it's defined as a
3011         macro.
3013 2018-01-03  Paul Eggert  <eggert@cs.ucla.edu>
3015         test-framework-sh: ‘ps -ef’, not ‘ps ef’
3016         * tests/init.sh (rand_bytes_): Put ‘-’ before new-style ps options.
3017         Suggested by Bob Proulx (Bug#29968).
3018         * build-aux/mktempd (rand_bytes): Make it like tests/init.sh.
3020 2018-01-02  Eric Blake  <eblake@redhat.com>
3022         stat-time: silence -Wunused-parameter regression
3023         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
3024         Prefer attribute over cast-to-void.
3025         (stat_time_normalize): Mark st as potentially unused.
3027 2018-01-02  Paul Eggert  <eggert@cs.ucla.edu>
3029         test-framework-sh: avoid netstat
3030         Problem reported by Kristýna Streitová (Bug#29947).
3031         * tests/init.sh (rand_bytes_): Stop using netstat, as it's
3032         deprecated on SuSE and it's not that important anyway.
3034 2018-01-01  Jim Meyering  <meyering@fb.com>
3036         update-copyright: add code to handle more special cases
3037         After running "make update-copyright" this year, five files
3038         required additional manual changes.  Automate those adjustments
3039         for next year.
3040         * Makefile (_year_and_prev): Define.
3041         (update-copyright): Add perl commands to induce this year's post-
3042         update-copyright adjustments.
3044 2018-01-01  Paul Eggert  <eggert@cs.ucla.edu>
3046         version-etc: new year
3047         * build-aux/gendocs.sh (version):
3048         * doc/gendocs_template:
3049         * doc/gendocs_template_min:
3050         * doc/gnulib.texi:
3051         * lib/version-etc.c (COPYRIGHT_YEAR):
3052         Update copyright dates by hand in templates and the like.
3054         maint: fix 'make update-copyright'
3055         * Makefile (update-copyright): Adjust to 2016-11-23 change
3056         to config/srclist-update, which changed the format of srclist.txt.
3058 2017-12-30  Paul Eggert  <eggert@cs.ucla.edu>
3060         chdir-safer: remove this module
3061         * MODULES.html.sh (func_all_modules): Remove chdir-safer.
3062         * NEWS: Document removal.
3063         * lib/chdir-safer.c, lib/chdir-safer.h, m4/afs.m4, m4/chdir-safer.m4:
3064         * modules/chdir-safer: Remove these files.
3066 2017-12-29  Samuel Thibault  <samuel.thibault@gnu.org>
3068         Add cross-compilation results for GNU/Hurd.
3069         * m4/calloc.m4: Add GNU/Hurd guess.
3070         * m4/cbrtl.m4: Likewise.
3071         * m4/ceil.m4: Likewise.
3072         * m4/ceilf.m4: Likewise.
3073         * m4/ceill.m4: Likewise.
3074         * m4/chown.m4: Likewise.
3075         * m4/duplocale.m4: Likewise.
3076         * m4/exp2l.m4: Likewise.
3077         * m4/expm1.m4: Likewise.
3078         * m4/fchdir.m4: Likewise.
3079         * m4/floor.m4: Likewise.
3080         * m4/floorf.m4: Likewise.
3081         * m4/fmod.m4: Likewise.
3082         * m4/fmodf.m4: Likewise.
3083         * m4/fmodl.m4: Likewise.
3084         * m4/getcwd.m4: Likewise.
3085         * m4/getgroups.m4: Likewise.
3086         * m4/gettimeofday.m4: Likewise.
3087         * m4/hypot.m4: Likewise.
3088         * m4/hypotf.m4: Likewise.
3089         * m4/hypotl.m4: Likewise.
3090         * m4/link-follow.m4: Likewise.
3091         * m4/link.m4: Likewise.
3092         * m4/linkat.m4: Likewise.
3093         * m4/log.m4: Likewise.
3094         * m4/log10.m4: Likewise.
3095         * m4/log10f.m4: Likewise.
3096         * m4/log1p.m4: Likewise.
3097         * m4/log1pf.m4: Likewise.
3098         * m4/log1pl.m4: Likewise.
3099         * m4/log2.m4: Likewise.
3100         * m4/log2f.m4: Likewise.
3101         * m4/logf.m4: Likewise.
3102         * m4/lstat.m4: Likewise.
3103         * m4/malloc.m4: Likewise.
3104         * m4/mbrlen.m4: Likewise.
3105         * m4/mbrtowc.m4: Likewise.
3106         * m4/mkdir.m4: Likewise.
3107         * m4/mkfifo.m4: Likewise.
3108         * m4/mknod.m4: Likewise.
3109         * m4/mkstemp.m4: Likewise.
3110         * m4/modf.m4: Likewise.
3111         * m4/modff.m4: Likewise.
3112         * m4/modfl.m4: Likewise.
3113         * m4/printf.m4: Likewise.
3114         * m4/pselect.m4: Likewise.
3115         * m4/ptsname.m4: Likewise.
3116         * m4/putenv.m4: Likewise.
3117         * m4/readlink.m4: Likewise.
3118         * m4/realloc.m4: Likewise.
3119         * m4/remainder.m4: Likewise.
3120         * m4/remainderf.m4: Likewise.
3121         * m4/remainderl.m4: Likewise.
3122         * m4/rmdir.m4: Likewise.
3123         * m4/round.m4: Likewise.
3124         * m4/roundf.m4: Likewise.
3125         * m4/roundl.m4: Likewise.
3126         * m4/select.m4: Likewise.
3127         * m4/setenv.m4: Likewise.
3128         * m4/signbit.m4: Likewise.
3129         * m4/sleep.m4: Likewise.
3130         * m4/stat.m4: Likewise.
3131         * m4/strerror.m4: Likewise.
3132         * m4/strtok_r.m4: Likewise.
3133         * m4/symlink.m4: Likewise.
3134         * m4/symlinkat.m4: Likewise.
3135         * m4/trunc.m4: Likewise.
3136         * m4/truncf.m4: Likewise.
3137         * m4/truncl.m4: Likewise.
3138         * m4/tzset.m4: Likewise.
3139         * m4/ungetc.m4: Likewise.
3140         * m4/usleep.m4: Likewise.
3141         * m4/wcwidth.m4: Likewise.
3143 2017-12-28  Bruno Haible  <bruno@clisp.org>
3145         gnulib-tool: Make --conditional-dependencies work better.
3146         Reported by Dmitry Selyutin <ghostman.sd@gmail.com>.
3147         * gnulib-tool (Options): Don't reject the combination of
3148         --conditional-dependencies with --with-tests.
3149         (func_emit_autoconf_snippets): Add argument referenceable_modules.
3150         Don't reference $modules.
3151         (func_import, func_create_testdir): Pass it.
3153 2017-12-19  Paul Eggert  <eggert@cs.ucla.edu>
3155         regex: use re_malloc etc. consistently
3156         Problem and original patch reported by Arnold Robbins in:
3157         https://sourceware.org/ml/libc-alpha/2017-12/msg00241.html
3158         * lib/regcomp.c (re_comp):
3159         * lib/regexec.c (push_fail_stack, build_trtable, match_ctx_clean):
3160         Use re_malloc/re_realloc/re_free instead of malloc/realloc/free.
3162 2017-12-15  Tim Rühsen  <tim.ruehsen@gmx.de>
3163             Paul Eggert  <eggert@cs.ucla.edu>
3165         glob: Silence warning about void pointer arithmetic.
3166         * lib/glob.c (glob): Use a 'char *', not a 'void *', in pointer
3167         arithmetic.
3169 2017-12-15  Bruno Haible  <bruno@clisp.org>
3171         spawn-pipe: Silence a clang warning.
3172         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
3173         * lib/spawn-pipe.c: Disable clang -Wconditional-uninitialized warnings
3174         in this file.
3176 2017-12-12  Paul Eggert  <eggert@cs.ucla.edu>
3178         explicit_bzero: port to macOS + Clang 9.0.0
3179         Problem reported by Marcus Johnson (Bug#29658).
3180         * lib/explicit_bzero.c (explicit_bzero) [__clang__]:
3181         Don’t use asm.
3183 2017-12-11  Reuben Thomas  <rrt@sc3d.org>
3185         doc: Improve explanation of supporting relocatable libraries.
3186         * doc/relocatable-maint.texi (Supporting Relocation): Explain
3187         properly how to build the relocatable module for
3188         libraries. (Method and example code from Bruno Haible.)
3190 2017-12-11  Reuben Thomas  <rrt@sc3d.org>
3192         doc: Use better texinfo tags in a few cases.
3193         * doc/gnulib.texi (Extending Gnulib): Use @option or @command
3194         instead of @samp in a few places.
3196 2017-12-11  Bruno Haible  <bruno@clisp.org>
3198         unistr/base: Update comment.
3199         * lib/unistr.in.h: Update comment about u*_mbtouc_unsafe functions.
3201 2017-12-10  Pádraig Brady  <P@draigBrady.com>
3203         test-faccessat.c: unlink temp file to avoid subsequent test failure
3204         * tests/test-faccessat.c: Remove the file to avoid failure
3205         to open the file on subsequent runs due to being created
3206         with no permissions.
3208 2017-12-10  Bruno Haible  <bruno@clisp.org>
3210         doc: New sect. "Modifying the build rules of a Gnulib import directory".
3211         * doc/gnulib-tool.texi (Modified build rules): New node.
3213 2017-12-10  Bruno Haible  <bruno@clisp.org>
3215         doc: Tweak wording.
3216         * doc/gnulib-tool.texi (Multiple instances): Talk about "programs", not
3217         "binaries".
3219 2017-12-05  Sam Steingold  <sds@gnu.org>
3220             Bruno Haible  <bruno@clisp.org>
3222         no-c++: Avoid "egrep: repetition-operator operand invalid" error.
3223         * m4/no-c++.m4 (gt_NO_CXX): Don't use '+' characters nor spaces in the
3224         AC_EGREP_CPP pattern.
3226 2017-12-03  Bruno Haible  <bruno@clisp.org>
3228         all: Replace more http URLs by https URLs.
3229         * lib/sm3.h, lib/sm3.c, tests/test-sm3.c: Use https: URL.
3230         * lib/unigbrk/u-grapheme-breaks.h: Likewise.
3231         * lib/unigbrk/uc-grapheme-breaks.c: Likewise.
3232         * tests/unigbrk/test-uc-grapheme-breaks.c: Likewise.
3234 2017-11-28  Paul Eggert  <eggert@cs.ucla.edu>
3236         Port better to CentOS 5
3237         Problems reported by Tom G. Christensen in:
3238         https://lists.gnu.org/r/bug-gnulib/2017-11/msg00053.html
3239         * doc/glibc-functions/strverscmp.texi (strverscmp):
3240         Document strverscmp bug with glibc 2.9 and earlier.
3241         * doc/posix-functions/tzset.texi (tzset):
3242         Document that TZ with angle brackets is POSIX-2001 and later.
3243         * tests/test-nstrftime.c: Include unistd.h.
3244         (TZ_ANGLE_BRACKETS_SHOULD_WORK): New macro.
3245         (TZ): Use it to skip tests with angle brackets in TZ,
3246         for older systems.
3248         stat: add missing module dependencies
3249         * modules/lstat, modules/stat, modules/utimensat (Depends-on):
3250         Add stat-time.
3252 2017-11-28  Benno Schulenberg  <bensberg@telfort.nl>
3254         stat: fix compilation failure on macOS Sierra
3255         Reported by Marius Schamschula <mschamschula@gmail.com> in:
3256         https://savannah.gnu.org/bugs/?52546
3257         * lib/stat.c: Add missing include of stat-time.h.
3259 2017-11-28  Jim Meyering  <meyering@fb.com>
3261         test-faccessat.c: correct BASE definition to avoid parallel test failure
3262         * tests/test-faccessat.c (BASE): Define using this file's name, not
3263         that of test-lstat.c.  Using the latter caused this test to fail
3264         sometimes when run concurrently with test-lstat.
3266 2017-11-27  Daiki Ueno  <ueno@gnu.org>
3268         unicase: fix VPATH build
3269         * modules/unicase/special-casing (Makefile.am): Ensure that the
3270         base directory is created when generating
3271         unicase/special-casing.h.
3273 2017-11-27  Daiki Ueno  <ueno@gnu.org>
3275         libunistring: update to Unicode 9.0.0
3276         * lib/gen-uni-tables.c (fill_properties): Recognize
3277         Sentence_Terminal and Prepended_Concatenation_Mark.
3278         (is_property_default_ignorable_code_point): Exclude U+08E2.
3279         (fill_arabicshaping): Allow missing whitespace when parsing;
3280         recognize "AFRICAN FEH", "AFRICAN QAF", and "AFRICAN MOON".
3281         (output_blocks): Increase the element size of the level1 table to
3282         accommodate more blocks.
3283         (get_lbp): Recognize ZWJ, E_Base, and E_Modifier characters;
3284         Update each class according to the standard.
3285         (get_wbp): Recognize ZWJ, E_Base, E_Modifier, Glue_After_Zwj, and
3286         E_Base_GAZ characters.
3287         (output_gbp_table): Recognize ZWJ, E_Base, E_Modifier,
3288         Glue_After_Zwj, and E_Base_GAZ characters.
3289         * lib/unictype.in.h (UC_JOINING_GROUP_AFRICAN_FEH)
3290         (UC_JOINING_GROUP_AFRICAN_QAF, UC_JOINING_GROUP_AFRICAN_MOON): New
3291         enum value.
3292         * lib/unilbrk/lbrktables.h (LBP_ZWJ, LBP_EB, LBP_EM): New enum
3293         value.
3294         * lib/unilbrk/lbrktables.c (unilbrk_table): Extend the table with
3295         LBP_ZWJ, LBP_EB, and LBP_EM.
3296         * lib/uniwbrk.in.h (WBP_ZWJ, WBP_EB, WBP_EM, WBP_GAZ, WBP_EBG): New
3297         enum value.
3298         * lib/uniwbrk/u-wordbreaks.h: Implement WB3c, WB15, and WB16.
3299         * lib/uniwbrk/wbrktable.h (uniwbrk_prop_index): New variable
3300         declaration.
3301         * lib/uniwbrk/wbrktable.c (uniwbrk_prop_index): New variable.
3302         (uniwbrk_table): Implement WB14.
3303         * tests/uniwbrk/test-uc-wordbreaks.c (wordbreakproperty_to_string):
3304         Check WBP_ZWJ, WBP_EB, WBP_EM, WBP_GAZ, and WBP_EBG.
3305         * modules/unigbrk/u{32,16,8}-grapheme-breaks: No longer depend on
3306         uc-is-grapheme-break.
3307         * modules/unigbrk/uc-grapheme-breaks: New module.
3308         * modules/unigbrk/uc-grapheme-breaks-tests: New module.
3309         * lib/unigbrk.in.h (GBP_ZWJ, GBP_EB, GBP_EM, GBP_GAZ, GBP_EBG): New
3310         enum value.
3311         (uc_grapheme_breaks): New function, replacing uc_is_grapheme_break.
3312         * lib/unigbrk/u-grapheme-breaks.h: New file.
3313         * lib/unigbrk/u{32,16,8}-grapheme-breaks.c: Rewrite using
3314         u-grapheme-breaks.h instead of uc_is_grapheme_break.
3315         * lib/unigbrk/uc-grapheme-breaks.c: New file.
3316         * lib/unigbrk/uc-is-grapheme-break.c: Partially update to TR29 rev
3317         29.
3318         * tests/unigbrk/test-uc-gbrk-prop.c
3319         (graphemebreakproperty_to_string): Check GBP_ZWJ, GBP_EB, GBP_EM,
3320         GBP_GAZ, and GBP_EBG.
3321         * tests/unigbrk/test-uc-grapheme-breaks.c: New test.
3322         * tests/unigbrk/test-uc-is-grapheme-break.c
3323         (graphemebreakproperty_to_string): Check GBP_ZWJ, GBP_EB, GBP_EM,
3324         GBP_GAZ, and GBP_EBG.
3325         (main): Skip unsupported rules involving 3 or more characters,
3326         namely GB10, GB12, and GB13.
3327         * lib/uniwidth/width.c (nonspacing_table_data): Update.
3328         * all generated files under lib/uni* and tests/uni*: Regenerate.
3329         * all the affected modules: Bump version.
3331 2017-11-26  Bruno Haible  <bruno@clisp.org>
3333         strfmon_l: Fix compilation error with glibc 2.5.
3334         Reported by Tom G. Christensen <tgc@jupiterrise.com>
3335         in <https://lists.gnu.org/r/bug-gnulib/2017-11/msg00051.html>.
3336         * lib/monetary.in.h: Include also <locale.h>.
3338 2017-11-24  Paul Eggert  <eggert@cs.ucla.edu>
3340         posixtm: remove PDS_LEADING_YEAR
3341         This changes the API slightly, in a hopefully-innocuous way.
3342         Without this change the code had undefined behavior when a
3343         caller specified neither PDS_LEADING_YEAR nor PDS_TRAILING_YEAR.
3344         Problem reported by Pádraig Brady in:
3345         https://lists.gnu.org/r/bug-gnulib/2017-11/msg00048.html
3346         * NEWS: Mention this.
3347         * lib/posixtm.c (posix_time_parse): Treat the absence of
3348         PDS_TRAILING_YEAR as if PDS_LEADING_YEAR were present.
3349         * lib/posixtm.h (PDS_LEADING_YEAR): Remove (actually, leave it
3350         present, but define it as zero, for compatibility with existing
3351         source code).  All other PDS_* values moved up.
3352         * tests/test-posixtm.c (LY): New macro.
3353         (T): Use it.  Do not expect a particular numeric encoding
3354         for PDS_CENTURY etc.
3356 2017-11-23  Paul Eggert  <eggert@cs.ucla.edu>
3358         stat: work around Solaris bug with tv_nsec < 0
3359         * doc/posix-functions/fstat.texi (fstat):
3360         * doc/posix-functions/fstatat.texi (fstatat):
3361         * doc/posix-functions/lstat.texi (lstat):
3362         * doc/posix-functions/stat.texi (stat):
3363         Mention Solaris 11 bug.
3364         * lib/fstat.c, lib/fstatat.c, lib/lstat.c: Include stat-time.h.
3365         * lib/fstat.c (rpl_fstat) [!WINDOWS_NATIVE]:
3366         * lib/lstat.c (rpl_lstat):
3367         * lib/stat.c (rpl_stat):
3368         Normalize resulting timestamps.
3369         * lib/fstatat.c (normal_fstatat): New function.
3370         (rpl_fstatat): Use it.
3371         * lib/stat-time.h: Include intprops.h, errno.h, stddef.h.
3372         (stat_time_normalize): New function.
3373         * m4/fstat.m4 (gl_FUNC_FSTAT):
3374         * m4/fstatat.m4 (gl_FUNC_FSTATAT):
3375         * m4/lstat.m4 (gl_FUNC_LSTAT):
3376         * m4/stat.m4 (gl_FUNC_STAT):
3377         Replace on Solaris.
3378         * modules/fstat (Depends-on):
3379         * modules/fstatat (Depends-on):
3380         Add stat-time.
3381         * modules/stat-time (Depends-on): Add errno, intprops.
3383 2017-11-22  Paul Eggert  <eggert@cs.ucla.edu>
3385         regex: merge from glibc
3386         * lib/regcomp.c (init_word_char): Add comments.
3388 2017-11-20  Paul Eggert  <eggert@cs.ucla.edu>
3390         regex: merge from glibc
3391         * lib/regcomp.c (__regcomp, __regfree) [_LIBC]: Now hidden.
3392         * lib/regex_internal.h (internal_function): Remove.
3393         All uses removed.
3395 2017-11-20  Bruno Haible  <bruno@clisp.org>
3397         crypto/gc-sm3: Fix buffer overrun.
3398         * lib/gc-gnulib.c (MAX_DIGEST_SIZE): Bump to 32.
3399         Reported by Coverity.
3401 2017-11-12  Jim Meyering  <meyering@fb.com>
3403         maint: shorten https://lists.gnu.org/archive/html/... links
3404         Each /archive/html/ part can be replace with /r/.
3405         Run this to induce the change:
3406         git grep -l archive/html|xargs perl -pi -e 's,/archive/html/,/r/,g'
3407         * ChangeLog: Perform that substitution.
3408         * Makefile: Likewise.
3409         * STATUS-libposix: Likewise.
3410         * build-aux/bootstrap: Likewise.
3411         * doc/maintain.texi: Likewise.
3412         * gnulib-tool: Likewise.
3413         * lib/allocator.h: Likewise.
3414         * lib/argp-ba.c: Likewise.
3415         * lib/argp-pv.c: Likewise.
3416         * lib/canon-host.c: Likewise.
3417         * lib/canonicalize-lgpl.c: Likewise.
3418         * lib/float.in.h: Likewise.
3419         * lib/fstat.c: Likewise.
3420         * lib/getdelim.c: Likewise.
3421         * lib/getprogname.c: Likewise.
3422         * lib/glthread/thread.h: Likewise.
3423         * lib/intprops.h: Likewise.
3424         * lib/mbsrtowcs-state.c: Likewise.
3425         * lib/safe-read.c: Likewise.
3426         * lib/signal.in.h: Likewise.
3427         * lib/stat.c: Likewise.
3428         * lib/stdbool.in.h: Likewise.
3429         * lib/stdio-impl.h: Likewise.
3430         * lib/stdio.in.h: Likewise.
3431         * lib/sysexits.in.h: Likewise.
3432         * lib/timespec.h: Likewise.
3433         * lib/wcsrtombs-state.c: Likewise.
3434         * m4/alloca.m4: Likewise.
3435         * m4/extern-inline.m4: Likewise.
3436         * m4/fstatat.m4: Likewise.
3437         * m4/gnulib-common.m4: Likewise.
3438         * m4/lib-ignore.m4: Likewise.
3439         * m4/printf.m4: Likewise.
3440         * m4/regex.m4: Likewise.
3441         * m4/stat-size.m4: Likewise.
3442         * m4/std-gnu11.m4: Likewise.
3443         * m4/stdbool.m4: Likewise.
3444         * m4/sys_types_h.m4: Likewise.
3445         * m4/threadlib.m4: Likewise.
3446         * m4/vararrays.m4: Likewise.
3447         * pygnulib/GLImport.py: Likewise.
3448         * tests/test-exp.h: Likewise.
3449         * tests/test-exp2.h: Likewise.
3450         * tests/test-expm1.h: Likewise.
3451         * tests/test-fflush2.c: Likewise.
3452         * tests/test-getopt_long.h: Likewise.
3453         * tests/test-intprops.c: Likewise.
3454         * tests/test-log.h: Likewise.
3455         * tests/test-log10.h: Likewise.
3456         * tests/test-log1p.h: Likewise.
3457         * tests/test-log2.h: Likewise.
3458         * tests/test-printf-posix.h: Likewise.
3459         * tests/test-regex.c: Likewise.
3460         * tests/test-snprintf-posix.h: Likewise.
3461         * tests/test-sprintf-posix.h: Likewise.
3462         * tests/test-stdalign.c: Likewise.
3463         * tests/test-stdbool.c: Likewise.
3464         * tests/test-vasnprintf-posix.c: Likewise.
3465         * tests/test-vasprintf-posix.c: Likewise.
3466         * top/maint.mk: Likewise.
3468 2017-11-12  Bruno Haible  <bruno@clisp.org>
3470         faccessat: Make the last change more robust.
3471         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Require
3472         gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. Treat "guessing yes" like "yes".
3474 2017-11-11  Paul Eggert  <eggert@cs.ucla.edu>
3476         faccessat: port to macOS (Bug#29231)
3477         macOS faccessat has the same bug that lstat does: if the file
3478         name ends in '/' it ignores the trailing slash.
3479         Problem reported for Emacs by Vincent Zhang.
3480         * doc/posix-functions/faccessat.texi (faccessat): Document this.
3481         * lib/faccessat.c (_GL_INCLUDING_UNISTD_H): Define and undef
3482         around the initial includes.  Include errno.h, string.h, sys/stat.h.
3483         (orig_faccessat) [HAVE_FACCESSAT]: New function.
3484         Include "unistd.h" after defining it.
3485         (rpl_faccessat) [HAVE_FACCESSAT]: New implementation.
3486         * lib/unistd.in.h (faccessat) [REPLACE_FACCESSAT]:
3487         Handle in the usual way.
3488         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Replace faccessat if
3489         lstat dereferences symlinks, since faccessat is likely to
3490         have the same problem.
3491         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Default REPLACE_ACCESSAT.
3492         * modules/faccessat (Depends-on): Add fstatat.
3493         Depend if REPLACE_FACCESSAT is 1, too.
3494         (configure.ac): Link if REPLACE_FACCESSAT is 1.
3495         * modules/faccessat-tests (Depends-on): Add symlink.
3496         * modules/unistd (unistd.h): Substitute REPLACE_FACCESSAT.
3497         * tests/test-faccessat.c (main): Test for the bug.
3499 2017-11-11  Bruno Haible  <bruno@clisp.org>
3501         getprogname: Fix compilation error on IRIX.
3502         * lib/getprogname.c (getprogname) [__sgi]: Fix type of local variable
3503         'namesize'.
3505 2017-11-11  Bruno Haible  <bruno@clisp.org>
3507         year2038: Tweak last patch.
3508         * m4/year2038.m4 (gl_YEAR2038): Correct indentation.
3510 2017-11-06  Paul Eggert  <eggert@cs.ucla.edu>
3512         year2038: be more insistent about 64-bit time_t
3513         Applications requiring access to arbitrary files should not be
3514         built with 32-bit time_t on hosts that have 64-bit timestamps,
3515         as this can lead to real trouble at runtime.
3516         * m4/year2038.m4 (gl_YEAR2038): Do not require AC_CANONICAL_HOST.
3517         Check on all systems, not just MinGW.  Use a heuristic involving
3518         TIME_T_32_BIT_OK, cross_compiling, and the touch command to
3519         output a failure or just a warning, to make it more likely that
3520         builders will select 64-bit time_t.
3522 2017-11-05  Paul Eggert  <eggert@cs.ucla.edu>
3524         havelib: fix typo in previous change
3525         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Fix typo.
3527         Don’t use AC_EGREP_CPP if affected by CFLAGS
3528         * m4/float_h.m4 (gl_FLOAT_H):
3529         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI):
3530         * m4/lib-ld.m4 (AC_LIB_PROG_LD):
3531         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB):
3532         * m4/year2038.m4 (gl_YEAR2038):
3533         Prefer AC_COMPILE_IFELSE to AC_EGREP_CPP when testing conditions
3534         likely to be affected by the choice of CFLAGS, since CFLAGS are
3535         not used by AC_EGREP_CPP.  Without this patch, ‘./configure
3536         CFLAGS="-m32"’ fails on gzip with GNU/Linux x86-64.
3538         fstatat: pacify GCC on unusual platform
3539         * lib/fstatat.c (orig_fstatat) [!HAVE_WORKING_FSTATAT_ZERO_FLAG]:
3540         Omit, as it’s unused in this case.
3542 2017-10-29  Paul Eggert  <eggert@cs.ucla.edu>
3544         timespec: prefer ‘assume’ to ‘assure’
3545         This avoids some runtime tests.  The rest of the module makes
3546         similar assumptions and there is little point to testing here.
3547         * lib/timespec.h: Include verify.h instead of assure.h.
3548         (timespec_cmp): Use ‘assume’, not ‘assure’.
3549         Also, remove an unnecessary cast to ‘int’, as lots of other
3550         code in this module now causes -Wconversion to complain, and
3551         this is a problem with -Wconversion not with the code.
3553         * modules/timespec (Depends-on): Depend on ‘verify’, not ‘assure’.
3555         Port recent gnulib-tool change to Dash
3556         * gnulib-tool (func_create_testdir): Don't assume that the shell
3557         retokenizes after expanding "$@" inside the call to
3558         func_execute_command.  Dash 0.5.8-2.1ubuntu2 does not.
3560 2017-10-27  Jim Meyering  <meyering@fb.com>
3562         timespec.h: use "assure" to avoid a spurious warning
3563         * lib/timespec.h: Include "assure.h" and use it to help
3564         gcc7's -Wstrict-overflow avoid a false positive warning
3565         for a use in coreutils' ls.c.  Suggested by Paul Eggert in
3566         https://lists.gnu.org/r/bug-gnulib/2017-10/msg00007.html
3567         * modules/timespec (Depends-on): Add assure.
3569 2017-10-29  Bruno Haible  <bruno@clisp.org>
3571         Avoid several test failures with traditional locales on Haiku.
3572         * m4/locale-ar.m4 (gt_LOCALE_AR): On BeOS and Haiku, set LOCALE_AR=none.
3573         * m4/locale-fr.m4 (gt_LOCALE_FR): On BeOS and Haiku, set LOCALE_FR=none.
3574         * m4/locale-ja.m4 (gt_LOCALE_JA): On BeOS and Haiku, set LOCALE_JA-none.
3575         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On BeOS and Haiku, set
3576         LOCALE_ZH_CN=none.
3578 2017-10-29  Bruno Haible  <bruno@clisp.org>
3580         strerror_r-posix: Fix behaviour and test failure on Haiku.
3581         * lib/strerror_r.c (strerror_r): Don't assume that valid error numbers
3582         are positive. Work around return value 0 instead of ERANGE on Haiku.
3583         For unknown error numbers, use a format string consistent with perror().
3584         * doc/posix-functions/strerror_r.texi: Mention the Haiku problem.
3585         * tests/test-strerror_r.c (main): Don't assume that valid error numbers
3586         are positive.
3588 2017-10-29  Bruno Haible  <bruno@clisp.org>
3590         get-rusage-data: Avoid crash on Haiku.
3591         * lib/get-rusage-data.c: Avoid the setlimit-based implementation.
3593 2017-10-29  Bruno Haible  <bruno@clisp.org>
3595         get-rusage-as: Avoid crash on Haiku.
3596         * lib/get-rusage-as.c: Avoid the setlimit-based implementation.
3598 2017-10-29  Bruno Haible  <bruno@clisp.org>
3600         ilogbl: Ensure replacement on Haiku.
3601         * m4/ilogbl.m4 (gl_FUNC_ILOGBL): Invoke gl_FUNC_ILOGBL_WORKS and set
3602         REPLACE_ILOGBL if ilogbl does not work.
3603         (gl_FUNC_ILOGBL_WORKS): New macro.
3604         * lib/math.in.h (ilogbl): Replace if REPLACE_ILOGBL is 1.
3605         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ILOGBL.
3606         * modules/math (Makefile.am): Substitute REPLACE_ILOGBL.
3607         * modules/ilogbl (Depends-on, configure.ac): Consider REPLACE_ILOGBL.
3608         * doc/posix-functions/ilogbl.texi: Mention the Haiku problem.
3610 2017-10-29  Bruno Haible  <bruno@clisp.org>
3612         expl: Ensure replacement on Haiku.
3613         * m4/expl.m4 (gl_FUNC_EXPL): Test whether an expl() return value is
3614         zero.
3615         * doc/posix-functions/expl.texi: Mention the Haiku problem.
3617 2017-10-29  Bruno Haible  <bruno@clisp.org>
3619         math: Fix test failure on Haiku.
3620         * lib/math.in.h (FP_ILOGB0, FP_ILOGBNAN): Override on Haiku.
3621         * m4/ilogb.m4 (gl_FUNC_ILOGB_WORKS): Update accordingly.
3622         * m4/ilogbf.m4 (gl_FUNC_ILOGBF_WORKS): Likewise.
3623         * doc/posix-headers/math.texi: Mention the Haiku problem.
3625 2017-10-29  Bruno Haible  <bruno@clisp.org>
3627         gnulib-tool: Avoid unnecessary config.h.in remaking in testdirs.
3628         * gnulib-tool (func_create_testdir): Use workaround against 'autoheader'
3629         bug reported at <https://savannah.gnu.org/support/index.php?109406>.
3631 2017-10-29  Bruno Haible  <bruno@clisp.org>
3633         crypto/*: Verify that the header file is self-contained.
3634         * tests/test-gc-*.c: Include the module's header file immediately after
3635         <config.h>.
3636         * tests/test-hmac-*.c: Likewise.
3637         * tests/test-arcfour.c: Likewise.
3638         * tests/test-arctwo.c: Likewise.
3639         * tests/test-des.c: Likewise.
3640         * tests/test-md2.c: Likewise.
3641         * tests/test-md4.c: Likewise.
3642         * tests/test-md5.c: Likewise.
3643         * tests/test-rijndael.c: Likewise.
3644         * tests/test-sha1.c: Likewise.
3645         * tests/test-sm3.c: Likewise.
3647 2017-10-29  Jia Zhang  <qianyue.zj@alibaba-inc.com>
3648             Bruno Haible  <bruno@clisp.org>
3650         crypto/gc: fix build failure with -Werror=suggest-attribute=const
3651         * lib/gc.h (gc_hash_digest_length): Mark with 'const' attribute.
3653 2017-10-29  Jia Zhang  <qianyue.zj@alibaba-inc.com>
3655         New module: crypto/gc-sm3
3656         * lib/gc.h: Declare SM3-related stuffs.
3657         * lib/gc-gnulib.c: Support sm3 in internal functions.
3658         * lib/gc-libgcrypt.c: Support sm3 with libgcrypt.
3659         * m4/gc-sm3.m4: m4 file for gc-sm3 module.
3660         * modules/crypto/gc-sm3: Define gc-sm3 module.
3661         * tests/test-gc-sm3.c: Implement SM3 test case with libgcrypt.
3662         * modules/crypto/gc-sm3-tests: Define gc-sm3 test module.
3663         * MODULES.html.sh: List gc-sm3 module.
3665 2017-10-29  Bruno Haible  <bruno@clisp.org>
3667         random, random_r: Mention different prototypes on Haiku.
3668         * doc/posix-functions/random.texi: Mention different prototype on Haiku.
3669         * doc/glibc-functions/random_r.texi: Likewise.
3670         * doc/glibc-functions/initstate_r.texi: Likewise.
3671         * doc/glibc-functions/setstate_r.texi: Likewise.
3673 2017-10-28  Bruno Haible  <bruno@clisp.org>
3675         posix_spawn: Avoid spurious message in configure output.
3676         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Discard stderr output from
3677         'cmp' command.
3679 2017-10-28  Bruno Haible  <bruno@clisp.org>
3681         inet_ntop, inet_pton: Determine needed library correctly on Haiku.
3682         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Search also in libnetwork.
3683         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
3685 2017-10-28  Bruno Haible  <bruno@clisp.org>
3687         ioctl: Override non-POSIX declaration on Haiku.
3688         * m4/ioctl.m4 (gl_FUNC_IOCTL): Include also <unistd.h>.
3689         * lib/sys_ioctl.in.h: Add comment about Haiku.
3690         * doc/posix-functions/ioctl.texi: Mention Haiku problem.
3691         * doc/glibc-headers/sys_ioctl.texi: Likewise.
3693 2017-10-28  Bruno Haible  <bruno@clisp.org>
3695         crypto/sm3: Add overview documentation to the .h file.
3696         * lib/sm3.h: Add comments.
3698 2017-10-28  Jia Zhang  <qianyue.zj@alibaba-inc.com>
3700         New module: crypto/sm3
3701         This new module can be used to compute SM3 message digest of files or
3702         memory blocks according to the specification GM/T 004-2012
3703         Cryptographic Hash Algorithm SM3, published by State Cryptography
3704         Administration, China.
3705         The official SM3 cryptographic hash algorithm specification is
3706         available at
3707         http://www.sca.gov.cn/sca/xwdt/2010-12/17/content_1002389.shtml
3708         * lib/sm3.h: Declare the APIs of sm3 module.
3709         * lib/sm3.c: Implement SM3 hash algorithm.
3710         * m4/sm3.m4: m4 file for sm3 module.
3711         * modules/crypto/sm3: Define sm3 module.
3712         * tests/test-sm3.c: Implement SM3 test case.
3713         * modules/crypto/sm3-tests: Define sm3 test module.
3714         * MODULES.html.sh: List sm3 module.
3716 2017-10-28  Jia Zhang  <qianyue.zj@alibaba-inc.com>
3718         gc-libgcrypt: fix undefined enum type in switch statement
3719         Resolve the following build failure:
3720         lib/gc-libgcrypt.c: In function 'gc_hash_open':
3721         lib/gc-libgcrypt.c:317:5: error: case value '0' not in enumerated type
3722         'Gc_hash_mode {aka enum Gc_hash_mode}' [-Werror=switch]
3723              case 0:
3724              ^~~~
3725         * lib/gc.h (enum Gc_hash_mode): Add value GC_NULL.
3726         * lib/gc-libgcrypt.c (gc_hash_open): Use this enum value instead of 0.
3728 2017-10-28  Jia Zhang  <qianyue.zj@alibaba-inc.com>
3730         gc-libgcrypt: fix assignment error due to -Werror=pointer-sign
3731         Resolve the following build failure:
3732         lib/gc-libgcrypt.c: In function 'gc_hash_read':
3733         lib/gc-libgcrypt.c:460:14: error: pointer targets in assignment differ
3734         in signedness [-Werror=pointer-sign]
3735             digest = gcry_md_read (ctx->gch, 0);
3736                    ^
3737         * lib/gc-libgcrypt.c (gc_hash_read): Cast result of gcry_md_read.
3739 2017-10-26  Bruno Haible  <bruno@clisp.org>
3741         havelib: Fix value of LD for 32-bit compilation on NetBSD/sparc64.
3742         * m4/lib-ld.m4 (AC_LIB_PROG_LD): On NetBSD/sparc64 with CC="gcc -m32",
3743         set LD to '/usr/bin/ld -m elf32_sparc', not '/usr/bin/ld'.
3745 2017-10-21  Paul Eggert  <eggert@cs.ucla.edu>
3747         glob: fix another heap buffer overflow
3748         Problem reported by Tim Rühsen in:
3749         https://sourceware.org/bugzilla/show_bug.cgi?id=22332
3750         * lib/glob.c (glob): Avoid buffer overrun when unescaping.
3752 2017-10-19  Paul Eggert  <eggert@cs.ucla.edu>
3754         quotearg: pacify compiler re unsigned
3755         * lib/quotearg.c (quotearg_n_options):
3756         Rewrite to avoid diagnostic from overly-picky compiler.
3757         Problem reported by Sami Kerola in:
3758         https://lists.gnu.org/r/bug-gnulib/2017-10/msg00060.html
3760         glob: fix heap buffer overflow
3761         * lib/glob.c (glob): Fix off-by-one error introduced into
3762         glibc in commit dd7d45e838a42b0ed470c44b55901ea98d0c2bab
3763         dated 1997-10-29 20:33:40.  Problem reported by Tim Rühsen in:
3764         https://sourceware.org/bugzilla/show_bug.cgi?id=22320
3765         Fix suggested by Bruno Haible.
3767 2017-10-18  Paul Eggert  <eggert@cs.ucla.edu>
3769         glob: pacify fuzzer for mempcpy
3770         Problem reported by Tim Rühsen in:
3771         https://lists.gnu.org/r/bug-gnulib/2017-10/msg00054.html
3772         * lib/glob.c (glob): Do not pass NULL to mempcpy.
3774 2017-10-12  Bruno Haible  <bruno@clisp.org>
3776         doc: Fix syntax error (regression from 2017-10-03).
3777         * doc/posix-functions/strncpy.texi: Fix syntax error.
3779 2017-10-12  Bruno Haible  <bruno@clisp.org>
3781         doc: Update for Solaris 11.3.
3782         * doc/**/*.texi: For bugs that exist in both Solaris 11.0 and 11.3,
3783         mention Solaris 11.3.
3784         * m4/log2.m4: Fix comments.
3785         * m4/log2f.m4: Likewise.
3786         * m4/printf.m4: Update comments.
3787         * m4/rename.m4: Likewise.
3788         * m4/strncat.m4: Likewise.
3790         all: Write "Solaris 11.0" instead of "Solaris 11 2011-11".
3792 2017-10-10  Bruno Haible  <bruno@clisp.org>
3794         doc: Improve doc about ioctl.
3795         * doc/posix-functions/ioctl.texi: Fix list of platforms with non-POSIX
3796         prototype.
3798 2017-10-09  Bruno Haible  <bruno@clisp.org>
3800         wcwidth: Don't use obsolete syntax of 'test'.
3801         Reported by Eric Blake.
3802         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Don't optimize two 'test'
3803         invocations into one, as POSIX marks '-a' and '-o' as "obsolescent".
3805 2017-10-09  Bruno Haible  <bruno@clisp.org>
3807         getopt-posix: Fix build failure when using ac_cv_header_getopt_h=no.
3808         Reported by Christian Ehrhardt <christian.ehrhardt@canonical.com>
3809         and Daniel P. Berrange <berrange@redhat.com>.
3810         * lib/unistd.in.h (getopt): Don't attempt to avoid namespace pollution
3811         on glibc systems. The getopt-pfx-core.h file declares exactly what
3812         unistd.h needs, nothing more.
3814 2017-10-08  Bruno Haible  <bruno@clisp.org>
3816         vma-iter: Improve support for FreeBSD.
3817         * lib/vma-iter.c (vma_iterate_proc): New function, extracted from
3818         vma_iterate.
3819         (vma_iterate): Use it. For FreeBSD, try vma_iterate_bsd first.
3821 2017-10-08  Bruno Haible  <bruno@clisp.org>
3823         vma-iter: Fix truncated result on NetBSD (regression from 2017-10-07).
3824         * lib/vma-iter.c (MIN_LEFTOVER): Define to 1, not 0.
3826 2017-10-07  KO Myung-Hun  <komh@chollian.net>
3828         test-framework-sh: Fix 'invalid path dir' error.
3829         On OS/2, a path separator is ';' not ':'. And ':' is used as a
3830         separator between a drive letter and directory parts.
3831         As a result, an absolute path such as x:/path/to/dir on OS/2 is
3832         treated as an invalid path dir.
3833         * tests/init.sh (PATH_SEPARATOR): Set at startup.
3834         (path_prepend_): '?:*' is also an absolute path. Use $PATH_SEPARATOR
3835         instead of hard coded ':'.
3837 2017-10-07  Bruno Haible  <bruno@clisp.org>
3839         vma-iter: Fix truncated result on Linux (regression from 2017-09-26).
3840         * lib/vma-iter.c (MIN_LEFTOVER): New macro.
3841         (STACK_ALLOCATED_BUFFER_SIZE): Set to a minimal value if not needed.
3842         (rof_open): On Linux, do multiple read() calls and make sure
3843         MIN_LEFTOVER bytes are left when read() returns.
3845 2017-10-07  Bruno Haible  <bruno@clisp.org>
3847         vma-iter: Improve support for GNU/Hurd.
3848         * lib/vma-iter.c (vma_iterate): On GNU/Hurd, use the Mach vm_region()
3849         API, not the /proc file system.
3851 2017-10-07  Bruno Haible  <bruno@clisp.org>
3853         test-framework-sh: Don't require bash on Windows and OS/2.
3854         Reported by KO Myung-Hun.
3855         * tests/test-init.sh: Use 'shopt' only when running in bash.
3857 2017-10-06  KO Myung-Hun  <komh@chollian.net>
3859         wcwidth: check a macro version of wcwidth () as well
3860         * lib/wchar.in.h: Revert commit from 2016-01-14.
3861         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test if wcwidth is a macro.
3863 2017-10-06  Bruno Haible  <bruno@clisp.org>
3865         getopt-posix: Clarify copyright header.
3866         * lib/getopt.in.h: Don't state that gnulib is under LGPL.
3867         * lib/getopt-pfx-core.h: Likewise.
3868         * lib/getopt-pfx-ext.h: Likewise.
3869         * lib/getopt-cdefs.in.h: Likewise.
3871 2017-10-03  Bruno Haible  <bruno@clisp.org>
3873         Fix warning "`gl_HOST_CPU_C_ABI' was expanded before it was required".
3874         * modules/host-cpu-c-abi (configure.ac): Require, don't invoke
3875         gl_HOST_CPU_C_ABI.
3877 2017-10-03  Bruno Haible  <bruno@clisp.org>
3879         doc: warn about misuse of strncpy and wcsncpy.
3880         * doc/posix-functions/strcpy.texi: Describe requirements on prior
3881         memory allocation.
3882         * doc/posix-functions/wcscpy.texi: Likewise.
3883         * doc/posix-functions/strncpy.texi: Describe what this function is not
3884         useful for.
3885         * doc/posix-functions/wcsncpy.texi: Likewise.
3887 2017-10-02  Paul Eggert  <eggert@cs.ucla.edu>
3889         fsuage: fix typo in previous change
3890         * lib/fsusage.c: Remove stray include of full-read.h.
3891         Problem reported by Sam Steingold for macOS (Bug#28669).
3893 2017-10-01  Paul Eggert  <eggert@cs.ucla.edu>
3895         fsusage: remove SVR2 support
3896         SVR2 was obsolete by 1986 and is no longer supported by anybody,
3897         and its code was getting in the way of use of this module by
3898         Emacs, which has its own ‘read’ function anyway.
3899         * lib/fsusage.c: Do not include sys/filsys.h.
3900         (get_fs_usage): Remove SVR2-specific code.
3901         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE):
3902         Do not test for sys/filsys.h or set STAT_READ_FILSYS.
3903         * modules/fsusage (Depends-on): Do not depend on full-read.
3905         Simplify autoupdate of licenses
3906         * config/srclistvars.sh (GNUWWWLICENSES): Move to a more-typical
3907         place.
3909 2017-10-01  Bruno Haible  <bruno@clisp.org>
3911         vma-iter: Add support for GNU/Hurd.
3912         * lib/vma-iter.c: Treat GNU/Hurd like Linux.
3913         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on GNU/kFreeBSD.
3915 2017-09-30  Bruno Haible  <bruno@clisp.org>
3917         vma-iter: Make it work on 32-bit Solaris with module 'largefile'.
3918         * modules/vma-iter: Don't test for sys/procfs.h, as this test would
3919         fail when module 'largefile' is in use.
3920         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Don't test HAVE_SYS_PROCFS_H.
3921         * lib/vma-iter.c: Undefine _FILE_OFFSET_BITS early.
3922         Don't test HAVE_SYS_PROCFS_H.
3924 2017-09-30  Bruno Haible  <bruno@clisp.org>
3926         havelib: Make it work for CC="gcc -m32" (regression from 2017-02-19).
3927         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Require gl_HOST_CPU_C_ABI.
3928         When $CC produces 32-bit code, set acl_libdirstem to 'lib', not 'lib64'.
3929         * modules/havelib (Depends-on): Add host-cpu-c-abi.
3931 2017-09-30  Bruno Haible  <bruno@clisp.org>
3933         uniname/uniname: Don't assume C99 compiler (regression from 2015-02-16).
3934         * lib/uniname/uniname.c (unicode_name_character): Add braces around
3935         scope of local variables.
3937 2017-09-28  Bruno Haible  <bruno@clisp.org>
3939         string: code style
3940         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Reorder list of
3941         substitutable variables.
3942         * modules/string (Makefile.am): Likewise.
3944 2017-09-26  Bruno Haible  <bruno@clisp.org>
3946         uniname/uniname-tests: Tighten code.
3947         * tests/uniname/test-uninames.c (fill_names, fill_aliases): Merge two
3948         local variables into one.
3950 2017-09-26  Bruno Haible  <bruno@clisp.org>
3952         vma-iter: Improvements for Linux and BSD platforms.
3953         - Add support for DragonFly BSD.
3954         - Make it more reliable on Linux, GNU/kFreeBSD, FreeBSD, NetBSD.
3955         * lib/vma-iter.c (struct rofile, rof_open, rof_peekchar, rof_close):
3956         Read the entire file into memory in a single system call.
3957         (vma_iterate): Update. Read from /proc on DragonFly BSD like on FreeBSD.
3958         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on DragonFly BSD.
3960 2017-09-26  Bruno Haible  <bruno@clisp.org>
3962         vma-iter: Provide the protection flags on FreeBSD.
3963         * lib/vma-iter.c (vma_iterate) [FreeBSD]: When reading from /proc,
3964         skip three fields between the addresses and the protection flags.
3966 2017-09-26  Paul Eggert  <eggert@cs.ucla.edu>
3968         glob: remove bogus extern decl
3969         * lib/glob.c (__glob_pattern_type): Remove now-spurious
3970         extern declaration.  Problem reported by Adhemerval Zanella in:
3971         https://sourceware.org/ml/libc-alpha/2017-09/msg00972.html
3973 2017-09-25  Paul Eggert  <eggert@cs.ucla.edu>
3975         uniname/uniname-tests: integer overflow fix
3976         * tests/uniname/test-uninames.c (fill_names, fill_aliases):
3977         Check for integer overflow.
3979         duplocale-tests: fix unlikely crash
3980         * tests/test-duplocale.c (get_locale_dependent_values):
3981         Don’t crash with absurdly long month names.
3983         maint: fix overflow checking in nap.h
3984         * modules/chown-tests:
3985         * modules/fchownat-tests, modules/fdutimensat-tests:
3986         * modules/futimens-tests, modules/lchown-tests:
3987         * modules/stat-time-tests, modules/utime-tests:
3988         * modules/utimens-tests, modules/utimensat-tests:
3989         Depend on intprops.
3990         * tests/nap.h: Include intprops.h.
3991         (diff_timespec): Handle overflow properly.
3993         sys_types: update URL
3994         * m4/sys_types_h.m4: Use https: URL.
3996         parse-datetime: fix dependency
3997         * modules/parse-datetime (Depends-on): Depend
3998         on nstrftime, not strftime.
4000         parse-datetime, posixtm: avoid uninit access
4001         * lib/parse-datetime.y (parse_datetime2):
4002         * lib/posixtm.c (posixtime):
4003         Do not access uninitialized storage, even though the resulting
4004         value is never used.
4006 2017-09-25  Bruno Haible  <bruno@clisp.org>
4008         vma-iter: Improvements for BSD platforms.
4009         - Add support for GNU/kFreeBSD.
4010         - Make it work on FreeBSD and NetBSD even when /proc is not mounted.
4011         - Speed up on OpenBSD.
4012         * lib/vma-iter.c (struct rofile, rof*): Define also on GNU/kFreeBSD.
4013         (vma_iterate_bsd): New function.
4014         (vma_iterate): Use it as fallback on FreeBSD and NetBSD. Use it as
4015         first choice on OpenBSD. Treat GNU/kFreeBSD like Linux.
4016         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on GNU/kFreeBSD.
4017         * modules/vma-iter (configure.ac): Require AC_C_INLINE.
4019 2017-09-23  Bruno Haible  <bruno@clisp.org>
4021         strfmon_l: New module.
4022         * modules/strfmon_l: New file.
4023         * lib/strfmon_l.c: New file.
4024         * m4/strfmon_l.m4: New file.
4025         * doc/posix-functions/strfmon_l.texi: Mention the new module.
4026         * modules/strfmon_l-tests: New file.
4027         * tests/test-strfmon_l.c: New file.
4029         monetary: New module.
4030         * modules/monetary: New file.
4031         * lib/monetary.in.h: New file.
4032         * m4/monetary_h.m4: New file.
4033         * doc/posix-headers/monetary.texi: Mention the new module.
4034         * modules/monetary-tests: New file.
4035         * tests/test-monetary.c: New file.
4036         * modules/monetary-c++-tests: New file.
4037         * tests/test-monetary-c++.cc: New file.
4038         * modules/duplocale-tests (configure.ac): Use AC_CHECK_HEADERS_ONCE.
4040 2017-09-23  Bruno Haible  <bruno@clisp.org>
4042         duplocale tests: Fix test crash on Linux/x86.
4043         * tests/test-duplocale.c (test_with_uselocale): Disconnect the mixed2
4044         locale from the current thread before freeing it.
4046 2017-09-21  Paul Eggert  <eggert@cs.ucla.edu>
4048         mktime: port to OpenVMS
4049         Problem reported by John E. Malmberg in:
4050         https://lists.gnu.org/r/bug-gnulib/2017-09/msg00100.html
4051         * m4/mktime.m4 (TIME_T_IS_SIGNED): Default to 0.
4053 2017-09-16  Paul Eggert  <eggert@cs.ucla.edu>
4055         manywarnings: port to GCC on 64-bit MS-Windows
4056         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Work better if
4057         LONG_MAX < PTRDIFF_MAX.  Problem reported by Richard Copley in:
4058         https://lists.gnu.org/r/emacs-devel/2017-09/msg00392.html
4060 2017-09-13  Bruno Haible  <bruno@clisp.org>
4062         all: Replace many more http URLs by https URLs. Update stale URLs.
4063         * users.txt: Remove mention of 'newts'.
4064         * lib/localename.c: Update comment about LANG_SOTHO.
4066 2017-09-13  Paul Eggert  <eggert@cs.ucla.edu>
4068         all: Replace many http URLs by https URLs.
4070 2017-09-12  Bruno Haible  <bruno@clisp.org>
4072         doc: Prefer https URLs where possible.
4073         * doc/**/*.texi: Use https URLs instead of http URLs where possible.
4074         * doc/ld-output-def.texi: Remove unavailable URL.
4076 2017-09-12  Paul Eggert  <eggert@cs.ucla.edu>
4078         maintainer-makefile: FTP -> HTTPS
4079         * top/maint.mk (url_dir_list, ftp-gnu): Use HTTPS protocol instead
4080         of FTP, which is planned to be decommissioned on 2017-11-01.
4082 2017-09-12  Tim Rühsen  <tim.ruehsen@gmx.de>  (tiny change)
4084         libc-config: Fix __GNUC_PREREQ macro.
4085         * lib/libc-config.h (__GNUC_PREREQ): Use __GNUC_MINOR__, not
4086         __GNUC_MINOR.
4088 2017-09-09  Bruno Haible  <bruno@clisp.org>
4090         gnulib-tool: Simplify commit from 2015-08-20.
4091         * gnulib-tool (func_add_or_update): Remove local variable
4092         is_binary_file.
4094 2017-09-08  Bruno Haible  <bruno@clisp.org>
4096         stddef: Avoid conflict with system-defined max_align_t.
4097         The configure-determined HAVE_MAX_ALIGN_T may not always be accurate.
4098         Reported by Werner Lemberg <wl@gnu.org> in
4099         <https://lists.gnu.org/r/bug-gnulib/2017-08/msg00185.html>.
4100         * lib/stddef.in.h (rpl_max_align_t): Renamed from max_align_t.
4101         (max_align_t): Define as a macro.
4102         (GNULIB_defined_max_align_t): New macro. Guards against multiple
4103         definitions of rpl_max_align_t in different copies of gnulib-generated
4104         <stddef.h>.
4106 2017-09-05  Paul Eggert  <eggert@cs.ucla.edu>
4108         libc-config: port to MSVC
4109         Problems reported by Gisle Vanem in:
4110         http://lists.gnu.org/r/bug-gnulib/2017-09/msg00016.html
4111         * lib/libc-config.h (__inline): Don't define if HAVE___INLINE.
4112         (libc_hidden_proto): Stick to Standard C syntax for varargs macro.
4113         * m4/__inline.m4: New file.
4114         * modules/libc-config (Files): Add it.
4115         (Depends-on): Use it.
4117         glob: Use enum for __glob_pattern_type result
4118         From a patch proposed by Adhemerval Zanella in:
4119         https://sourceware.org/ml/libc-alpha/2017-09/msg00212.html
4120         * lib/glob_internal.h (GLOBPAT_NONE, GLOBPAT_SPECIAL)
4121         (GLOBPAT_BACKSLASH, GLOBPAT_BRACKET): New constants.
4122         * lib/glob_internal.h (__glob_pattern_type):
4123         * lib/glob.c (glob):
4124         * lib/glob_pattern_p.c (__glob_pattern_p):
4125         Use them.
4127         glob: fix for use in glibc
4128         Problem reported by Adhemerval Zanella in:
4129         https://sourceware.org/ml/libc-alpha/2017-09/msg00213.html
4130         * lib/glob.c (DT_UNKNOWN, DT_DIR, DT_LINK):
4131         Do not redefine if _LIBC.
4133 2017-09-02  Paul Eggert  <eggert@cs.ucla.edu>
4135         glob: fix bugs with long login names
4136         Problem reported by Adhemerval Zanella in:
4137         https://sourceware.org/ml/libc-alpha/2017-08/msg00455.html
4138         * lib/glob.c (GET_LOGIN_NAME_MAX): Remove.
4139         (glob): Use the same scratch buffer for both getlogin_r and
4140         getpwnam_r.  Don’t require preallocation of the login name.  This
4141         simplifies storage allocation, and corrects the handling of
4142         long login names.
4144 2017-09-02  Bruno Haible  <bruno@clisp.org>
4146         dirent: Update doc.
4147         * doc/posix-headers/dirent.texi: More concrete list of platforms.
4149 2017-09-02  Paul Eggert  <eggert@cs.ucla.edu>
4151         glob: fix getpwnam_r errno typo
4152         * lib/glob.c (glob): Fix longstanding misuse of errno after
4153         getpwnam_r, which returns an error number rather than setting
4154         errno.
4156         glob: fix typo in recent change
4157         * lib/glob.c (glob) [!HAVE_GETPWNAM_R && !_LIBC]:
4158         Fix recently-introduced typo.
4160 2017-09-02  Paul Eggert  <eggert@cs.ucla.edu>
4162         glob: don't save and restore errno unnecessarily
4163         * lib/glob.c (glob): Don't save and restore errno
4164         merely because we have getpwnam_r.
4166         glob: don't assume getpwnam_r
4167         * lib/glob.c (glob): Port recent patches to platforms
4168         lacking getpwnam_r.
4170         scratch_buffer: don’t use private glibc API
4171         Suggested by Florian Weimer in:
4172         http://lists.gnu.org/r/bug-gnulib/2017-09/msg00004.html
4173         * lib/scratch_buffer.h: Rename to lib/malloc/scratch_buffer.h.
4174         * lib/scratch_buffer_grow.c: Rename to
4175         lib/malloc/scratch_buffer_grow.c.
4176         * lib/scratch_buffer_grow_preserve.c: Rename to
4177         lib/malloc/scratch_buffer_grow_preserve.c.
4178         * lib/scratch_buffer_set_array_size.c: Rename to
4179         lib/malloc/scratch_buffer_set_array_size.c.
4180         * lib/scratch_buffer.h: New file.
4181         * modules/scratch_buffer (Files, Makefile.am):
4182         Adjust to source-file renaming.
4184 2017-09-01  Paul Eggert  <eggert@cs.ucla.edu>
4186         glob: use scratch_buffer instead of extend_alloca
4187         Much of the lib/glob.c part of this patch comes from a glibc patch
4188         proposed by Adhemerval Zanella in:
4189         https://sourceware.org/ml/libc-alpha/2017-08/msg00456.html
4190         * lib/glob.c: Do not include <config.h>, since <libc-config.h>,
4191         included via glob.h, does this for us now.
4192         (__set_errno): Remove, as libc-config does this for us now.
4193         Include <scratch_buffer.h>.
4194         (GETPW_R_SIZE_MAX): Remove.
4195         (glob): Use struct scratch_buffer instead of extend_alloca.
4196         * lib/glob.in.h: Include libc-config.h rather than
4197         including <sys/cdefs.h> conditionally.
4198         (__BEGIN_DECLS, __END_DECLS, __THROW, __THROWNL, attribute_hidden)
4199         (__glibc_unlikely, __restrict, weak_alias):
4200         Remove, as libc-config does this for us now.
4201         * m4/glob.m4 (gl_PREREQ_GLOB):
4202         Remove sys/cdefs.h tests; no longer needed.
4203         * modules/glob (Depends-on): Add libc-config, scratch_buffer.
4204         (glob.h): Do not replace HAVE_SYS_CDEFS_H.
4206         scratch_buffer: new module
4207         * lib/scratch_buffer.h, lib/scratch_buffer_grow.c:
4208         * lib/scratch_buffer_grow_preserve.c:
4209         * lib/scratch_buffer_set_array_size.c:
4210         New files, copied from glibc with very minor changes that can be
4211         copied back.
4212         * modules/scratch_buffer: New file.
4214         libc-config: new module
4215         * MODULES.html.sh: Add libc-config.
4216         * lib/cdefs.h: New file, copied from the GNU C Library with very
4217         minor changes that can be copied back.
4218         * lib/libc-config.h, modules/libc-config: New files.
4220 2017-08-31  Paul Eggert  <eggert@cs.ucla.edu>
4222         glob: match dangling symlinks
4223         This fixes a bug I inadvertently introduced to Gnulib when I
4224         merged glibc glob back into gnulib on 2007-10-16.  This fix is
4225         inspired by a patch proposed for glibc by Adhemerval Zanella in:
4226         https://sourceware.org/ml/libc-alpha/2017-08/msg00446.html
4227         * doc/posix-functions/glob.texi: Update list of affected platforms.
4228         * lib/glob.c (__lstat64): New macro.
4229         (is_dir): New function.
4230         (glob, glob_in_dir): Match symlinks even if they are dangling.
4231         (link_stat, link_exists_p): Remove.  All uses removed.
4232         * lib/glob.in.h (__attribute_noinline__): Remove; no longer used.
4233         * m4/glob.m4 (gl_PREREQ_GLOB): Do not check for fstatat.
4234         * modules/glob-tests (Depends-on): Add symlink.
4235         * tests/test-glob.c: Include errno.h, unistd.h.
4236         (BASE): New macro.
4237         (main): Test dangling symlinks, if symlinks are supported.
4239         glob, backupfile: inode 0 is a valid inode number
4240         * doc/posix-functions/readdir.texi (readdir):
4241         * doc/posix-headers/dirent.texi (dirent.h):
4242         Document more readdir portability issues.
4243         * lib/backupfile.c (REAL_DIR_ENTRY): Remove.
4244         (numbered_backup): Don’t treat inode 0 any differently from
4245         other inode values.
4246         * lib/glob.c (struct readdir_result): Remove skip_entry member.
4247         (readdir_result_skip_entry, D_INO_TO_RESULT): Remove.
4248         All uses removed.
4249         * modules/glob (Depends-on): Remove d-ino.
4251         glob: simplify symlink detection
4252         * lib/glob.c (dirent_type): New type.  Use uint_fast8_t not
4253         uint8_t, as C99 does not require uint8_t.
4254         (struct readdir_result): Use it.  Do not define skip_entry unless
4255         it is needed; this saves a byte on platforms lacking d_ino.
4256         (readdir_result_type, readdir_result_skip_entry):
4257         New functions, replacing ...
4258         (readdir_result_might_be_symlink, readdir_result_might_be_dir):
4259         ... these functions, which were removed.  This makes the callers
4260         easier to read.  All callers changed.
4261         (D_INO_TO_RESULT): Now empty if there is no d_ino.
4263 2017-08-30  Pádraig Brady  <P@draigBrady.com>
4265         fts-tests: tag as a longrunning-test so not included by default
4266         * modules/fts-tests: This test takes about 20s on current systems,
4267         and uses about 285M of space on ext4.
4269 2017-08-30  Pádraig Brady  <P@draigBrady.com>
4271         renameat2: fix compilation on alpine linux
4272         * m4/renameat.m4: Check for <linux/fs.h> presence.
4273         * lib/renameat2.h: Only include <linux/fs.h> if present.
4274         Reported by Assaf Gordon on Alpine Linux.
4276 2017-08-24  Paul Eggert  <eggert@cs.ucla.edu>
4278         glob: try to port recent changes to MS-Windows
4279         Problem reported by Bruno Haible in:
4280         http://lists.gnu.org/r/bug-gnulib/2017-08/msg00170.html
4281         * lib/glob.c (__glob_pattern_p) [!_LIBC]: Move from here ...
4282         * lib/glob.in.h (__glob_pattern_p): ... to here.
4284 2017-08-24  Eric Blake  <eblake@redhat.com>
4286         warnings: fix compilation with old autoconf
4287         * m4/warnings.m4 (gl_UNKNOWN_WARNINGS_ARE_ERRORS(C))
4288         (gl_UNKNOWN_WARNINGS_ARE_ERRORS(C++)): Use m4_defun rather than
4289         AC_DEFUN.
4290         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC(C))
4291         (gl_MANYWARN_ALL_GCC(C++)): Likewise.
4293 2017-08-24  Bruno Haible  <bruno@clisp.org>
4295         glob: Fix compilation error on NetBSD 7.0 and OpenBSD 6.0.
4296         * modules/glob (Depends-on): Add c99.
4298 2017-08-24  Paul Eggert  <eggert@cs.ucla.edu>
4300         glob: fix typo that broke platforms lacking d_ino
4301         This typo also hurt performance on GNU/Linux and similar hosts.
4302         * lib/glob.c (D_INO_TO_RESULT): Fix typo (reversed ifdef)
4303         in previous change.
4305 2017-08-23  Paul Eggert  <eggert@cs.ucla.edu>
4307         glob: merge from glibc with Zanella glob changes
4308         Merge glob from glibc, with changes for glob proposed
4309         by Adhemerval Zanella in the thread starting here:
4310         https://sourceware.org/ml/libc-alpha/2017-08/msg01079.html
4311         plus some fixes for this merge.
4312         * lib/glob_internal.h, lib/glob_pattern_p.c, lib/globfree.c:
4313         New files, ported from glibc.
4314         * lib/glob-libc.h (_Restrict_): Remove.  All uses replaced
4315         with __restrict.
4316         (__size_t): Remove.  All uses replaced by size_t.
4317         (size_t): Define by defining __need_size_t and including <stddef.h>.
4318         This should work even in non-glibc platforms, where any name
4319         pollution is OK.
4320         Use __USE_MISC instead of __USE_BSD || __USE_GNU.
4321         (struct stat64): Don’t worry about __GLOB_GNULIB.
4322         (glob, globfree, glob_pattern_p): Remove macros for
4323         __USE_FILE_OFFSET64 && __GNUC__ < 2 && !defined __GLOB_GNULIB
4324         case.  Remove _GL_ARG_NONNULL as GNU behavior is to accept NULL
4325         but set errno.
4326         * lib/glob.c (_GL_ARG_NONNULL) [!_LIBC]: Remove.  All uses
4327         removed since the glibc behavior works on null pointers.
4328         Do not include stdio.h; old SunOS is irrelevant now.
4329         Do not worry about GLOB_ONLY_P as we now mimic glibc here.
4330         Include glob_internal.h.
4331         (D_INO_TO_RESULT): Depend on (_LIBC || D_INO_IN_DIRENT), not
4332         ((POSIX || WINDOWS32) && !__GNU_LIBRARY__).  The latter probably
4333         worked only coincidentally.
4334         (attribute_hidden, __attribute_noinline__, __glibc_unlikely):
4335         Remove macros; now done in glob.in.h.
4336         (size_add_wrapv): Do not use __builtin_add_overflow if __ICC.
4337         (glob): Properly initialize glob structure with
4338         GLOB_BRACE|GLOB_DOOFFS (bug 20707).
4339         Remove old code using SHELL since Bash no longer
4340         uses this.
4341         (glob, prefix_array): Separate MS code better.
4342         (glob, glob_in_dir): Use C99 decls before statements when glibc
4343         does.
4344         (glob_in_dir): Remove old Amiga and VMS code.
4345         (globfree, __glob_pattern_type, __glob_pattern_p): Move to
4346         separate files.
4347         * lib/glob.in.h (attribute_hidden, __attribute_noinline__)
4348         (__glibc_unlikely):
4349         Move here from glob.c.
4350         (__restrict): New macro here, replacing the _Restrict_ in glob.c.
4351         (weak_alias): New macro.
4352         (__size_t): Remove.  All uses replaced by size_t.
4353         * modules/d-ino (License): Now LGPLv2+, for compatibility with glob.
4354         * modules/glob (Files): Add +lib/glob_internal.h,
4355         lib/glob_pattern_p.c, lib/globfree.c.
4356         (Depends-on): Remove snippet/arg-nonnull.
4358 2017-08-22  Paul Eggert  <eggert@cs.ucla.edu>
4360         glob: port to clang's Undefined Sanitizer
4361         Problem reported by Tim Rühsen in:
4362         http://lists.gnu.org/r/bug-gnulib/2017-08/msg00144.html
4363         * lib/glob.c (FLEXIBLE_ARRAY_MEMBER) [_LIBC]: Define to empty.
4364         (glob_in_dir): Do not rely on undefined behavior in accessing
4365         struct members beyond their bounds.  Use a flexible array member
4366         instead.
4368 2017-08-21  Paul Eggert  <eggert@cs.ucla.edu>
4370         vc-list-files: port to Solaris 10
4371         * build-aux/vc-list-files: Don't assume test -e works.
4373 2017-08-21  Karl Berry  <karl@freefriends.org>
4375         * doc/posix-functions/srandom.texi (srandom): typo }.
4377 2017-08-20  Paul Eggert  <eggert@cs.ucla.edu>
4379         git-version-gen: port to Solaris 10
4380         Problem reported by Dagobert Michelsen in:
4381         http://lists.gnu.org/r/grep-devel/2017-08/msg00002.html
4382         * build-aux/git-version-gen (v_from_git):
4383         Use expr instead of shell substitution.
4385 2017-08-19  Bruno Haible  <bruno@clisp.org>
4387         host-cpu-c-abi: Improve detection of MIPS ABI.
4388         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): For MIPS, test the value of
4389         _MIPS_SIM.
4391 2017-08-17  Bruno Haible  <bruno@clisp.org>
4393         hypot tests: Fix test failure on FreeBSD 11.0/x86.
4394         * tests/test-hypot.h (test_function): Declare z as 'volatile'.
4396 2017-08-17  Bruno Haible  <bruno@clisp.org>
4398         float: Fix LDBL_MIN value on FreeBSD/x86.
4399         * lib/float.in.h (LDBL_MIN) [__FreeBSD__]: Add more precision.
4401 2017-08-17  Bruno Haible  <bruno@clisp.org>
4403         random: Fix test compilation failure on Cygwin 1.5.25.
4404         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_INITSTATE,
4405         HAVE_DECL_SETSTATE.
4406         * m4/random.m4 (gl_FUNC_RANDOM): Test whether initstate and setstate are
4407         declared.
4408         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_INITSTATE,
4409         HAVE_DECL_SETSTATE.
4410         * lib/stdlib.in.h (initstate): Declare also if HAVE_DECL_INITSTATE is 0.
4411         (setstate): Declare also if HAVE_DECL_SETSTATE is 0.
4412         * doc/posix-functions/initstate.texi: Mention the Cygwin 1.5.x problem.
4413         * doc/posix-functions/random.texi: Likewise.
4414         * doc/posix-functions/setstate.texi: Likewise.
4415         * doc/posix-functions/srandom.texi: Likewise.
4417 2017-08-16  Bruno Haible  <bruno@clisp.org>
4419         stdnoreturn: Fix test compilation failure on Cygwin.
4420         * m4/stdnoreturn.m4 (gl_STDNORETURN_H): On Cygwin, use gnulib's
4421         <stdnoreturn.h> replacement.
4422         * lib/stdnoreturn.in.h (noreturn): Treat Cygwin like MSVC.
4423         * doc/posix-headers/stdnoreturn.texi: Mention the Cygwin problem.
4425 2017-08-16  Bruno Haible  <bruno@clisp.org>
4427         thread: Fix conflict with pthread_sigmask module.
4428         * lib/glthread/thread.h (pthread_sigmask): Don't declare it weak if
4429         it's defined as a macro.
4430         * modules/thread (Depends-on): Add pthread_sigmask.
4432 2017-08-16  Paul Eggert  <eggert@cs.ucla.edu>
4434         rename: port better to NetBSD
4435         * doc/posix-functions/rename.texi (rename): NetBSD 7
4436         does not have the link-count bug.
4437         * m4/rename.m4 (gl_FUNC_RENAME): Don’t consider NetBSD to be
4438         broken merely because rename ("a", "b") removes "a" when the two
4439         names are hard links to the same file.
4441 2017-08-16  Bruno Haible  <bruno@clisp.org>
4443         iconv_open, uni*: Add support for VPATH builds with OpenBSD 'make'.
4444         * modules/iconv_open (Makefile.am): In the rules that use gperf, prefix
4445         the target file names with '$(srcdir)/'.
4446         * modules/unicase/locale-language (Makefile.am): Likewise.
4447         * modules/unicase/special-casing (Makefile.am): Likewise.
4448         * modules/unictype/bidiclass-byname (Makefile.am): Likewise.
4449         * modules/unictype/category-byname (Makefile.am): Likewise.
4450         * modules/unictype/combining-class-byname (Makefile.am): Likewise.
4451         * modules/unictype/joininggroup-byname (Makefile.am): Likewise.
4452         * modules/unictype/joiningtype-byname (Makefile.am): Likewise.
4453         * modules/unictype/property-byname (Makefile.am): Likewise.
4454         * modules/unictype/scripts (Makefile.am): Likewise.
4455         * modules/uninorm/composition (Makefile.am): Likewise.
4457 2017-08-16  Bruno Haible  <bruno@clisp.org>
4459         nonblocking-socket tests: Fix failure on OpenBSD 6.0.
4460         * tests/test-nonblocking-socket.h (SOCKET_DATA_BLOCK_SIZE): Increase
4461         value for OpenBSD.
4463 2017-08-16  Bruno Haible  <bruno@clisp.org>
4465         rename, renameat: Update doc regarding NetBSD.
4466         * doc/posix-functions/rename.texi: Clarify that when using
4467         -D_XOPEN_SOURCE=500 on NetBSD 7.0, the hard link bug is gone.
4468         * doc/posix-functions/renameat.texi: Be more precise about NetBSD
4469         version.
4471 2017-08-15  Paul Eggert  <eggert@cs.ucla.edu>
4473         renameat2: port better to macOS
4474         * lib/renameat2.c (renameat2): Use renameatx_np if available.
4476         futimens: don’t assume struct timespec layout
4477         * m4/futimens.m4 (gl_FUNC_FUTIMENS):
4478         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT):
4479         * tests/test-fdutimensat.c (main):
4480         * tests/test-futimens.h (test_futimens):
4481         * tests/test-lutimens.h (test_lutimens):
4482         * tests/test-utimens.h (test_utimens):
4483         * tests/test-utimensat.c (main):
4484         Don’t assume that struct timespec is a two-member structure in
4485         tv_sec, tv_nsec order.  Although this is true on all platforms we
4486         know about, POSIX does not guarantee it.
4488         rename: document+test NetBSD rename
4489         Test failure reported by Bruno Haible in:
4490         http://lists.gnu.org/r/bug-gnulib/2017-08/msg00104.html
4491         This is an area where NetBSD is better-behaved than POSIX,
4492         so allow the NetBSD behavior in tests.
4493         * doc/posix-functions/rename.texi:
4494         * doc/posix-functions/renameat.texi: Document NetBSD behavior.
4495         * tests/test-rename.h (test_rename): Allow NetBSD behavior.
4497 2017-08-15  Bruno Haible  <bruno@clisp.org>
4499         renameat: Ensure declaration in <stdio.h> on NetBSD.
4500         * lib/stdio.in.h: Include <unistd,h> also on NetBSD.
4501         * doc/posix-functions/renameat.texi: Mention this problem.
4503 2017-08-15  Bruno Haible  <bruno@clisp.org>
4505         duplocale: Work around NetBSD 7.0 bug.
4506         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Test against the NetBSD 7.0 bug.
4507         * lib/duplocale.c: Add comment about NetBSD problem.
4508         * doc/posix-functions/duplocale.texi: Mention the NetBSD problem.
4510 2017-08-15  Bruno Haible  <bruno@clisp.org>
4512         duplocale tests: Verify use with *_l functions.
4513         * modules/duplocale-tests (configure.ac): Test for uselocale and
4514         some *_l functions.
4515         * tests/test-duplocale.c (test_with_uselocale): New function, extracted
4516         from main.
4517         (get_locale_dependent_values_from, test_with_locale_parameter): New
4518         functions.
4519         (main): Test both test_with_uselocale and test_with_locale_parameter.
4521 2017-08-15  Bruno Haible  <bruno@clisp.org>
4523         extensions: Enable NetBSD specific extensions.
4524         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _NETBSD_SOURCE.
4526 2017-08-14  Bruno Haible  <bruno@clisp.org>
4528         open, openat: Update doc about O_CLOEXEC.
4529         * doc/posix-functions/open.texi: More concrete list of platforms.
4530         * doc/posix-functions/openat.texi: Likewise.
4532 2017-08-14  Paul Eggert  <eggert@cs.ucla.edu>
4534         open: support O_CLOEXEC
4535         * NEWS, doc/posix-functions/open.texi:
4536         * doc/posix-functions/openat.texi: Document this.
4537         * lib/fcntl.in.h (O_CLOEXEC): Default to a nonzero value.
4538         (GNULIB_defined_O_CLOEXEC): New symbol.
4539         * lib/open.c: Include cloexec.h.
4540         (open): Support O_CLOEXEC.
4541         * lib/openat.c: Include cloexec.h.
4542         (rpl_openat): Support O_CLOEXEC.
4543         * lib/popen-safer.c: Do not include cloexec.h.
4544         (open_noinherit): Remove.
4545         (popen_safer): Use O_CLOEXEC instead of set_cloexec_flag.
4546         * lib/save-cwd.c: Do not include cloexec.h.
4547         (save_cwd): Use O_CLOEXEC instead of set_cloexec_flag.
4548         * m4/open-cloexec.m4: New file.
4549         * m4/open.m4 (gl_FUNC_OPEN): Require gl_PREPROC_O_CLOEXEC.
4550         Replace 'open' if O_CLOEXEC is not present.
4551         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_PREPROC_O_CLOEXEC.
4552         Replace 'openat' if O_CLOEXEC is not present.
4553         * modules/freopen (Depends-on): Depend on 'open' if replacing freopen.
4554         * modules/open (Files): Add m4/open-cloexec.m4.
4555         (Depends-on): Depend on cloexec if replacing 'open'.
4556         * modules/openat (Files): Add m4/open-cloexec.m4.
4557         (Depends-on): Depend on cloexec if replacing openat.
4558         * modules/popen-safer (Depends-on): Remove cloexec.
4559         * modules/save-cwd (Depends-on): Remove cloexec, and add
4560         fd-safer-flag and 'open'.
4562 2017-08-13  Paul Eggert  <eggert@cs.ucla.edu>
4564         reallocarray: minor fixes
4565         * doc/glibc-functions/reallocarray.texi: Update version numbers.
4566         * m4/reallocarray.m4 (gl_FUNC_REALLOCARRAY): Don't trust _cv_ contents.
4567         * modules/reallocarray (License): Change from GPL to LGPL.
4568         * tests/test-reallocarray.c (main): Fix ENOMEM typo.
4569         Indent properly and don't use tabs.
4571 2017-08-13  Darshit Shah  <darnir@gnu.org>
4573         reallocarray: New module
4574         reallocarray is a new function in glibc 2.26 to safely allocate an array
4575         of memory locations with integer overflow protection.
4576         * MODULES.html.sh: Add reallocarray.
4577         * doc/glibc-functions/reallocarray.texi: Documentation for reallocarray.
4578         * lib/reallocarray.c: New file to implement module reallocarray.
4579         * lib/stdlib.in.h: Add function declarations for reallocarray.
4580         * m4/reallocarray.m4: New file.
4581         * m4/stdlib_h.m4: Declare reallocarray.
4582         * modules/reallocarray: New file.
4583         * modules/reallocarray-test: New file.
4584         * modules/stdlib: Coerce stdlib.h to export reallocarray.
4585         * tests/test-reallocarray.c: New test.
4587 2017-08-12  Paul Eggert  <eggert@cs.ucla.edu>
4589         dirent-safer: fix cloexec race
4590         * lib/opendir-safer.c: Include fcntl.h instead of unistd-safer.h.
4591         (opendir_safer): Use F_DUPFD_CLOEXEC.
4592         * modules/dirent-safer (Depends-on): Add fcntl.  Remove unistd-safer.
4593         * tests/test-dirent-safer.c: Do not include unistd-safer.h,
4594         as it is no longer a prerequisite.  Use F_DUPFD_CLOEXEC
4595         instead of dup_safer.
4597         fts: fix cloexec races
4598         * lib/fts.c [!_LIBC]: Do not include dirent--.h, unistd--.h, cloexec.h.
4599         (opendirat, diropen): Use O_CLOEXEC instead of set_cloexec_flag.
4600         (fts_build): Use F_DUPD_CLOEXEC rinstad of set_cloexec_flag.
4601         (fd_ring_check): Set cloexec flag on new file descriptors.
4602         (fts_build, fd_ring_check): While we’re at it, make sure the
4603         resulting file descriptor is not 0, 1, or 2, since that is easy.
4605 2017-08-11  Bruno Haible  <bruno@clisp.org>
4607         fts tests: Fix link error.
4608         Reported by Tom G. Christensen in
4609         https://lists.gnu.org/r/bug-gnulib/2017-08/msg00078.html
4610         * modules/fts-tests (Makefile.am): Link test-fts against LIBINTL.
4612 2017-08-10  Paul Eggert  <eggert@cs.ucla.edu>
4614         fts: port recent changes to CentOS 6
4615         Problem reported by Tom G. Christensen in:
4616         http://lists.gnu.org/r/bug-gnulib/2017-08/msg00064.html
4617         * lib/fts.c (fsword): New type.
4618         (struct dev_type, filesystem_type): Use it.
4619         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for __fsword_t.
4620         Also, check for f_type only if fstatfs and sys/vfs.h work.
4622 2017-08-09  Paul Eggert  <eggert@cs.ucla.edu>
4624         tempname: do not depend on secure_getenv
4625         Excess dependency noted by Eli Zaretskii (Bug#28023#17).
4626         * lib/tempname.c (__secure_getenv) [!_LIBC]: Remove; unused.
4627         * modules/tempname (Depends-on): Remove secure_getenv.
4629 2017-08-08  Paul Eggert  <eggert@cs.ucla.edu>
4631         extensions: add _OPENBSD_SOURCE
4632         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _OPENBSD_SOURCE.
4634 2017-08-06  Reuben Thomas  <rrt@sc3d.org>
4635             Bruno Haible  <bruno@clisp.org>
4637         manywarnings: Add support for C++.
4638         * build-aux/g++-warning.spec: New file.
4639         * m4/manywarnings-c++.m4: New file.
4640         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC(C++)): New macro, that
4641         redirects to manywarnings-c++.m4.
4642         * modules/manywarnings (Files): Add m4/manywarnings-c++.m4.
4644 2017-08-06  Paul Eggert  <eggert@cs.ucla.edu>
4646         git-version-gen: another fix for tags with "-"
4647         * build-aux/git-version-gen: Improve fix for tags containing "-".
4648         Suggested by Markus Armbruster in:
4649         http://lists.gnu.org/r/bug-gnulib/2017-08/msg00034.html
4651 2017-08-06  Bruno Haible  <bruno@clisp.org>
4653         warnings, manywarnings: Add support for multiple languages, not just C.
4654         * warnings.m4 (gl_UNKNOWN_WARNINGS_ARE_ERRORS_IMPL): Renamed from
4655         gl_UNKNOWN_WARNINGS_ARE_ERRORS.
4656         (gl_UNKNOWN_WARNINGS_ARE_ERRORS(C)): New macro.
4657         (gl_UNKNOWN_WARNINGS_ARE_ERRORS(C++)): New macro.
4658         (gl_UNKNOWN_WARNINGS_ARE_ERRORS): Dispatch to
4659         gl_UNKNOWN_WARNINGS_ARE_ERRORS(_AC_LANG).
4660         (gl_WARN_ADD): Require the gl_UNKNOWN_WARNINGS_ARE_ERRORS specialization
4661         of the current language. If C++ is the current language, modify
4662         WARN_CXXFLAGS instead of WARN_CFLAGS.
4663         * manywarnings.m4 (gl_MANYWARN_ALL_GCC(C)): New macro, extracted from
4664         gl_MANYWARN_ALL_GCC.
4665         (gl_MANYWARN_ALL_GCC): Dispatch to gl_MANYWARN_ALL_GCC(_AC_LANG).
4667 2017-08-06  Markus Armbruster  <armbru@pond.sub.org>
4669         git-version-gen: Fix for tags containing '-'
4671         Really old versions of git-describe (before v1.5.0, Feb 2007)
4672         don't have the number of commits in their long format output,
4673         i.e. where modern 'git describe --abbrev=4 --match="v*"' prints
4674         "v0.1-1494-g124b9", they print "v0.1-1494-g124b9".  git-version-gen
4675         recognizes both patterns, and normalizes the old format to the new one.
4677         Unfortunately, this normalization code gets confused when the tag
4678         contains '-'.  Reproducer:
4680             $ git-tag -m test v0.2-rc1
4681             $ build-aux/git-version-gen .tarball-version; echo
4682             build-aux/git-version-gen: WARNING: git rev-list failed
4683             UNKNOWN
4685         We take exact tag "v0.2-rc1" for the old format, extract the presumed
4686         tag "v0.2" from it, then run "git rev-list v0.2..HEAD" to count
4687         commits since tha tag.  Fails, because tag "v0.2" does not exist.
4689         * git-version-gen: We could perhaps drop support for versions from
4690         more than a decade ago.  But tightening the pattern match is easy
4691         enough, so do that.  Still breaks when you use version tags ending in
4692         something matching -g????, but you arguably get what you deserve then.
4694 2017-08-05  Paul Eggert  <eggert@cs.ucla.edu>
4696         valgrind-tests: use ls, and cache
4697         * m4/valgrind-tests.m4: Test ls, not bash.
4698         Problem reported by Reuben Thomas.
4699         Also, cache the result so that it can be overridden.
4701 2017-08-04  Paul Eggert  <eggert@cs.ucla.edu>
4703         manywarnings: port to 64-bit GCC builds of Emacs
4704         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Compute max safe
4705         object size rather than hardwiring 2147483647.  This is needed to
4706         build GNU Emacs, which has one conditional (and used
4707         only-in-theory) call to malloc with a literal greater than
4708         2147483647.
4710 2017-08-04  Bruno Haible  <bruno@clisp.org>
4712         Relax the license of some modules with no runtime code.
4713         * modules/std-gnu11 (License): Set to 'unlimited'.
4714         * modules/c99 (License): Likewise.
4715         Reported by Reuben Thomas <rrt@sc3d.org>.
4716         * modules/d-ino (License): Set to 'LGPL'.
4717         * modules/host-os (License): Likewise.
4718         * modules/longlong (License): Likewise.
4720 2017-08-03  Paul Eggert  <eggert@cs.ucla.edu>
4722         renameat2: port to RHEL 7 + NFS
4723         * lib/renameat2.c (renameat2) [SYS_renameat2]:
4724         Port to RHEL 7 + NFS.  Problem reported by Ted Zlatanov in:
4725         http://lists.gnu.org/r/emacs-devel/2017-08/msg00082.html
4727 2017-08-02  Paul Eggert  <eggert@cs.ucla.edu>
4729         renameat2: port to non-renameat platforms
4730         Problem reported for MSVC-2015 by Gisle Vanem in:
4731         http://lists.gnu.org/r/bug-gnulib/2017-08/msg00001.html
4732         * lib/renameat2.c [!HAVE_RENAMEAT]: Include <sys/stat.h> here too.
4733         (renameat2) [!HAVE_RENAMEAT]: Fix typo in arg passing.
4735 2017-08-01  Paul Eggert  <eggert@cs.ucla.edu>
4737         manywarnings: port to 32-bit GCC bug
4738         Problem reported by Pino Toscano in:
4739         http://lists.gnu.org/r/bug-gnulib/2017-07/msg00150.html
4740         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Use 2**31 - 1,
4741         not 2**63 - 1, to work around the following GCC bug:
4742         https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81650
4744 2017-07-30  Paul Eggert  <eggert@cs.ucla.edu>
4746         backupfile: new function to validate backup suffix
4747         * lib/backupfile.c (set_simple_backup_suffix): New function.
4748         (backupfile_internal): Use it.
4750         canonicalize: fix EOVERFLOW commentary
4751         Problem reported by Bruno Haible in:
4752         http://lists.gnu.org/r/bug-gnulib/2017-07/msg00147.html
4753         * lib/canonicalize.c (canonicalize_filename_mode):
4754         * lib/canonicalize-lgpl.c (__realpath): Fix comments.
4756         Don't interpret EOVERFLOW to mean nonexistence
4757         * lib/fts.c (fts_stat): If lstat fails, report its errno, which
4758         may be EOVERFLOW; this is likely more useful than reporting the
4759         stat errno.
4760         * lib/glob.c (link_stat): Rename from link_exists2_p and
4761         return -1/0 instead of 0/1.  Caller changed.
4762         * lib/glob.c (link_exists_p):
4763         * lib/renameat2.c (rename_noreplace, renameat2):
4764         * lib/tempname.c (try_nocreate):
4765         If errno == EOVERFLOW then the directory entry exists, so do not
4766         act as if it does not exist.
4768         backup-rename: new module
4769         It is like backupfile, except it avoids some race conditions,
4770         and it does not output to stderr or exit.
4771         * MODULES.html.sh: Add backup-rename.
4772         * lib/backup-find.c, lib/backup-internal.h, lib/backup-rename.c:
4773         * modules/backup-rename: New files.
4774         * lib/backupfile.c: Turn this into an internals file, which
4775         contains code common to backupfile and backup_rename.  Include
4776         backupfile-internal.h instead of backupfile.h.  Do not include
4777         argmatch.h or xalloc.h: include xalloc-oversized.h.  Include
4778         renameat2.h and fcntl.h.
4779         (BACKUP_NOMEM): New constant.
4780         (numbered_backup): New args BASE_OFFSET and *DIRPP.  Do not exit
4781         on memory exhaustion; just return BACKUP_NOMEM.  Caller changed.
4782         (backupfile_internal): Rename from find_backup_file_name.
4783         Support new arg RENAME.
4784         (backup_args, backup_types, get_version, xget_version):
4785         Move to lib/backup-find.c.
4786         * lib/backupfile.h (backup_file_rename): New decl.
4787         * modules/backupfile (Files): Add lib/backup-internal.h,
4788         lib/backup-find.c.
4789         (Depends-on): Add dirfd, fcntl, renameat2.
4790         (lib_SOURCES): Add backup-find.c.
4792         renameat2: port better to older Solaris
4793         * lib/renameat2.c (renameat2): Set ret_val properly on old Solaris.
4794         Add goto to use a label, to silence picky compilers.
4796         fts-tests: port to gcc -Wwrite-strings
4797         * tests/test-fts.c (base, base_d): New static vars.
4798         (argv, remove_tree, main): Use them.
4800 2017-07-26  Reuben Thomas  <rrt@sc3d.org>
4802         relocatable-lib{,-lgpl}: improve documentation
4803         * doc/relocatable-maint.texi: Document use of relocatable-lib{,-lgpl}.
4804         Various other updates.
4806 2017-07-30  Reuben Thomas  <rrt@sc3d.org>
4807             Bruno Haible  <bruno@clisp.org>
4809         relocatable-lib{,-lgpl}: add Valgrind suppressions
4810         * lib/relocatable.valgrind: New file.
4811         * modules/relocatable-lib (Files): Add relocatable.valgrind.
4812         * modules/relocatable-lib-lgpl: Likewise.
4814 2017-07-26  Reuben Thomas  <rrt@sc3d.org>
4816         relocatable: Make the license on the sources the GPL.
4817         * lib/relocatable.h, lib/relocatable.c: Change the copyright notice from
4818         LGPL, which was a special case so that the relocatable source files
4819         could be used without gnulib-tool, to GPL. They can still be used under
4820         the LGPL, using the --lgpl option to gnulib-tool.
4822 2017-07-30  Bruno Haible  <bruno@clisp.org>
4824         host-cpu-c-abi: Detect ILP32 ABI on IA-64 HP-UX.
4825         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Distinguish ia64-ilp32
4826         from ia64. For arm64, test only __aarch64__, as __ARM_64BIT_STATE and
4827         __ARM_PCS_AAPCS64 are not reliable indicators: they are not defined on
4828         Ubuntu 14.04 (gcc 4.8.4) and Debian 8 (gcc 4.9.2).
4830 2017-07-27  Paul Eggert  <eggert@cs.ucla.edu>
4832         faccessat: document AT_SYMLINK_NOFOLLOW issue
4833         * doc/posix-functions/faccessat.texi: Modernize platform list.
4834         Document AT_SYMLINK_NOFOLLOW limitation.
4836         renameat2: port to Solaris 10
4837         * lib/renameat2.c (rename_noreplace): Use lstat, not faccessat
4838         with AT_SYMLINK_NOFOLLOW (which is not portable).
4839         (renameat): Undef before using, to avoid endless recursion when
4840         the replacement renameat calls renameat2 which calls the
4841         replacement renameat.
4842         (renameat2): Use lstatat, not faccessat with AT_SYMLINK_NOFOLLOW.
4843         * modules/renameat2 (Depends-on): Remove faccessat.
4844         * modules/renameat-tests (test_renameat_LDADD):
4845         * modules/renameat2-tests (test_renameat2_LDADD):
4846         Remove $(LIB_EACCESS).
4848         renameat2: new module
4849         Although the Linux syscall renameat2 is not in glibc (yet?), it is
4850         useful to have access to its RENAME_NOREPLACE flag.
4851         * MODULES.html.sh (func_all_modules): Add renameat2.
4852         * lib/renameat2.c, lib/renameat2.h, modules/renameat2:
4853         * modules/renameat2-tests, tests/test-renameat2.c: New files.
4854         * lib/renameat.c (renameat): Move most of the implementation
4855         to renameat2, and just call renameat2.
4856         * modules/renameat (Files): Remove lib/at-func2.c.
4857         (Depends-on): Depend only on renameat2.
4858         (Include): Remove <fcntl.h>.
4859         * modules/renameat-tests (test_renameat_LDADD): Add $(LIB_EACCESS),
4860         since renameat (via renameat2) might use faccessat.
4862 2017-07-27  Erik Skultety <eskultet@redhat.com>  (tiny change)
4864         vc-list-files: Adjust the script to support git worktrees
4865         * build-aux/vc-list-files: Require existence, not directory.
4867 2017-07-26  Paul Eggert  <eggert@cs.ucla.edu>
4869         doc: bring MODULES.html.sh up to date
4870         Somehow a few months ago we stopped updating MODULES.html.sh.
4871         I don’t recall explicitly deciding this, so I updated it now.
4872         Alternatively I suppose we could remove it.
4873         * MODULES.html.sh: Add builtin-expect, c99, ctime, explicit_bzero,
4874         localtime, localtime-buffer, noreturn, nstrftime, strftime-fixes,
4875         truncate, utime, utime-h, windows-stat-inodes,
4876         windows-stat-override, windows-stat-timespec, year2038.  Sort.
4878 2017-07-26  Jim Meyering  <meyering@fb.com>
4880         fprintftime: fix build-break caused by recent renaming
4881         * lib/fprintftime.c: Include "nstrftime.c", not the now-renamed
4882         "strftime.c".
4883         * modules/fprintftime: Depend directly on nstrftime.
4885 2017-07-26  Paul Eggert  <eggert@cs.ucla.edu>
4887         regex: work with GCC7's -Werror=implicit-fallthrough=
4888         * lib/regex_internal.h (FALLTHROUGH): New macro.
4889         * lib/regcomp.c (peek_token_bracket, parse_expression):
4890         * lib/regexec.c (check_node_accept): Use it.
4892 2017-07-24  Paul Eggert  <eggert@cs.ucla.edu>
4894         fts: simplify fts_build
4895         * lib/fts.c (fts_build): Simplify, and be lazier about
4896         calling leaf_optimization.
4898         fts: three levels of leaf optimization
4899         * lib/fts.c (enum leaf_optimization): New type with three values.
4900         (S_MAGIC_AFS): New macro.  Sort them.
4901         (leaf_optimization): Rename from leaf_optimization_applies, and
4902         return enum leaf_optimization instead of bool.  All uses changed.
4903         Add cases for unknown type and for AFS.
4904         (fts_build): Don’t rely on link counts if NO_LEAF_OPTIMIZATION.
4906         fts: cache dirent_inode_sort_may_be_useful too
4907         * lib/fts.c (struct dev_type): New struct.
4908         (DEV_TYPE_HT_INITIAL_SIZE): New constant.
4909         (dev_type_hash, dev_type_compare, filesystem_type): New functions.
4910         (dirent_inode_sort_may_be_useful, leaf_optimization_applies):
4911         Now takes FTSENT const *, not int.  All uses changed.  Use
4912         filesystem_type to cache.
4913         (link_count_optimize_ok): Remove.  Caller changed to use
4914         leaf_optimization_applies, which now uses shared cache.
4916         fts: introduce MIN_DIR_NLINK
4917         * lib/fts.c (MIN_DIR_NLINK): New constant.
4918         Use it instead of 2, whenever we are talking about link counts.
4920         fts: nlink_t signedness fixups
4921         * lib/fts.c (fts_open): Set rootparent n_dirs_remaining to -1
4922         so that root need not be a special case later.
4923         (fts_read): Remove now-redundant test for fts_level.
4924         Do not assume that nlink_t is signed.
4925         (fts_build): Remove useless decrement of nlinks.
4926         (fts_stat): Avoid unlikely signed integer overflow later, if
4927         nlink_t is signed.
4929         fts-tests: new module
4930         * modules/fts-tests, tests/test-fts.c: New files.
4932 2017-07-23  Bruno Haible  <bruno@clisp.org>
4934         Rename module 'strftime' to 'nstrftime'.
4935         * m4/nstrftime.m4: Renamed from m4/strftime.m4.
4936         * lib/nstrftime.c: Renamed from lib/strftime.c.
4937         * modules/nstrftime: Renamed from modules/strftime.
4938         (Files, Makefile.am): Update.
4939         * tests/test-nstrftime.c: Renamed from tests/test-strftime.c.
4940         Fix comment.
4941         * modules/nstrftime-tests: Renamed from modules/strftime-tests.
4942         (Files, Makefile.am): Update.
4943         * modules/strftime: New file, an obsolete indirection.
4944         * doc/posix-functions/strftime.texi: Update reference.
4945         * config/srclist.txt: Update info.
4946         * NEWS: Mention the change.
4948 2017-07-21  Tim Rühsen  <tim.ruehsen@gmx.de>
4950         malloca: Silence a warning from clang's memory sanitizer.
4951         * lib/malloca.c (NO_SANITIZE_MEMORY): New macro.
4952         (freea): Use it.
4954 2017-07-18  Bruno Haible  <bruno@clisp.org>
4956         host-cpu-c-abi: Fix detection of MIPS ABI.
4957         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): For MIPS, really test the
4958         ABI, not the CPU instruction set.
4960 2017-07-16  Paul Eggert  <eggert@cs.ucla.edu>
4962         explicit_bzero: new module
4963         The explicit_bzero function has been added to glibc.
4964         This module is intended to supports its use in GNU programs.
4965         * doc/glibc-functions/explicit_bzero.texi, lib/explicit_bzero.c:
4966         * m4/explicit_bzero.m4, modules/explicit_bzero:
4967         New files.
4968         * doc/gnulib.texi (Glibc string.h): Link to new doc.
4969         * lib/string.in.h (explicit_bzero): Declare.
4970         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add defaults for it.
4971         * modules/string (string.h): Substitute its vars.
4973 2017-07-16  Bruno Haible  <bruno@clisp.org>
4975         threadlib: Support static linking.
4976         * m4/threadlib.m4 (gl_THREADLIB_BODY): When static linking is in use,
4977         set gl_cv_have_weak to 'no'.
4979 2017-07-16  Bruno Haible  <bruno@clisp.org>
4981         unicase/locale-language: Fix link dependencies.
4982         * modules/unicase/locale-language (Link): New section.
4983         * modules/unicase/locale-language-tests (Makefile.am): Link
4984         test-locale-language program with $(LIBTHREAD).
4986 2017-07-15  John E. Malmberg  <wb8tyw@gmail.com>
4988         sys_socket: Add support for OpenVMS.
4989         * lib/sys_socket.in.h [__VMS]: Define CMSG_SPACE, CMSG_LEN.
4990         * doc/posix-headers/sys_socket.texi: Mention OpenVMS issues.
4992 2017-07-15  John E. Malmberg  <wb8tyw@gmail.com>
4994         sys_resource: Add support for OpenVMS.
4995         * lib/resource.in.h [__VMS]: Define RUSAGE_SELF, RUSAGE_CHILDREN.
4996         * doc/posix-headers/sys_resource.texi: Mention OpenVMS issues.
4998 2017-07-15  John E. Malmberg  <wb8tyw@gmail.com>
4999             Bruno Haible  <bruno@clisp.org>
5001         math: Add support for OpenVMS.
5002         * lib/math.in.h [__VMS]: Include <fp.h>.
5003         * doc/posix-headers/math.texi: Mention OpenVMS issues.
5005 2017-07-15  Bruno Haible  <bruno@clisp.org>
5007         getdtablesize: Add minimal support for OpenVMS.
5008         Reported by John E. Malmberg <wb8tyw@qsl.net>.
5009         * modules/getdtablesize (Description): Fix.
5010         * lib/getdtablesize.c: Fix comment.
5011         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Don't replace the
5012         getdtablesize() function, even though the test fails.
5013         * doc/glibc-functions/getdtablesize.texi: Reference SUSv2. Describe
5014         limitation on OpenVMS.
5016 2017-07-13  Bruno Haible  <bruno@clisp.org>
5018         Revisit cross-compilation guesses.
5019         * m4/wctype_h.m4 (gl_WCTYPE_H): Add comment.
5021 2017-07-13  Bruno Haible  <bruno@clisp.org>
5023         Improve cross-compilation guesses for native Windows.
5024         * m4/btowc.m4 (gl_FUNC_BTOWC): Add cross-compilation guess for native
5025         Windows.
5026         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Likewise.
5027         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Likewise.
5028         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
5029         * m4/cbrtf.m4 (gl_FUNC_CBRTF_WORKS): Likewise.
5030         * m4/cbrtl.m4 (gl_FUNC_CBRTL, gl_FUNC_CBRTL_WORKS): Likewise.
5031         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
5032         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
5033         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
5034         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
5035         * m4/dup.m4 (gl_FUNC_DUP): Likewise.
5036         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
5037         * m4/exp2.m4 (gl_FUNC_EXP2_WORKS): Likewise.
5038         * m4/exp2l.m4 (gl_FUNC_EXP2L): Likewise.
5039         * m4/expm1.m4 (gl_FUNC_EXPM1): Likewise.
5040         * m4/expm1f.m4 (gl_FUNC_EXPM1F_WORKS): Likewise.
5041         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
5042         * m4/fabsl.m4 (gl_FUNC_FABSL_WORKS): Likewise.
5043         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
5044         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
5045         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
5046         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
5047         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
5048         * m4/fma.m4 (gl_FUNC_FMA_WORKS): Likewise.
5049         * m4/fmaf.m4 (gl_FUNC_FMAF_WORKS): Likewise.
5050         * m4/fmal.m4 (gl_FUNC_FMAL_WORKS): Likewise.
5051         * m4/fmod.m4 (gl_FUNC_FMOD): Likewise.
5052         * m4/fmodf.m4 (gl_FUNC_FMODF): Likewise.
5053         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
5054         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
5055         * m4/frexpf.m4 (gl_FUNC_FREXPF_WORKS): Likewise.
5056         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
5057         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY_CLOBBER): Likewise.
5058         * m4/hypot.m4 (gl_FUNC_HYPOT): Likewise.
5059         * m4/hypotf.m4 (gl_FUNC_HYPOTF, gl_FUNC_HYPOTF_WORKS): Likewise.
5060         * m4/hypotl.m4 (gl_FUNC_HYPOTL, gl_FUNC_HYPOTL_WORKS): Likewise.
5061         * m4/ilogb.m4 (gl_FUNC_ILOGB_WORKS): Likewise.
5062         * m4/ilogbf.m4 (gl_FUNC_ILOGBF_WORKS): Likewise.
5063         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
5064         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
5065         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
5066         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
5067         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
5068         * m4/log.m4 (gl_FUNC_LOG, gl_FUNC_LOG_WORKS): Likewise.
5069         * m4/logf.m4 (gl_FUNC_LOGF, gl_FUNC_LOGF_WORKS): Likewise.
5070         * m4/logl.m4 (gl_FUNC_LOGL_WORKS): Likewise.
5071         * m4/log10.m4 (gl_FUNC_LOG10, gl_FUNC_LOG10_WORKS): Likewise.
5072         * m4/log10f.m4 (gl_FUNC_LOG10F, gl_FUNC_LOG10F_WORKS): Likewise.
5073         * m4/log10l.m4 (gl_FUNC_LOG10L_WORKS): Likewise.
5074         * m4/log1p.m4 (gl_FUNC_LOG1P): Likewise.
5075         * m4/log1pf.m4 (gl_FUNC_LOG1PF, gl_FUNC_LOG1PF_WORKS): Likewise.
5076         * m4/log1pl.m4 (gl_FUNC_LOG1PL): Likewise.
5077         * m4/log2.m4 (gl_FUNC_LOG2, gl_FUNC_LOG2_WORKS): Likewise.
5078         * m4/log2f.m4 (gl_FUNC_LOG2F, gl_FUNC_LOG2F_WORKS): Likewise.
5079         * m4/log2l.m4 (gl_FUNC_LOG2L_WORKS): Likewise.
5080         * m4/logb.m4 (gl_FUNC_LOGB_WORKS): Likewise.
5081         * m4/logbf.m4 (gl_FUNC_LOGBF_WORKS): Likewise.
5082         * m4/logbl.m4 (gl_FUNC_LOGBL_WORKS): Likewise.
5083         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Likewise.
5084         * m4/mbrtowc.m4 (gl_MBRTOWC_EMPTY_INPUT, gl_MBRTOWC_C_LOCALE): Likewise.
5085         * m4/mkdir.m4 (gl_FUNC_MKDIR): Likewise.
5086         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
5087         * m4/mktime.m4 (gl_FUNC_MKTIME_WORKS): Likewise.
5088         * m4/modf.m4 (gl_FUNC_MODF): Likewise.
5089         * m4/modff.m4 (gl_FUNC_MODFF): Likewise.
5090         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
5091         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
5092         * m4/perror.m4 (gl_FUNC_PERROR): Likewise.
5093         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
5094         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE,
5095         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2,
5096         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN): Likewise.
5097         * m4/ptsname_r.m4 (gl_PREREQ_PTSNAME_R): Likewise.
5098         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
5099         * m4/regex.m4 (gl_REGEX): Likewise.
5100         * m4/remainder.m4 (gl_FUNC_REMAINDER): Likewise.
5101         * m4/remainderf.m4 (gl_FUNC_REMAINDERF,
5102         gl_FUNC_REMAINDERF_WORKS): Likewise.
5103         * m4/remainderl.m4 (gl_FUNC_REMAINDERL,
5104         gl_FUNC_REMAINDERL_WORKS): Likewise.
5105         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
5106         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
5107         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
5108         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
5109         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
5110         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
5111         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
5112         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
5113         * m4/sqrtl.m4 (gl_FUNC_SQRTL_WORKS): Likewise.
5114         * m4/stdint.m4 (gl_STDINT_H): Likewise.
5115         * m4/strerror.m4 (gl_FUNC_STRERROR_0): Likewise.
5116         * m4/strncat.m4 (gl_FUNC_STRNCAT): Likewise.
5117         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
5118         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
5119         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
5120         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
5121         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
5122         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
5123         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
5124         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
5125         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Likewise.
5126         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
5127         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
5128         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
5129         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
5130         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
5131         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
5132         Likewise.
5133         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
5134         * m4/chown.m4 (AC_FUNC_CHOWN): Add cross-compilation guess for native
5135         Windows. Enable also on Autoconf 2.70.
5136         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
5137         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
5138         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
5139         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO,
5140         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
5141         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1): Add cross-compilation guess
5142         for native Windows.
5143         (gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
5144         gl_VSNPRINTF_ZEROSIZE_C99): Add comment.
5146 2017-07-13  Bruno Haible  <bruno@clisp.org>
5148         Improve cross-compilation guesses for native Windows.
5149         * m4/memchr.m4 (gl_FUNC_MEMCHR): Add cross-compilation guess for native
5150         Windows.
5151         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Don't use internals of
5152         memchr.m4.
5153         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
5155 2017-07-13  Bruno Haible  <bruno@clisp.org>
5157         Improve cross-compilation guesses for native Windows.
5158         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): Add cross-compilation guess for
5159         native Windows.
5160         (gl_FUNC_FFLUSH): Update accordingly.
5161         * m4/fclose.m4 (gl_FUNC_FCLOSE): Likewise.
5162         * m4/fseeko.m4 (gl_FUNC_FFLUSH_STDIN): Likewise.
5164 2017-07-11  Bruno Haible  <bruno@clisp.org>
5166         More systematic m4 quoting and indentation.
5167         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Quote systematically.
5168         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
5169         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
5170         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
5171         * m4/host-os.m4 (gl_HOST_OS): Likewise.
5172         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H,
5173         gl_WINSIZE_IN_PTEM): Likewise.
5174         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Likewise.
5175         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
5176         * m4/pselect.m4 (gl_FUNC_PSELECT): Likewise.
5177         * m4/fchownat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Quote systematically.
5178         Correct indentation.
5179         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
5180         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
5181         * m4/jm-winsz2.m4 (gl_HEADER_TIOCGWINSZ_NEEDS_SYS_IOCTL): Likewise.
5182         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
5183         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
5184         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
5186 2017-07-10  Bruno Haible  <bruno@clisp.org>
5188         round, roundf: Avoid compiler warning in configure test.
5189         * m4/round.m4 (gl_FUNC_ROUND): Use 'return' instead of exit().
5190         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
5192 2017-07-10  Bruno Haible  <bruno@clisp.org>
5194         getlogin tests: Avoid #ifdefs when sharing code between modules.
5195         * modules/getlogin_r-tests (Files): Add tests/test-getlogin.h.
5196         * modules/getlogin-tests (Files): Likewise. Remove
5197         tests/test-getlogin_r.c.
5198         * tests/test-getlogin.h: Extracted from tests/test-getlogin_r.c.
5199         * tests/test-getlogin.c: Extracted from tests/test-getlogin_r.c.
5200         * tests/test-getlogin_r.c: Include test-getlogin.h. Omit code that tests
5201         getlogin().
5203 2017-07-10  Paul Eggert  <eggert@cs.ucla.edu>
5205         getlogin: don’t assume one name per uid
5206         Problem reported by Wolfgang F. Muthmann (Bug#27640).
5207         * modules/getlogin-tests (Files): Add tests/test-getlogin_r.c.
5208         (ttyname): Remove test.
5209         * modules/getlogin_r-tests (ttyname): Remove test.
5210         * tests/test-getlogin.c: Replace this near-clone of test-getlogin_r.c
5211         with ‘#define TEST_LOGIN’ followed by ‘#include "test-getlogin_r.c"’.
5212         * tests/test-getlogin_r.c: If TEST_GETLOGIN is defined, test
5213         getlogin rather than getlogin_r.  This avoids code duplication.
5214         (main): Use isatty and fstat rather than ttyname and stat.
5215         Use getpwnam instead of getpwuid, to be portable to test platforms
5216         that have multiple login names for the same uid.
5218 2017-07-10  Tim Rühsen  <tim.ruehsen@gmx.de>
5219             Bruno Haible  <bruno@clisp.org>
5221         glob: Fix more memory leaks.
5222         * lib/glob.c (glob): Use 'goto out' in order to free dirname before
5223         returning.
5224         Reported by Tim Rühsen.
5226 2017-07-10  Bruno Haible  <bruno@clisp.org>
5228         Make sure $host and $host_os are defined when used.
5229         * m4/argz.m4 (gl_FUNC_ARGZ): Require AC_CANONICAL_HOST.
5230         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Likewise.
5231         * m4/csharpexec.m4 (gt_CSHARPEXEC): Likewise.
5232         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
5233         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
5234         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
5235         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Likewise.
5236         * m4/opendir.m4 (gl_FUNC_OPENDIR): Likewise.
5237         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
5238         * m4/pselect.m4 (gl_FUNC_PSELECT): Likewise.
5239         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Likewise.
5240         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Likewise.
5241         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
5242         * m4/ceill.m4 (gl_FUNC_CEILL): Require AC_CANONICAL_HOST outside the
5243         m4_ifdef block.
5245 2017-07-09  Bruno Haible  <bruno@clisp.org>
5247         *printf: Fix cross-compilation guess for Solaris.
5248         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): Fix copy-and-paste mistake from
5249         2010-12-21.
5251 2017-07-07  Paul Eggert  <eggert@cs.ucla.edu>
5252             Bruno Haible  <bruno@clisp.org>
5254         vasnprintf: port to macOS 10.13
5255         Problem reported by comex in:
5256         http://lists.gnu.org/r/bug-gnulib/2017-07/msg00056.html
5257         * lib/vasnprintf.c (VASNPRINTF): Don’t use %n on macOS.
5259 2017-07-06  Bruno Haible  <bruno@clisp.org>
5261         imaxdiv tests: Fix logic.
5262         * tests/test-imaxdiv.c (main): Use == instead of =.
5263         Reported by Coverity.
5265 2017-07-06  Bruno Haible  <bruno@clisp.org>
5267         uninorm/filter: Fix use-after-free bug.
5268         * lib/uninorm/uninorm-filter.c (uninorm_filter_write): Maintain
5269         sortbuf == filter->sortbuf invariant.
5270         Reported by Coverity.
5272 2017-07-06  Bruno Haible  <bruno@clisp.org>
5274         glob: Fix more memory leaks.
5275         * lib/glob.c (glob): Free dirname before returning.
5276         Reported by Coverity and Tim Rühsen.
5278 2017-07-06  Paul Eggert  <eggert@cs.ucla.edu>
5280         parse-datetime: fix uninit var bug
5281         Reported by Bruno Haible in:
5282         http://lists.gnu.org/r/bug-gnulib/2017-07/msg00038.html
5283         * lib/parse-datetime.y (parse_datetime2): Do not use
5284         uninitialized.
5286 2017-07-05  Bruno Haible  <bruno@clisp.org>
5288         doc: Update for MSVC 14.
5289         * doc/posix-headers/*.texi: Add info about MSVC 14.
5290         * doc/posix-functions/*.texi: Likewise.
5291         * doc/pastposix-functions/*.texi: Likewise.
5292         * doc/glibc-headers/*.texi: Likewise.
5293         * doc/glibc-functions/*.texi: Likewise.
5295 2017-07-05  Bruno Haible  <bruno@clisp.org>
5297         sched: Fix build failure on native Windows (regression from 2017-06-19).
5298         * m4/sched_h.m4 (gl_SCHED_H): Set HAVE_STRUCT_SCHED_PARAM always.
5300 2017-07-03  John E. Malmberg  <wb8tyw@gmail.com>
5302         stdioext: Port to OpenVMS.
5303         * lib/stdio-impl.h: OpenVMS uses struct _iobuf for FILE information.
5304         * lib/fpending.c (fpending): Remove non-working VMS specific code.
5305         * lib/fbufmode.c (fbufmode): Fix _IOLBF test to use fp_ macro.
5306         * lib/fflush.c (clear_ungetc_buffer): Add OpenVMS to comments.
5307         * lib/fpurge.c (fpurge): Likewise.
5308         * lib/freadable.c (freadable): Likewise.
5309         * lib/freadahead.c (freadahead): Likewise.
5310         * lib/freading.c (freading): Likewise.
5311         * lib/freadptr.c (freadptr): Likewise.
5312         * lib/freadseek.c (freadseek): Likewise.
5313         * lib/fseeko.c (fseeko): Likewise.
5314         * lib/fseterr.c (fseterr): Likewise.
5315         * lib/fwritable.c (fwriteable): Likewise.
5316         * lib/fwriting.c (fwriting): Likewise.
5318 2017-07-01  Benno Schulenberg  <bensberg@telfort.nl>
5320         glob: Declare variables at the very start of their scope.
5321         * lib/glob.c (convert_dirent, convert_dirent64): Give each fragment
5322         its separate scope, so the functions will compile on Haiku.
5324 2017-07-01  Bruno Haible  <bruno@clisp.org>
5326         logbl: Work around a glibc bug on PowerPC64LE.
5327         * m4/logbl.m4 (gl_FUNC_LOGBL_WORKS): Test also negative subnormal
5328         numbers.
5329         * doc/posix-functions/logbl.texi: Update.
5331 2017-06-29  Bruno Haible  <bruno@clisp.org>
5333         stat, fstat: Compile stat-w32.c only on platforms that need it.
5334         Suggested by Paul Eggert.
5335         * modules/stat (configure.ac): Request stat-w32.o only on native
5336         Windows.
5337         * modules/fstat (configure.ac): Likewise.
5339 2017-06-25  Bruno Haible  <bruno@clisp.org>
5341         stat: Improve last change.
5342         * lib/stat-w32.c: Revert last change. Use generic idiom instead.
5344 2017-06-25  Paul Eggert  <eggert@cs.ucla.edu>
5346         stat: port to xlc 12.01
5347         * lib/stat-w32.c: Always include <sys/types.h>.  Otherwise, xlc
5348         12.01 complains "Compilation unit is empty."
5350 2017-06-24  Paul Eggert  <eggert@cs.ucla.edu>
5352         xalloc-oversized: port to icc
5353         * lib/xalloc-oversized.h (xalloc_oversized): Do not use
5354         __builtin_mul_overflow if ICC is defined, as this results in
5355         "undefined reference to `__builtin_mul_overflow'" with icc 17.0.2
5356         20170213.
5358 2017-06-19  Bruno Haible  <bruno@clisp.org>
5360         classpath: Avoid including config.h twice, as it produces warnings.
5361         Reported by John E. Malmberg <wb8tyw@gmail.com>.
5362         * lib/classpath.h: Conditionalize the include of config.h.
5364 2017-06-19  Bruno Haible  <bruno@clisp.org>
5365             John E. Malmberg  <wb8tyw@gmail.com>  (tiny change)
5367         sched: Fix compilation failure on OpenVMS.
5368         * m4/sched_h.m4 (gl_SCHED_H): Require AC_CANONICAL_HOST. On OpenVMS,
5369         test whether <pthread.h> exists and defines struct sched_param.
5370         * lib/sched.in.h: On OpenVMS, include <pthread.h>.
5372 2017-06-17  Paul Eggert  <eggert@cs.ucla.edu>
5374         diffseq: port to GCC 7 with --enable-gcc-warnings
5375         * lib/diffseq.h (diag): Use an if, not an ifdef, for most of the
5376         heuristic check.  This way, GCC 7 with --enable-gcc-warnings does
5377         not complain about big_snake being defined but not used.
5379 2017-06-15  Bruno Haible  <bruno@clisp.org>
5381         gettext-h: Update theoretical condition for use of variable size arrays.
5382         Reported by Paul Eggert.
5383         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Extend comment
5384         to include the theoretical condition for availability of variable size
5385         arrays, if we could trust the value of __STDC_VERSION__.
5387 2017-06-12  Bruno Haible  <bruno@clisp.org>
5389         Relicense some modules under LGPLv2+.
5390         Daiki Ueno's approval is in
5391         https://lists.gnu.org/r/bug-gnulib/2017-06/msg00058.html.
5392         * modules/uniwidth/base (License): Change to LGPLv2+.
5393         * modules/uniwidth/width (License): Likewise.
5395 2017-06-11  Bruno Haible  <bruno@clisp.org>
5397         localename: Fix test failure on DragonFly BSD.
5398         * lib/localename.c (gl_locale_name_thread_unsafe): Treat DragonFly BSD
5399         like FreeBSD.
5401 2017-06-11  Bruno Haible  <bruno@clisp.org>
5403         float: Fix 'float' and 'isinf' failures on DragonFly BSD.
5404         * m4/float_h.m4 (gl_FLOAT_H): Treat DragonFly BSD like FreeBSD.
5405         * lib/float.in.h: Likewise.
5406         * m4/fmal.m4, m4/frexpl.m4, m4/logbl.m4: Update accordingly.
5408 2017-06-11  Bruno Haible  <bruno@clisp.org>
5410         gnulib-tool: Clean up after autotools.
5411         * gnulib-tool (func_create_testdir, func_create_megatestdir): Remove
5412         useless directory left over by the Autotools.
5414 2017-06-11  Paul Eggert  <eggert@cs.ucla.edu>
5416         getopt-posix: port to glibc 2.25.90
5417         Problem reported by Daniel P. Berrange in:
5418         http://lists.gnu.org/r/bug-gnulib/2017-06/msg00003.html
5419         * lib/getopt-pfx-core.h (_GETOPT_CORE_H):
5420         * lib/getopt-pfx-ext.h (_GETOPT_EXT_H):
5421         #undef if __GETOPT_PREFIX is defined.
5423 2017-06-11  Bruno Haible  <bruno@clisp.org>
5425         strtod-obsolete: Fix license.
5426         * modules/strtod-obsolete (License): Change to LGPL.
5428 2017-06-10  Jim Meyering  <meyering@fb.com>
5430         maint: update to work with GCC7's -Werror=implicit-fallthrough=
5431         * lib/savewd.c (FALLTHROUGH): Define.
5432         (savewd_save, savewd_restore): Use this, rather than a comment,
5433         whenever one switch case falls through into the next.
5435 2017-06-08  Bruno Haible  <bruno@clisp.org>
5437         host-cpu-c-abi: Support for aarch64 ILP32 ABI.
5438         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Recognize the aarch64 ILP32
5439         ABI. Set HOST_CPU_C_ABI=arm64-ilp32 and define __arm64_ilp32__ in this
5440         case.
5442 2017-06-08  Paul Eggert  <eggert@cs.ucla.edu>
5444         doc: remove robots, add prereqs
5445         * doc/build-automation.texi, doc/gnulib.texi: Mention prereqs for
5446         builds.  Simon's robot site does not seem to be up, so remove
5447         mentions of it for now.
5449 2017-06-08  Bruno Haible  <bruno@clisp.org>
5451         gnulib-tool: Fix bug in func_symlink_if_changed, from 2006-11-13.
5452         * gnulib-tool (func_symlink_target): New function, extracted from
5453         func_symlink.
5454         (func_symlink, func_symlink_if_changed): Use it.
5456 2017-06-08  Bruno Haible  <bruno@clisp.org>
5458         gnulib-tool: Fix bug in func_ln_s, from 2016-01-15.
5459         * gnulib-tool (func_ln_s): Determine cp_src correctly.
5461 2017-06-07  Bruno Haible  <bruno@clisp.org>
5463         canonicalize-lgpl: Avoid conflict with gnulib 'getcwd' module on VMS.
5464         Reported by John E. Malmberg <wb8tyw@gmail.com> in
5465         <https://lists.gnu.org/r/bug-gnulib/2017-06/msg00029.html>.
5466         * lib/canonicalize-lgpl.c (__getcwd): On VMS, when using gnulib's getcwd
5467         override, pass 2 arguments to getcwd, not 3.
5469 2017-06-04  Paul Eggert  <eggert@cs.ucla.edu>
5471         same-inode: port better to VMS 8.2 and later
5472         Problem reported by John E. Malmberg in:
5473         http://lists.gnu.org/r/bug-gnulib/2017-06/msg00005.html
5474         * lib/same-inode.h (SAME_INODE) [__VMS && 80200000 <= __CRTL_VER]:
5475         Use the usual POSIX definition.
5476         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Define _USE_STD_STAT.
5478 2017-06-01  Paul Eggert  <eggert@cs.ucla.edu>
5480         error: fix POSIX violation for va_end
5481         Problem reported by Bruno Haible in:
5482         http://lists.gnu.org/r/bug-gnulib/2017-06/msg00001.html
5483         * lib/error.c (error_tail): Do not call va_end here.
5484         (error, error_at_line): Call it here instead.
5486 2017-05-28  Bruno Haible  <bruno@clisp.org>
5488         c-strtod: Make it usable in C++ mode.
5489         * lib/c-strtod.h: Add 'extern "C"' marker for C++.
5491 2017-05-25  Jim Meyering  <meyering@fb.com>
5493         quotearg: fix compilation failure due to FALLTHROUGH misuse
5494         * lib/quotearg.c (quotearg_buffer_restyled): Revert one FALLTHROUGH
5495         macro back to /* fall through */ comment.  The macro can apply only
5496         to a following case statement.  Reported by Assaf Gordon.
5498 2017-05-25  Paul Eggert  <eggert@cs.ucla.edu>
5500         intprops: port to recent icc
5501         Port to icc (ICC) 17.0.4 20170411, which defines __GNUC__ to be 5
5502         but does not support __builtin_add_overflow etc.
5503         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW) [__ICC]:
5504         Define to 0.
5506 2017-05-23  Karl Berry  <karl@freefriends.org>
5508         * config/srclist.txt (iconv.m4): sync broken, comment out
5509         until (hopefully) the next gettext release.
5511 2017-05-22  Bjarni Ingi Gislason  <bjarniig@rhi.hi.is>
5513         Remove repeated words in comments.
5515 2017-05-22  Bernhard Voelker  <mail@bernhard-voelker.de>
5517         fallthrough: reinstate a FALLTHROUGH instance in quotearg
5518         quotearg.c: Reinstate this instance which is significant
5519         when the if branch is not taken.
5521 2017-05-21  Bruno Haible  <bruno@clisp.org>
5523         gnulib-tool: Add options to create hard links.
5524         * gnulib-tool (func_usage): Document options --hardlink,
5525         --local-hardlink, --more-hardlinks.
5526         (func_symlink): Renamed from func_ln.
5527         (func_symlink_if_changed): Renamed from func_ln_if_changed.
5528         (func_hardlink): New function.
5529         (copymode, lcopymode): New variables.
5530         (symbolic, lsymbolic): Remove variables.
5531         (Options): Implement options --hardlink, --local-hardlink,
5532         --more-hardlinks.
5533         (func_should_link): Renamed from func_should_symlink. Set copyaction.
5534         (func_add_file, func_update_file): Update invocation of
5535         func_should_link. Invoke func_hardlink when appropriate.
5536         (func_import): Update comments.
5537         (func_create_testdir): Update invocation of func_should_link. Invoke
5538         func_hardlink when appropriate.
5539         Finally, invoke 'git update-index --refresh' to mitigate the effects of
5540         the hard links on git.
5542 2017-05-20  Bruno Haible  <bruno@clisp.org>
5544         argp: Simplify bit manipulation.
5545         * lib/argp-parse.c (parser_parse_opt): Use &, |, ~ instead of shifts
5546         on a signed integer type.
5548 2017-05-20  Bruno Haible  <bruno@clisp.org>
5550         Avoid wrong configure results with gcc -fsanitize=address.
5551         This completes the work done on 2016-02-06 on this topic.
5552         * m4/memmem.m4 (gl_FUNC_MEMMEM): Free allocated memory before returning.
5553         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
5554         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
5555         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
5556         * m4/fopen.m4 (gl_FUNC_FOPEN): Close allocated FILE streams before
5557         returning.
5558         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): Likewise.
5559         * m4/fpurge.m4 (gl_FUNC_FPURGE): Likewise.
5560         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
5561         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
5562         * m4/signbit.m4 (gl_FLOATTYPE_SIGN_LOCATION): Likewise.
5563         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Likewise.
5564         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Close allocated FILE streams and
5565         free allocated memory before returning.
5566         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
5567         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Close allocated DIR
5568         objects before returning.
5569         * m4/iconv.m4 (AM_ICONV_LINK): Close allocated iconv_t handles before
5570         returning.
5572 2017-05-20  Bruno Haible  <bruno@clisp.org>
5574         gnulib-tool: Don't create hard links between gnulib and its testdirs.
5575         * gnulib-tool (func_create_testdir): Don't invoke 'ln'.
5577 2017-05-20  Bruno Haible  <bruno@clisp.org>
5579         argp, tsearch tests: Fix file list.
5580         * modules/argp-tests (Files): Add tests/macros.h.
5581         * modules/tsearch-tests (Files): Likewise.
5583 2017-05-20  Bruno Haible  <bruno@clisp.org>
5585         getopt-posix tests: Remove redundant include.
5586         * tests/test-getopt.h: Don't include "macros.h". It's already included
5587         by tests/test-getopt-main.h.
5589 2017-05-19  Jim Meyering  <meyering@fb.com>
5591         dfa: two small simplifications
5592         * lib/dfa.c (build_state): Avoid repeating longer expressions.
5594 2017-05-18  Jim Meyering  <meyering@fb.com>
5596         fallthrough: update for GCC 7/8
5597         * lib/quotearg.c (FALLTHROUGH): New macro.
5598         Use it whenever one switch case falls through into the next,
5599         replacing "/* Fall through */" comments.  This exposed one
5600         instance of an unwarranted "fall through" comment: unwarranted
5601         because it preceded a "goto" label not a case statement.
5602         * lib/freopen-safer.c (freopen_safer): Likewise.
5603         * lib/fts.c (leaf_optimization_applies): Likewise.
5604         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Likewise.
5605         * tests/test-getopt_long.h (getopt_long_loop): Likewise.
5606         * tests/test-tsearch.c (mangle_tree): Likewise.  Also include
5607         tests/macros.h for the definition.
5608         * tests/test-argp.c (group1_parser): Likewise.
5609         * tests/test-getopt.h (getopt_loop): Likewise.
5611 2017-05-19  Paul Eggert  <eggert@cs.ucla.edu>
5613         argp: fix shift bug
5614         * lib/argp-parse.c (parser_parse_opt): Rework to avoid undefined
5615         behavior on shift overflow, caught by gcc -fsanitize=undefined.
5617         argp: fix pointer-subtraction bug
5618         * lib/argp-help.c (hol_append): Don’t subtract pointers to
5619         different arrays, as this can run afoul of -fcheck-pointer-bounds.
5620         See the thread containing Bruno Haible’s report in:
5621         http://lists.gnu.org/r/bug-gnulib/2017-05/msg00171.html
5623 2017-05-19  Bruno Haible  <bruno@clisp.org>
5625         printf-posix tests: Avoid test failure with "gcc --coverage".
5626         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
5627         * tests/test-printf-posix2.c (main): Test a width of 10000000 rather
5628         than 5000000.
5629         * tests/test-fprintf-posix2.c (main): Likewise.
5631 2017-05-19  Paul Eggert  <eggert@cs.ucla.edu>
5633         closeout: don’t close stderr when sanitizing
5634         * NEWS: Document this.
5635         * lib/closeout.c (__has_feature): New macro, if not already defined.
5636         (SANITIZE_ADDRESS): New constant.
5637         (close_stdout): Don’t close stderr if sanitizing addresses.
5639 2017-05-19  Bruno Haible  <bruno@clisp.org>
5641         get-rusage-data tests: Avoid failure on Linux/glibc.
5642         * tests/test-get-rusage-data.c (main): Don't expect a strict increase
5643         on glibc systems.
5645 2017-05-18  Bruno Haible  <bruno@clisp.org>
5647         localename: Include necessary header files on Cygwin.
5648         * lib/localename.c [__CYGWIN__]: Include <langinfo.h>, since this is
5649         where NL_LOCALE_NAME is defined.
5651 2017-05-18  Bruno Haible  <bruno@clisp.org>
5653         gettext: Update macros from gettext git.
5654         * m4/intldir.m4: Require Autoconf >= 2.60.
5655         * m4/progtest.m4: Fix typos in copyright notice.
5657 2017-05-18  Bruno Haible  <bruno@clisp.org>
5659         copy-file tests: Fix link error (regression from 2017-05-01).
5660         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
5661         * modules/copy-file-tests (Makefile.am): Link test-copy-file with
5662         $(LIB_CLOCK_GETTIME).
5664 2017-05-18  Bruno Haible  <bruno@clisp.org>
5666         unicase/special-casing: Fix incompatibility with gperf-3.0.4
5667         (regression from 2017-02-13).
5668         * lib/unicase/special-casing.in.h: Renamed from
5669         lib/unicase/special-casing.h.
5670         * modules/unicase/special-casing (Files): Add
5671         lib/unicase/special-casing.in.h. Remove lib/unicase/special-casing.h.
5672         (Makefile.am): Add rule for generating unicase/special-casing.h.
5673         Update BUILT_SOURCES and MOSTLYCLEANFILES accordingly.
5674         * lib/unicase/special-casing.c: Include "unicase/special-casing.h",
5675         not "special-casing.h".
5676         * lib/unicase/u*.c: Likewise.
5678 2017-05-17  Bruno Haible  <bruno@clisp.org>
5680         README: Don't ask people to read a TeXinfo file.
5681         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
5682         * README: Tell people how to read the HTML formatted manual.
5684 2017-05-16  Tim Rühsen  <tim.ruehsen@gmx.de>
5686         parse-datetime: Fix memleak
5687         * lib/parse-datetime.y (parse_datetime2): Cleanup on
5688         localtime_rz() failure.
5690 2017-05-16  Bruno Haible  <bruno@clisp.org>
5692         javacomp: Fix handle leak.
5693         Found by Coverity.
5694         * lib/javacomp.c (get_classfile_version): Close fd before returning.
5696 2017-05-16  Bruno Haible  <bruno@clisp.org>
5698         relocate: Make it easier to reclaim allocated memory.
5699         * lib/relocatable.h (relocate2): New declaration/macro.
5700         * lib/relocatable.c (relocate2): New function.
5701         * doc/relocatable-maint.texi (Supporting Relocation): Mention the
5702         relocate2 function.
5703         * lib/localcharset.c (relocate2): Define fallback.
5704         (get_charset_aliases): Invoke relocate2 instead of relocate. Free the
5705         allocated memory.
5706         * lib/javaversion.c (relocate2): Define fallback.
5707         (javaexec_version): Invoke relocate2 instead of relocate. Free the
5708         allocated memory.
5710 2017-05-16  Bruno Haible  <bruno@clisp.org>
5712         relocate: Simplify EMX specific code.
5713         * lib/relocatable.c (relocate): Assume pathname is non-NULL. Use
5714         ISSLASH macro consistently. Avoid dangerous string concatenation idiom.
5716 2017-05-16  Bruno Haible  <bruno@clisp.org>
5718         sigpipe tests: Fix file list.
5719         * modules/sigpipe-tests (Files): Add tests/macros.h.
5721 2017-05-16  Paul Eggert  <eggert@cs.ucla.edu>
5723         manywarnings: update for GCC 7
5724         * build-aux/gcc-warning.spec:
5725         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC):
5726         Add GCC 7 warnings, notably -Wimplicit-fallthrough=5, which
5727         requires a non-comment fallthrough attribute.  This is a bit
5728         cleaner than the comment versions.
5729         * lib/strftime.c, lib/dfa.c, lib/fnmatch.c, lib/mbrtowc.c:
5730         * lib/vasnprintf.c, tests/macros.h (FALLTHROUGH): New macro.
5731         Use it whenever one switch case falls through into the next.
5732         * lib/fnmatch_loop.c, tests/test-mbrtowc.c, tests/test-sigpipe.c:
5733         Use FALLTHROUGH macro.
5735 2017-05-15  Bruno Haible  <bruno@clisp.org>
5737         gnulib-tool: Fix generated code when libtests contains module 'alloca'.
5738         * gnulib-tool (func_emit_tests_Makefile_am): For libtests.a, use
5739         @ALLOCA@, not @LTALLOCA@.
5741 2017-05-15  Bruno Haible  <bruno@clisp.org>
5743         sys_select: Avoid "was expanded before it was required" warning.
5744         * modules/sys_select (configure.ac): Require, not invoke,
5745         gl_HEADER_SYS_SELECT.
5747 2017-05-14  Paul Eggert  <eggert@cs.ucla.edu>
5749         gnulib-tool: improve GNU Make debugging
5750         * gnulib-tool (func_emit_lib_Makefile_am): Omit unnecessary echo.
5751         Report autoconf diagnostics when it fails, in the output makefile.
5753 2017-05-14  Bruno Haible  <bruno@clisp.org>
5755         stat-time tests: Improve comment.
5756         * tests/test-stat-time.c: Add hyperlink, from Paul Eggert.
5758 2017-05-14  Bruno Haible  <bruno@clisp.org>
5760         same-inode: Adapt for windows-stat-inodes.
5761         * lib/same-inode.h: Include <sys/types.h>.
5762         (SAME_INODE) [_GL_WINDOWS_STAT_INODES]: Define specifically.
5763         * modules/same-inode (Depends-on): Add sys_types.
5765 2017-05-14  Bruno Haible  <bruno@clisp.org>
5767         windows-stat-inodes: New module.
5768         * m4/windows-stat-inodes.m4: New file.
5769         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Set WINDOWS_STAT_INODES.
5770         * modules/sys_types (Makefile.am): Substitute WINDOWS_STAT_INODES.
5771         * lib/sys_types.in.h [WINDOWS_STAT_INODES]: Override dev_t and ino_t.
5772         (_GL_WINDOWS_STAT_INODES): New macro.
5773         * lib/stat-w32.c: Set _WIN32_WINNT. Include <string.h>, verify.h.
5774         (GetFileInformationByHandleExFunc): New variable.
5775         (initialize): Initialize it.
5776         (_gl_fstat_by_handle) [_GL_WINDOWS_STAT_INODES]: Initialize st_dev and
5777         st_ino appropriately.
5778         * lib/stat.c (rpl_stat): Use the directory entry based approach only as
5779         a fallback, because it does not provide st_dev and st_ino values.
5780         * modules/fstat (Depends-on): Add 'verify'.
5781         * modules/windows-stat-inodes: New file.
5782         * doc/windows-stat-inodes.texi: New file.
5783         * doc/gnulib.texi: Include it.
5784         * doc/posix-headers/sys_stat.texi: Mention the new module.
5786 2017-05-14  Bruno Haible  <bruno@clisp.org>
5788         stat-time tests: Workaround for native Windows.
5789         * tests/test-stat-time.c: Include <stdio.h>, <time.h>.
5790         (filename_stamp1, filename_testfile, filename_stamp2, filename_stamp3):
5791         New variables.
5792         (initialize_filenames): New function.
5793         (main): Invoke it.
5794         (cleanup, prepare_test): Update.
5796 2017-05-14  Bruno Haible  <bruno@clisp.org>
5798         stat-time: Adapt for windows-stat-timespec.
5799         * lib/stat-time.h (get_stat_birthtime) [_GL_WINDOWS_STAT_TIMESPEC]: Use
5800         entire st_ctim field.
5802 2017-05-13  Jim Meyering  <meyering@fb.com>
5804         maint.mk: update regex to reflect 2013 addition of "assume" to verify.h
5805         * top/maint.mk (sc_prohibit_verify_without_use): Don't reject a source
5806         file that uses the assume macro, claiming that verify.h is unused.
5808 2017-05-13  Bruno Haible  <bruno@clisp.org>
5810         Use symbolic values for _WIN32_WINNT.
5811         * lib/ftruncate.c (_WIN32_WINNT): Use symbolic value _WIN32_WINNT_WIN2K.
5812         * lib/sethostname.c (_WIN32_WINNT): Likewise.
5814 2017-05-13  Bruno Haible  <bruno@clisp.org>
5816         year2038: New module.
5817         * m4/year2038.m4: New file.
5818         * modules/year2038: New file.
5819         * doc/year2038.texi: New file.
5820         * doc/gnulib.texi: Include it.
5822 2017-05-13  Bruno Haible  <bruno@clisp.org>
5824         largefile: Simplify.
5825         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Remove unused definition
5826         of _GL_WINDOWS_64_BIT_ST_SIZE.
5828 2017-05-13  Bruno Haible  <bruno@clisp.org>
5830         largefile: Improve and document.
5831         * m4/largefile.m4 (gl_LARGEFILE): Set WINDOWS_64_BIT_ST_SIZE to 0 if
5832         the mingw headers already define 'stat' appropriately.
5833         * modules/largefile (Description): Clarify.
5834         * doc/largefile.texi: New file.
5835         * doc/gnulib.texi: Include it.
5836         * doc/posix-headers/sys_types.texi: Update.
5838 2017-05-13  Bruno Haible  <bruno@clisp.org>
5840         truncate: New module.
5841         * lib/unistd.in.h (truncate): New declaration.
5842         * lib/truncate.c: New file.
5843         * m4/truncate.m4: New file.
5844         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether 'truncate' is declared.
5845         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TRUNCATE, HAVE_TRUNCATE,
5846         REPLACE_TRUNCATE.
5847         * modules/unistd (Makefile.am): Substitute GNULIB_TRUNCATE,
5848         HAVE_TRUNCATE, REPLACE_TRUNCATE.
5849         * modules/truncate: New file.
5850         * tests/test-unistd-c++.cc (truncate): Test signature.
5851         * doc/posix-functions/truncate.texi: Mention the new module.
5853         * tests/test-truncate.c: New file.
5854         * modules/truncate-tests: New file.
5856 2017-05-13  Bruno Haible  <bruno@clisp.org>
5858         windows-stat-timespec: New module.
5859         * modules/windows-stat-timespec: New file.
5860         * m4/windows-stat-timespec.m4: New file.
5861         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Set WINDOWS_STAT_TIMESPEC.
5862         * modules/sys_stat (Makefile.am): Substitute WINDOWS_STAT_TIMESPEC.
5863         * lib/sys_stat.in.h (struct stat) [WINDOWS_STAT_TIMESPEC]: Declare with
5864         fields st_atim, st_mtim, st_ctim.
5865         (st_atime, st_mtime, st_ctime): Define as macros.
5866         (_GL_WINDOWS_STAT_TIMESPEC): New macro.
5867         * lib/stat-w32.h (_gl_convert_FILETIME_to_timespec)
5868         [_GL_WINDOWS_STAT_TIMESPEC]: New declaration.
5869         * lib/stat-w32.c (_gl_convert_FILETIME_to_timespec)
5870         [_GL_WINDOWS_STAT_TIMESPEC]: New function.
5871         (_gl_convert_FILETIME_to_POSIX): Adjust coding style.
5872         (_gl_fstat_by_handle): If _GL_WINDOWS_STAT_TIMESPEC, convert the
5873         FILETIME to 'struct timespec', not 'time_t'.
5874         * lib/stat.c (rpl_stat): If _GL_WINDOWS_STAT_TIMESPEC, convert the
5875         FILETIME to 'struct timespec', not 'time_t'.
5876         * lib/stat-time.h (STAT_TIMESPEC): Define also if
5877         _GL_WINDOWS_STAT_TIMESPEC.
5878         * doc/windows-stat-timespec.texi: New file.
5879         * doc/gnulib.texi: Include it.
5881 2017-05-13  Bruno Haible  <bruno@clisp.org>
5883         windows-stat-override: New module.
5884         * lib/sys_stat.in.h (stat) [GNULIB_OVERRIDES_STRUCT_STAT]: Provide own
5885         definition. Define GNULIB_defined_struct_stat.
5886         (fstat, fstatat, lstat, stat) [GNULIB_OVERRIDES_STRUCT_STAT]: Provoke
5887         link error if this symbol is used and the corresponding module is not
5888         in use.
5889         (_stat64, _stat32i64, _stati64, _stat32, _stat64i32): Don't redefine if
5890         GNULIB_OVERRIDES_STRUCT_STAT.
5891         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
5892         GNULIB_OVERRIDES_STRUCT_STAT.
5893         * modules/sys_stat (Makefile.am): Substitute
5894         GNULIB_OVERRIDES_STRUCT_STAT.
5895         * modules/windows-stat-override: New file.
5897 2017-05-13  Bruno Haible  <bruno@clisp.org>
5899         fstat: Fix module dependency conditions.
5900         * modules/fstat (Depends-on): Fix typo.
5902 2017-05-13  Bruno Haible  <bruno@clisp.org>
5904         stat, fstat: Complete removal of old native Windows code.
5905         * lib/stat.c: Remove old macrology for WINDOWS_NATIVE.
5906         * lib/fstat.c: Likewise.
5907         * lib/stat-w32.c: Likewise.
5909 2017-05-13  Bruno Haible  <bruno@clisp.org>
5911         stat: Complete removal of REPLACE_FUNC_STAT_DIR code.
5912         * lib/stat.c: Remove all REPLACE_FUNC_STAT_DIR code.
5914 2017-05-11  Paul Eggert  <eggert@cs.ucla.edu>
5916         getopt-posix: port to mingw
5917         * lib/getopt.c (flockfile, funlockfile): Define on mingw.
5918         Problem reported by Daniel P. Berrage in:
5919         http://lists.gnu.org/r/bug-gnulib/2017-05/msg00086.html
5921 2017-05-11  Bruno Haible  <bruno@clisp.org>
5923         gettimeofday: Increase precision on mingw.
5924         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Require AC_CANONICAL_HOST.
5925         Set REPLACE_GETTIMEOFDAY to 1 on mingw.
5926         * lib/gettimeofday.c (gettimeofday): On native Windows, use the
5927         GetSystemTimePreciseAsFileTime based implementation always.
5928         * doc/posix-functions/gettimeofday.texi: Mention precision problem on
5929         mingw.
5931 2017-05-11  Bruno Haible  <bruno@clisp.org>
5933         poll: Fix confusion between SOCKETs and FDs on native Windows.
5934         Fix proposed by Daniel P. Berrange <berrange@redhat.com>.
5935         * lib/poll.c [WINDOWS_NATIVE]: Undefine select.
5937 2017-05-11  Bruno Haible  <bruno@clisp.org>
5939         doc: Clarify doc about socket functions on native Windows.
5940         This reworks doc that was added on 2008-09-29.
5941         * doc/posix-functions/select.texi: Fix copy-and-paste mistake and use
5942         clearer wording.
5943         * doc/posix-functions/accept.texi: Use clearer wording.
5944         * doc/posix-functions/bind.texi: Likewise.
5945         * doc/posix-functions/connect.texi: Likewise.
5946         * doc/posix-functions/getpeername.texi: Likewise.
5947         * doc/posix-functions/getsockname.texi: Likewise.
5948         * doc/posix-functions/getsockopt.texi: Likewise.
5949         * doc/posix-functions/ioctl.texi: Likewise.
5950         * doc/posix-functions/listen.texi: Likewise.
5951         * doc/posix-functions/recv.texi: Likewise.
5952         * doc/posix-functions/recvfrom.texi: Likewise.
5953         * doc/posix-functions/send.texi: Likewise.
5954         * doc/posix-functions/sendto.texi: Likewise.
5955         * doc/posix-functions/setsockopt.texi: Likewise.
5956         * doc/posix-functions/shutdown.texi: Likewise.
5957         * doc/posix-functions/socket.texi: Likewise.
5959 2017-05-10  Bruno Haible  <bruno@clisp.org>
5961         poll: Fix link error on native Windows.
5962         * lib/poll.c [WINDOWS_NATIVE]: Undefine recv.
5964 2017-05-10  Bruno Haible  <bruno@clisp.org>
5966         time: Fix missing initialization of HAVE_TIMEZONE_T.
5967         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEZONE_T
5968         here...
5969         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): ... not here.
5970         * m4/time_rz.m4 (gl_TIME_RZ): Require gl_HEADER_TIME_H_DEFAULTS, not
5971         gl_HEADER_SYS_TIME_H_DEFAULTS.
5972         * modules/time_rz (Depends-on): Add 'time'. Remove useless quoting.
5973         (configure.ac): Remove useless quoting.
5975 2017-05-10  Bruno Haible  <bruno@clisp.org>
5977         Implement a way to opt out from MSVC support, part 2.
5978         * modules/msvc-inval (Include): Document recommended idiom.
5979         * modules/msvc-nothrow (Include): Likewise.
5981         Implement a way to opt out from MSVC support.
5982         This is useful for Emacs.
5983         * modules/msvc-nothrow (configure.ac): Invoke gl_MODULE_INDICATOR.
5984         * lib/accept4.c: Include <io.h> as an alternative to msvc-nothrow.h.
5985         * lib/error.c: Likewise.
5986         * lib/fcntl.c: Likewise.
5987         * lib/flock.c: Likewise.
5988         * lib/fstat.c: Likewise.
5989         * lib/fsync.c: Likewise.
5990         * lib/ioctl.c: Likewise.
5991         * lib/isapipe.c: Likewise.
5992         * lib/lseek.c: Likewise.
5993         * lib/nonblocking.c: Likewise.
5994         * lib/poll.c: Likewise.
5995         * lib/select.c: Likewise.
5996         * lib/sockets.h: Likewise.
5997         * lib/sockets.c: Likewise.
5998         * lib/stdio-read.c: Likewise.
5999         * lib/stdio-write.c: Likewise.
6000         * lib/utimens.c: Likewise.
6001         * lib/w32sock.h: Likewise.
6002         * lib/w32spawn.h: Likewise.
6003         * tests/test-cloexec.c: Likewise.
6004         * tests/test-dup-safer.c: Likewise.
6005         * tests/test-dup2.c: Likewise.
6006         * tests/test-dup3.c: Likewise.
6007         * tests/test-fcntl.c: Likewise.
6008         * tests/test-pipe.c: Likewise.
6009         * tests/test-pipe2.c: Likewise.
6010         * lib/ftruncate.c: Likewise.
6011         (chsize_nothrow): Renamed from chsize.
6012         * lib/msvc-nothrow.c: Don't include msvc-inval.h if
6013         HAVE_MSVC_INVALID_PARAMETER_HANDLER is not defined.
6014         * lib/close.c: Likewise.
6015         * lib/dup.c: Likewise.
6016         * lib/fclose.c: Likewise.
6017         * lib/raise.c: Likewise.
6018         * tests/test-fgetc.c: Likewise.
6019         * tests/test-fputc.c: Likewise.
6020         * tests/test-fread.c: Likewise.
6021         * tests/test-fwrite.c: Likewise.
6022         * lib/getdtablesize.c: Likewise.
6023         (_setmaxstdio_nothrow): Renamed from _setmaxstdio.
6024         * lib/isatty.c: Don't include msvc-inval.h if
6025         HAVE_MSVC_INVALID_PARAMETER_HANDLER is not defined.
6026         Include <io.h> as an alternative to msvc-nothrow.h.
6027         * lib/read.c: Likewise.
6028         * lib/write.c: Likewise.
6029         * lib/dup2.c: Likewise.
6030         (dup2_nothrow): New function.
6031         (ms_windows_dup2): Use it.
6032         * m4/close.m4 (gl_FUNC_CLOSE): Invoke gl_MSVC_INVAL and test
6033         HAVE_MSVC_INVALID_PARAMETER_HANDLER only if gl_MSVC_INVAL is defined.
6034         * m4/dup.m4 (gl_FUNC_DUP): Likewise.
6035         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Likewise.
6036         * m4/raise.m4 (gl_FUNC_RAISE): Likewise.
6037         * m4/read.m4 (gl_FUNC_READ): Likewise.
6038         * m4/write.m4 (gl_FUNC_WRITE): Likewise.
6039         * doc/windows-without-msvc.texi: New file.
6040         * doc/gnulib.texi (Native Windows Support without MSVC Support): New
6041         section.
6043 2017-05-10  Bruno Haible  <bruno@clisp.org>
6045         wait-process: Adjust native Windows support.
6046         * lib/wait-process.c: Use the usual condition for recognizing a native
6047         Windows platform.
6049 2017-05-10  Bruno Haible  <bruno@clisp.org>
6051         doc: New chapter "Native Windows Support".
6052         * doc/gnulib.texi (Native Windows Support): New chapter.
6053         * doc/windows-libtool.texi: Small wording changes.
6054         * doc/windows-sockets.texi: Small wording and formatting changes.
6056 2017-05-10  Bruno Haible  <bruno@clisp.org>
6058         doc: Move section "Library version handling".
6059         * doc/gnulib.texi: Move section "Library version handling"
6060         from chapter "Miscellaneous Notes" to chapter "Particular Modules".
6062 2017-05-10  Bruno Haible  <bruno@clisp.org>
6064         doc: Move section "Running self-tests under valgrind".
6065         * doc/gnulib.texi: Move section "Running self-tests under valgrind"
6066         from chapter "Particular Modules" to chapter "Miscellaneous Notes".
6068 2017-05-10  Bruno Haible  <bruno@clisp.org>
6070         doc: New chapter "Build Infrastructure Modules".
6071         * doc/gnulib.texi (Build Infrastructure Modules): New chapter.
6073 2017-05-10  Bruno Haible  <bruno@clisp.org>
6075         Prepare for reordering sections in the manual.
6076         * doc/gnulib.texi: Move several sections to separate files. Include
6077         these files.
6078         * doc/out-of-memory.texi: New file, extracted from doc/gnulib.texi.
6079         * doc/obsolete.texi: Likewise.
6080         * doc/extra-tests.texi: Likewise.
6081         * doc/transversal.texi: Likewise.
6082         * doc/namespace.texi: Likewise.
6083         * doc/check-version.texi: Likewise.
6084         * doc/windows-sockets.texi: Likewise.
6085         * doc/windows-libtool.texi: Likewise.
6086         * doc/licenses-texi.texi: Likewise.
6087         * doc/build-automation.texi: Likewise.
6088         * doc/c-locale.texi: Likewise.
6090 2017-05-10  Bruno Haible  <bruno@clisp.org>
6092         Fix instructions how to update manual on www.gnu.org.
6093         * doc/README: Add -I option, so that texi2dvi finds texinfo.tex.
6095 2017-05-09  Bruno Haible  <bruno@clisp.org>
6097         tzset: Expand comment about TZ problem on native Windows.
6098         * lib/tzset.c (tzset): Elaborate comment, based on explanations by
6099         Paul Eggert.
6100         * lib/ctime.c (rpl_ctime): Likewise.
6101         * lib/localtime.c (rpl_localtime): Likewise.
6102         * lib/mktime.c (mktime): Likewise.
6103         * lib/strftime-fixes.c (rpl_strftime): Likewise.
6104         * lib/wcsftime.c (rpl_wcsftime): Likewise.
6106 2017-05-08  Paul Eggert  <eggert@cs.ucla.edu>
6108         intprops: don’t depend on ‘verify’
6109         Problem reported by Ævar Arnfjörð Bjarmason in:
6110         http://lists.gnu.org/r/bug-gnulib/2017-05/msg00054.html
6111         * lib/intprops.h: Do not include verify.h, and move compile-time
6112         checks from here ...
6113         * tests/test-intprops.c (main): ... to here, if they’re not here
6114         already.  Check widths of other standard integer types.
6115         * modules/intprops (Depends-on): Remove ‘verify’.
6117 2017-05-07  Bruno Haible  <bruno@clisp.org>
6119         utimens: On native Windows, support 100ns resolution also if fd < 0.
6120         * lib/utime.in.h: Include <time.h>.
6121         (_gl_utimens_windows): New declaration.
6122         * lib/utime.c (_gl_utimens_windows): New function, based on utime.
6123         (utime): Invoke it.
6124         * lib/utimens.c (fdutimens): On native Windows, call _gl_utimens_windows
6125         instead of utime.
6126         * modules/utime (Depends-on): Add 'time'.
6128 2017-05-07  Bruno Haible  <bruno@clisp.org>
6130         utimens: Improve error code on native Windows.
6131         * lib/utimens.c (fdutimens): If fd was not opened with O_RDWR, fail with
6132         error code EACCES, not EINVAL.
6134 2017-05-07  Bruno Haible  <bruno@clisp.org>
6136         utime: Handle more Windows error codes.
6137         * lib/utime.c (utime): Handle ERROR_BAD_NETPATH.
6138         Based on explanations by Billy O'Neal.
6140 2017-05-05  Bruno Haible  <bruno@clisp.org>
6142         crypto/rijndael: Fix "strict-aliasing rules" warnings, alignment issues.
6143         * lib/rijndael-api-fst.c (rijndaelBlockEncrypt): Declare 'block' as a
6144         union.
6145         (rijndaelPadEncrypt, rijndaelBlockDecrypt): Likewise.
6146         (rijndaelPadDecrypt): Likewise. Use local variable 'iv' to cache the
6147         value of cipher->IV.
6149 2017-05-05  Bruno Haible  <bruno@clisp.org>
6151         wctype-h-c++-tests: Update.
6152         * tests/test-wctype-h-c++.cc: Reorder to match lib/wchar.in.h.
6154 2017-05-05  Bruno Haible  <bruno@clisp.org>
6156         wchar-c++-tests: Update.
6157         * tests/test-wchar-c++.cc (wcsftime): Declare, missing since 2017-04-30.
6159 2017-05-05  Bruno Haible  <bruno@clisp.org>
6161         utime-h-c++-tests: New module.
6162         * tests/test-utime-h-c++.cc: New file.
6163         (utime): Declare, missing since 2017-04-30.
6164         * modules/utime-h-c++-tests: New file.
6166 2017-05-05  Bruno Haible  <bruno@clisp.org>
6168         unistd-c++-tests: Update.
6169         * tests/test-unistd-c++.cc (isatty): Declare, missing since 2012-01-03.
6170         (read): Declare, missing since 2011-04-15.
6171         (sethostname): Declare, missing since 2011-12-03.
6173 2017-05-05  Bruno Haible  <bruno@clisp.org>
6175         time-c++-tests: Update.
6176         * tests/test-time-c++.cc (tzset): Declare, missing since 2017-05-01.
6177         (localtime, gmtime): Declare, missing since 2017-04-30.
6178         (ctime): Declare, missing since 2017-04-30.
6179         (strftime): Declare, missing since 2017-04-30.
6180         (tzalloc, tzfree, localtime_rz, mktime_z): Declare, missing since
6181         2015-07-24.
6183 2017-05-05  Bruno Haible  <bruno@clisp.org>
6185         sys_resource-c++-tests: New module.
6186         * tests/test-sys_resource-c++.cc: New file.
6187         (getrusage): Declare, missing since 2012-04-13.
6188         * modules/sys_resource-c++-tests: New file.
6190 2017-05-05  Bruno Haible  <bruno@clisp.org>
6192         strings-c++-tests: New module.
6193         * tests/test-strings-c++.cc: New file.
6194         (ffs): Declare, missing since 2011-07-12.
6195         * modules/strings-c++-tests: New file.
6197 2017-05-05  Bruno Haible  <bruno@clisp.org>
6199         string-c++-tests: Update.
6200         * tests/test-string-c++.cc (ffsl): Declare, missing since 2011-07-15.
6201         (ffsll): Declare, missing since 2011-07-15.
6203 2017-05-05  Bruno Haible  <bruno@clisp.org>
6205         stdlib-c++-tests: Update.
6206         * tests/test-stdlib-c++.cc (posix_openpt): Declare, missing since
6207         2011-10-18.
6208         (ptsname_r): Declare, missing since 2011-11-07.
6209         (qsort_r): Declare, missing since 2014-08-29.
6210         (random, srandom, initstate, setstate): Declare, missing since
6211         2012-01-14.
6212         (secure_getenv): Declare, missing since 2013-02-05.
6214 2017-05-05  Bruno Haible  <bruno@clisp.org>
6216         stdio-c++-tests: Update.
6217         * tests/test-stdio-c++.cc (pclose): Declare, missing since 2011-09-18.
6219 2017-05-05  Bruno Haible  <bruno@clisp.org>
6221         signal-h-c++-tests: Update.
6222         * tests/test-signal-h-c++.cc (raise): Remove redundant declaration.
6224 2017-05-05  Bruno Haible  <bruno@clisp.org>
6226         math-c++-tests: Update.
6227         * tests/test-math-c++.cc (fmaf): Declare, missing since 2011-10-17.
6228         (fma): Declare, missing since 2011-10-17.
6229         (fmal): Declare, missing since 2011-10-17.
6231 2017-05-05  Bruno Haible  <bruno@clisp.org>
6233         locale-c++-tests: Update.
6234         * tests/test-locale-c++.cc (localeconv): Declare, missing since
6235         2012-03-25.
6237 2017-05-05  Bruno Haible  <bruno@clisp.org>
6239         inttypes-c++-tests: New module.
6240         * tests/test-inttypes-c++.cc: New file.
6241         (strtoimax): Declare, missing since 2012-01-05.
6242         (strtoumax): Declare, missing since 2012-01-05.
6243         * modules/inttypes-c++-tests: New file.
6245 2017-05-05  Bruno Haible  <bruno@clisp.org>
6247         dirent-c++-tests: Update.
6248         * tests/test-dirent-c++.cc (readdir): Declare, missing since 2011-09-13.
6249         (rewinddir): Declare, missing since 2011-09-13.
6250         (dirfd): Declare, missing since 2010-03-08.
6252 2017-05-04  Bruno Haible  <bruno@clisp.org>
6254         argp: Fix mistake in 2017-04-23 commit.
6255         * lib/argp-help.c (__argp_failure): If GNULIB_STRERROR_R_POSIX is set,
6256         assume that strerror_r returns 'int', not 'char *'.
6258 2017-05-04  Reuben Thomas  <rrt@sc3d.org>
6260         argp: Fix typo.
6261         * lib/argp-help.c (argp_doc): Fix spelling mistake in comment.
6263 2017-05-02  Paul Eggert  <eggert@cs.ucla.edu>
6265         utimens: port to Emacs + MS-Windows
6266         Skip the new MS-Windows-specific code if Emacs.
6267         * lib/utimens.c [EMACS_CONFIGUATION]:
6268         Avoid new MS-Windows-specific code.
6269         (USE_SETFILETIME): New macro.
6270         (fdutimens): Use it.
6272 2017-05-01  Paul Eggert  <eggert@cs.ucla.edu>
6274         tzset: update doc for TZ problems on MS-Windows
6275         * doc/posix-functions/ctime.texi,  doc/posix-functions/daylight.texi:
6276         * doc/posix-functions/localtime.texi, doc/posix-functions/mktime.texi:
6277         * doc/posix-functions/strftime.texi, doc/posix-functions/timezone.texi:
6278         * doc/posix-functions/tzname.texi, doc/posix-functions/tzset.texi:
6279         * doc/posix-functions/wcsftime.texi:
6280         Mention some issues with TZ under MS-Windows.
6282 2017-05-01  Bruno Haible  <bruno@clisp.org>
6284         copy-file: Fix build error on mingw.
6285         * modules/copy-file (Depends-on): Add 'close'.
6287 2017-05-01  Bruno Haible  <bruno@clisp.org>
6289         tzset: Work around TZ problem on native Windows.
6290         * m4/tzset.m4 (gl_FUNC_TZSET): Require AC_CANONICAL_HOST. On native
6291         Windows, set REPLACE_TZSET to 1.
6292         * lib/tzset.c (tzset): On native Windows, fix TZ if necessary, and
6293         invoke '_tzset' instead of 'tzset'.
6294         * doc/posix-functions/tzset.texi: Mention the native Windows workaround.
6296         * modules/time_rz (Depends-on): Add tzset.
6297         * lib/time_rz.c (tzset): Remove fallback definition.
6298         * m4/time_rz.m4 (gl_TIME_RZ): Don't test for tzset.
6300 2017-05-01  Bruno Haible  <bruno@clisp.org>
6302         mktime: Fix dependencies.
6303         * modules/mktime (Depends-on): Add 'time'.
6305 2017-05-01  Bruno Haible  <bruno@clisp.org>
6307         New module 'localtime-buffer', split off from module 'gettimeofday'.
6308         * lib/localtime-buffer.h: New file.
6309         * lib/localtime-buffer.c: New file, extracted from lib/gettimeofday.c.
6310         * lib/time.in.h (tzset): New declaration.
6311         (localtime, gmtime): Don't test GNULIB_GETTIMEOFDAY.
6312         * lib/tzset.c: New file, extracted from lib/gettimeofday.c.
6313         * lib/gettimeofday.c: Include localtime-buffer.h. Remove code that was
6314         moved to lib/localtime-buffer.c or lib/tzset.c.
6315         * m4/localtime-buffer.m4: New file.
6316         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TZSET,
6317         HAVE_TZSET, REPLACE_TZSET.
6318         * m4/tzset.m4 (gl_FUNC_TZSET): Move code from m4/gettimeofday.m4 to
6319         here, with modifications. Set HAVE_TZSET, REPLACE_TZSET. Invoke
6320         gl_LOCALTIME_BUFFER_NEEDED.
6321         (gl_FUNC_TZSET_CLOBBER): Don't require gl_HEADER_SYS_TIME_H; not needed
6322         since 2007-01-18.
6323         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Remove code that deals with
6324         tzset.
6325         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Require gl_LOCALTIME_BUFFER_DEFAULTS.
6326         Invoke gl_LOCALTIME_BUFFER_NEEDED instead of
6327         gl_GETTIMEOFDAY_REPLACE_LOCALTIME.
6328         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Remove macro.
6329         * modules/localtime-buffer: New file.
6330         * modules/time (Depends-on): Remove 'gettimeofday'.
6331         (Makefile.am): Substitute GNULIB_TZSET, HAVE_TZSET,
6332         REPLACE_TZSET. Don't substitute GNULIB_GETTIMEOFDAY.
6333         * modules/tzset (Description): Enable hyperlink to POSIX spec.
6334         (Files): Add lib/tzset.c.
6335         (Depends-on): Remove gettimeofday. Add localtime-buffer, time.
6336         (configure.ac): Arrange to conditionally compile lib/tzset.c. Invoke
6337         gl_TIME_MODULE_INDICATOR.
6338         * modules/gettimeofday (Depends-on): Add localtime-buffer.
6340 2017-05-01  Bruno Haible  <bruno@clisp.org>
6342         copy-file: Preserve sub-second time stamps.
6343         * lib/copy-file.c: Include stat-time.h, utimens.h instead of <utime.h>.
6344         (qcopy_file_preserving): Use 'struct timespec' and utimens() to
6345         transport the time stamps from the original file to the destination
6346         file.
6347         * m4/copy-file.m4 (gl_COPY_FILE): Don't test for utime, utimes.
6348         * modules/copy-file (Depends-on): Add stat-time, utimns instead of
6349         utime-h.
6351 2017-05-01  Bruno Haible  <bruno@clisp.org>
6353         wctype-t: Fix problems if <wchar.h> gets included after <wctype.h>.
6354         * lib/wctype.in.h: Include not only <ctype.h> but also <wchar.h>. Do so
6355         also on MSVC.
6356         Reported by Eli Zaretskii <eliz@gnu.org>.
6358 2017-05-01  Bruno Haible  <bruno@clisp.org>
6360         wchar: Fix compilation error with the original mingw.org mingw.
6361         * lib/wchar.in.h (rpl_wint_t): If <crtdefs.h> does not exist, include
6362         <stddef.h> instead.
6363         * m4/wint_t.m4 (gl_TYPE_WINT_T_PREREQ): New macro, extracted from
6364         gl_WCTYPE_H.
6365         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set HAVE_CRTDEFS_H here; require
6366         gl_TYPE_WINT_T_PREREQ instead.
6367         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_TYPE_WINT_T_PREREQ.
6368         * modules/wchar (Makefile.am): Substitute HAVE_CRTDEFS_H.
6369         Reported by Eli Zaretskii <eliz@gnu.org>.
6371 2017-04-30  Bruno Haible  <bruno@clisp.org>
6373         utimecmp: Add support for native Windows.
6374         * lib/utimecmp.c (SYSCALL_RESOLUTION): Set to 100 on native Windows.
6376 2017-04-30  Bruno Haible  <bruno@clisp.org>
6378         utimens: Add support for native Windows.
6379         * lib/utimens.c: Include <windows.h>, msvc-nothrow.h.
6380         (fdutimens): Provide a native Windows implementation, like utime.c with
6381         added tv_nsec support.
6382         * modules/utimens (Depends-on): Add msvc-nothrow, utime.
6383         Suggested by Tim Rühsen <tim.ruehsen@gmx.de>.
6385 2017-04-30  Bruno Haible  <bruno@clisp.org>
6387         wcsftime: New module.
6388         * lib/wchar.in.h (wcsftime): New declaration.
6389         * lib/wcsftime.c: New file.
6390         * m4/wcsftime.m4: New file.
6391         * m4/wchar_h.m4 (gl_WCHAR_H): Test for wcsftime declaration.
6392         (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_WCSFTIME,
6393         HAVE_WCSFTIME, REPLACE_WCSFTIME.
6394         * modules/wchar (Makefile.am): Substitute GNULIB_WCSFTIME,
6395         HAVE_WCSFTIME, REPLACE_WCSFTIME.
6396         * modules/wcsftime: New file.
6397         * doc/posix-functions/wcsftime.texi: Mention the new module.
6399 2017-04-30  Bruno Haible  <bruno@clisp.org>
6401         strftime-fixes: New module.
6402         * lib/time.in.h (strftime): New declaration.
6403         * lib/strftime-fixes.c: New file.
6404         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Inline gl_FUNC_STRFTIME macro.
6405         (gl_FUNC_STRFTIME): Remove macro.
6406         * m4/strftime-fixes.m4: New file.
6407         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_STRFTIME,
6408         REPLACE_STRFTIME.
6409         * modules/time (Makefile.am): Substitute GNULIB_STRFTIME,
6410         REPLACE_STRFTIME.
6411         * modules/strftime-fixes: New file.
6412         * doc/posix-functions/strftime.texi: Mention the new module.
6414 2017-04-30  Bruno Haible  <bruno@clisp.org>
6416         mktime: Work around TZ problem on native Windows.
6417         * lib/mktime.c: Add #ifs to make the algorithmic workaround independent
6418         from the native Windows workaround.
6419         * m4/mktime.m4 (gl_FUNC_MKTIME_WORKS): New macro, extracted from
6420         gl_FUNC_MKTIME. If guessing, set gl_cv_func_working_mktime to
6421         'guessing no'.
6422         (gl_FUNC_MKTIME): Require it. Require AC_CANONICAL_HOST.
6423         Set REPLACE_MKTIME to 1 on native Windows. Define NEED_MKTIME_WORKING,
6424         NEED_MKTIME_WINDOWS.
6425         (gl_FUNC_MKTIME_INTERNAL): Require gl_FUNC_MKTIME_WORKS, not
6426         gl_FUNC_MKTIME. Set WANT_MKTIME_INTERNAL, not REPLACE_MKTIME. Define
6427         NEED_MKTIME_INTERNAL.
6428         * m4/timegm.m4 (gl_FUNC_TIMEGM): Require gl_FUNC_MKTIME_WORKS, not
6429         gl_FUNC_MKTIME. Cope with 'guessing yes' value.
6430         * modules/mktime-internal (configure.ac): Test WANT_MKTIME_INTERNAL,
6431         not REPLACE_MKTIME.
6432         * doc/posix-functions/mktime.texi: Mention the native Windows
6433         workaround.
6435 2017-04-30  Bruno Haible  <bruno@clisp.org>
6437         localtime: New module.
6438         * lib/time.in.h (localtime): Declare also if requested by module
6439         'localtime'.
6440         * lib/localtime.c: New file.
6441         * m4/localtime.m4: New file.
6442         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_LOCALTIME.
6443         * modules/time (Makefile.am): Substitute GNULIB_LOCALTIME.
6444         * modules/localtime: New file.
6445         * doc/posix-functions/localtime.texi: Mention the new module.
6447 2017-04-30  Bruno Haible  <bruno@clisp.org>
6449         ctime: New module.
6450         * lib/time.in.h (ctime): New declaration.
6451         * lib/ctime.c: New file.
6452         * m4/ctime.m4: New file.
6453         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_CTIME,
6454         REPLACE_CTIME.
6455         * modules/time (Makefile.am): Substitute GNULIB_CTIME, REPLACE_CTIME.
6456         * modules/ctime: New file.
6457         * doc/posix-functions/ctime.texi: Mention the new module.
6459 2017-04-30  Bruno Haible  <bruno@clisp.org>
6461         gettimeofday: Provide higher resolution on native Windows.
6462         * lib/gettimeofday.c: Don't include <sys/timeb.h>.
6463         (GetSystemTimePreciseAsFileTimeFuncType): New variable.
6464         (initialize): Initialize it.
6465         (gettimeofday) [WINDOWS_NATIVE]: Use it, and convert from FILETIME to
6466         'struct timeval'. Don't use _ftime().
6467         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): Don't test for
6468         <sys/timeb.h> and _ftime.
6470 2017-04-30  Bruno Haible  <bruno@clisp.org>
6472         Document the problem with the Cygwin environment variable TZ.
6473         * doc/posix-functions/tzset.texi: Add note about TZ.
6474         * doc/posix-functions/ctime.texi: Likewise.
6475         * doc/posix-functions/localtime.texi: Likewise.
6476         * doc/posix-functions/mktime.texi: Likewise.
6477         * doc/posix-functions/strftime.texi: Likewise.
6478         * doc/posix-functions/wcsftime.texi: Likewise.
6479         * doc/pastposix-functions/ftime.texi: Likewise.
6481 2017-04-30  Bruno Haible  <bruno@clisp.org>
6483         utime-tests: New module.
6484         * tests/test-utime.c: New file, based on tests/test-utimens.h.
6485         * tests/test-utimens-common.h: Include <sys/stat.h>.
6486         * modules/utime-tests: New file.
6488 2017-04-29  Bruno Haible  <bruno@clisp.org>
6490         utime: New module.
6491         * lib/utime.in.h: Add comment for snippets.
6492         (utime): New declaration.
6493         * lib/utime.c: New file.
6494         * m4/utime.m4: New file.
6495         * m4/utime_h.m4 (gl_UTIME_H): Test for utime declaration.
6496         (gl_UTIME_H_DEFAULTS): Initialize GNULIB_UTIME, HAVE_UTIME,
6497         REPLACE_UTIME.
6498         * modules/utime-h (Depends-on): Add snippets.
6499         (Makefile.am): Substitute GNULIB_UTIME, HAVE_UTIME, REPLACE_UTIME.
6500         Insert snippets.
6501         * modules/utime: New file.
6502         * doc/posix-functions/utime.texi: Mention the new module.
6504 2017-04-29  Bruno Haible  <bruno@clisp.org>
6506         utime-h: Modernize handling of 'struct utimbuf'.
6507         * lib/utime.in.h: Include next <utime.h> if it exists.
6508         (utimbuf): Define to _utimbuf on native Windows.
6509         * m4/utime_h.m4 (gl_UTIME_H): Check for prerequisites of include_next.
6510         Set UTIME_H on native Windows.
6511         (gl_UTIME_MODULE_INDICATOR, gl_HEADER_UTIME_H_DEFAULTS): New macros.
6512         * modules/utime-h (Depends-on): Add include_next.
6513         (Makefile.am): Substitute also HAVE_UTIME_H, INCLUDE_NEXT,
6514         PRAGMA_SYSTEM_HEADER, PRAGMA_COLUMNS, NEXT_UTIME_H.
6516         * lib/utimens.c (utimbuf): Remove fallback definition.
6517         * m4/utimens.m4 (gl_UTIMENS): Don't require
6518         gl_CHECK_TYPE_STRUCT_UTIMBUF.
6519         * m4/utimbuf.m4: Remove file.
6520         * modules/utimens (Files): Remove m4/utimbuf.m4.
6522 2017-04-29  Bruno Haible  <bruno@clisp.org>
6524         Make use of module 'utime-h'.
6525         * modules/copy-file (Depends-on): Add utime-h.
6526         * lib/copy-file.c: Assume that <utime.h> exists.
6527         * m4/copy-file.m4 (gl_COPY_FILE): Don't test for <utime.h>.
6529         * modules/utimens (Depends-on): Add utime-h.
6530         * lib/utimens.c: Assume that <utime.h> exists.
6532 2017-04-29  Bruno Haible  <bruno@clisp.org>
6534         utime-h: New module.
6535         * m4/utime_h.m4: New file.
6536         * lib/utime.in.h: New file.
6537         * modules/utime-h: New file.
6538         * doc/posix-headers/utime.texi: Mention the new module.
6540         * tests/test-utime-h.c: New file.
6541         * modules/utime-h-tests: New file.
6543 2017-04-30  Bruno Haible  <bruno@clisp.org>
6545         Fix a few typos.
6546         * m4/fstat.m4 (gl_FUNC_FSTAT): Require AC_CANONICAL_HOST.
6547         * m4/stat.m4 (gl_FUNC_STAT): Fix comment.
6548         * doc/posix-functions/fstat.texi: Fix a plural typo.
6549         * doc/posix-functions/stat.texi: Likewise.
6550         * m4/include_next.m4: Update comments.
6552 2017-04-29  Bruno Haible  <bruno@clisp.org>
6554         error: Fix mistake in 2017-04-23 commit.
6555         * lib/error.c (print_errno_message): If GNULIB_STRERROR_R_POSIX is set,
6556         assume that strerror_r returns 'int', not 'char *'.
6558 2017-04-29  Bruno Haible  <bruno@clisp.org>
6560         stat: Fix time_t values and other problems on native Windows platforms.
6561         * doc/posix-functions/stat.texi: Mention the problem with the Microsoft
6562         implementations of stat().
6563         * lib/stat.c: Include filename.h instead of dosname.h. Include
6564         malloca.h, stat-w32.h.
6565         (is_unc_root): New function.
6566         (rpl_stat): New implementation for native Windows. Remove
6567         REPLACE_FUNC_STAT_DIR code.
6568         * m4/stat.m4 (gl_FUNC_STAT): On native Windows, set REPLACE_STAT always.
6569         Don't define REPLACE_FUNC_STAT_DIR.
6570         (gl_PREREQ_STAT): Require gl_HEADER_SYS_STAT_H.
6571         * modules/stat (Files): Add lib/stat-w32.h, lib/stat-w32.c.
6572         (Depends-on): Remove dosname. Add filename, malloca.
6573         (configure.ac): Also compile lib/stat-w32.c.
6575 2017-04-29  Bruno Haible  <bruno@clisp.org>
6577         fstat: Fix time_t values on native Windows platforms.
6578         * doc/posix-functions/fstat.texi: Mention the problem with st_*time.
6579         * lib/stat-w32.h: New file.
6580         * lib/stat-w32.c: New file.
6581         * lib/fstat.c: Don't include msvc-inval.h. Include msvc-nothrow.h,
6582         stat-w32.h instead.
6583         (fstat_nothrow): Remove function.
6584         (rpl_fstat): Implement by means of _gl_fstat_by_handle.
6585         * m4/fstat.m4 (gl_FUNC_FSTAT): On native Windows, set REPLACE_FSTAT
6586         always.
6587         (gl_PREREQ_FSTAT): Require gl_HEADER_SYS_STAT_H.
6588         * modules/fstat (Files): Add lib/stat-w32.h, lib/stat-w32.c.
6589         (Depends-on): Remove msvc-inval. Add pathmax, msvc-nothrow.
6590         (configure.ac): Also compile lib/stat-w32.c.
6592 2017-04-29  Paul Eggert  <eggert@cs.ucla.edu>
6594         getopt: port to Solaris 10 with circa-1997 glibc getopt.h
6595         Problem reported by Assaf Gordon and Gavin Smith in:
6596         http://lists.gnu.org/r/bug-gnulib/2017-04/msg00157.html
6597         * lib/getopt-pfx-ext.h (_getopt_internal) [__GETOPT_PREFIX]:
6598         #define this, too.
6600 2017-04-29  Bruno Haible  <bruno@clisp.org>
6602         strerror_r-posix: Fixes for MSVC 14.
6603         * lib/strerror_r.c: Include <stdarg.h>.
6604         (strerror_r): Provide error messages for errno values 100...140.
6605         * doc/posix-functions/strerror_r.texi: Mention the MSVC 14 problem.
6607 2017-04-28  Bruno Haible  <bruno@clisp.org>
6609         noreturn: New module.
6610         * lib/noreturn.h: New file.
6611         * modules/noreturn: New file.
6612         * tests/test-noreturn.c: New file.
6613         * modules/noreturn-tests: New file.
6614         * tests/test-noreturn-c++.cc: New file.
6615         * modules/noreturn-c++-tests: New file.
6617 2017-04-27  Bruno Haible  <bruno@clisp.org>
6619         wctype-h: Fix compilation error with the original mingw.org mingw.
6620         * m4/wctype_h.m4 (gl_WCTYPE_H): Test for <crtdefs.h>. Set
6621         HAVE_CRTDEFS_H.
6622         * modules/wctype-h (Makefile.am): Substitute HAVE_CRTDEFS_H.
6623         * lib/wctype.in.h (rpl_wint_t): If <crtdefs.h> does not exist, include
6624         <stddef.h> instead.
6625         Reported and proposed by Eli Zaretskii <eliz@gnu.org>.
6627 2017-04-26  Pádraig Brady  <P@draigBrady.com>
6629         nap.h: Fix compilation on non windows platforms
6630         * tests/nap.h: Move misplaced endif.
6632 2017-04-26  Pádraig Brady  <P@draigBrady.com>
6633         and Paul Eggert  <eggert@cs.ucla.edu>
6635         time_rz: fix heap buffer overflow vulnerability
6636         Reported and analyzed at https://bugzilla.redhat.com/CVE-2017-7476
6637         * lib/time_rz.c (save_abbr): Rearrange the calculation determining
6638         whether there is enough buffer space available, thus avoiding
6639         the problematic promotion of signed to unsigned causing an invalid
6640         comparison when zone_copy is more than ABBR_SIZE_MIN bytes beyond
6641         the start of the buffer.
6642         * tests/test-parse-datetime.c (main): Add a test case written by
6643         Paul Eggert, which overwrites enough of the heap so that
6644         standard glibc will fail with "free(): invalid pointer"
6645         without the patch applied.
6647 2017-04-26  Paul Eggert  <eggert@cs.ucla.edu>
6649         xalloc: add missing integer overflow check
6650         * lib/xalloc.h (x2nrealloc): Also check for multiplication
6651         overflow when P is null.
6653 2017-04-25  Paul Eggert  <eggert@cs.ucla.edu>
6655         parse-datetime: make it standalone
6656         * lib/parse-datetime.y: Include <stdarg.h>, for va_start etc.
6657         (_GL_ATTRIBUTE_FORMAT): New macro.
6658         These are needed to get './gnulib-tool --test parse-datetime' to work.
6660 2017-04-23  Bruno Haible  <bruno@clisp.org>
6662         nap.h: Port to native Windows.
6663         * tests/nap.h (nap_get_stat): Renamed from get_stat. Remove argument fd;
6664         use nap_fd instead. On native Windows, close and reopen nap_fd.
6665         (nap_works): Don't compare the ctimes, because on native Windows, these
6666         are the creation times.
6667         (nap): Update.
6669 2017-04-23  Bruno Haible  <bruno@clisp.org>
6671         nap.h: Fix logic.
6672         * tests/nap.h (nap): Avoid signed integer overflow in loop.
6674 2017-04-23  Bruno Haible  <bruno@clisp.org>
6676         Fix conflict between strerror_r-posix module and AC_FUNC_STRERROR_R.
6677         * modules/strerror_r-posix (configure.ac): Invoke gl_MODULE_INDICATOR.
6678         * lib/error.c: Test GNULIB_STRERROR_R_POSIX before testing
6679         HAVE_DECL_STRERROR_R, HAVE_STRERROR_R, or STRERROR_R_CHAR_P.
6680         * lib/argp-help.c (__argp_failure): Likewise.
6682 2017-04-23  Bruno Haible  <bruno@clisp.org>
6684         strerror_r-posix: Revert commits from 2016-10-16,2016-11-04,2016-11-14.
6685         * m4/strerror_r.m4: Revert changes since 2016-10-16.
6686         * lib/strerror_r.c: Likewise.
6688 2017-04-23  Paul Eggert  <eggert@cs.ucla.edu>
6690         Target a C99 subset, not a C89 subset
6691         For many years Gnulib has targeted C89 and has resisted using C99
6692         features, as some Gnulib-using programs still wanted to target
6693         C89.  As this no longer seems to be the case, relax the porting
6694         requirements to allow some C99 features.  This is merely a change
6695         to the documentation, to give other Gnulib developers a chance to
6696         weigh in on the topic.
6697         * doc/extern-inline.texi (extern inline):
6698         * doc/gnulib-readme.texi (Portability guidelines):
6699         * doc/gnulib-tool.texi (Initial import):
6700         * doc/gnulib.texi (Header files):
6701         Modernize to talk about C99 and C11 instead of C89 and C99.
6702         * doc/gnulib-readme.texi (Portability guidelines):
6703         Now a section, not merely a subsection, so that it
6704         can be split up.  Modernize a bit.
6705         (C language versions, C99 features assumed)
6706         (C99 features avoided):
6707         New sections.
6709 2017-04-23  Bruno Haible  <bruno@clisp.org>
6711         doc: New section "Modules that modify the way other modules work".
6712         * doc/gnulib.texi (Modules that modify the way other modules work): New
6713         section.
6715 2017-04-23  Bruno Haible  <bruno@clisp.org>
6717         stat-time: Update comments.
6718         * lib/stat-time.h: Fix reference regarding st_ctime on Windows.
6719         * tests/test-utimens-common.h: Add reference regarding st_ctime on
6720         Windows.
6722 2017-04-01  Bruno Haible  <bruno@clisp.org>
6724         glob: Fix more memory leaks.
6725         * lib/glob.c (glob): Free allocated memory before returning.
6726         Reported by Coverity via Tim Rühsen.
6728 2017-04-22  Paul Eggert  <eggert@cs.ucla.edu>
6730         poll: improve fast check for out-of-range NFD
6731         * lib/poll.c: Do not include intprops.h.
6732         (poll): Compare NFD to INT_MAX, not to TYPE_MAXIMUM (nfds_t) / 2.
6733         * modules/poll (Depends-on): Remove intprops.
6735         ftoastr: cite a newer paper
6736         * lib/ftoastr.c (FTOASTR): In comment, cite Andrysco et al. 2016
6737         instead of Loitsch 2010.
6739 2017-04-22  Bruno Haible  <bruno@clisp.org>
6741         poll: Enable argument check also in the Windows implementation.
6742         * lib/poll.c (poll) [WINDOWS_NATIVE]: Check value of nfd correctly.
6743         Reported by Paul Eggert.
6745 2017-04-22  Bruno Haible  <bruno@clisp.org>
6747         getlogin_r: Work around bug in Mac OS X 10.12.
6748         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test also against the Mac OS X
6749         bug.
6750         * lib/getlogin_r.c (getlogin_r): When getlogin_r returns a string of the
6751         given size minus 1, call getlogin_r a second time, on a larger buffer.
6752         * modules/getlogin_r (Depends-on): Add malloca.
6753         * doc/posix-functions/getlogin_r.texi: Mention the Mac OS X bug.
6755 2017-04-22  Paul Eggert  <eggert@cs.ucla.edu>
6757         parse-datetime: fix %z and prefer signed int
6758         %z problem reported by Pádraig Brady in:
6759         http://lists.gnu.org/r/bug-gnulib/2017-04/msg00103.html
6760         While fixing it, I decided to prefer signed ints to size_t, as
6761         they are less error-prone (e.g., ubsan catches overflow).
6762         * lib/parse-datetime.y (textint, parser_control, lookup_word, yylex)
6763         (parse_datetime2): Prefer ptrdiff_t to size_t for sizes and object
6764         counts, since signed integers make for better debugging.
6765         (date): Don’t assume %z works in printf formats.
6766         (debug_strfdatetime, debug_strfdate, debug_strftime): Use int for
6767         sizes of buffers known to be small, e.g., because we’re using snprintf.
6768         (parse_datetime2): Simplify call to debug_mktime_not_ok.
6770 2017-04-22  Bruno Haible  <bruno@clisp.org>
6772         *printf: Work around rounding bug on Mac OS X.
6773         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Test for Mac OS X 10.12 bug.
6774         * doc/posix-functions/*printf.texi: Mention the rounding bugs of
6775         Mac OS X and FreeBSD.
6776         * doc/glibc-functions/*printf.texi: Likewise.
6778 2017-04-22  Bruno Haible  <bruno@clisp.org>
6780         vasnprintf tests: Avoid warnings.
6781         * tests/test-vasnprintf-posix3.c (test_function, my_asnprintf,
6782         test_vasnprintf, test_asnprintf): Don't define if there's nothing to
6783         test.
6785 2017-04-22  Bruno Haible  <bruno@clisp.org>
6787         sys_file tests: Avoid warning.
6788         * tests/test-sys_file.c (main): Add a default clause to the switch
6789         statement.
6791 2017-04-22  Bruno Haible  <bruno@clisp.org>
6793         sethostname: Update doc.
6794         * doc/glibc-functions/sethostname.texi: Mention differing prototype on
6795         Mac OS X.
6797 2017-04-22  Bruno Haible  <bruno@clisp.org>
6799         quotearg tests: Avoid warnings.
6800         * tests/test-quotearg.c: Don't include test-quotearg.h if ENABLE_NLS is
6801         false.
6803 2017-04-22  Bruno Haible  <bruno@clisp.org>
6805         poll: Enable argument check.
6806         * lib/poll.c: Include intprops.h.
6807         (poll): Check value of nfd correctly.
6808         * modules/poll (Depends-on): Add intprops.
6810 2017-04-22  Bruno Haible  <bruno@clisp.org>
6812         get-rusage-data: Avoid warnings on Mac OS X.
6813         * lib/get-rusage-data.c: On Mac OS X, don't define
6814         get_rusage_data_via_setrlimit nor get_rusage_data_via_iterator.
6815         (get_rusage_data) [Mac OS X]: Just return 0.
6817 2017-04-22  Bruno Haible  <bruno@clisp.org>
6819         xbinary-io: Fix build error.
6820         * modules/xbinary-io (Depends-on): Add gettext-h.
6821         * lib/xbinary-io.c: Include gettext.h and define _().
6822         Reported by Gisle Vanem <gisle.vanem@gmail.com> in
6823         <https://lists.gnu.org/r/bug-gnulib/2017-04/msg00089.html>.
6825 2017-04-22  Paul Eggert  <eggert@cs.ucla.edu>
6827         parse-datetime: overflow and debug cleanups
6828         This long patch was triggered by this bug report from Ruediger Meier:
6829         http://lists.gnu.org/r/bug-gnulib/2017-04/msg00028.html
6830         I fixed the bug he noted, then found some others nearby, and then
6831         still others.  Oh my goodness, there were a lot of bugs.  I cleaned
6832         up some of the code to follow GNU standards while I was at it.
6833         * lib/parse-datetime.y (ISDIGIT): Remove; all callers changed to
6834         use c_isdigit.
6835         (EPOCH_YEAR): Remove; unused.
6836         (TM_YEAR_BASE): Now an enum rather than a macro.
6837         (HOUR, debug_strfdatetime): Multiply hour by 3600, not 60, to get
6838         time zone offset, since timezones now are in terms of seconds and
6839         not minutes.
6840         (long_time_t): Remove.  All uses replaced by time_t or intmax_t as
6841         appropriate.  Verify that intmax_t is wide enough.
6842         (time_overflow, time_zone_str): New functions, used to deal
6843         more reliably with overflow.
6844         (dbg_printf): Add printf attribute, to help catch integer width errors.
6845         (textint, relative_time, parser_control, time_zone_hhmm, set_hhmmss)
6846         (%union, to_hour, yylex, parse_datetime2):
6847         Use intmax_t instead of long int and/or long_time_t.
6848         All uses changed.
6849         (DBGBUFSIZE): Move earlier.
6850         (relative_time, set_hhmmss, parser_control):
6851         Just use int for nanoseconds and for time zones; that’s wide enough.
6852         (parser_control): Use bool for members like year_seen that can
6853         be booleans instead of counters.  All uses changed.
6854         Remove debug_default_input_timezone; no longer needed.
6855         All uses removed.
6856         (apply_relative_time): Return a bool overflow flag.
6857         All uses changed to check for overflow.
6858         (apply_relative_time, zone, date, relunit, relunit_snumber)
6859         (signed_seconds, unsigned_seconds, yylex, parse_datetime2):
6860         Check for integer overflow portably.
6861         (str_days): Use just int for N, as it’s wide enough.
6862         Prefer 2D char arrays to arrays of char * when it looks like
6863         2D is a win on typical platforms.
6864         Prefer snprintf to strncpy/strncat, for simplicity;
6865         all buffers are smaller than INT_MAX so this is safe.
6866         (TIME_ZONE_BUFSiZE, TM_YEAR_BUFSIZE): New constants.
6867         (debug_print_current_time): Don’t assume tv_nsec is of type long,
6868         as this is not true on x32.  Output "." before any nanoseconds.
6869         (debug_print_current_time, parse_datetime2):
6870         Output local zones using a more-consistent format.
6871         (debug_print_current_time, date, parse_datetime2):
6872         (main) [TEST]:
6873         Don’t assume time_t is the same width as long.
6874         (print_rel_part): New function, replacing ...
6875         (PRINT_REL_PART): ... this macro, which was removed.  All uses changed.
6876         (debug_print_relative_time): Use bool for boolean.
6877         (local_zone): dsts_seen now counts only tDST instances.
6878         (date): Fix printf of size_t to use %z.  Do not assume numeric
6879         tokens have negative values merely because the context suggests
6880         a syntax with "-" separating tokens.
6881         (time_zone_hhmm): Return bool success indicator, which checks for
6882         overflow.  Store result into PC->time_zone instead.  All callers
6883         changed.
6884         (tm_year_str): New function.  Return a bool success indicator and
6885         store the result into a buffer.  All callers changed.  Output the
6886         numerically correct string even if adding 1900 to the year would
6887         overflow.
6888         (to_tm_year): New function, replacing the old to_year.  All
6889         callers changed.
6890         (tm_diff): Sync with glibc.
6891         (lookup_word): Use to_uchar instead of doing it by hand.
6892         (TZBUFSIZE): Now local to the only function that needs it.
6893         (debug_strfdatetime): Simplify now that time zones are int seconds.
6894         (debug_strfdate): Work even if tm_year + 1900 would overflow.
6895         (get_effective_timezone): Remove.  All uses removed.
6896         (parse_datetime2): Use fprintf in pieces instead of snprintfing
6897         to a fixed-size buffer.  Don’t assume that gmtime succeeds iff
6898         localtime succeeds.  Use tm_gmtoff if available.  Simplify how
6899         ‘goto fail;’ works in conjunction with the ‘ok’ flag.
6900         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Don’t define
6901         TIME_T_FITS_IN_LONG_INT, as it is no longer needed.
6902         * modules/parse-datetime (Depends-on): Add inttypes.
6904 2017-04-21  Bruno Haible  <bruno@clisp.org>
6906         gettext-h: Avoid -Wundef warning.
6907         * lib/gettext.h: Test the value of ENABLE_NLS only if it is defined.
6908         Reported by Tim Rühsen <tim.ruehsen@gmx.de> in
6909         <https://lists.gnu.org/r/bug-gnulib/2017-04/msg00022.html>.
6911 2017-04-05  Tim Rühsen  <tim.ruehsen@gmx.de>
6913         error: Avoid "function declaration isn't a prototype" warning.
6914         * lib/error.c (strerror_r): Turn K&R C prototype to an ANSI C prototype.
6916 2017-04-21  Bruno Haible  <bruno@clisp.org>
6918         vasnprintf: Fix for MSVC 14.
6919         * lib/vasnprintf.c (USE_MSVC__SNPRINTF): New macro.
6920         Everywhere, use !HAVE_SNPRINTF_RETVAL_C99 || USE_MSVC__SNPRINTF instead
6921         of !HAVE_SNPRINTF_RETVAL_C99.
6923 2017-04-21  Bruno Haible  <bruno@clisp.org>
6925         mbrtowc tests: Fix test failures on MSVC 14.
6926         * tests/test-mbrtowc-w32.c (test_one_locale): Accept MSVC's conversion
6927         behaviour for invalid input.
6929 2017-04-21  Bruno Haible  <bruno@clisp.org>
6931         mbsinit: Fix for MSVC 14.
6932         * lib/mbsinit.c (mbsinit): If GNULIB_defined_mbstate_t, provide an
6933         implementation that is in sync with mbrtowc.c. On other platforms, use
6934         an adequate ad-hoc implementation.
6936 2017-04-21  Bruno Haible  <bruno@clisp.org>
6938         Fix test-mbrtowc5.sh failure on native Windows.
6939         * lib/setlocale.c (setlocale_unixlike): Accept "POSIX" as an alias for
6940         "C".
6942 2017-04-21  Bruno Haible  <bruno@clisp.org>
6944         Avoid accidental use of native Windows APIs on Cygwin.
6945         * lib/getaddrinfo.c (WINDOWS_NATIVE): Don't define on Cygwin.
6946         * lib/localcharset.c (WINDOWS_NATIVE): Likewise.
6947         * lib/localename.c (WINDOWS_NATIVE): Likewise.
6949 2017-04-20  Bruno Haible  <bruno@clisp.org>
6951         Remove red warnings from the generated MODULES.html.
6952         * modules/fcntl (Description): Disambiguate function references.
6953         * modules/getcwd-lgpl (Description): Likewise.
6954         * modules/hostent (Description): Likewise.
6955         * modules/servent (Description): Likewise.
6956         * modules/tempname (Description): Likewise.
6958 2017-04-20  Bruno Haible  <bruno@clisp.org>
6960         verify tests: Fix spurious failure with parallel make.
6961         * gnulib-tool (func_emit_tests_Makefile_am): Emit initialization of
6962         EXTRA_PROGRAMS.
6963         * tests/test-verify.sh: Build test-verify-try.o, not test-verify.o.
6964         * tests/test-verify-try.c: New file.
6965         * modules/verify-tests (Files): Add it.
6966         (EXTRA_PROGRAMS): Add test-verify-try.
6967         (MOSTLYCLEANFILES): Update accordingly.
6968         Reported by Adam James Stewart <ajstewart@anl.gov>.
6970 2017-04-18  Bruno Haible  <bruno@clisp.org>
6972         vma-iter: Fix compilation error on Solaris 7.
6973         * lib/vma-iter.c (vma_iterate): Treat missing MAP_ANONYMOUS on Solaris
6974         like on IRIX, OSF/1.
6975         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
6977 2017-04-18  Bruno Haible  <bruno@clisp.org>
6979         vma-iter: Fix conflict with module 'largefile' on 32-bit Solaris 9.
6980         * modules/vma-iter (configure.ac): Test whether <sys/procfs.h> can be
6981         included.
6982         * lib/vma-iter.c: On Solaris, test HAVE_SYS_PROCFS_H before including
6983         <sys/procfs.h>.
6984         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Don't define on Solaris when
6985         <sys/procfs.h> cannot be included.
6986         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
6988 2017-04-18  Bruno Haible  <bruno@clisp.org>
6990         getopt-gnu: Add comments.
6991         * m4/getopt.m4 (gl_FUNC_GETOPT_GNU): Add comments.
6992         * modules/getopt-gnu (configure.ac): Likewise.
6994 2017-04-16  Paul Eggert  <eggert@cs.ucla.edu>
6996         regex: port better to Solaris 10
6997         Solaris 10 <locale.h> includes <libintl.h>, which #defines
6998         gettext, and this causes a double #define.
6999         Problem reported by Gavin Smith in:
7000         http://lists.gnu.org/r/bug-gnulib/2017-04/msg00056.html
7001         * lib/regex_internal.h (gettext): #undef before #defining.
7003 2017-04-15  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
7005         intprops: improve comments
7006         * lib/intprops.h: Improve and shorten commentary.
7007         For the record, if we ever run into a pedantic compiler that
7008         behaves differently from GCC when converting an out-of-range value
7009         to a signed integer, we can work around the problem with something
7010         like the following code, where UCT is the signed counterpart of T
7011         (UCT is sometimes narrower than UT) and all callers are changed
7012         accordingly:
7013         #if __SUNPRO_C <= 0x5120
7014         # define _GL_INT_OP_WRAPV_VIA_UNSIGNED(a, b, op, uct, ut, t) \
7015            ((t) ((ut) (a) op (ut) (b)))
7016         #else
7017         # define _GL_INT_OP_WRAPV_VIA_UNSIGNED(a, b, op, uct, ut, t) \
7018            (TYPE_MINIMUM (t) <= (uct) ((ut) (a) op (ut) (b)) \
7019             ? ((t) (uct) (((ut) (a) op (ut) (b)) - TYPE_MINIMUM (t)) \
7020                + TYPE_MINIMUM (t)) \
7021             : (t) (uct) ((ut) (a) op (ut) (b)))
7022         #endif
7024 2017-04-14  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
7026         intprops: try to avoid tickling similar bugs
7027         * lib/intprops.h (_GL_INT_OP_CALC): Document that UT no longer
7028         needs to be the same width as T; it can be wider.
7029         Change callers so that UT is at least as wide as unsigned int,
7030         as I suspect that this is less likely to run into compiler bugs.
7032         intprops: port to Oracle Studio 12.3 x86
7033         Problem reported by Gavin Smith in:
7034         http://lists.gnu.org/r/bug-gnulib/2017-04/msg00049.html
7035         * lib/intprops.h (_GL_INT_OP_WRAPV_VIA_UNSIGNED):
7036         Convert unsigned to signed via the usual rather than the standard way,
7037         to avoid a compiler bug in Oracle Studio 12.3 x86.
7039 2017-04-08  Paul Eggert  <eggert@cs.ucla.edu>
7041         getopt: prefer - to _ in new file names
7042         * lib/getopt-cdefs.in.h: Rename from lib/getopt_cdefs.in.h.
7043         * lib/getopt-core.h: Rename from lib/getopt_core.h.
7044         * lib/getopt-ext.h: Rename from lib/getopt_ext.h.
7045         * lib/getopt-pfx-core.h: Rename from lib/getopt_pfx_core.h.
7046         * lib/getopt-pfx-ext.h: Rename from lib/getopt_pfx_ext.h.
7047         All uses changed.
7049         getopt: port recent getopt changes to macOS
7050         Problem reported by Harald Maier (Bug#26398).
7051         The macOS C compiler uses __nonnull for its own purposes and that
7052         clashes with glibc's __nonnull.
7053         * lib/getopt.in.h: Add comment for _GL_ARG_NONNULL snippet.
7054         * lib/getopt_cdefs.in.h (__nonnull): Remove.
7055         * lib/getopt_core.h (getopt):
7056         * lib/getopt_ext.h (getopt_long, getopt_long_only):
7057         Use _GL_ARG_NONNULL, not __nonnull.
7058         * lib/unistd.in.h: Move snippet hooks to before where the getopt
7059         .h files are included, so that _GL_ARG_NONNULL is defined in time.
7060         * modules/getopt-posix (Depends-on): Add snippet/arg-nonnull.
7061         (getopt.h): Interpolate _GL_ARG_NONNULL snippet.
7063 2017-04-06  Paul Eggert  <eggert@cs.ucla.edu>
7065         getopt-gnu: omit some duplicate code
7066         * m4/getopt.m4 (gl_FUNC_GETOPT_GNU): Don’t require
7067         gl_FUNC_GETOPT_POSIX, as the configure.ac code generated by
7068         gnulib-tool already does this.
7069         * modules/getopt-gnu (configure.ac): Omit code duplicated from
7070         getopt-posix, which we depend on.
7072         getopt-posix: use angle-bracket include
7073         * lib/getopt1.c: Include <config.h>, not "config.h".
7075 2017-04-06  Zack Weinberg  <zackw@panix.com>
7077         getopt: annotate files with relationship to glibc
7079         As the final act in this patchset, adjust the message at the top of
7080         each file to indicate which files are synced with glibc.  (This has
7081         already been done for most of the headers.)
7083         * lib/getopt.c, lib/getopt1.c, lib/getopt_int.h:
7084         Mention in top-of-file boilerplate that these files are shared
7085         between glibc and gnulib.
7088         getopt: split up getopt.in.h and eliminate __need_getopt
7090         Over in glibc, all of the __need macros are being phased out in favor
7091         of small headers that declare only the necessary components, as this
7092         is much simpler and less prone to bugs.  As getopt is shared with
7093         glibc, gnulib needs to do the same for __need_getopt.
7095         __need_getopt is misnamed; what it really means is "we want only the
7096         getopt features specified in POSIX, not the GNU extensions".  glibc
7097         placed the "meat" of getopt.h into getopt_core.h and getopt_ext.h;
7098         these files can be shared verbatim with gnulib.  The portability
7099         wrapper, on the other hand, they have renounced altogether; glibc's
7100         getopt.h will no longer be shared with gnulib at all.  In exchange,
7101         certain glibc-specific quirks (having to do with __posix_getopt) no
7102         longer need appear in gnulib's headers at all.
7104         This patch merges getopt_core.h and getopt_ext.h from glibc, and
7105         splits up the current gnulib-side portability wrapper into three
7106         additional headers: getopt_pfx_core.h and getopt_pfx_ext.h handle
7107         __GETOPT_PREFIX for their respective headers, getopt_cdefs.in.h
7108         handles things like __BEGIN_DECLS and __THROW, and getopt.in.h and
7109         unistd.in.h just use them.  All new files are clearly marked with
7110         whether they are shared with glibc.
7112         * lib/getopt.in.h: Eliminate __need_getopt.  Break up into ...
7113         * lib/getopt_core.h, lib/getopt_ext.h: ... these new files shared
7114         with glibc, and ...
7115         * lib/getopt_cdefs.in.h, lib/getopt_pfx_core.h
7116         * lib/getopt_pfx_ext.h: ... these new files not shared with glibc.
7117         * lib/unistd.in.h: Include getopt_cdefs.h and getopt_pfx_core.h,
7118         instead of defining __need_getopt and including the full getopt.h.
7120         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): Check for sys/cdefs.h.
7121         Define substitution variables GETOPT_CDEFS_H and HAVE_SYS_CDEFS_H.
7122         * modules/getopt-posix (Files): Add new headers and sort list.
7123         (Depends-on): No longer need snippet/arg-nonnull.
7124         (Makefile.am): Generate getopt_cdefs.h.
7127         getopt: better handling of ambiguous options
7129         glibc's getopt uses alloca to construct a linked list of possibilities
7130         for an "ambiguous" long option.  In gnulib, malloc should be used
7131         instead.  Providing for both cases complicates things a fair bit.
7133         This patch rewrites ambiguous-option handling to use a boolean vector
7134         instead of a linked list.  There is then only one allocation that
7135         might need freeing; in glibc it can honor __libc_use_alloca as usual,
7136         and in gnulib we define __libc_use_alloca to always be false, so we
7137         don't need ifdefs in the middle of the function.  This should also be
7138         slightly more efficient in the normal case of long options being fully
7139         spelled out -- I think most people aren't even aware they _can_
7140         sometimes abbreviate long options.
7142         One interesting consequence is that the list of possibilities is now
7143         printed in exactly the order they appear in the list of long options,
7144         instead of the first possibility being shuffled to the end.
7146         (The patch looks bigger than it really is because there's a fair bit
7147         of reindentation and code rearrangement.)
7149         * lib/getopt.c: When used standalone, define __libc_use_alloca
7150         as always false and alloca to abort if called.
7151         (process_long_option): Rewrite handling of ambiguous long options
7152         to use a single boolean vector, not a linked list; use
7153         __libc_use_alloca to decide whether to allocate this using alloca.
7156         getopt: refactor long-option handling
7158         There were two copies of the bulk of the code to handle long options.
7159         Now there is only one.
7161         This change temporarily removes the logic to avoid using alloca when
7162         standalone; the next patch in the series will restore it.
7164         * lib/getopt.c (process_long_option): New function split out
7165         from _getopt_internal_r.
7166         (_getopt_internal_r): Replace both copies of the long-option
7167         processing code with calls to process_long_option.
7170         getopt: tidy up _getopt_initialize a bit
7172         _getopt_data.__posixly_correct is completely redundant to
7173         _getopt_data.__ordering, and some work that logically belongs in
7174         _getopt_initialize was being done by _getopt_internal_r, making the
7175         code harder to understand.
7177         As a side effect, getenv will no longer be called if the first
7178         character of the options string is '+' or '-', which is probably a
7179         Good Thing.  (Perhaps we should have a flag character that
7180         specifically asks for the permutation behavior?)
7182         * lib/getopt_int.h (_getopt_data): Remove __posixly_correct field.
7183         * lib/getopt.c (_getopt_internal_r): Move some initialization code...
7184         (_getopt_initialize): ...here. Don't set d->__posixly_correct.
7187         getopt: merge from glibc: repetition reduction
7189         The definitions of the entry point functions 'getopt' and
7190         '__posix_getopt' can be made substantially less repetitive with a
7191         helper macro.
7193         While I was merging the const-correctness changes from gnulib into
7194         glibc I noticed there are still some unnecessary casts in
7195         _getopt_internal_r.
7197         * lib/getopt.c (getopt, __posix_getopt): Eliminate repetition with
7198         a macro.  Consistently cast 'argv' to 'char **' when calling
7199         _getopt_internal.
7200         (_getopt_internal_r): Remove unnecessary casts when calling exchange.
7203         getopt: clean up error reporting
7205         getopt can print a whole bunch of error messages, and when used
7206         standalone (from gnulib) it uses fprintf to do that.  But fprintf is a
7207         cancellation point and getopt isn't, and also applying fprintf to a
7208         stream in wide-character mode is not allowed.  So every single error
7209         reporting case has an #ifdef _LIBC block in which it calls internal
7210         libc functions instead.  The counterpart patch series in glibc makes
7211         it possible to simplify all of that down to a set of #defines at the
7212         top of the file; core code is written as if it is safe to just call
7213         fprintf, flockfile, and funlockfile.  (One caveat: it's *not* safe to
7214         call any *other* stdio functions.)
7216         * lib/getopt.c: When _LIBC is defined, define fprintf to
7217         __fxprintf_nocancel, flockfile to _IO_flockfile, and funlockfile
7218         to _IO_funlockfile.  When neither _LIBC nor
7219         _POSIX_THREAD_SAFE_FUNCTIONS is defined, define flockfile and
7220         funlockfile as no-ops.
7221         (_getopt_internal_r): Remove all internal #ifdef _LIBC blocks; the
7222         standalone error-printing code can now be used for libc as well.
7223         Add an flockfile/funlockfile pair around one case where the error
7224         message is printed in several chunks.  Don't use fputc.
7227         getopt: fix fencepost error in ambiguous-W-option handling
7229         getopt_long contains an undocumented (AFAICT) feature in which, if you
7230         put "W;" in the short-options list, then '-W foo' and '-Wfoo' are
7231         treated as equivalent to '--foo'.  This is implemented with a partial
7232         second copy of the code for handling long options, and that code
7233         increments optind one too many times when recovering from an ambiguous
7234         abbreviated option, which can cause the main loop to walk past the end
7235         of argv and crash.
7237         I discovered this while writing a test case that tries to exercise all
7238         of getopt's error reporting paths; I wouldn't be surprised to learn
7239         that this feature is never used by real applications.
7241         * lib/getopt.c (_getopt_internal_r): Don't increment
7242         d->optind a second time when reporting ambiguous -W options.
7245         getopt: clean up getopt.c and getopt1.c file headers
7247         In getopt.c, there is no need to include wchar.h at all, and it is
7248         safe nowadays to assume that stdlib.h does declare getenv (several
7249         other gnulib modules make this assumption).
7251         In getopt1.c, the #ifdef _LIBC block at the top can be simplified
7252         by using "" inclusions consistently, and there is no actual need to
7253         include stdlib.h (except in the #ifdef TEST block, where it should be
7254         unconditional), nor to provide a backup definition of NULL at all.
7256         * lib/getopt1.c: Simplify #ifdeffage at top of file.
7257         Move inclusion of stdlib.h to #ifdef TEST block and make
7258         unconditional.  Do not define NULL.
7259         * lib/getopt.c: Don't include wchar.h. No need to declare getenv.
7260         * m4/getopt.m4 (gl_PREREQ_GETENV): Delete.
7261         * modules/getopt-gnu, modules/getopt-posix: Don't call
7262         gl_PREREQ_GETENV.
7265         getopt: harmonize comments with glibc
7267         The comments explaining how the behavior of 'getopt' varies depending
7268         on whether it's the standalone version and whether there are special
7269         characters at the beginning of the options string were inconsistent
7270         between gnulib and glibc, and also out of sync with the code.
7272         * lib/getopt.c, lib/getopt_int.h: Harmonize comments with glibc.
7275         getopt: remove USE_NONOPTION_FLAGS
7277         getopt includes code to parse an environment variable named
7278         _XXX_GNU_nonoption_argv_flags_ (where XXX is the current process's PID
7279         in decimal); but all of it has been #ifdefed out since 2001, with no
7280         official way to turn it back on.
7282         According to commentary in glibc's config.h.in, bash version 2.0
7283         set this environment variable to indicate argv elements that were
7284         the result of glob expansion and therefore should not be treated
7285         as options, but the feature was "disabled later" because "it
7286         caused problems".  According to bash's CHANGES file, "later" was
7287         release 2.01; it gives no more detail about what the problems
7288         were.
7290         Version 2.0 of bash was released on the last day of 1996, and version
7291         2.01 in June of 1997.  Twenty years later, I think it is safe to
7292         assume that this environment variable isn't coming back.
7294         * lib/getopt_int.h: Remove all #ifdef USE_NONOPTION_FLAGS blocks.
7295         * lib/getopt.c: Likewise. Also remove SWAP_FLAGS and the
7296         __libc_argc and __libc_argv externs, which were only used by
7297         #ifdef USE_NONOPTION_FLAGS blocks.
7300         getopt: tabify, in preparation for merge with glibc
7302         glibc sticks to the GNU default of indenting with a mix of
7303         8-column tabs and spaces; make the gnulib copy match.
7305         getopt.h is not included because it is *not* going to be merged in its
7306         present form.
7308         * getopt.c, getopt1.c, getopt_int.h: Tabify.
7310 2017-04-02  Bruno Haible  <bruno@clisp.org>
7312         relocatable-lib-lgpl: Fix link error (regression from 2011-06-16).
7313         * modules/relocatable-lib-lgpl (configure.ac): Add AC_LIBOBJ invocation,
7314         like it was done in modules/relocatable-lib on 2011-05-21 and in
7315         modules/relocatable-prog on 2011-08-15.
7316         Reported by Reuben Thomas <rrt@sc3d.org>.
7318 2017-03-31  Bruno Haible  <bruno@clisp.org>
7320         glob: Fix invalid free() call.
7321         * lib/glob.c (glob): Reset malloc_home_dir when assigning a pointer to
7322         static storage to home_dir.
7323         Reported by Coverity via Tim Rühsen.
7325 2017-03-31  Bruno Haible  <bruno@clisp.org>
7327         glob: Fix memory leaks.
7328         * lib/glob.c (glob): Free allocated memory before returning.
7329         Reported by Coverity via Tim Rühsen.
7331 2017-03-31  Bruno Haible  <bruno@clisp.org>
7333         md5, sha1, sha256, sha512: Add comments regarding correctness.
7334         * lib/md5.h (buflen): Add comments regarding range.
7335         * lib/sha1.h (buflen): Likewise.
7336         * lib/sha256.h (buflen): Likewise.
7337         * lib/sha512.h (buflen): Likewise.
7338         * lib/md5.c (md5_process_bytes): Add comment why memmove is not needed.
7339         * lib/sha1.c (sha1_process_bytes): Likewise.
7340         * lib/sha256.c (sha256_process_bytes): Likewise.
7341         * lib/sha512.c (sha512_process_bytes): Likewise.
7342         Reported by Coverity via Tim Rühsen.
7344 2017-03-22  Paul Eggert  <eggert@cs.ucla.edu>
7346         getopt: merge from glibc
7347         This does not change anything substantial; it merely simplifies
7348         hypothetical merges back to glibc.
7349         * lib/getopt.c, lib/getopt.in.h, lib/getopt1.c, lib/getopt_int.h:
7350         Change copyright notice to match what is in glibc.
7351         * lib/getopt.c: Reorder includes to match glibc.  Remove uses of
7352         USE_IN_LIBIO.  Remove 'register'.  In __LIBC code, use
7353         __open_memstream rather than open_memstream and __glibc_likely
7354         instead of __builtin_expect.
7355         * lib/getopt.in.h (__posix_getopt) [!__GETOPT_PREFIX]: New decl.
7357 2017-03-21  Paul Eggert  <eggert@cs.ucla.edu>
7359         dfa: make [0-9] faster in non-C locales
7360         Problem reported by John P. Linderman (Bug#26193).
7361         * lib/dfa.c (parse_bracket_exp): Remove redundant assignment.
7362         If both ends of the range are ASCII digits, do not worry about
7363         multi-character collating sequences and the like.  Be consistent
7364         about using isalpha as a precondition for setbit_case_fold_c.
7366 2017-03-19  Bruno Haible  <bruno@clisp.org>
7368         lock: Fix compilation error with HP-UX IA64 cc.
7369         * lib/glthread/lock.h (pthread_rwlockattr_setkind_np): Don't declare
7370         weak on non-glibc platforms.
7372 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
7374         stdalign: tweak version# and test for HP-UX IA64
7375         Problems reported by Bruno Haible in:
7376         http://lists.gnu.org/r/bug-gnulib/2017-03/msg00078.html
7377         * lib/stdalign.in.h (_Alignas):
7378         * m4/stdalign.m4 (gl_STDALIGN_H):
7379         Use octal, not decimal, for __HP_cc version.  Perhaps HP formerly
7380         used octal (as that is how they document it), but it is decimal in
7381         practice now and the ancient implementations no longer matter.
7382         * tests/test-stdalign.c (main) [__HP_cc && __ia64]: Skip test.
7384 2017-03-19  Bruno Haible  <bruno@clisp.org>
7386         vma-iter: Add support for Solaris.
7387         * lib/vma-iter.c (vma_iterate): On Solaris, use the /proc filesystem
7388         approach.
7389         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on Solaris.
7390         * lib/get-rusage-as.c: Update comment about Solaris.
7391         * lib/get-rusage-data.c: Likewise.
7393 2017-03-19  Bruno Haible  <bruno@clisp.org>
7395         vma-iter: Prefer HP-UX specific API on HP-UX.
7396         * lib/vma-iter.c (vma_iterate): Move HP-UX specific implementation up.
7397         * lib/vma-iter.h: Update.
7398         Just in case HP-UX ever implements mquery().
7400 2017-03-18  Paul Eggert  <eggert@cs.ucla.edu>
7402         stdalign: restore previous behavior for HP-UX IA64
7403         See Bruno Haible's email in:
7404         http://lists.gnu.org/r/bug-gnulib/2017-03/msg00066.html
7405         which cites p 150 of a manual saying that 'aligned' works on Itanium.
7406         * lib/stdalign.in.h (_Alignas):
7407         Assume the '061200' applies to Itanium, not to PA-RISC.
7408         * m4/stdalign.m4 (gl_STDALIGN_H): Adjust to match stdalign.in.h.
7410 2017-03-17  Bruno Haible  <bruno@clisp.org>
7412         stat-time, timespec: Support use of the header files in C++ mode.
7413         * lib/stat-time.h: Add "C" linkage declaration.
7414         * lib/timespec.h: Likewise.
7416 2017-03-17  Bruno Haible  <bruno@clisp.org>
7418         stdalign: Make it work with HP-UX cc.
7419         * lib/stdalign.in.h (_Alignas): Don't define for HP-UX cc.
7420         * m4/stdalign.m4 (gl_STDALIGN_H): No need to enable the extra test
7421         for HP-UX cc.
7423 2017-03-17  Paul Eggert  <eggert@cs.ucla.edu>
7425         flexmember: try to detect HP-UX 11.31 cc bug
7426         Problem reported by Bruno Haible in:
7427         http://lists.gnu.org/r/bug-gnulib/2017-03/msg00066.html
7428         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
7429         Attempt to detect bug in HP-UX 11.31 cc.
7431 2017-03-16  Bruno Haible  <bruno@clisp.org>
7433         stdint: Fix test compilation failure with HP-UX 11 cc.
7434         * lib/stdint.in.h (_STDINT_MIN): Remove macro.
7435         (_STDINT_UNSIGNED_MIN, _STDINT_SIGNED_MIN): New macros.
7436         (PTRDIFF_MIN, SIG_ATOMIC_MIN, WCHAR_MIN, WINT_MIN): Define using
7437         _STDINT_UNSIGNED_MIN, _STDINT_SIGNED_MIN.
7439 2017-03-14  Bruno Haible  <bruno@clisp.org>
7441         gnulib-tool: Don't produce a tests directory with only snippet .h files.
7442         * gnulib-tool (func_modules_transitive_closure_separately): If
7443         testsrelated_modules ends up with no "real" modules, aside from
7444         modules with applicability 'all', set it to empty.
7446 2017-03-14  Bruno Haible  <bruno@clisp.org>
7448         vma-iter: Add support for HP-UX.
7449         * modules/vma-iter (configure.ac): Check for 'pstat_getprocvm'.
7450         * lib/vma-iter.c (vma_iterate): On HP-UX, use pstat_getprocvm().
7451         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on HP-UX.
7452         * lib/get-rusage-as.c: Update comment about HP-UX.
7453         * lib/get-rusage-data.c: Likewise.
7454         (get_rusage_data): Use get_rusage_data_via_setrlimit.
7456 2017-03-14  Bruno Haible  <bruno@clisp.org>
7458         limits-h: Make it work with HP-UX cc.
7459         * lib/limits.in.h (LLONG_MIN, LLONG_MAX, ULLONG_MAX): Define if not
7460         defined.
7462 2017-03-14  Bruno Haible  <bruno@clisp.org>
7464         Fix test failures on DragonFlyBSD.
7465         * tests/test-localeconv.c (main): Treat DragonFlyBSD like FreeBSD.
7466         * tests/test-select.h (test_bad_fd): Likewise.
7467         * tests/test-get-rusage-data.c (main): Treat DragonFlyBSD like OpenBSD.
7469 2017-03-14  Bruno Haible  <bruno@clisp.org>
7471         freadahead: Silence warning on DragonFlyBSD.
7472         * lib/freadahead.c (__sreadahead): Declare ourselves.
7474 2017-03-14  Bruno Haible  <bruno@clisp.org>
7476         vma-iter: Add comment about AIX.
7477         * lib/vma-iter.c: Add comment about why this module is not implemented
7478         on AIX.
7480 2017-03-14  Paul Eggert  <eggert@cs.ucla.edu>
7482         snippets: move unadjusted snippet sources to lib
7483         Problem reported by Michal Privoznik in:
7484         http://lists.gnu.org/r/bug-gnulib/2017-03/msg00039.html
7485         * lib/_Noreturn.h: Rename from build-aux/snippet/_Noreturn.h.
7486         * lib/arg-nonnull.h: Rename from build-aux/snippet/arg-nonnull.h.
7487         * lib/c++defs.h: Rename from build-aux/snippet/c++defs.h.
7488         * lib/unused-parameter.h: Rename from
7489         build-aux/snippet/unused-parameter.h.
7490         * lib/warn-on-use.h: Rename from build-aux/snippet/warn-on-use.h.
7491         * modules/snippet/_Noreturn (Files:, _NORETURN_H):
7492         * modules/snippet/arg-nonnull (Files:, ARG_NONNULL_H):
7493         * modules/snippet/c++defs (Files:, CXXDEFS_H):
7494         * modules/snippet/unused-parameter (Files:, UNUSED_PARAMETER_H):
7495         * modules/snippet/warn-on-use (Files: WARN_ON_USE_H):
7496         Adjust to file renamings.
7498 2017-03-14  Mathieu Lirzin  <mthl@gnu.org>
7500         gnulib-tool: don't automatically distribute files from top/
7501         * gnulib-tool (func_get_automake_snippet_unconditional): To be able to
7502         not distribute top/README-release by default, don't distribute files
7503         from top/ unconditionally.
7504         * modules/gnumakefile (Makefile.am): Distribute top/GNUmakefile.
7505         * modules/maintainer-makefile (Makefile.am): Distribute top/maint.mk.
7507 2017-03-14  Paul Eggert  <eggert@cs.ucla.edu>
7509         gnulib-tool: fix typo in comment output
7510         * gnulib-tool (func_import): Fix typo with previous change.
7512         snippets: work around GNU Make 3.82 VPATH
7513         When using 'gnulib-tool --gnu-make' on Emacs, and building
7514         the resulting tarball on Solaris 10 which bundles GNU Make 3.82,
7515         an out-of-source (VPATH) build failed because the sans-copyright
7516         snippet file was not built before the file that used it.
7517         Presumably this is some sort of VPATH thing.  Work around the
7518         problem by using the original snippet, i.e., don’t bother to
7519         remove its copyright notice.
7520         * modules/snippet/_Noreturn, modules/snippet/link-warning:
7521         Don’t assume Automake in comments.  Omit long-incorrect comment.
7522         * modules/snippet/arg-nonnull (BUILT_SOURCES, arg-nonnull.h)
7523         (MOSTLYCLEANFILES):
7524         * modules/snippet/c++defs (BUILT_SOURCES, c++defs.h)
7525         (MOSTLYCLEANFILES):
7526         * modules/snippet/unused-parameter (BUILT_SOURCES, unused-parameter.h)
7527         (MOSTLYCLEANFILES):
7528         * modules/snippet/warn-on-use (BUILT_SOURCES, warn-on-use.h)
7529         (MOSTLYCLEANFILES):
7530         Remove.
7531         * modules/snippet/arg-nonnull (ARG_NONNULL_H):
7532         * modules/snippet/c++defs (CXXDEFS_H):
7533         * modules/snippet/unused-parameter (UNUSED_PARAMETER_H):
7534         * modules/snippet/warn-on-use (WARN_ON_USE_H):
7535         Don’t bother to remove the copyright notice; just use the
7536         original snippet as-is.
7538 2017-03-13  Paul Eggert  <eggert@cs.ucla.edu>
7540         gnulib-tool: minor --gnu-make fixups
7541         * gnulib-tool (func_emit_lib_Makefile_am):
7542         Remove useless code that was a blind alley during implementation.
7543         Problem reported by Thien-Thi Nguyen in:
7544         http://lists.gnu.org/r/bug-gnulib/2017-03/msg00029.html
7545         (func_import): Note the "--gnu-make" option in the output comment.
7547 2017-03-12  Paul Eggert  <eggert@cs.ucla.edu>
7549         gnulib-tool: new option --gnu-make
7550         This is for applications like GNU Emacs that use GNU Make
7551         features instead of Automake.
7552         * doc/gnulib-tool.texi (Initial import): Mention --gnu-make.
7553         * doc/gnulib.texi (Unit test modules, Build robot for gnulib):
7554         Do not assume Automake.
7555         * gnulib-tool (func_determine_path_separator)
7556         (func_modules_transitive_closure, func_update_file)
7557         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
7558         (func_import): Add support for --gnu-make.
7560 2017-03-11  Paul Eggert  <eggert@cs.ucla.edu>
7562         gnulib-common.m4: avoid aclocal.m4 bloat
7563         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB):
7564         Hide AM_PROG_AR from aclocal, so that aclocal does not
7565         install irrelevant macro definitions into aclocal.m4.
7567 2017-03-10  Bruno Haible  <bruno@clisp.org>
7569         vma-iter: Let callers know about error.
7570         * lib/vma-iter.h (vma_iterate): Return 'int', not 'void'.
7571         * lib/vma-iter.c (vma_iterate): Return -1 in case of error.
7573 2017-03-05  Bruno Haible  <bruno@clisp.org>
7575         Fix value of LD for 64-bit compilers on AIX.
7576         * m4/lib-ld.m4 (AC_LIB_PROG_LD): For 64-bit compilers on AIX
7577         ("gcc -maix64" and "xlc -q64"), add option -b64 to $LD.
7579 2017-03-04  Paul Eggert  <eggert@cs.ucla.edu>
7581         dtotimespec: simplify
7582         * lib/dtotimespec.c (dtotimespec): Simplify.
7584 2017-03-04  Bruno Haible  <bruno@clisp.org>
7586         test-calloc-gnu: Reenable test also for GCC 7.
7587         * tests/test-calloc-gnu.c (eight): New function.
7588         (main): Don't skip test; use eight() instead.
7590 2017-03-04  Jim Meyering  <meyering@fb.com>
7592         test-calloc-gnu: port to GCC7
7593         * tests/test-calloc-gnu.c (main) [__GNUC__ >= 7]: Skip a test
7594         that attempts to calloc more than SIZE_MAX bytes, because GCC7
7595         and newer would detect that at compilation time.
7597 2017-03-04  Bruno Haible  <bruno@clisp.org>
7599         tests: Avoid compiler warning about uses of null_ptr.
7600         * tests/null-ptr.h: New file.
7601         * tests/test-canonicalize.c: Include null-ptr.h.
7602         (null_ptr): Remove function.
7603         * tests/test-canonicalize-lgpl.c: Likewise.
7604         * tests/test-memmem.c: Likewise.
7605         * tests/test-ptsname_r.c: Likewise.
7606         * modules/canonicalize-tests (Files): Add tests/null-ptr.h.
7607         * modules/canonicalize-lgpl-tests: Likewise.
7608         * modules/memmem-tests: Likewise.
7609         * modules/ptsname_r-tests: Likewise.
7610         Reported by Jim Meyering.
7612 2017-03-03  Bruno Haible  <bruno@clisp.org>
7614         doc: Mention Mac OS X deficiencies regarding semaphores.
7615         * doc/posix-functions/sem_init.texi: Mention status on Mac OS X.
7616         * doc/posix-functions/sem_destroy.texi: Likewise.
7617         * doc/posix-functions/sem_getvalue.texi: Likewise.
7619 2017-03-03  Bruno Haible  <bruno@clisp.org>
7621         lock tests: Fix test failure on Mac OS X (regression from 2017-01-05).
7622         Reported by Assaf Gordon <assafgordon@gmail.com> via
7623         Pádraig Brady <P@draigBrady.com>.
7624         * tests/test-lock.c: On Mac OS X, use named semaphores, not unnamed
7625         semaphores.
7626         (USE_NAMED_SEMAPHORE, USE_UNNAMED_SEMAPHORE): New macros.
7627         (atomic_int_semaphore): New macro.
7629 2017-02-28  Bruno Haible  <bruno@clisp.org>
7631         perror tests: Tweak for z/OS.
7632         Reported by Daniel Richard G. <skunk@iskunk.org>.
7633         * tests/test-perror.sh: Don't fail z/OS style perror output.
7635 2017-02-26  Bruno Haible  <bruno@clisp.org>
7637         nproc: Refactor large function.
7638         * lib/nproc.c (num_processors_ignoring_omp): New function, extracted
7639         from num_processors.
7640         (num_processors): In this function, only deal with OMP.
7642 2017-02-26  Pádraig Brady  <P@draigBrady.com>
7644         nproc: adjust handling of OpenMP environment variables
7645         to match the return value from omp_get_num_threads(), i.e.:
7646          - honor OMP_THREAD_LIMIT without OMP_NUM_THREADS
7647          - Treat 0 as an invalid value and ignore
7648         Also remove the call to omp_get_num_threads() because
7649         it's ineffective without the omp pragmas in place.
7650         * lib/nproc.c (parse_omp_threads): Return 0 if specified,
7651         so that it can be ignored.
7652         (num_processors): Honor OMP_THREAD_LIMIT even without
7653         OMP_NUM_THREADS being set.  Also fix a typo in the environment
7654         variable being checked, from the previous recent commit.
7656 2017-02-26  Pádraig Brady  <P@draigBrady.com>
7658         nproc: support nested OMP_NUM_THREADS, and OMP_THREAD_LIMIT
7659         * lib/nproc.c (parse_omp_threads): A new function refactored
7660         from num_processors() to support parsing both of the
7661         above environment variables.
7662         (num_processors): Prefer using omp_get_num_threads() with [_OPENMP]
7663         to accurately reflect the current OpenMP nesting level.
7664         Also support the OMP_THREAD_LIMIT environment variable
7665         to limit the max value determined from OMP_NUM_THREADS.
7666         * modules/nproc: Depend on minmax header.
7667         Suggested by Oliver Heimlich.
7669 2017-02-25  Bruno Haible  <bruno@clisp.org>
7671         maintainer-makefile: Fix AC_PROG_SED with autoconf cache.
7672         * m4/gnulib-common.m4 (AC_PROG_SED): Fix AC_CACHE_CHECK invocation.
7674 2017-02-24  Paul Eggert  <eggert@cs.ucla.edu>
7676         ftoastr: port to -Wdouble-promotion
7677         Work around -Wdouble-promotion false alarm in recent GCCs.
7678         * lib/ftoastr.c (PROMOTED_FLOAT): New macro.
7679         (ftoastr_snprintf, FTOASTR): Use it.
7681 2017-02-21  Bruno Haible  <bruno@clisp.org>
7683         lock tests: Fix build failure on GNU/Hurd (regression from 2017-01-05).
7684         Reported by Rene Saavedra <rennes@openmailbox.org> in
7685         https://debbugs.gnu.org/cgi/bugreport.cgi?bug=25821 via Paul Eggert.
7686         * lib/glthread/lock.h: On glibc systems without
7687         PTHREAD_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP, use the fallback
7688         implementation of rwlocks.
7689         * lib/glthread/lock.c: Likewise.
7691 2017-02-20  Bruno Haible  <bruno@clisp.org>
7693         lock tests: Fix build failure on z/OS.
7694         Reported by Daniel Richard G. <skunk@iskunk.org>.
7695         * modules/lock-tests (configure.ac): Test for <semaphore.h>.
7696         * tests/test-lock.c (USE_SEMAPHORE): Don't set if <semaphore.h> does not
7697         exist.
7699 2017-02-19  Bruno Haible  <bruno@clisp.org>
7701         havelib: Prefer the search path of /usr/bin/gcc over the one of $CC.
7702         This helps when CC=clang.
7703         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Prefer the search path
7704         of /usr/bin/gcc.
7706         havelib: Support overriding the result of AC_LIB_PREPARE_MULTILIB.
7707         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Use AC_CACHE_CHECK.
7709 2017-02-19  Bruno Haible  <bruno@clisp.org>
7711         gnulib-tool: Avoid conflict of havelib-tests with --single-configure.
7712         * gnulib_tool (func_create_testdir): Avoid havelib-tests when
7713         --with-tests --single-configure is specified.
7715 2017-02-16  Tim Rühsen  <tim.ruehsen@gmx.de>
7717         users.txt: Update links, use HTTPS where possible
7718         * users.txt: Updated to HTTPS where possible,
7719         fixed some links to new locations.
7721 2017-02-16  Bruno Haible  <bruno@clisp.org>
7723         xbinary-io: Fix inlining.
7724         * lib/xbinary-io.c: Set XBINARY_IO_INLINE, not XSETMODE_INLINE.
7726 2017-02-16  Paul Eggert  <eggert@cs.ucla.edu>
7728         xbinary-io: rename from xsetmode
7729         This patch is taken from suggestions by Bruno Haible in:
7730         http://lists.gnu.org/r/bug-gnulib/2017-02/msg00060.html
7731         http://lists.gnu.org/r/bug-gnulib/2017-02/msg00061.html
7732         * lib/binary-io.c (__gl_setmode_check): Set errno to EINVAL,
7733         not ENOTTY, when it is an inappropriate device.
7734         * lib/binary-io.h (SET_BINARY): Resurrect.
7735         * lib/xbinary-io.c: Rename from lib/xsetmode.c.
7736         (xset_binary_mode_error): Rename from xsetmode_error.
7737         * lib/xbinary-io.h: Rename from lib/xsetmode.h.
7738         (xset_binary_mode): Rename from xsetmode.
7739         All uses changed.
7740         * modules/xbinary-io: Rename from modules/xsetmode.
7741         Update file names.
7742         * tests/test-binary-io.sh (tmpfiles): Remove no-longer-used file name.
7743         * NEWS: Update to match revised behavior.
7745 2017-02-15  Paul Eggert  <eggert@cs.ucla.edu>
7747         tests: Adjust to recent SET_BINARY change
7748         * tests/test-binary-io.c (main):
7749         * tests/test-binary-io.sh: Remove test for SET_BINARY.
7750         * tests/test-closein.c, tests/test-fflush2.c, tests/test-ftell.c:
7751         * tests/test-ftello.c, tests/test-nonblocking-pipe-child.c:
7752         * tests/test-yesno.c: Use set_binary_mode, not SET_BINARY.
7754         xsetmode: new module
7755         This is to fix a problem noted by Eric Blake.
7756         Code was using xfreopen to change files to binary mode, but this
7757         fails for stdout when in append mode.  Such code should use
7758         xsetmode instead.
7759         * NEWS: Document incompatible changes to binary-io module.
7760         * lib/binary-io.c (__gl_setmode_check) [__DJGPP__ || __EMX__]:
7761         New function.
7762         * lib/binary-io.h (__gl_setmode): Rename from set_binary_mode.
7763         (set_binary_mode): New function, which also checks for tty.
7764         * lib/xsetmode.c, lib/xsetmode.h, modules/xsetmode: New files.
7766 2017-02-14  Paul Eggert  <eggert@cs.ucla.edu>
7768         headers: fix begin-end typos
7769         * lib/mbfile.h, lib/se-selinux.in.h: Fix typos by replacing
7770         _GL_INLINE_HEADER_BEGIN with _GL_INLINE_HEADER_END.
7772         selinux-h: port to PGI 16.10
7773         * lib/se-selinux.in.h: Don't assume that include_next skips over
7774         duplicate -I DIR options.
7776         argp: port to PGI 16.10
7777         * lib/argp-pin.c (dummy): Declare as needed to make file nonempty.
7779 2017-02-13  Darshit Shah  <darnir@gnu.org>
7781         unicase: Update function protoype to match definition.
7782         * lib/unicase/special-casing.h (gl_unicase_special_lookup): Gperf 3.1
7783         uses 'size_t' as the datatype for the 'len' parameter in the functions
7784         it generates. Update the prototype specified here to match the newly
7785         generated function.
7787 2017-02-12  Bruno Haible  <bruno@clisp.org>
7789         times test: Avoid gcc warnings on Linux/x32.
7790         * tests/test-times.c (main): Really cast printf arguments from clock_t
7791         to 'long int'.
7793 2017-02-12  Paul Eggert  <eggert@cs.ucla.edu>
7795         glob: port better to emscripten
7796         Problem reported by Bruno Haible in:
7797         http://lists.gnu.org/r/bug-gnulib/2017-02/msg00031.html
7798         * lib/glob.c (glob): Don't assume HAVE_GETPWNAM_R || _LIBC.
7800 2017-02-11  Bruno Haible  <bruno@clisp.org>
7802         host-cpu-c-abi: Support for 64-bit AIX, 32-bit armhf on arm64, hppa64.
7803         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Define also HOST_CPU.
7804         For the x32 ABI on x86_64, set HOST_CPU_C_ABI to 'x86_64-x32' and define
7805         both __x86_64__ and __x86_64_x32__. For the ELFv2 ABI on powerpc64,
7806         define both __powerpc64__ and __powerpc64_elfv2__. Recognize 64-bit
7807         compilation on AIX. Recognize 32-bit compilation on arm64/Linux.
7808         Distinguish hppa64 from hppa.
7810 2017-02-10  Bruno Haible  <bruno@clisp.org>
7812         search: Don't assume that tsearch() exists if 'VISIT' is defined.
7813         * m4/search_h.m4 (gl_SEARCH_H): Determine HAVE_TYPE_VISIT.
7814         * modules/search (Makefile.am): Substitute HAVE_TYPE_VISIT.
7815         * lib/search.in.h (VISIT): Define if HAVE_TYPE_VISIT is 0.
7817 2017-02-09  Bruno Haible  <bruno@clisp.org>
7819         doc: Don't mention obsolete AC_LIBTOOL_WIN32_DLL macro.
7820         * doc/gnulib.texi (Libtool and Windows): Recommend
7821         LT_INIT([win32-dll]) instead of AC_LIBTOOL_WIN32_DLL.
7822         Reported by Reuben Thomas <rrt@sc3d.org>.
7824 2017-02-08  Paul Eggert  <eggert@cs.ucla.edu>
7826         stddef-tests: port to SIZE_MAX <= INT_MAX
7827         * tests/test-stddef.c: Include <limits.h>, for INT_MAX.
7828         Do not assume that INT_MAX < SIZE_MAX.
7830 2017-02-01  Bruno Haible  <bruno@clisp.org>
7832         lock tests: Fix link error.
7833         * modules/lock-tests (test_rwlock1_LDADD): Add @YIELD_LIB@.
7834         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
7836 2017-01-31  Bruno Haible  <bruno@clisp.org>
7838         lock: Fix link error (regression from 2017-01-05).
7839         * lib/glthread/lock.h [USE_POSIX_THREADS_WEAK]: Declare also
7840         pthread_rwlockattr_init, pthread_rwlockattr_setkind_np,
7841         pthread_rwlockattr_destroy weak.
7842         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
7844 2017-01-30  Paul Eggert  <eggert@cs.ucla.edu>
7846         Port to PGI 16.10 x86-64
7847         This patch fixes one real bug in gl_anylinked_list2.h, along with
7848         some minor glitches that are not bugs.  It does not silence PGI’s
7849         thousands of bogus warnings when compiling test-intprops.c.
7850         Fortunately, the warnings do not cause a failure.
7851         * lib/c-ctype.h (_C_CTYPE_LOWER_A_THRU_F_N, _C_CTYPE_LOWER_N):
7852         Rename parameter to avoid PGI warning about ‘#define f(n) 'n'’.
7853         My goodness, PGI goes back a long ways - this predates C89!
7854         * lib/gl_anylinked_list2.h (ASYNCSAFE): Fix bug caught by PGI.
7855         For example, ASYNCSAFE (const void *) should expand to
7856         ‘const void *volatile’, not to ‘volatile const void *’.
7857         * lib/spawn.in.h (POSIX_SPAWN_USEVFORK): Don't define if already defined.
7858         * lib/verify.h (verify) [!__GNUC__]:
7859         Use shorter albeit meaningless string to bypass silly compiler limits.
7860         * tests/infinity.h (Infinityf, Infinityd, Infinityl) [__PGI]:
7861         * tests/nan.h (NaNf, NaNd, NaNl):
7862         Use static functions to avoid misguided compiler diagnostics.
7863         Is there some reason we don’t use static functions on all platforms?
7865 2017-01-20  Paul Eggert  <eggert@cs.ucla.edu>
7867         parse-datetime: handle timezones reentrantly
7868         This API change was prompted by a report by Pádraig Brady in:
7869         https://bug.debian.org/851934#10
7870         To help fix the bug, make parse_datetime2 more reentrant.
7871         * NEWS: Document this incompatible change.
7872         * lib/parse-datetime.h, lib/parse-datetime.y (parse_datetime2):
7873         Add two arguments, the timezone and the timezone name.
7874         All callers changed.  If TZ="..." is specified, use it for
7875         calculating defaults.
7876         * lib/parse-datetime.y: Don't include xalloc.h or use xmalloc, as
7877         this code should be usable in a library.
7878         (mktime_ok, get_effective_timezone):
7879         Accept timezone arg too.  All callers changed.
7880         (get_tz): Remove.
7881         (get_effective_timezone): Check for failures.
7883 2017-01-20  Eric Blake  <eblake@redhat.com>
7885         localename: port to cygwin 2.6
7886         * lib/localename.c (gl_locale_name_thread_unsafe): Add clause for
7887         Cygwin.
7888         * modules/localename (Depends-on): Add extensions, since
7889         NL_LOCALE_NAME() is not visible without it.
7891 2017-01-17  Pádraig Brady  <P@draigBrady.com>
7893         parse-datetime: fix dependence on AC_PROG_SED
7894         * modules/parse-datetime: Use `sed` directly like all other modules.
7895         Reported by J William Piggott
7897 2017-01-16  Paul Eggert  <eggert@cs.ucla.edu>
7899         intprops: update doc URLs
7900         * doc/intprops.texi (Integer Range Overflow): Update URLs.
7902 2017-01-16  Bruno Haible  <bruno@clisp.org>
7904         host-cpu-c-abi: Add support for armhf, arm64, x32, s390x.
7905         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Require gl_C_ASM. On x86_64
7906         systems, distinguish x86_64 and x32. On arm systems, distinguish arm,
7907         armhf, arm64, and no longer distinguish arm and armel. On s390x systems,
7908         distinguish s390 and s390x.
7909         * modules/host-cpu-c-abi (Files): Add m4/asm-underscore.m4.
7910         * NEWS: Mention the change regarding 'armel'.
7912 2017-01-15  Paul Eggert  <eggert@cs.ucla.edu>
7914         localeinfo: case_folded_counterparts and WEOF
7915         * NEWS: Document this.
7916         * lib/localeinfo.c (case_folded_counterparts):
7917         First arg is now wint_t, not wchar_t.  This generalizes the
7918         function to also work on WEOF, where it returns 0.
7920         dfa: port to gcc -fsanitize=undefined
7921         * lib/dfa.c (copy): Don’t pass NULL with size 0 to memcpy,
7922         as this runs afoul of gcc -fsanitize=undefined.
7924 2017-01-14  Paul Eggert  <eggert@cs.ucla.edu>
7926         strftime: %z is -00 if unknown
7927         * lib/strftime.c (DO_TZ_OFFSET): Omit arg 'negative'; it's now
7928         the caller's responsibility to set 'negative_number'.  All uses changed.
7929         (__strftime_internal): Put '-' before a zero UTC offset if the time
7930         zone abbreviation starts with "-", which is the recently-introduced
7931         tzdb convention for an unknown UTC offset that is arbitrarily set to 0.
7932         * tests/test-strftime.c: Test for this.
7934 2017-01-10  Paul Eggert  <eggert@cs.ucla.edu>
7936         dfa: port to older GCC
7937         Problem reported by Assaf Gordon in:
7938         http://lists.gnu.org/r/bug-gnulib/2017-01/msg00103.html
7939         * modules/c99: New module.  This merely attempts to use the latest
7940         C version, which should be enough to solve this particular problem.
7941         The idea is to document which Gnulib modules assume C99 or later.
7942         * modules/dfa (Depends-on): Add it.
7944 2017-01-10  Bruno Haible  <bruno@clisp.org>
7946         Update DEPENDENCIES.
7947         * DEPENDENCIES: List only https URLs. Update recommended version for
7948         autoconf, automake, gperf.
7950 2017-01-10  Jim Meyering  <meyering@fb.com>
7952         maint.mk: enforce spelling of "timestamp" (i.e., no space)
7953         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Also
7954         disallow /\btime\s+stamps?\b/.  Prefer "timestamp".
7956 2017-01-10  Paul Eggert  <eggert@cs.ucla.edu>
7958         dfa: minor simplification with emptyset
7959         * lib/dfa.c (build_state): Simplify by using emptyset.
7961 2017-01-09  Paul Eggert  <eggert@cs.ucla.edu>
7963         dfa: shrink constraints from 4 bits to 3
7964         * lib/dfa.c (newline_constraint, letter_constraint)
7965         (other_constraint, prev_newline_dependent)
7966         (prev_letter_dependent, NO_CONSTRAINT, BEGLINE_CONSTRAINT)
7967         (ENDLINE_CONSTRAINT, BEGWORD_CONSTRAINT, ENDWORD_CONSTRAINT)
7968         (LIMWORD_CONSTRAINT, NOTLIMWORD_CONSTRAINT):
7969         Constraints need only 3 bits, not 4.  Using smaller integers
7970         shrinks the code a bit and makes grep a tad faster on x86-64.
7972         dfa: omit unnecessary ptrdiff_t check
7973         * lib/dfa.c (alloc_position_set): Do not worry about ptrdiff_t
7974         overflow, since xnmalloc does that now.
7976         dfa: omit unnecessary allocation
7977         * lib/dfa.c (dfaanalyze): Do not allocate follow set, since
7978         an all-zero follow set works just fine.
7980         dfa: omit unused local
7981         * lib/dfa.c (build_state): Fix up recent change.
7983         maint: remove stray .texi files
7984         Although these were superseded by other files like
7985         doc/posix-functions/ctime.texi, the old files were not removed.
7986         * doc/ctime.texi, doc/inet_ntoa.texi: Remove.
7988 2017-01-08  Paul Eggert  <eggert@cs.ucla.edu>
7990         getprogname: fix port to IRIX
7991         * lib/getprogname.c (getprogname) [__sgi]:
7992         Don't dump core if malloc returns NULL.
7994         dfa: fix reallocation bug when matching newlines
7995         Problem reported for sed by S. Gilles (Bug#25390).
7996         * lib/dfa.c (realloc_trans_if_necessary): Move earlier.
7997         (dfastate): Reallocate before moving any newline transition ...
7998         (build_state): ... instead of reallocating here, where it is too late.
8000 2017-01-07  Tim Rühsen  <tim.ruehsen@gmx.de>  (tiny change)
8002         Avoid -Wundef warning about undefined WINDOWS_SOCKETS.
8003         * lib/sockets.h: Test if WINDOWS_SOCKETS is defined.
8005 2017-01-07  Tim Rühsen  <tim.ruehsen@gmx.de>  (tiny change)
8007         Avoid -Wundef warning about undefined __USE_FILE_OFFSET64.
8008         * lib/glob-libc.h: Test if __USE_FILE_OFFSET64 is defined.
8010 2017-01-07  Bruno Haible  <bruno@clisp.org>
8012         stdioext: Port to Minix 3.2 and newer.
8013         * lib/stdio-impl.h: Treat __minix like the newest NetBSD.
8014         * lib/fseeko.c (fseeko): Likewise.
8015         Reported by Nelson Beebe via Paul Eggert.
8017 2017-01-06  Paul Eggert  <eggert@cs.ucla.edu>
8019         getprogname: port to IRIX
8020         * lib/getprogname.c (getprogname): Port to IRIX.
8021         Based on an idea by Bastien Roucariès at:
8022         http://lists.gnu.org/r/bug-gnulib/2010-12/msg00096.html
8023         via code from Bruno Haible at:
8024         https://lists.gnu.org/r/bug-gnulib/2010-12/msg00249.html
8026         localename-tests: port to NetBSD 7
8027         Problem reported by Nelson H. F. Beebe.
8028         * tests/test-localename.c:
8029         Test newlocale and uselocale only if both exist.
8031         glob, intprops, xalloc: work around Clang bug
8032         Work around LLVM bug 16404, which is still not fixed.
8033         https://llvm.org/bugs/show_bug.cgi?id=16404
8034         Problem reported by Nelson H. F. Beebe.
8035         * lib/glob.c, lib/intprops.h, lib/xalloc-oversized.h (__has_builtin):
8036         Remove.
8037         * lib/glob.c (size_add_wrapv):
8038         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW, _GL_HAS_BUILTIN_OVERFLOW_P):
8039         * lib/xalloc-oversized.h (xalloc_oversized):
8040         Do not use overflow builtins if Clang.
8042         dfa: fix 'return' typo
8043         Problem reported by Nelson H. F. Beebe.
8044         * lib/dfa.c (merge): Fix typo that Sun compilers rejected.
8046 2017-01-05  Pádraig Brady  <P@draigBrady.com>
8048         parse-datetime: fix generated paths for coverage files
8049         * modules/parse-datetime: Adjust the paths for parse-datetime.y
8050         within parse-datetime.c, so that gcc generates appropriate .gcno
8051         files, allowing lcov to proceed without error.  Previously it
8052         would error trying to find "lib/lib/parse-datetime.y".
8054 2017-01-05  Pádraig Brady  <P@draigBrady.com>
8056         maint.mk: support parallel execution of coverage
8057         * top/maint.mk (coverage): Run dependencies serially,
8058         thus supporting parallel processing of each one,
8059         particularly build-coverage, which builds and runs tests.
8061 2017-01-05  Bruno Haible  <bruno@clisp.org>
8063         lock tests: Prefer semaphore over mutex.
8064         * tests/test-lock.c (USE_SEMAPHORE): New constant.
8065         (struct atomic_int, init_atomic_int, get_atomic_int_value,
8066         set_atomic_int_value) [USE_SEMAPHORE]: Define using a POSIX semaphore.
8067         Suggested by Torvald Riegel <triegel@redhat.com>.
8069 2017-01-05  Bruno Haible  <bruno@clisp.org>
8071         lock: Provide guarantee to avoid writer starvation for rwlocks.
8072         The rationale is: 1) Read-preferring read-write locks are prone to
8073         writer starvation if the number of reader threads multiplied by the
8074         percentage of time they have the lock held is too high. 2) Write-
8075         preferring read-write locks are the only reliable way to avoid this.
8076         3) There have been reports of 'test-lock' hanging on glibc systems
8077         http://lists.gnu.org/r/bug-gnulib/2017-01/msg00009.html,
8078         and glibc indeed implements read-preferring rwlocks by default, see
8079         http://man7.org/linux/man-pages/man3/pthread_rwlockattr_setkind_np.3.html
8080         and https://sourceware.org/bugzilla/show_bug.cgi?id=13701 .
8081         * m4/pthread_rwlock_rdlock.m4: New file.
8082         * m4/lock.m4 (gl_LOCK): Invoke gl_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER.
8083         * lib/glthread/lock.h [USE_POSIX_THREADS]: Test
8084         HAVE_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER. Use a different implementation
8085         of rwlock initialization on glibc systems without
8086         HAVE_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER. Use a different implementation
8087         of rwlocks altogether on non-glibc systems without
8088         HAVE_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER.
8089         [USE_PTH_THREADS]: Use a different implementation of rwlocks altogether.
8090         * lib/glthread/lock.c [USE_POSIX_THREADS]
8091         (glthread_rwlock_init_for_glibc): New function.
8092         [USE_POSIX_THREADS] (glthread_rwlock_rdlock_multithreaded): Update
8093         comment.
8094         [USE_PTH_THREADS]: New implementation of rwlocks.
8095         [USE_WINDOWS_THREADS] (glthread_rwlock_rdlock_func): Prefer writers over
8096         readers.
8097         * modules/lock (Files): Add m4/pthread_rwlock_rdlock.m4.
8098         (Depends-on): Add 'extensions'.
8099         * tests/test-rwlock1.c: New file.
8100         * lock-tests (Files): Add it.
8101         (Depends-on): Add usleep.
8102         (Makefile.am): Add test-rwlock1 to the tests.
8104 2017-01-05  Bruno Haible  <bruno@clisp.org>
8106         thread: Fix pth port.
8107         * lib/glthread/thread.h (pth_init): Declare weak.
8108         (glthread_create, glthread_sigmask, glthread_join, gl_thread_self,
8109         gl_thread_exit): Make sure Pth is initialized before invoking any Pth
8110         function.
8112 2017-01-04  Assaf Gordon  <assafgordon@gmail.com>
8114         parse-datetime: fix debug message on lone year number
8115         Input dates such as
8116           date -d "Apr 11 22:59:00 2011"
8117         are parsed as date (Apr 11, with default year 2016), then time, then a
8118         number (2011). Based on the combination of previously seen tokens,
8119         'digits_to_date_time' determines 2011 to be a year value.
8120         This fixes the debug messages to correctly show the updated year.
8121         Before:
8122             $ date --debug -d 'Apr 11 22:59:00 2011'
8123             date: parsed date part: (Y-M-D) 2016-04-11
8124             date: parsed time part: 22:59:00
8125             date: parsed number part: today/this/now
8126         After:
8127             $ ./src/date --debug -d 'Apr 11 22:59:00 2011'
8128             date: parsed date part: (Y-M-D) 2016-04-11
8129             date: parsed time part: 22:59:00
8130             date: parsed number part: year: 2011
8131         * lib/parse-datetime.y (struct parser_control): Add 'year_seen',
8132         'debug_year_seen' member fields.
8133         (digits_to_date_time): Update 'year_seen' as needed.
8134         (debug_print_current_time): Inform about year updates.
8135         (parse_datetime2): Initialize year_seen,debug_year_seen member fields.
8137         parse-datetime: fix local timezone debug messages
8138         "Local timezones" are strings that affect only DST relative to the
8139         default timezone. The debug messages in parse-datetime.y printed
8140         wrong information when encountering local timezones.
8141         Examples:
8142         Here EET/EEST are time zones ('zone' token, with values +02:00/+03:00):
8143              TZ=Asia/Tokyo ./src/date --debug -d '2011-12-11 EET'
8144              TZ=Asia/Tokyo ./src/date --debug -d '2011-06-11 EEST'
8145         When the default timezone relates to the zone strings, EET/EEST are
8146         parsed as local timezones (tLOCAL_ZONE), and only change the DST
8147         value (0/1, respectively):
8148              TZ=Europe/Helsinki ./src/date --debug -d '2011-12-11 EET'
8149              TZ=Europe/Helsinki ./src/date --debug -d '2011-06-11 EEST'
8150         * lib/parse-datetime.y (debug_print_current_time): If local timezone
8151         was seen, inform about DST change, don't print actual timezone.
8152         (debug_strfdatetime): If local timezone was seen, use default timezone
8153         (and adjust as needed) instead of using incorrect timezone.
8154         (parse_datetime2): Use correct time-zone source string, and adjust
8155         default timezone as needed.
8157         parse-datetime: add debug warning about DST changes
8158         Incorrect date arithmetic due to daylight saving time (DST) are a
8159         common (false) bug report in coreutils.
8160         Detect two such cases and print a warning:
8161         1. year/month/day adjustments (performed on 'struct tm'),
8162            where 'mktime' returns a different isdst value.
8163         2. hour/minute/seconds/ns adjustments (performed on 'time_t'),
8164            where the result of 'localtime(3)' on the value will return a
8165            different isdst value.
8166         Note: DST changes could be harmless or unnoticeable.
8167         Examples (with 'TZ=America/New_York'):
8168         Unnoticeable: result is 2016-Dec-14
8169            $ date -d '2016-06-15 EDT + 6 months' +%b
8170            Dec
8171         Unnoticeable: result is 2016-Dec-15 11:00:00
8172            $ date -d '2016-06-15 12:00:00 EDT + 6 months' +%F
8173            2016-12-15
8174         This is unexpected:
8175            $ date -d '2016-06-01 EDT + 6 months' +%F
8176            2016-11-30
8177         The new debug warnings will show:
8178            $ ./src/date --debug -d '2016-06-01 EDT + 6 months' +%F
8179            ...
8180            date: warning: daylight saving time changed after date adjustment
8181            ...
8182         * lib/parse-datetime.y (parse_datetime2): Detect DST changes, and
8183         print an appropriate warning message.
8185         parse-datetime: add debug warning about date arithmetic
8186         Date arithmetic are done directly on the fields of 'struct tm',
8187         which can result in invalid dates. Normalization with 'mktime(3)'
8188         will then produce a different date - which might cause unexpected
8189         results.
8190         Examples:
8191           '2016-10-31 - 1 month' => 2016-09-31 normalized to 2016-10-01.
8192           '2016-02-29 + 1 year'  => 2017-02-29 normalized to 2017-03-01.
8193         Note that date normalization is not inherently wrong and not rejected,
8194         as it has legitimate uses:
8195           '2016-12-29 + 5 days' => 2016-12-34 noramlized to 2017-01-03.
8196         If the user asked to adjust months but 'mday' changed,
8197         or user asked to adjust years but 'month' changed - warn about it.
8198             $ ./src/date --debug -d '2016-10-31 - 1 month'
8199             ...
8200             date: warning: when adding relative months/years, \
8201                            it is recommended to specify the 15th of the month
8202             ...
8203             date: warning: month/year adjustment resulted in shifted dates:
8204             date:      adjusted Y M D: 2016 09 31
8205             date:    normalized Y M D: 2010 10 01
8206             ...
8207         * lib/parse-datetime.y (parse_datetime2): Detect such cases and print
8208         a warning message. Improve recommendation of when to use 15 of the
8209         month or noon for date arithmetic.
8211         parse-datetime: fix debug message of relative part after timezone
8212         Relative part (e.g '+8 days') after a timezone string was not
8213         reported (was only reported after a timezone number). Due to the
8214         parser's structure, timezone strings with numbers were handled
8215         separately.
8216         before:
8217              # Timezone number + relative part: OK
8218              $ ./src/date --debug +%F -d '2013-10-30 00:00:00 +00:00 -8 days'
8219              ...
8220              date: parsed relative part: -8 day(s)
8221              # Timezone string + relative part: missing
8222              $ ./src/date --debug +%F -d '2013-10-30 00:00:00 UTC -8 days'
8223              [ missing message ]
8224         After: messages are printed in both cases.
8225         * lib/parse-datetime.y ('zone' token): Call debug_print_relative_time.
8227         parse-datetime: fix incorrect debug message on lone number
8228         A lone number is an absolute value, not a relative time part.
8229         before:
8230            $ date --debug -d '20130101'
8231            date: parsed number part: today/this/now
8232         After:
8233            $ ./src/date --debug -d '20130101'
8234            date: parsed number part: (Y-M-D) 2013-01-01
8235         * lib/parse-datetime.y ('item'/'number' tokens): Call
8236         'debug_print_current_time' instead of 'debug_print_relative_time'.
8238 2017-01-02  Paul Eggert  <eggert@cs.ucla.edu>
8240         doc: modernize for C11 etc.
8241         * doc/gnulib-readme.texi (Portability guidelines): Modernize a bit
8242         for C11, MinGW, etc.  This responds to Paul Smith's question in:
8243         http://lists.gnu.org/r/bug-gnulib/2017-01/msg00014.html
8245         dfa: prefer functions to FETCH_WC macro
8246         * lib/dfa.c (FETCH_WC): Remove, replacing with ...
8247         (fetch_wc, bracket_fetch_wc): ... new functions.  These store the
8248         wint_t result into DFA->lex.wctok instead of to a separate arg.
8249         All callers changed.  Move more local decls closer to where
8250         they're used.
8252         dfa: narrow more local var scopes
8253         * lib/dfa.c: Move more local decls to be more local.
8255         dfa: remove duplicate assignment
8256         Problem reported by Bruno Haible in:
8257         http://lists.gnu.org/r/bug-gnulib/2017-01/msg00007.html
8258         * lib/dfa.c (parse_bracket_exp): Simplify.
8260 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
8262         dfa: simplify constraint-dependency checking
8263         * lib/dfa.c (prev_newline_constraint, prev_letter_constraint)
8264         (prev_other_constraint): Remove.
8265         (prev_newline_dependent, prev_letter_dependent):
8266         Simplify, to avoid an unnecessary bitwise AND operation.
8268         dfa: prefer functions and constants to macros
8269         * lib/dfa.c: Prefer constants to macros where either will do.
8270         (streq, isasciidigit, newline_constraint)
8271         (letter_constraint, other_constraint, succeeds_in_context)
8272         (prev_newline_constraint, prev_letter_constraint)
8273         (prev_other_constraint, prev_newline_dependent)
8274         (prev_letter_dependent, accepting, accepts_in_context):
8275         Now static functions instead of function-like macros.
8276         Use lower-case names accordingly.  All uses changed.
8278         dfa: narrow more local var scopes
8279         * lib/dfa.c: Move some more local decls down to nearer where
8280         they're needed.
8282 2016-12-31  Jim Meyering  <meyering@fb.com>
8284         dfa: narrow the scope of many local variables
8285         * lib/dfa.c: Now that we are no longer constrained to c89, move
8286         declarations of many variables (often indices) "down" into the
8287         scope(s) where used or to the point of definition.  This is a
8288         no-semantic-change diff.
8290 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
8292         version-etc: new year
8293         * build-aux/gendocs.sh (version):
8294         * doc/gendocs_template:
8295         * doc/gendocs_template_min:
8296         * doc/gnulib.texi:
8297         * lib/version-etc.c (COPYRIGHT_YEAR):
8298         Update copyright dates by hand in templates and the like.
8299         * all files: Run 'make update-copyright'.
8301 2016-12-31  Eric Blake  <eblake@redhat.com>
8303         do-release-commit-and-tag: avoid shell syntax error
8304         * build-aux/do-release-commit-and-tag (curr_br): $branch can
8305         contain spaces when rebasing.
8307         maint.mk: hoist gnulib_dir definition earlier
8308         * top/maint.mk (gnulib_dir): Move near top of file.
8310 2016-12-31  Jim Meyering  <meyering@fb.com>
8312         maint.mk: do not always evaluate intprops-related shell
8313         * top/maint.mk (_intprops_names): Change := to just "=" to avoid
8314         using gnulib_dir undefined (gnulib_dir is defined later in the
8315         file, which will be fixed separately), and besides, there is no
8316         need to incur the cost of this shell invocation for every single
8317         use of this .mk file.  Reported by Eric Blake in
8318         https://lists.gnu.org/r/bug-gnulib/2016-12/msg00137.html
8320 2016-12-30  Jim Meyering  <meyering@fb.com>
8322         maint.mk: improve sc_prohibit_intprops_without_use
8323         * top/maint.mk (_intprops_names): Don't hard-code the list of
8324         symbol names.  Instead, derive it on the fly.
8326 2016-12-30  Paul Eggert  <eggert@cs.ucla.edu>
8328         dfa: shorten sbit, success
8329         * lib/dfa.c (struct regex_syntax.sbit):
8330         (struct dfa.success): Use char, not int, for array elements, since
8331         they are all in the range 0..7.
8333         dfa: simplify multibyte_prop etc.
8334         This follows up on a change made when dfa.c was in grep, namely grep
8335         commit c797046c7c13c2647182b919a79a4c5b4ecf82b1
8336         dated 2015-08-12 07:35:03 -0700, which removed unused multibyte support.
8337         That earlier simplification allows for some more simplification
8338         and trimming down here.
8339         * lib/dfa.c (struct mb_char_classes): New member nchars_alloc.
8340         (struct lexer_state): New mamber brack.
8341         (struct dfa, addtok_mb): multibyte_prop elements are now char, not int,
8342         since they must be in the range 0..3 now.
8343         Remove members mbcsets, nmbcsets, mbcsets_alloc, since
8344         the brack member now supersedes them.
8345         (parse_bracket_exp): Update dfa->lex.brack instead of dfa->mbcsets.
8346         (addtok): Use dfa->lex.brack instead of dfa->mbcsets.
8347         (dfaparse): Remove unnecessary initializations of already-0 storage.
8348         (free_mbdata): Free d->lex.brack.chars instead of d->mbcsets.
8349         (dfassbuild): No need to clear sup->mbcsets.
8351         dfa: minor performance tweak
8352         * lib/dfa.c (setbit_wc): Test < 0, not == EOF.
8354         dfa: wrap charclass inside a struct
8355         On my platform (gcc Ubuntu 5.4.0-6ubuntu1~16.04.4 x86-64,
8356         en_US.utf8 locale) this makes 'grep -Fi -f list.txt list.txt >out'
8357         about 5% faster, where list.txt is generated by 'aspell dump
8358         master | head -n 100000 >list.txt'.  See Bug#22239.
8359         * lib/dfa.c (charclass): Wrap inside a struct.  All uses changed.
8360         (CHARCLASS_INIT, tstbit, setbit, clrbit, zeroset, fillset, notset)
8361         (equal, emptyset, charclass_index, setbit_wc, setbit_case_fold_c):
8362         Adjust to this, e.g., by using charclass * rather than charclass.
8363         All callers changed as needed.
8364         (copyset): Remove.  All uses changed to simple assignment.
8365         (parse_bracket_exp): Use zeroset instead of memset.
8367 2016-12-30  Jim Meyering  <meyering@fb.com>
8369         maint.mk: update list of intprops.h symbol names
8370         * top/maint.mk (_intprops_names): Regenerate the list of symbol names.
8371         This avoids a false failure of the sc_prohibit_intprops_without_use
8372         rule in grep.
8374 2016-12-29  Eric Blake  <eblake@redhat.com>
8376         getopt: fix parallel test failure
8377         * tests/test-getopt-posix.c (TEST_GETOPT_TMP_NAME): Set name.
8378         * tests/test-getopt-gnu.c (TEST_GETOPT_TMP_NAME): Likewise.
8379         * tests/test-getopt-main.h (main): Use different file names
8380         in case test-getopt-gnu and test-getopt-posix run in parallel.
8382 2016-12-29  Paul Eggert  <eggert@cs.ucla.edu>
8384         xalloc: x2nrealloc check for ptrdiff_t overflow
8385         * lib/xalloc.h (x2nrealloc): Check for ptrdiff_t overflow, too.
8386         * modules/xalloc, modules/xvasprintf (Depends-on): Add stdint.
8388 2016-12-24  Bruno Haible  <bruno@clisp.org>
8390         lock test: Fix performance problem on multi-core machines.
8391         * tests/test-lock.c (USE_VOLATILE): New macro.
8392         (struct atomic_int): New type.
8393         (init_atomic_int, get_atomic_int_value, set_atomic_int_value): New
8394         functions.
8395         (lock_checker_done, rwlock_checker_done, reclock_checker_done): Define
8396         as 'struct atomic_int'.
8397         (lock_checker_thread, test_lock, rwlock_checker_thread, test_rwlock,
8398         reclock_checker_thread, test_recursive_lock): Use the new functions.
8399         Reported by Eric Blake in
8400         https://www.redhat.com/archives/libvir-list/2012-March/msg00854.html
8401         and by Pádraig Brady in
8402         http://lists.gnu.org/r/bug-gnulib/2016-12/msg00117.html.
8404 2016-12-19  Bruno Haible  <bruno@clisp.org>
8406         vma-iter: Fix endless loop on 64-bit Windows.
8407         * lib/vma-iter.c (vma_iterate): On Windows, use 'uintptr_t' instead of
8408         'unsigned long'.
8410 2016-12-19  Bruno Haible  <bruno@clisp.org>
8412         stdint: Fix WINT_MAX to match the gnulib provided wint_t on minw.
8413         * m4/wint_t.m4 (gt_TYPE_WINT_T): Define GNULIB_OVERRIDES_WINT_T here.
8414         * m4/stdint.m4 (gl_STDINT_H): Don't define GNULIB_OVERRIDES_WINT_T.
8415         Invoke gt_TYPE_WINT_T instead.
8416         (gl_STDINT_TYPE_PROPERTIES): Test GNULIB_OVERRIDES_WINT_T.
8417         * modules/stdint (Files): Add m4/wint_t.m4.
8418         * modules/wchar (Makefile.am): Substitute GNULIB_OVERRIDES_WINT_T.
8419         * modules/wctype-h (Makefile.am): Likewise.
8420         * lib/wchar.in.h (wint_t): Override if GNULIB_OVERRIDES_WINT_T is set,
8421         not only on MSVC.
8422         * lib/wctype.in.h (wint_t): Likewise.
8424 2016-12-19  Paul Eggert  <eggert@cs.ucla.edu>
8426         getopt-posix-tests: fix Makefile typo
8427         * modules/getopt-posix-tests (test_getopt_posix_LDADD):
8428         Fix typo: the last ‘_’ was missing in the name.
8429         I suspect that the typo explains this build failure:
8430         https://buildfarm.opencsw.org/buildbot/builders/ggrep-solaris10-sparc/builds/39
8431         although I can’t reproduce the problem on Solaris 10 sparc.
8433 2016-12-18  Paul Eggert  <eggert@cs.ucla.edu>
8435         dfa: improve worst-case 'replace' performance
8436         See my note in Bug#22357#71.
8437         * lib/dfa.c (insert, delete): Rework to avoid duplicate test.
8438         (merge_constrained): New function, which is like
8439         the old 'merge' function, except with a new argument C2.
8440         Simplify the body by avoiding the need for different sections
8441         of code depending on whether one input is exhausted.
8442         (merge): Use the new function.
8443         (delete): Return the constraint of the deleted position,
8444         not the entire position.  Caller changed.
8445         (replace): Change from O(N*(N + log N)) to O(N log N) algorithm.
8447 2016-12-18  Norihiro Tanaka  <noritnk@kcn.ne.jp>
8449         dfa: performance improvement for removal of epsilon closure
8450         See Bug#22357#32.
8451         * lib/dfa.c (delete): Use binary search to find deleted index.
8452         (replace): New function.  It replaces a position with the followed set.
8453         (epsclosure): Replace it with a new algorithm.  Update caller.
8455 2016-12-18  Bruno Haible  <bruno@clisp.org>
8457         Split tests for getopt-posix and getopt-gnu.
8458         * tests/test-getopt-posix.c: New file.
8459         * tests/test-getopt-gnu.c: New file, with code from test-getopt.c.
8460         * tests/test-getopt-main.h: Renamed from tests/test-getopt.c. Remove
8461         stuff moved to test-getopt-gnu.c. Test TEST_GETOPT_GNU instead of
8462         GNULIB_TEST_GETOPT_GNU.
8463         * modules/getopt-posix-tests (Files): Add test-getopt-posix.c,
8464         test-getopt-main.h. Remove test-getopt.c, test-getopt_long.h.
8465         (Makefile.am): Test test-getopt-posix instead of test-getopt.
8466         * modules/getopt-gnu-tests: New file.
8467         * modules/getopt-gnu (configure.ac): Don't define GNULIB_TEST_GETOPT_GNU.
8469 2016-12-18  Bruno Haible  <bruno@clisp.org>
8471         posix-modules: Add options for specific platforms.
8472         * posix-modules (func_usage): Document options --for-mingw, --for-msvc.
8473         (exclude_for_mingw, exclude_for_msvc, exclude): New variables.
8474         Invoke func_tmpdir. Filter out the excludes.
8476 2016-12-18  Bruno Haible  <bruno@clisp.org>
8478         getopt: Fix link error for users of getopt() in <unistd.h>.
8479         * lib/getopt.in.h (getopt etc.): Do the macro definitions also when
8480         __need_getopt is defined. Undefine all macros before defining them.
8481         * modules/getopt (Include): Clarify that including <unistd.h> is also
8482         OK.
8483         * tests/test-getopt.c: Add comment.
8485 2016-12-17  Bruno Haible  <bruno@clisp.org>
8487         getaddrinfo tests: Avoid compilation error on MSVC.
8488         * tests/test-getaddrinfo.c: Don't check the prototypes of freeaddrinfo,
8489         getaddrinfo on native Windows.
8491 2016-12-17  Bruno Haible  <bruno@clisp.org>
8493         getlogin, getlogin_r: Fix link errors on MSVC.
8494         * m4/getlogin.m4 (gl_LIB_GETLOGIN): New macro.
8495         * modules/getlogin (configure.ac): Require gl_LIB_GETLOGIN.
8496         (Link): New section.
8497         * modules/getlogin_r (Files): Add m4/getlogin.m4.
8498         (configure.ac): Require gl_LIB_GETLOGIN.
8499         (Link): New section.
8500         * NEWS: Mention the new link requirements.
8501         * modules/getlogin-tests (test_getlogin_LDADD): New variable.
8502         * modules/getlogin_r-tests (test_getlogin_r_LDADD): New variable.
8504 2016-12-17  Bruno Haible  <bruno@clisp.org>
8506         Un-deprecate the 'progname' module.
8507         * NEWS: Describe the appropriate use-cases of 'progname' versus
8508         'getprogname'. Based on discussion summary at
8509         http://lists.gnu.org/r/bug-gnulib/2016-10/msg00105.html
8511 2016-12-17  Bruno Haible  <bruno@clisp.org>
8513         Reorganize NEWS a bit.
8514         * NEWS: Move some not so important changes away from section
8515         "Important Notes".
8517 2016-12-17  Bruno Haible  <bruno@clisp.org>
8519         tanhf: Avoid redefinition error on MSVC.
8520         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_TANHF.
8521         * m4/tanhf.m4 (gl_FUNC_TANHF): Set REPLACE_TANHF to 1 if the function
8522         may be defined as an inline function.
8523         * modules/math (Makefile.am): Substitute REPLACE_TANHF.
8524         * lib/math.in.h (tanhf): Override if REPLACE_TANHF is 1.
8526 2016-12-17  Bruno Haible  <bruno@clisp.org>
8528         tanf: Avoid redefinition error on MSVC.
8529         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_TANF.
8530         * m4/tanf.m4 (gl_FUNC_TANF): Set REPLACE_TANF to 1 if the function
8531         may be defined as an inline function.
8532         * modules/math (Makefile.am): Substitute REPLACE_TANF.
8533         * lib/math.in.h (tanf): Override if REPLACE_TANF is 1.
8535 2016-12-17  Bruno Haible  <bruno@clisp.org>
8537         sqrtf: Avoid redefinition error on MSVC.
8538         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_SQRTF.
8539         * m4/sqrtf.m4 (gl_FUNC_SQRTF): Set REPLACE_SQRTF to 1 if the function
8540         may be defined as an inline function.
8541         * modules/math (Makefile.am): Substitute REPLACE_SQRTF.
8542         * lib/math.in.h (sqrtf): Override if REPLACE_SQRTF is 1.
8544 2016-12-17  Bruno Haible  <bruno@clisp.org>
8546         sinhf: Avoid redefinition error on MSVC.
8547         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_SINHF.
8548         * m4/sinhf.m4 (gl_FUNC_SINHF): Set REPLACE_SINHF to 1 if the function
8549         may be defined as an inline function.
8550         * modules/math (Makefile.am): Substitute REPLACE_SINHF.
8551         * lib/math.in.h (sinhf): Override if REPLACE_SINHF is 1.
8553 2016-12-17  Bruno Haible  <bruno@clisp.org>
8555         sinf: Avoid redefinition error on MSVC.
8556         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_SINF.
8557         * m4/sinf.m4 (gl_FUNC_SINF): Set REPLACE_SINF to 1 if the function
8558         may be defined as an inline function.
8559         * modules/math (Makefile.am): Substitute REPLACE_SINF.
8560         * lib/math.in.h (sinf): Override if REPLACE_SINF is 1.
8562 2016-12-17  Bruno Haible  <bruno@clisp.org>
8564         logf: Avoid redefinition error on MSVC.
8565         * m4/logf.m4 (gl_FUNC_LOGF): Set REPLACE_LOGF to 1 if the function
8566         may be defined as an inline function.
8568 2016-12-17  Bruno Haible  <bruno@clisp.org>
8570         log10l: Avoid redefinition error on MSVC.
8571         * m4/log10l.m4 (gl_FUNC_LOG10L): Set REPLACE_LOG10L to 1 if the function
8572         may be defined as an inline function.
8574 2016-12-17  Bruno Haible  <bruno@clisp.org>
8576         log10f: Avoid redefinition error on MSVC.
8577         * m4/log10f.m4 (gl_FUNC_LOG10F): Set REPLACE_LOG10F to 1 if the function
8578         may be defined as an inline function.
8580 2016-12-17  Bruno Haible  <bruno@clisp.org>
8582         hypotl: Avoid redefinition error on MSVC.
8583         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Set REPLACE_HYPOTL to 1 if the function
8584         may be defined as an inline function.
8586 2016-12-17  Bruno Haible  <bruno@clisp.org>
8588         hypotf: Avoid redefinition error on MSVC.
8589         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Set REPLACE_HYPOTF to 1 if the function
8590         may be defined as an inline function.
8592 2016-12-17  Bruno Haible  <bruno@clisp.org>
8594         fmodl: Avoid redefinition error on MSVC.
8595         * m4/fmodl.m4 (gl_FUNC_FMODL): Set REPLACE_FMODL to 1 if the function
8596         may be defined as an inline function.
8598 2016-12-17  Bruno Haible  <bruno@clisp.org>
8600         fmodf: Avoid redefinition error on MSVC.
8601         * m4/fmodf.m4 (gl_FUNC_FMODF): Set REPLACE_FMODF to 1 if the function
8602         may be defined as an inline function.
8604 2016-12-17  Bruno Haible  <bruno@clisp.org>
8606         expf: Avoid redefinition error on MSVC.
8607         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_EXPF.
8608         * m4/expf.m4 (gl_FUNC_EXPF): Set REPLACE_EXPF to 1 if the function
8609         may be defined as an inline function.
8610         * modules/math (Makefile.am): Substitute REPLACE_EXPF.
8611         * lib/math.in.h (expf): Override if REPLACE_EXPF is 1.
8613 2016-12-17  Bruno Haible  <bruno@clisp.org>
8615         coshf: Avoid redefinition error on MSVC.
8616         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_COSHF.
8617         * m4/coshf.m4 (gl_FUNC_COSHF): Set REPLACE_COSHF to 1 if the function
8618         may be defined as an inline function.
8619         * modules/math (Makefile.am): Substitute REPLACE_COSHF.
8620         * lib/math.in.h (coshf): Override if REPLACE_COSHF is 1.
8622 2016-12-17  Bruno Haible  <bruno@clisp.org>
8624         cosf: Avoid redefinition error on MSVC.
8625         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_COSF.
8626         * m4/cosf.m4 (gl_FUNC_COSF): Set REPLACE_COSF to 1 if the function
8627         may be defined as an inline function.
8628         * modules/math (Makefile.am): Substitute REPLACE_COSF.
8629         * lib/math.in.h (cosf): Override if REPLACE_COSF is 1.
8631 2016-12-17  Bruno Haible  <bruno@clisp.org>
8633         atan2f: Avoid redefinition error on MSVC.
8634         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_ATAN2F.
8635         * m4/atan2f.m4 (gl_FUNC_ATAN2F): Set REPLACE_ATAN2F to 1 if the function
8636         may be defined as an inline function.
8637         * modules/math (Makefile.am): Substitute REPLACE_ATAN2F.
8638         * lib/math.in.h (atan2f): Override if REPLACE_ATAN2F is 1.
8640 2016-12-17  Bruno Haible  <bruno@clisp.org>
8642         atanf: Avoid redefinition error on MSVC.
8643         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_ATANF.
8644         * m4/atanf.m4 (gl_FUNC_ATANF): Set REPLACE_ATANF to 1 if the function
8645         may be defined as an inline function.
8646         * modules/math (Makefile.am): Substitute REPLACE_ATANF.
8647         * lib/math.in.h (atanf): Override if REPLACE_ATANF is 1.
8649 2016-12-17  Bruno Haible  <bruno@clisp.org>
8651         asinf: Avoid redefinition error on MSVC.
8652         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_ASINF.
8653         * m4/asinf.m4 (gl_FUNC_ASINF): Set REPLACE_ASINF to 1 if the function
8654         may be defined as an inline function.
8655         * modules/math (Makefile.am): Substitute REPLACE_ASINF.
8656         * lib/math.in.h (asinf): Override if REPLACE_ASINF is 1.
8658 2016-12-17  Bruno Haible  <bruno@clisp.org>
8660         acosf: Avoid redefinition error on MSVC.
8661         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_ACOSF.
8662         * m4/acosf.m4 (gl_FUNC_ACOSF): Set REPLACE_ACOSF to 1 if the function
8663         may be defined as an inline function.
8664         * modules/math (Makefile.am): Substitute REPLACE_ACOSF.
8665         * lib/math.in.h (acosf): Override if REPLACE_ACOSF is 1.
8667 2016-12-17  Bruno Haible  <bruno@clisp.org>
8669         Avoid redefinition errors on MSVC.
8670         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): Set REPLACE_SNPRINTF to 1 if
8671         the function may be defined as an inline function.
8672         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): Set REPLACE_VSNPRINTF to 1 if
8673         the function may be defined as an inline function.
8675 2016-12-17  Bruno Haible  <bruno@clisp.org>
8677         Avoid redefinition errors on MSVC.
8678         * lib/stdio.in.h: Include <stdlib.h> and <io.h> when necessary.
8679         * lib/unistd.in.h: Include <stdio.h> when necessary.
8681 2016-12-17  Bruno Haible  <bruno@clisp.org>
8683         stdint: Fix WINT_MAX to match the gnulib provided wint_t on MSVC.
8684         * m4/stdint.m4 (gl_STDINT_H): Define GNULIB_OVERRIDES_WINT_T.
8685         * modules/stdint (Makefile.am): Substitute GNULIB_OVERRIDES_WINT_T.
8686         * lib/stdint.in.h [GNULIB_OVERRIDES_WINT_T]: Redefine WINT_MIN and
8687         WINT_MAX.
8689 2016-12-17  Bruno Haible  <bruno@clisp.org>
8691         Avoid autoconf warning.
8692         * modules/frexpl (configure.ac): Require, not invoke, gl_FUNC_FREXPL.
8693         * modules/frexp (configure.ac): Require, not invoke, gl_FUNC_FREXP.
8695 2016-12-17  Bruno Haible  <bruno@clisp.org>
8697         fpending: Revert workaround against Emacs bug.
8698         * lib/stdio-impl.h [__MINGW32__]: Revert conditional.
8699         The Emacs bug is fixed by Eli Zaretskii in
8700         http://lists.gnu.org/r/emacs-devel/2016-12/msg00715.html
8702 2016-12-17  Bruno Haible  <bruno@clisp.org>
8704         getlogin_r tests: Port to mingw.
8705         * tests/test-getlogin_r.c: Don't include <pwd.h> on native Windows. Fixes
8706         regression introduced on 2014-05-19.
8708 2016-12-17  Bruno Haible  <bruno@clisp.org>
8710         getlogin: Port to newer mingw.
8711         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_GETLOGIN.
8712         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Set HAVE_DECL_GETLOGIN.
8713         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETLOGIN, not
8714         HAVE_GETLOGIN.
8715         * lib/unistd.in.h (getlogin): Test HAVE_DECL_GETLOGIN, not
8716         HAVE_GETLOGIN.
8717         * doc/posix-functions/getlogin.texi: Mention the issue.
8718         * tests/test-getlogin.c: Don't include <pwd.h> on native Windows. Fixes
8719         regression introduced on 2014-05-14.
8721 2016-12-16  Paul Eggert  <eggert@cs.ucla.edu>
8723         builtin-expect: improve port to IBM XL C
8724         Problem reported for z/OS by Daniel Richard G. in:
8725         http://lists.gnu.org/r/bug-gnulib/2016-12/msg00079.html
8726         * m4/builtin-expect.m4 (gl___BUILTIN_EXPECT):
8727         Test for <builtins.h> directly.
8729         builtin-expect: port to IBM XL C
8730         Problem reported for z/OS by Daniel Richard G. in:
8731         http://lists.gnu.org/r/bug-gnulib/2016-12/msg00074.html
8732         * m4/builtin-expect.m4 (gl___BUILTIN_EXPECT):
8733         Also allow __builtin_expect defined via a standard include file.
8735         regex: fix dependency
8736         Problem reported by Bruno Haible in:
8737         http://lists.gnu.org/r/bug-gnulib/2016-12/msg00073.html
8738         * modules/regex: Depend on builtin-expect.
8740         builtin-expect: new module
8741         Fix fnmatch to use it.
8742         Problem reported for z/OS by Daniel Richard G.
8743         * lib/fnmatch.c (__builtin_expect):
8744         * lib/glob.c (__builtin_expect):
8745         * lib/grantpt.c (__builtin_expect) [!_LIBC]:
8746         * lib/memmem.c (__builtin_expect) [!_LIBC]:
8747         * lib/scandir.c (__builtin_expect):
8748         * lib/strstr.c (__builtin_expect) [!_LIBC]:
8749         Remove macro; config.h now does this.
8750         * lib/gl_anytreehash_list1.h (add_to_bucket):
8751         * lib/regex_internal.h (BE):
8752         Assume __builtin_expect.
8753         * m4/builtin-expect.m4, modules/builtin-expect: New files.
8754         * modules/avltreehash-list, modules/fnmatch, modules/glob:
8755         * modules/grantpt, modules/memmem-simple, modules/rbtreehash-list:
8756         * modules/scandir, modules/strstr-simple:
8757         Depend on builtin-expect.
8759 2016-12-15  Bruno Haible  <bruno@clisp.org>
8761         init.sh: Add possibility to not delete temporary files.
8762         * tests/init.sh (remove_tmp_): If the environment variable KEEP is set
8763         to yes, don't erase the temporary directory.
8765 2016-12-16  Paul Eggert  <eggert@cs.ucla.edu>
8767         regex: fix integer-overflow bug in never-used code
8768         Problem reported by Clément Pit–Claudel in:
8769         http://lists.gnu.org/r/emacs-devel/2016-12/msg00654.html
8770         * lib/regex_internal.h: Include intprops.h.
8771         * lib/regexec.c (re_search_2_stub): Use it to avoid undefined
8772         behavior on integer overflow.
8773         * modules/regex (Depends-on): Add intprops.
8775         fpending: fix port to MinGW on Emacs
8776         * lib/stdio-impl.h [__MINGW32__]: Do not include errno.h.
8777         Problem reported by Eli Zaretskii in:
8778         http://lists.gnu.org/r/emacs-devel/2016-12/msg00642.html
8779         Is Plan 9 still a valid porting target, anyway?
8781 2016-12-15  Paul Eggert  <eggert@cs.ucla.edu>
8783         safe-alloc: use xalloc-oversized
8784         * lib/safe-alloc.c: Include xalloc-oversized.h.
8785         (safe_alloc_oversized): Remove.  All uses changed to xalloc_oversized.
8786         * modules/safe-alloc (Depends-on): Add xalloc-oversized.
8788         xalloc: do not exceed PTRDIFF_MAX
8789         * lib/xmalloc.c (xcalloc) [HAVE_GNU_CALLOC]: Do not omit
8790         xalloc_oversized check, since objects larger than PTRDIFF_MAX
8791         bytes have pointer-subtraction problems.
8793         malloca: do not exceed PTRDIFF_MAX
8794         * lib/malloca.h: Include xalloc-oversized.
8795         (nmalloca): Use xalloc_oversized instead of rolling our own.
8796         * modules/malloca (Depends-on):
8797         * modules/relocatable-prog-wrapper (Depends-on):
8798         Add xalloc-oversized.
8800         quotearg: pacify GCC better
8801         * modules/quotearg (Depends-on): Add minmax, stdint.
8802         * lib/quotearg.c: Include minmax.h, stdint.h.
8803         (nslots): Now int, as there seems little point to going to extra
8804         work merely to support the INT_MAX slot, which nobody ever uses.
8805         (quotearg_n_options): Redo size-overflow checks to pacify GCC
8806         and to catch (mostly-theoretical) ptrdiff_t problems too.
8807         This can be done via one comparison.
8809 2016-12-14  Paul Eggert  <eggert@cs.ucla.edu>
8811         xalloc-oversized: check for PTRDIFF_MAX too
8812         This avoids undefined behavior when subtracting pointers to
8813         objects containing more than PTRDIFF_MAX bytes.
8814         * lib/xalloc-oversized.h (__xalloc_oversized, xalloc_oversized):
8815         Also return 1 if the result would exceed PTRDIFF_MAX>
8816         * modules/xalloc-oversized (Depends-on):
8817         Add stdint.
8819         dfa: fix glitches in previous commit
8820         Sorry, I don't know how I managed to commit the wrong version.
8821         * lib/dfa.c (MIN): Move up.
8822         (xpalloc): Now static.
8824         dfa: fix some unlikely integer overflows
8825         I found these while reviewing the recent Coverity-related fix.
8826         This patch changes part of dfa.c to prefer ptrdiff_t instead of
8827         size_t for object counts.  Using ptrdiff_t is the style typically
8828         used in Emacs; although it wastes a sign bit as sizes can never be
8829         negative, it makes -fsanitize=undefined more likely to catch
8830         integer overflows in index calculation, and nowadays the upside is
8831         typically more important than the downside.  Although perhaps the
8832         rest of dfa.c should be changed to prefer ptrdiff_t as well (much
8833         of dfa.c already does, since it uses state_num which is signed),
8834         that is a bigger change and is not needed to fix the bugs I found.
8835         * lib/dfa.c: Include stdint.h and intprops.h.
8836         (TOKEN_MAX): New macro.
8837         (position_set, struct mb_char_classes, struct dfa, maybe_realloc)
8838         (charclass_index, parse_bracket_exp, addtok, insert, merge)
8839         (realloc_trans_if_necessary, free_mbdata):
8840         Use ptrdiff_t instead of size_t for object counts related to xpalloc.
8841         This is safe because xpalloc checks that the sizes do not exceed
8842         either SIZE_MAX or PTRDIFF_MAX.
8843         (xpalloc): New function, mostly taken from Emacs.
8844         (maybe_realloc, copy, realloc_trans_if_necessary): Use it.
8845         (maybe_realloc): Add NITEMS_MAX to signature.  All callers changed.
8846         (charclass_index): Check for integer overflow in computing
8847         charclass index; it must not exceed TOKEN_MAX - CSET, as CSET is
8848         added to it later.
8849         (alloc_position_set): Check for integer overflow.  On typical
8850         platforms this check has zero overhead, since the constant
8851         expression is false.
8852         (realloc_trans_if_necessary):
8853         Remove assertion, which I hope Coverity no longer needs.
8855         * modules/dfa (Depends-on): Add intprops, stdint.
8857 2016-12-12  Jim Meyering  <meyering@fb.com>
8859         dfa: add an assertion to avoid coverity false positive
8860         * lib/dfa.c (realloc_trans_if_necessary): Otherwise, coverity
8861         warned that "newalloc1 - 2" could overflow.
8863 2016-12-13   Arnold D. Robbins  <arnold@skeeve.com>
8865         dfa: remove DFA_CASE_FOLD flag in favor of RE_ICASE
8866         * dfa.h (DFA_CASE_FOLD): Remove.
8867         * dfa.c (dfasyntax): Set dfa->syntax.case_fold based on RE_ICASE.
8869 2016-12-13  John W. Eaton  <gnu@jweaton.org>
8871         link: fix test to declare use of rename()
8872         * m4/link.m4 (gl_FUNC_LINK): Include <stdio.h> needed with
8873         -Werror=implicit-function-declaration
8875 2016-12-12  Bruno Haible  <bruno@clisp.org>
8877         fpending: Port to native Windows with MSVC.
8878         * lib/fpending.c: Include stdio-impl.h.
8879         (__fpending): Include all known implementations. Err out if it's not
8880         ported.
8881         * m4/fpending.m4 (gl_PREREQ_FPENDING): Remove macro.
8882         * modules/fpending (Files): Add lib/stdio-impl.h.
8883         (configure.ac): Don't invoke gl_PREREQ_FPENDING.
8885 2016-12-12  Bruno Haible  <bruno@clisp.org>
8887         stdioext: Port to native Windows with MSVC.
8888         * lib/stdio-impl.h (WINDOWS_OPAQUE_FILE): New macro.
8889         (struct _gl_real_FILE): New type.
8890         (fp_, _IOREAD, _IOWRT, _IORW, _IOEOF, _IOERR): New macros, for native
8891         Windows.
8892         * lib/fbufmode.c (fbufmode): Add code for native Windows.
8893         * lib/fflush.c (clear_ungetc_buffer): Treat native Windows like the
8894         other SystemV derived implementations.
8895         * lib/fpurge.c (fpurge): Likewise.
8896         * lib/freadable.c (freadable): Likewise.
8897         * lib/freadahead.c (freadahead): Likewise.
8898         * lib/freading.c (freading): Likewise.
8899         * lib/freadptr.c (freadptr): Likewise.
8900         * lib/freadseek.c (freadptrinc): Likewise.
8901         * lib/fseeko.c (fseeko): Likewise.
8902         * lib/fseterr.c (fseterr): Likewise.
8903         * lib/fwritable.c (fwritable): Likewise.
8904         * lib/fwriting.c (fwriting): Likewise.
8905         Reported by Gisle Vanem <gvanem@yahoo.no>.
8907 2016-12-11  Jim Meyering  <meyering@fb.com>
8909         non-recursive-gnulib-prefix-hack.m4: remove leading "(" in case stmt
8910         * m4/non-recursive-gnulib-prefix-hack.m4: That leading "(" happens
8911         to work with most shells, but not with the one provided by many
8912         Solaris 10 systems, so running configure with such a /bin/sh evokes
8913         e.g., "./configure: syntax error at line 33602: `(' unexpected".
8914         Reported by Assaf Gordon in
8915         https://lists.gnu.org/r/sed-devel/2016-12/msg00002.html
8917 2016-12-10  Bruno Haible  <bruno@clisp.org>
8919         threadlib: Optimize out runtime test on Solaris >= 10.
8920         * m4/threadlib.m4 (gl_THREADLIB_BODY): Don't set
8921         PTHREAD_IN_USE_DETECTION_HARD if configuring on Solaris 10 or newer.
8922         Reported by Peter Felecan at <https://savannah.gnu.org/bugs/?32087>.
8924 2016-12-10  Bruno Haible  <bruno@clisp.org>
8926         stdint: Update doc about Solaris 9.
8927         * doc/posix-headers/stdint.texi: Add info about Solaris 9.
8929 2016-12-09  Bruno Haible  <bruno@clisp.org>
8931         c-ctype tests: Fix link error on Solaris 9.
8932         * modules/c-ctype-tests (Depends-on): Add 'isblank'.
8933         Reported at <https://savannah.gnu.org/bugs/?46827>.
8935 2016-12-09  Paul Eggert  <eggert@cs.ucla.edu>
8937         dfa: fix performance bug that recomputes trans
8938         * lib/dfa.c (build_state): Fix performance bug introduced in Nov
8939         25 on-demand changes.  The bug caused build_state to reset all
8940         d->trans elements to -2 even when d->trans was already non-null.
8941         Use C99 style decls after statements in this function.
8943         same-inode: port to MinGW
8944         Here st_ino is always 0, so change the definition of SAME_INODE so
8945         that 1 means the two files are the same, 0 with st_ino != 0 means
8946         they differ, and 0 with st_ino == 0 means we don’t know.  Problem
8947         reported by Bruno Haible (Bug#25146).
8948         * doc/posix-headers/sys_stat.texi (sys/stat.h): Update.
8949         * lib/same-inode.h (SAME_INODE): Return 0 on MinGW.
8951 2016-12-04  Bruno Haible  <bruno@clisp.org>
8953         javacomp-script: Support Java 7 and 8.
8954         * m4/javacomp.m4 (gt_JAVACOMP): Accept source-version 1.7, 1.8 and
8955         target-version 1.7, 1.8.
8957 2016-12-02  Daiki Ueno  <ueno@gnu.org>
8959         * gnulib-tool (func_import): Relax the regex used for "LGPLv3+ or
8960         GPLv2" rewriting.
8962 2016-12-02  Nikos Mavrogiannopoulos  <nmav@gnutls.org>
8964         * gnulib-tool (func_import): Adhere to the license guideline when
8965         rewriting the license text to "LGPLv3+ or GPLv2":
8966         https://www.gnu.org/prep/maintain/maintain.html#Licensing-of-GNU-Packages
8968 2016-12-02  Bruno Haible  <bruno@clisp.org>
8970         localcharset: Avoid theoretical buffer overrun.
8971         * lib/localcharset.c (locale_charset) [WINDOWS_NATIVE]: Don't use the
8972         return value from setlocale if it would lead to a buffer overrun.
8974 2016-12-01  Bruno Haible  <bruno@clisp.org>
8976         Relicense some modules under LGPLv2+.
8977         Kevin Cernekee's approval is in
8978         http://lists.gnu.org/r/bug-gnulib/2016-11/msg00090.html.
8979         * modules/fseterr (License): Change to LGPLv2+.
8980         * modules/mbchar (License): Likewise.
8981         * modules/mbiter (License): Likewise.
8982         * modules/mbsnlen (License): Likewise.
8983         * modules/wcwidth (License): Likewise.
8985 2016-12-01  KO Myung-Hun  <komh78@gmail.com>
8987         scandir: Fix _D_ALLOC_NAMLEN() on OS/2 kLIBC
8988         * lib/scandir.c (_D_ALLOC_NAMLEN): Consider the fields after d_name on
8989         OS/2 kLIBC.
8991 2016-12-01  KO Myung-Hun  <komh78@gmail.com>
8993         alphasort, scandir: Port to OS/2 kLIBC
8994         * lib/alphasort.c (alphasort): Implement according to OS/2 kLIBC
8995         declaration.
8996         * lib/scandir.c (scandir): Add declaration for OS/2 kLIBC.
8998 2016-12-01  KO Myung-Hun  <komh78@gmail.com>
9000         relocatable: Fix that /@unixroot prefix is not working on OS/2 kLIBC
9001         * lib/relocatable.c (relocate): Do not touch pathname if it is started
9002         with '/@unixroot'.
9004 2016-12-01  KO Myung-Hun  <komh78@gmail.com>
9006         sys_socket: typedef sa_family_t correctly on OS/2 kLIBC
9007         * lib/sys_socket.in.h (sa_family_t): Typedef to unsigned char on
9008         OS/2 kLIBC unless TCPV40HDRS is defined.
9010 2016-11-29  Jim Meyering  <meyering@fb.com>
9012         dfa: avoid new infinite loop
9013         This would infloop: echo cx | LC_ALL=C grep -E 'c\b[x ]'
9014         * lib/dfa.c (dfastate): When constructing a new state table, we could
9015         initially declare that we had found a match, and later find that
9016         constraints eliminate that possibility, yet continue to use the
9017         now stale "matched" indicator.  That would lead to an infinite loop.
9018         The solution is to update "matched" when necessary.
9019         Introduced by commit v0.1-983-g403adf1.
9021 2016-11-27  Norihiro Tanaka  <noritnk@kcn.ne.jp>
9023         dfa: avoid match middle in multibyte character
9024         * lib/dfa.c (transit_state): If fails in matching single byte characters
9025         on a state including period expression in non-UTF8 multibyte locales,
9026         skip trailing bytes.
9027         (dfa_supported): Revert previous change.
9029 2016-11-27  Jim Meyering  <meyering@fb.com>
9031         dfa: avoid false match in non-UTF8 multibyte locales
9032         * lib/dfa.c (dfa_supported): Treat any non-UTF8 multibyte locale
9033         as "not supported" so that callers will resort to using regex-based
9034         matcher.  This will surely hurt performance, but correctness trumps
9035         performance here, and the affected locales are less and less relevant,
9036         these days.  See grep's bug report https://bugs.gnu.org/24975.
9038 2016-11-27  Mike Frysinger  <vapier@gentoo.org>
9040         ptsname_r: leverage AC_HEADER_MAJOR to provide major()
9041         * lib/ptsname_r.c: Include the appropriate headers.
9042         [__sun]: Delete sys/sysmacros.h include.
9043         [_AIX || __osf__]: Likewise.
9044         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): Depend on AC_HEADER_MAJOR.
9046 2016-11-27  Pádraig Brady  <P@draigBrady.com>
9048         md4,md5,sha*: allow _STRING_INLINE_unaligned enable unaligned operation
9049         * lib/md4.c (md4_process_bytes): The existing define is made internal
9050         in recent versions of glibc, so also use this new public define.
9051         * lib/md5.c (md5_process_bytes): Likewise.
9052         * lib/sha1.c (sha1_process_bytes): Likewise.
9053         * lib/sha256.c (sha256_process_bytes): Likewise.
9054         * lib/sha512.c (sha512_process_bytes): Likewise.
9056 2016-11-27  Pádraig Brady  <P@draigBrady.com>
9058         maint: use a more standard return from mbrtowc test
9059         * m4/mbrtowc.m4 (gl_MBRTOWC_C_LOCALE): Don't return 1
9060         from the test program as this often indicates an
9061         unhandled case in the test program.
9062         (gl_MBRTOWC_INCOMPLETE_STATE): Likewise.
9063         (gl_MBRTOWC_SANITYCHECK): Likewise.
9064         (gl_MBRTOWC_NULL_ARG2): Likewise.
9065         (gl_MBRTOWC_NUL_RETVAL): Likewise.
9067 2016-11-26  Paul Eggert  <eggert@cs.ucla.edu>
9069         freopen: work around glibc bug with closed fd
9070         Work around glibc bug#15589, where freopen mishandles the case
9071         where stdin etc. are already closed.
9072         * doc/posix-functions/freopen.texi (freopen): Document the bug.
9073         * lib/freopen.c (_GL_ALREADY_INCLUDING_STDIO_H): Define this
9074         instead of __need_FILE, as the latter does not work with glibc.
9075         Include <fcntl.h>, for open flags.
9076         (rpl_freopen): Work around glibc bug.
9077         * m4/freopen.m4 (gl_FUNC_FREOPEN): Check for bug.
9078         * modules/freopen (Depends-on): Add fcntl-h.
9079         * tests/test-freopen.c (main): Test for bug.
9081 2016-11-25  Paul Eggert  <eggert@cs.ucla.edu>
9083         fnmatch: fix typo introduced on 2016-08-17
9084         This fixes the port to non-GCC compilers that lack __builtin_expect.
9085         * lib/fnmatch.c (__builtin_expect): Change A&&B to !A||B.
9087         dfa: simplify with new function fillset
9088         * lib/dfa.c (fillset): New function.
9089         Use it for clarity when applicable.
9091         dfa: fix glitches with on-demand states
9092         Also, adjust commentary to better match new code.
9093         Some of these glitches predate the recent change.
9094         * lib/dfa.c (dfaanalyze): Clear trcount here, so that it counts
9095         only non-initial states.
9096         (dfastate): Rename locals to better match new roles.
9097         Move them into nested scopes if this is easy.
9098         Omit unnecessary calls to zeroset.
9099         Simplify test for whether to throw in the positions of state 0.
9100         Omit C99-ism (decl after statement) since Gawk still wants C89.
9101         (build_state): Omit unnecessary test and assignment.
9102         Fix some confusion that counted transition tables inaccurately
9103         and could cause a memory leak.
9104         (dfaexec_main): Redo to make it clearer to the compiler that
9105         -1 and -2 are the only negative state numbers here.
9107 2016-11-25  Norihiro Tanaka  <noritnk@kcn.ne.jp>
9109         dfa: addition of new state on demand
9110         * src/dfa.c (dfastate): Add argument UC, the current input character.
9111         Fill only a group including the character in transition table.
9112         (realloc_trans_if_necessary): Add the dummy state which means that a
9113         transition table is assigned but the next state is not assigned.
9114         (build_state): Return the next state.  All callers updated.
9115         (transit_state_singlebyte): If we get the dummy state,
9116         fill the transition table.
9117         (dfaexec_main): Handle the dummy state.
9118         (free_mbdata, dfafree): Consider the dummy state.
9120 2016-11-24  Daiki Ueno  <ueno@gnu.org>
9122         srclist: sync with released gettext
9123         * config/srclist.txt: Set "release" option to the files under
9124         $GETTEXT.
9126 2016-11-24  Daiki Ueno  <ueno@gnu.org>
9128         srclist: add "release" option
9129         * config/srclist.txt: Change the format so that the first column
9130         of each line points to the top-level directory of the source
9131         archive.
9132         * config/srclist-update: Accept "release" option that checks files
9133         from the most recently tagged revision in the source archive.
9135 2016-11-21  Bruno Haible  <bruno@clisp.org>
9137         snippet/c++defs: Simplify _GL_CXXALIAS_* macros.
9138         * build-aux/snippet/c++defs.h [__cplusplus && GNULIB_NAMESPACE]
9139         (_GL_CXXALIAS_RPL_1, _GL_CXXALIAS_RPL_CAST_1,
9140         _GL_CXXALIAS_SYS, _GL_CXXALIAS_SYS_CAST, _GL_CXXALIAS_SYS_CAST2):
9141         Inline and remove member function 'rpl ()' of the wrapper struct.
9143 2016-11-20  Paul Eggert  <eggert@cs.ucla.edu>
9145         dfa: fix logic typo
9146         Problem reported by Stephane Chazelas (Bug#24973).
9147         * lib/dfa.c (using_simple_locale): Fix typo that caused some
9148         non-simple locales like fr_FR to be treated as simple.
9150 2016-11-20  Jim Meyering  <meyering@fb.com>
9152         fix test driver leaks: exclude, malloc, realloc
9153         * tests/test-exclude.c (main): Fix trivial leak.
9154         * tests/test-malloc-gnu.c (main): Likewise.
9155         * tests/test-realloc-gnu.c (main): Likewise.
9156         With these changes, grep's tests are now leak free.
9157         I.e., running them with ASAN elicits no failure:
9158           make CFLAGS='-O0 -ggdb3' AM_CFLAGS=-fsanitize=address \
9159             AM_LDFLAGS='-fsanitize=address -static-libasan' check
9161 2016-11-11  Bruno Haible  <bruno@clisp.org>
9163         libunistring: Relicense under dual "LGPLv3+ or GPLv2" license.
9164         * modules/libunistring: (License): Change from LGPL to
9165         "LGPLv3+ or GPLv2".
9166         * modules/libunistring-optional: Likewise.
9167         * modules/unicase/*: Likewise.
9168         * modules/uniconv/*: Likewise.
9169         * modules/unictype/*: Likewise.
9170         * modules/unigbrk/*: Likewise.
9171         * modules/unilbrk/*: Likewise.
9172         * modules/uniname/*: Likewise.
9173         * modules/uninorm/*: Likewise.
9174         * modules/unistdio/*: Likewise.
9175         * modules/unistr/*: Likewise.
9176         * modules/uniwbrk/*: Likewise.
9177         * modules/uniwidth/*: Likewise.
9179 2016-11-12  Bruno Haible  <bruno@clisp.org>
9181         Relicense some modules under LGPLv2+.
9182         Paul Eggert's approval is in
9183         http://lists.gnu.org/r/bug-gnulib/2016-11/msg00037.html.
9184         Eric Blake's approval is in
9185         http://lists.gnu.org/r/bug-gnulib/2016-11/msg00042.html.
9186         Ludovic Courtès's approval is in
9187         http://lists.gnu.org/r/bug-gnulib/2016-11/msg00038.html.
9188         * modules/isnand-nolibm (License): Change to LGPLv2+.
9189         * modules/isnanf-nolibm (License): Likewise.
9190         * modules/isnanl-nolibm (License): Likewise.
9192 2016-11-19  Bruno Haible  <bruno@clisp.org>
9194         Relicense some modules under LGPLv2+.
9195         lib/float+.h is already under LGPLv2+ since 2007-07-13, per
9196         modules/vasnprintf.
9197         Paolo Bonzini's approval for lib/frexp.c and lib/frexpl.c is in
9198         http://lists.gnu.org/r/bug-gnulib/2016-11/msg00074.html.
9199         All other significant changes to the files in lib/ of these modules
9200         are from me.
9201         * modules/memcmp2 (License): Change to LGPLv2+.
9202         * modules/amemxfrm (License): Likewise.
9203         * modules/fpieee (License): Likewise.
9204         * modules/fpucw (License): Likewise.
9205         * modules/frexp-nolibm (License): Likewise.
9206         * modules/frexpl-nolibm (License): Likewise.
9207         * modules/printf-frexp (License): Likewise.
9208         * modules/printf-frexpl (License): Likewise.
9209         * modules/printf-safe (License): Likewise.
9210         * modules/signbit (License): Likewise.
9212 2016-11-17  Bruno Haible  <bruno@clisp.org>
9214         Enable Unicode decoder safety unconditionally.
9215         * lib/unistr.in.h (u32_mbtouc_unsafe): Assume CONFIG_UNICODE_SAFETY.
9216         * lib/unistr/u8-mblen.c (u8_mblen): Likewise.
9217         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
9218         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
9219         * lib/unistr/u8-prev.c (u8_prev): Likewise.
9220         * lib/unistr/u8-strmblen.c (u8_strmblen): Likewise.
9221         * lib/unistr/u8-strmbtouc.c (u8_strmbtouc): Likewise.
9222         * lib/unistr/u16-mblen.c (u16_mblen): Likewise.
9223         * lib/unistr/u16-mbtouc-unsafe.c (u16_mbtouc_unsafe): Likewise.
9224         * lib/unistr/u16-mbtouc-unsafe-aux.c (u16_mbtouc_unsafe_aux): Likewise.
9225         * lib/unistr/u16-prev.c (u16_prev): Likewise.
9226         * lib/unistr/u16-strmblen.c (u16_strmblen): Likewise.
9227         * lib/unistr/u16-strmbtouc.c (u16_strmbtouc): Likewise.
9228         * lib/unistr/u32-mblen.c (u32_mblen): Likewise.
9229         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Likewise.
9230         * lib/unistr/u32-prev.c (u32_prev): Likewise.
9231         * lib/unistr/u32-next.c (u32_next): Likewise.
9232         * lib/unistr/u32-strmblen.c (u32_strmblen): Likewise.
9233         * lib/unistr/u32-strmbtouc.c (u32_strmbtouc): Likewise.
9234         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
9235         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
9236         * tests/unistr/test-u16-prev.c (check_invalid): Enable the
9237         CONFIG_UNICODE_SAFETY tests unconditionally.
9238         * tests/unistr/test-u32-mblen.c (main): Likewise.
9239         * tests/unistr/test-u32-mbtouc.h (test_function): Likewise.
9240         * tests/unistr/test-u32-prev.c (check_invalid): Likewise.
9241         * tests/unistr/test-u32-next.c (main): Likewise.
9242         * tests/unistr/test-u32-strmblen.c (main): Likewise.
9243         * tests/unistr/test-u32-strmbtouc.c (main): Likewise.
9244         * tests/unistr/test-u32-mbtouc.c (FULL_SAFETY): Remove macro.
9245         * lib/unistr/u8-check.c (u8_check): Remove old dead code.
9246         * lib/unistr/u8-mbtouc.c (u8_mbtouc): Likewise.
9247         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
9248         * lib/unistr/u8-mbtoucr.c (u8_mbtoucr): Likewise.
9249         * lib/unistr/u8-uctomb.c (u8_uctomb): Likewise.
9250         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Likewise.
9251         * lib/unistr/u16-check.c (u16_check): Update comment.
9252         * NEWS: Mention the changes that callers should be aware of.
9254 2016-11-19  Bruno Haible  <bruno@clisp.org>
9256         relocatable-prog-wrapper: Fix breakage on Cygwin.
9257         * modules/relocatable-prog-wrapper (Files): Add lib/stat.c, lib/lstat.c.
9258         (Depends-on): Remove intprops.
9259         * lib/relocwrapper.c: Update dependency tree.
9260         (strerror): Undefine.
9261         * build-aux/install-reloc (func_create_wrapper): Do not compile
9262         strerror.c and strerror-override.c. Erase stat.o and lstat.o.
9264 2016-11-19  Bruno Haible  <bruno@clisp.org>
9266         strerror: Make it compile in C++ mode.
9267         * lib/strerror.c (strerror): Ignore the return value of memcpy().
9269 2016-11-15  Pedro Alves  <palves@redhat.com>
9271         sys_time: add gnulib::timeval for C++
9272         * lib/sys_time.in.h [__cplusplus && defined GNULIB_NAMESPACE]:
9273         Define "timeval" in the GNULIB_NAMESPACE namespace, and #undef any
9274         timeval macro.
9276 2016-11-14  Pedro Alves  <palves@redhat.com>
9278         snippet/c++defs: fix real-floating arg functions in C++ mode
9279         Also, define isfinite, isinf, isnan, signbit in the gnulib
9280         namespace instead of in the global namespace.
9281         * build-aux/snippet/c++defs.h (_GL_BEGIN_NAMESPACE)
9282         (_GL_END_NAMESPACE): New.
9283         * lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_2): Use them.
9284         (isfinite, isinf, isnan, signbit) [__cplusplus &&
9285         GNULIB_NAMESPACE]: Define them in the GNULIB_NAMESPACE namespace
9286         instead of in the global namespace.
9287         * tests/test-math-c++.cc: Check that the isfinite, isinf, isnan,
9288         signbit overloads exist in the GNULIB_NAMESPACE namespace, instead
9289         of in the global namespace.
9291 2016-11-13  Jim Meyering  <meyering@fb.com>
9293         strftime: don't use __THROW
9294         Each use of __THROW would provoke this from gcc-7-to-be:
9296           lib/strftime.c:371:1: warning: '__leaf__' attribute has no effect \
9297             on unit local functions [-Wattributes]
9298           static int iso_week_days (int, int) __THROW;
9299           ^~~~~~
9300         * lib/strftime.c (__THROW): Don't define.
9301         Remove each use of __THROW.
9302         * lib/strftime.c (memcpy_lowcase, memcpy_uppcase): Remove __THROW.
9303         (tm_diff, iso_week_days, __strftime_internal): Likewise.
9305 2016-11-14  Paul Eggert  <eggert@union>
9307         obstack: port to gcc -fcheck-pointer-bounds
9308         Problem found by 'make check' failure on bleeding-edge coreutils
9309         on an MPX-enabled CPU (Intel Core i3-7100U) running GCC (Ubuntu
9310         6.2.0-5ubuntu12), configured via "./configure
9311         --enable-gcc-warnings CFLAGS='-mmpx -fcheck-pointer-bounds -g3
9312         -O2' LDFLAGS='-static-libmpx -static-libmpxwrappers'".
9313         * lib/obstack.h (__FLEXIBLE_ARRAY_MEMBER):
9314         New macro, copied from fts_.h.
9315         (struct _obstack_chunk.contents): Use it.
9317 2016-11-14  Eric Blake  <eblake@redhat.com>
9319         strerror_r-posix: Another fix, for HAVE_DECL_STRERROR_R on mingw.
9320         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R, gl_FUNC_STRERROR_R_WORKS):
9321         Avoid _ONCE variants, which may supply a conflicting AC_DEFINE().
9323 2016-11-14  Pádraig Brady  <P@draigBrady.com>
9325         strptime: fix compile error in recent change
9326         * lib/strptime.c (__strptime_internal): Fix ported code.
9328 2016-11-11  Bruno Haible  <bruno@clisp.org>
9330         gnulib-tool: Support for the dual "LGPLv3+ or GPLv2" license.
9331         * gnulib-tool (--lgpl): Accept value 3orGPLv2.
9332         (func_import): Extend determination of license_incompatibilities.
9333         (func_create_testdir): Extend table of license compatibility. Handle
9334         also the licenses GPLv3+, GPL, LGPLv3+.
9336 2016-11-12  Paul Eggert  <eggert@cs.ucla.edu>
9338         strftime: tune %q
9339         * lib/strftime.c (__strftime_internal): Assume tp->tm_mon is in range.
9341         Merge strftime.c changes from glibc
9342         This incorporates:
9343         2007-10-16 [BZ #5184] Add tzset_called argument
9344         2008-06-13 [BZ #6612] pass reference to tzset_called around
9345         2009-10-30 Implement Burmese language locale for Myanmar
9346         2010-01-09 Add support for XPG7 testing
9347         2015-09-26 [BZ #18985] out of range data to strftime() causes a segfault
9348         2015-10-20 Convert miscellaneous function definitions to prototype style
9349         * lib/strftime.c: Copy glibc license, since gnulib-tool rewrites
9350         it anyway and this lessens the difference between gnulib and glibc.
9351         (USE_IN_EXTENDED_LOCALE_MODEL) [_LIBC]: Define.
9352         (__THROW): Define if standard headers do not.
9353         (LOCALE_PARAM): Rename from LOCALE_PARAM_PROTO.  All uses changed.
9354         (memcpy_locase, memcpy_uppcase, tm_diff, __strftime_internal):
9355         Declare with __THROW.
9356         (__strftime_internal): Rename from strftime_case_. Add arg for
9357         whether tzset is called.  All uses changed.  Call tzset at most
9358         once.  Allow %OC, for Burmese.
9359         (a_wkday, f_wkday, a_month, f_month) [_NL_CURRENT]:
9360         Don't assume values are in range.
9362 2016-11-12  Eric Blake  <eblake@redhat.com>
9364         strerror_r-posix: Fix override of AC_FUNC_STRERROR_R
9365         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): New override.
9366         (gl_FUNC_STRERROR_R): Don't reuse AC_DEFINE() with a potentially
9367         different value.
9369 2006-11-12  Pedro Alves  <palves@redhat.com>
9371         Fix gnulib C++ namespace support and std::frexp
9372         * lib/math.in.h (frexp): Use _GL_CXXALIASWARN1 instead of
9373         _GL_CXXALIASWARN.
9375 2006-11-12  Pedro Alves  <palves@redhat.com>
9377         GNULIB_NAMESPACE::func need not pull in rpl_func
9378         * build-aux/snippet/c++defs.h [__cplusplus && GNULIB_NAMESPACE]
9379         (_GL_CXXALIAS_RPL_1, _GL_CXXALIAS_RPL_CAST_1, _GL_CXXALIAS_SYS)
9380         (_GL_CXXALIAS_SYS_CAST, _GL_CXXALIAS_SYS_CAST2): Define a wrapper
9381         struct instead of a function pointer.
9383 2016-11-09  Frediano Ziglio  <fziglio@redhat.com>
9385         manywarnings: fix -Wno-missing-field-initializers detection
9386         * m4/manywarnings.m4: Fix -Wno-missing-field-initializers detection
9387         to be independent of -Wunused-variable.  I.E. ensure the latter
9388         warning doesn't occur so that detection of the former is accurate.
9390 2016-11-05  Pádraig Brady  <pbrady@fb.com>
9392         strftime,strptime: support %q to represent the quarter
9393         * lib/strftime.c (strftime_case_): Add %q case.
9394         * lib/strptime.c (__strptime_internal): Likewise.
9395         * tests/test-strftime.c (quarter_test): A new test case.
9397 2016-11-03  Eric Blake  <eblake@redhat.com>
9399         bootstrap: Fix get_version() for AIX 5.3
9400         * build-aux/bootstrap (get_version): Factor out sed script, since
9401         indented comments choke AIX 5.3 sed.
9402         Reported-by: Michael Felt <aixtools@gmail.com>
9404 2016-11-03  Paul Eggert  <eggert@cs.ucla.edu>
9406         intprops: port to older XL C
9407         Problem reported by Alexander Samoilov in:
9408         http://lists.gnu.org/r/bug-gnulib/2016-10/msg00166.html
9409         http://savannah.nongnu.org/bugs/?49448
9410         * lib/intprops.h (_GL_HAVE___TYPEOF__) [__IBM__TYPEOF__]:
9411         Define to 1 only for XL C 12.1 or later, since this bug
9412         occurs in XL C for AIX 6.0 but not in 12.1.
9414 2016-11-02  Pádraig Brady  <P@draigBrady.com>
9416         backupfile: initialize default suffix within the implementation
9417         * lib/backupfile.c (find_backup_file_name): Initialize the
9418         global variable here, to simplify usage, and to only call
9419         getenv() when needed.
9421 2016-11-01  Paul Eggert  <eggert@cs.ucla.edu>
9423         futimens: remove FIXME for old Linux kernels
9424         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Belatedy do a "simplify
9425         this in 2012" FIXME, like that for utimensat.
9427         utimensat: remove FIXME for old Linux kernels
9428         * lib/utimensat.c (rpl_utimensat): Update FIXME comment.
9429         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Belatedy do a "simplify
9430         this in 2012" FIXME, by assuming the file system bug is absent
9431         unless demonstrated to be present.  We no longer need to worry
9432         about Linux kernel 2.6.32 when building with newer kernels.
9434 2016-10-16  Bruno Haible  <bruno@clisp.org>
9436         qsort_r: Fix macrology for platforms that lack the function.
9437         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for qsort_r.
9438         (gl_STDLIB_H_DEFAULTS): Initialize HAVE_QSORT_R.
9439         * modules/stdlib (Makefile.am): Substitute HAVE_QSORT_R.
9440         * lib/stdlib.in.h (qsort_r): Provide declaration if the function does
9441         not exist.
9442         * m4/qsort_r.m4 (gl_FUNC_QSORT_R): Use AC_CHECK_FUNCS to test whether
9443         the function exists.
9444         * modules/qsort_r: Add comments.
9446 2016-10-26  Paul Eggert  <eggert@cs.ucla.edu>
9448         sys_types: fix Texinfo typos
9449         * doc/glibc-functions/gnu_dev_major.texi:
9450         * doc/glibc-functions/gnu_dev_makedev.texi:
9451         * doc/glibc-functions/gnu_dev_minor.texi: Fix typos.
9453 2016-10-26  John David Anglin  <dave.anglin@bell.net>
9455         getprogname: port to HP-UX
9456         See Bug#24805.
9457         * lib/getprogname.c (getprogname) [__hpux]: Port.
9458         * tests/test-getprogname.c (STREQ) [__hpux]:
9459         Special-case for HP-UX limitations on program name length.
9461 2016-10-20  Bruno Haible  <bruno@clisp.org>
9463         Update doc about target platforms.
9464         * doc/gnulib-intro.texi (Target Platforms): Update list.
9466 2016-10-15  Bruno Haible  <bruno@clisp.org>
9468         opendir, readdir, closedir: Relicense under LGPLv2+.
9469         * modules/opendir (License): Change to LGPLv2+.
9470         * modules/readdir (License): Likewise.
9471         * modules/closedir (License): Likewise.
9473 2016-10-16  Bruno Haible  <bruno@clisp.org>
9475         Fix conflict between strerror_r-posix module and AC_FUNC_STRERROR_R.
9476         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Override the values set by the
9477         AC_FUNC_STRERROR_R macro. Define HAVE_DECL_STRERROR_R_ORIG.
9478         * lib/strerror_r.c: Use HAVE_DECL_STRERROR_R_ORIG instead of
9479         HAVE_DECL_STRERROR_R.
9481 2016-10-16  Bruno Haible  <bruno@clisp.org>
9483         Make the 'argp' module work without the 'error' module.
9484         * m4/argp.m4 (gl_ARGP): Require AC_FUNC_STRERROR_R.
9486 2016-10-25  Paul Eggert  <eggert@cs.ucla.edu>
9488         diffseq: restore TOO_EXPENSIVE heuristic
9489         * lib/diffseq.h: Problem with diffutils reported by Andreas Schwab
9490         (Bug#24715).  The simplest solution is to restore the
9491         TOO_EXPENSIVE heuristic that I added to GNU diff in 1993, while
9492         using a higher threshold to avoid Bug#16848 on smaller files.
9493         * lib/diffseq.h (struct context): Restore member too_expensive.
9494         (struct partition): Restore members lo_minimal, hi_minimal.
9495         (diag, compareseq): Restore arg find_minimal.  All uses changed.
9496         (diag): Restore the TOO_EXPENSIVE heuristic that I added back in
9497         1993 to make 'diff' run faster (but not as well) on large inputs,
9498         but use a threshold of 4096 instead of the old 256.
9499         * lib/fstrcmp.c (strcmp_bounded):
9500         * lib/git-merge-changelog.c (compute_differences):
9501         Adjust to diffseq.h changes.
9503 2016-10-22  Bruno Haible  <bruno@clisp.org>
9505         iconv: Avoid compilation error when bootstrapping GNU libiconv.
9506         * m4/iconv.m4 (AM_ICONV): When the system does not have an iconv()
9507         declaration yet, define ICONV_CONST to empty.
9509 2016-10-15  Bruno Haible  <bruno@clisp.org>
9511         Avoid gnulib-tool warnings about the dependencies of 'parse-datetime'.
9512         * gnulib-tool (func_get_license): Special-case the 'parse-datetime'
9513         module.
9515 2016-10-16  Bruno Haible  <bruno@clisp.org>
9517         system-quote tests: Avoid compiler warning on AIX.
9518         * tests/test-system-quote-child.c (fopen): Redefine like the system's
9519         <stdio.h> does.
9521 2016-10-16  Bruno Haible  <bruno@clisp.org>
9523         Fix some "gcc -Wall" warnings.
9524         * tests/test-ffsl.c (main): Use variable x, not i.
9525         * tests/test-posix_spawn3.c (parent_main): Consider the return value of
9526         freopen.
9527         * tests/test-sethostname1.c (main): Explicitly ignore the return value
9528         of sethostname.
9530 2016-10-16  Bruno Haible  <bruno@clisp.org>
9532         gnulib-tool: Make --create-testdir on all modules work again.
9533         * gnulib-tool (func_create_testdir): Don't include the
9534         non-recursive-gnulib-prefix-hack module.
9536 2016-10-21  Daiki Ueno  <ueno@gnu.org>
9538         libunistring: change the maintainer to 'all'
9539         * modules/gen-uni-tables, modules/libunistring:
9540         * modules/ucs4-utf16, modules/ucs4-utf8, modules/unicodeio:
9541         * modules/unitypes, modules/utf16-ucs4, modules/utf16-ucs4-unsafe:
9542         * modules/utf8-ucs4, modules/utf8-ucs4-unsafe:
9543         * modules/unicase/*, modules/uniconv/*, modules/unictype/*:
9544         * modules/unilbrk/*, modules/uniname/*, modules/uninorm/*:
9545         * modules/unistdio/*, modules/unistr/*, modules/uniwbrk/*:
9546         * modules/uniwidth/*: Change the maintainer to 'all'.
9548 2016-10-16  Bruno Haible  <bruno@clisp.org>
9550         Simplify "configure: checking ..." messages.
9551         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use AC_MSG_CHECKING instead of
9552         AC_MSG_NOTICE.
9553         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
9555 2016-10-20  Paul Eggert  <eggert@cs.ucla.edu>
9557         quotearg-tests: pacify gcc -Wall
9558         Problem reported by Bruno Haible in:
9559         http://lists.gnu.org/r/bug-gnulib/2016-10/msg00066.html
9560         * tests/test-quotearg-simple.c (use_quote_double_quotes): Move here ...
9561         * tests/test-quotearg.h: ... from here.
9563 2016-10-20  Pádraig Brady  <P@draigBrady.com>
9565         canonicalize-lgpl: fix for missing SIZE_MAX on older systems
9566         * lib/canonicalize-lgpl.c [SIZE_MAX]: Define if needed.
9567         Needed on Centos <= 4.
9569 2016-10-20  Jim Meyering  <meyering@fb.com>
9571         printf.m4: fix a bug in detecting printf %j support
9572         * m4/printf.m4 (gl_PRINTF_SIZES_C99): Fail any system for which
9573         uintmax_t is defined in neither stdint.h nor inttypes.h.
9574         Before, this macro might have mistakenly set
9575         gl_cv_func_printf_sizes_c99=yes on such a system.
9576         Spotted by Zev Weiss.
9578 2016-10-19  Paul Eggert  <eggert@cs.ucla.edu>
9580         sched: substitute HAVE_SYS_CDEFS_H too
9581         Problem reported by Tom G. Christensen in:
9582         http://lists.gnu.org/r/bug-gnulib/2016-10/msg00084.html
9583         * m4/sched_h.m4 (gl_SCHED_H): Set and substitute HAVE_SYS_CDEFS_H.
9584         * modules/sched (Depends-on): Substitute HAVE_SYS_CDEFS_H.
9586 2016-10-19  Pádraig Brady  <P@draigBrady.com>
9588         quotearg: never write beyond the returned length
9589         * lib/quotearg.c (quotearg_buffer_restyled): Switch to a read-only
9590         scan of the string when we initially encounter a single quote when
9591         shell quoting, so that if we then switch to a more concise quoting method
9592         we will not have written beyond that returned length.
9593         This is significant for sh-quote, which has separate routines
9594         to determine the length and do the actual quoting.
9595         * tests/test-quotearg.h: Reinstate the buffer bounds checking
9596         now that we never write more than the returned length.
9598 2016-10-18  Bruno Haible  <bruno@clisp.org>
9600         getprogname tests: Avoid failure in packages that use libtool.
9601         * tests/test-getprogname.c (main): Strip "lt-" prefix.
9602         Based on a patch by Jim Meyering.
9604 2016-10-16  Bruno Haible  <bruno@clisp.org>
9606         getprogname: Fix test failure on Cygwin. Comments.
9607         * lib/getprogname.h: Add comments.
9608         * lib/getprogname.c: Add comments. Fix #elif indentation.
9609         * tests/test-getprogname.c (main): On Cygwin, expect a result without
9610         ".exe" suffix.
9612 2016-10-16  Bruno Haible  <bruno@clisp.org>
9614         Make sure the libunistring detection rejects older versions with a
9615         known bug.
9616         * modules/unistr/u8-strtok (configure.ac): Bump required version.
9617         * modules/unistr/u16-strtok (configure.ac): Likewise.
9618         * modules/unistr/u32-strtok (configure.ac): Likewise.
9620 2016-10-18  Bruno Haible  <bruno@clisp.org>
9622         sh-quote, system-quote: revert regression of unit test.
9623         * tests/test-sh-quote.c (check_one): Do detect buffer overruns.
9624         * tests/test-system-quote-main.c (check_one): Likewise.
9626 2016-10-16  Pádraig Brady  <P@draigBrady.com>
9628         quotearg: fix stale tests
9629         * tests/test-quotearg.c [locale_results]: Add the missing str7
9630         entries to the expected results.
9631         * tests/test-system-quote-main.c (check_one): Don't enforce that we
9632         don't write beyond the returned length, since that's no longer the
9633         case if we switch to a more concise quoting style.
9634         * tests/test-sh-quote.c (check_one): Likewise.
9635         (main): Adjust for the new more concise quoting style.
9636         Reported by Bruno Haible.
9638 2016-10-16  Jim Meyering  <meyering@fb.com>
9640         non-recursive-gnulib-prefix-hack: fix inconsequential typo
9641         * m4/non-recursive-gnulib-prefix-hack.m4: Change a hard-coded "lib"
9642         to "$1".  This macro is always invoked with $1 == lib.
9643         Spotted by Bruno Haible
9645 2016-10-16  Bruno Haible  <bruno@clisp.org>
9647         Fix a test crash.
9648         * tests/test-duplocale.c (main): Skip the test if the 'newlocale' call
9649         fails.
9651 2016-10-16  Pádraig Brady  <P@draigBrady.com>
9653         test-limits-h: suppress -Woverlength-strings
9654         * tests/test-limits-h.c [__GNUC__]: Ignore -Woverlength-strings.
9656 2016-10-15  Bruno Haible  <bruno@clisp.org>
9658         gettime, timespec, utimens: Relicense under LGPL.
9659         * modules/gettime (License): Change to LGPL.
9660         * modules/timespec (License): Likewise.
9661         * modules/utimens (License): Likewise.
9663 2016-10-14  Bruno Haible  <bruno@clisp.org>
9664             Pádraig Brady  <P@draigBrady.com>
9666         canonicalize-lgpl: Support the case path_max > INT_MAX.
9667         * lib/canonicalize-lgpl.c (__realpath): Declare n as ssize_t, not int.
9668         Fix overflow check, for platforms where 'size_t' is larger than 'long'.
9670 2016-10-13  Jim Meyering  <meyering@fb.com>
9672         getprogname: IBM z/OS: avoid NULL-dereference
9673         * lib/getprogname.c (getprogname) [__MVS__]: Don't dereference NULL
9674         upon strdup failure.
9676 2016-10-12  Jim Meyering  <meyering@fb.com>
9678         test-stdint: use _GL_VERIFY rather than "verify" for some tests
9679         * tests/test-stdint.c (verify_width): Implement with _GL_VERIFY
9680         and an abbreviated diagnostic rather than verify with the full one,
9681         because the full-length strings would evoke warnings from gcc with
9682         -Woverlength-strings.
9684 2016-10-13  Paul Eggert  <eggert@cs.ucla.edu>
9686         stdint: port SIZE_MAX to glibc s390
9687         Problem reported by Eric Blake in:
9688         http://lists.gnu.org/r/bug-gnulib/2016-10/msg00031.html
9689         * doc/posix-headers/stdint.texi (stdint.h): Document the fix.
9690         * m4/stdint.m4 (gl_STDINT_H): Check that SIZE_MAX has the
9691         correct type, if possible.
9693 2016-10-13  Daniel Richard G.  <skunk@iSKUNK.ORG>
9695         getprogname: port to IBM z/OS
9696         * lib/getprogname.c (getprogname): Use w_getpsent() to get the name.
9698 2016-10-11  Jim Meyering  <meyering@fb.com>
9700         maint: remove stray space after "." in AC_DEFINE comment.
9701         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Remove space-after-".".
9702         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
9704 2016-10-05  Jim Meyering  <meyering@fb.com>
9706         long-options: avoid new GCC 7 warning from -Wimplicit-fallthrough
9707         * lib/long-options.c (parse_long_options): Add a break statement
9708         to avoid this new warning/failure:
9709         $ CFLAGS='-O -Werror=implicit-fallthrough' ./gnulib-tool \
9710           --create-testdir --dir=/t/x --with-tests --test long-options
9711         ../../gllib/long-options.c: In function 'parse_long_options':
9712         ../../gllib/long-options.c:66:12: error: this statement may \
9713           fall through [-Werror=implicit-fallthrough]
9714                    (*usage_func) (EXIT_SUCCESS);
9715                    ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
9717 2016-10-05  Jim Meyering  <meyering@fb.com>
9719         utimecmp: avoid new GCC 7 warning from -Wbool-operation
9720         Testing this module would fail when using GCC 7 like this:
9721         $ CFLAGS='-O -Werror=bool-operation' ./gnulib-tool --create-testdir \
9722           --dir=/tmp/x --with-tests --test utimecmp
9723         ../../gllib/utimecmp.c: In function ‘utimecmp’:
9724         ../../gllib/utimecmp.c:291:36: error: ‘~’ on a boolean expression \
9725           [-Werror=bool-operation]
9726                          time_t s = src_s & ~ (res == 2 * BILLION);
9727                                             ^
9728         ../../gllib/utimecmp.c:370:16: error: ‘~’ on a boolean expression \
9729           [-Werror=bool-operation]
9730                src_s &= ~ (res == 2 * BILLION);
9731                         ^
9732         * lib/utimecmp.c (utimecmp): Do not apply "~" to a boolean.
9733         Instead, make it explicit that we intend to apply it to 0 or 1.
9735 2016-10-10  Norihiro Tanaka  <noritnk@kcn.ne.jp>
9737         dfa: save memory for states
9738         * src/dfa (dfaexec_main): Beginning of dfa execution, release caches of
9739         states if dfa has a lot of caches.
9741 2016-10-10  Eli Zaretskii  <eliz@gnu.org>
9743         wchar, wctype-h: fix for MinGW 3.22.2
9744         * lib/wchar.in.h [__MINGW32__]: Add one more condition for
9745         special invocation, to fix issues with MinGW 3.22.2 wchar.h
9746         when included from <string.h>.
9747         * lib/wctype.in.h [__MINGW32__]: Add special invocation
9748         convention for MinGW 3.22.2, to solve issues with their
9749         wctype.h when included from <ctype.h>.
9751 2016-10-05  Jim Meyering  <meyering@fb.com>
9753         long-options: avoid new GCC 7 warning from -Wimplicit-fallthrough
9754         * lib/long-options.c (parse_long_options): Add a break statement
9755         to avoid this new warning/failure:
9756         $ CFLAGS='-O -Werror=implicit-fallthrough' ./gnulib-tool \
9757           --create-testdir --dir=/t/x --with-tests --test long-options
9758         ../../gllib/long-options.c: In function ‘parse_long_options’:
9759         ../../gllib/long-options.c:66:12: error: this statement may \
9760           fall through [-Werror=implicit-fallthrough]
9761                    (*usage_func) (EXIT_SUCCESS);
9762                    ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
9764         utimecmp: avoid new GCC 7 warning from -Wbool-operation
9765         Testing this module would fail when using GCC 7 like this:
9766         $ CFLAGS='-O -Werror=bool-operation' ./gnulib-tool --create-testdir \
9767           --dir=/tmp/x --with-tests --test utimecmp
9768         ../../gllib/utimecmp.c: In function ‘utimecmp’:
9769         ../../gllib/utimecmp.c:291:36: error: ‘~’ on a boolean expression \
9770           [-Werror=bool-operation]
9771                          time_t s = src_s & ~ (res == 2 * BILLION);
9772                                             ^
9773         ../../gllib/utimecmp.c:370:16: error: ‘~’ on a boolean expression \
9774           [-Werror=bool-operation]
9775                src_s &= ~ (res == 2 * BILLION);
9776                         ^
9777         * lib/utimecmp.c (utimecmp): Do not apply "~" to a boolean.
9778         Instead, make it explicit that we intend to apply it to 0 or 1.
9780 2016-10-03  Pádraig Brady  <P@draigBrady.com>
9782         quotearg: minimize shell quoting using double quotes
9783         * lib/quotearg.c (quotearg_buffer_restyled): If an ASCII single
9784         quote in encountered then use double quotes (c style quoting)
9785         when possible, as it simplifies the quoting.
9786         * tests/test-quotearg-simple.c: Add test cases.
9787         * tests/test-quotearg.h (use_quotearg_buffer): Adjust to account
9788         for the fact we now may write beyond the returned length.
9790 2016-10-02  Jim Meyering  <meyering@fb.com>
9792         vasnprintf.c: avoid spurious warning from GCC 7
9793         The presence of cpp directives renders this "FALLTHROUGH" comment
9794         ineffective, so does not suppress the -Wimplicit-fallthrough warning
9795         from GCC 7 built from git on 2016-10-02.
9796         * lib/vasnprintf.c (VASNPRINTF): Move comment down past two cpp
9797         directives, so that it takes effect once again.  This is clearly
9798         not a proper change, and I will revert it once this bug is fixed:
9799         https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77817
9801 2016-10-01  Jim Meyering  <meyering@fb.com>
9803         getprogname: correct the test for a __progname variable
9804         * m4/getprogname.m4 (gl_FUNC_GETPROGNAME): Use AC_CACHE_CHECK
9805         and AC_LINK_IFELSE to check for a global __progname.  If found,
9806         define HAVE_VAR___PROGNAME.
9807         * lib/getprogname.c (getprogname): Reflect the new name of the
9808         feature- checked preprocessor symbol:
9809         s/HAVE_DECL___PROGNAME/HAVE_VAR___PROGNAME/
9811 2016-09-28  Jim Meyering  <meyering@fb.com>
9813         u8-uctomb-aux.c: build: placate GCC 7's new -Wimplicit-fallthrough
9814         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Mark each end of
9815         fall-through case with a /* fallthrough */ comment.
9817         dfa: build: avoid warning from GCC 7's new -Wimplicit-fallthrough
9818         * lib/dfa.c (dfassbuild): Mark the end of this case with a
9819         /* fallthrough */ comment.
9821         getprogname: avoid __progname vs program_invocation_short_name pitfall
9822         I.e., don't let the OpenBSD 5.1 fix induce failure when using newer
9823         glibc.  Would have caused failure with Fedora 25's glibc-2.24-3, but
9824         not with Fedora 24's glibc-2.23.1-10.
9825         * lib/getprogname.c (__progname): Move this declaration down...
9826         (getprogname): ... into the #elif block where used, and make it
9827         explicitly "extern".
9829         getprogname: port to OpenBSD 5.1
9830         * lib/getprogname.c (__progname) [HAVE_DECL___PROGNAME]: Declare.
9831         (getprogname) [HAVE_DECL___PROGNAME]: Return __progname or "?".
9832         * modules/getprogname (configure.ac): Move most of this code...
9833         * m4/getprogname.m4 (gl_FUNC_GETPROGNAME): ... to this function,
9834         increment serial number, and add a test for __progname.
9835         https://bugs.gnu.org/24562
9836         Reported by Nelson H. F. Beebe.
9838 2016-09-24  Paul Eggert  <eggert@cs.ucla.edu>
9840         sched: port to GCC 6.2.1 on macOS Sierra
9841         Problem reported by Denis Davydov in:
9842         http://lists.gnu.org/r/bug-gnulib/2016-09/msg00056.html
9843         * lib/sched.in.h [HAVE_SYS_CDEFS_H]:
9844         Include <sys/cdefs.h> before <sched.h>.
9845         * m4/nproc.m4 (gl_PREREQ_NPROC): Include errno.h before sched.h,
9846         so that we needn’t worry about the sched.h include bug here.
9847         * m4/sched_h.m4 (gl_SCHED_H): Check for sys/cdefs.h,
9848         and include it before <sched.h> if it exists, when
9849         checking for <sched.h>.
9851         tests/init.sh: port Alpine fix to AIX 7.1
9852         * tests/init.sh (compare_): When attempting to use diff -U3,
9853         prefer diff -u to -U3 to -c to plain diff.  Do not insist on
9854         diff -u not outputting a space after leading '+', as the users
9855         of 'compare' should not be that picky about its output format.
9856         In the AIX 7.1 case, return with diff exit status (or with 2 if
9857         trouble), instead of some random nonzero exit status.
9858         * tests/test-init.sh (test_compare): Remove space after leading
9859         '+', so that AIX 7.1 'diff' passes the test.
9861 2016-09-22  Paul Eggert  <eggert@cs.ucla.edu>
9863         nl_langinfo: pacify GCC
9864         * lib/nl_langinfo.c (ctype_codeset): Remove unused local.
9865         (rpl_nl_langinfo): Cast string literals to char *, to pacify GCC.
9867         stdint: also set GL_GENERATE_LIMITS_H
9868         Problem reported by Jim Meyering in:
9869         http://lists.gnu.org/r/bug-gnulib/2016-09/msg00052.html
9870         * m4/stdint.m4 (gl_STDINT_H): Also redo the AM_CONDITIONAL.
9872         limits-h, stdint: Don't assume extensions, fix typo
9873         * m4/limits-h.m4 (gl_LIMITS_H):
9874         * m4/stdint.m4 (gl_STDINT_H):
9875         Don't assume AC_USE_SYSTEM_EXTENSIONS.
9876         * m4/stdint.m4 (gl_STDINT_H): Fix typo in setting of LIMITS_H,
9877         reported by Jim Meyering in:
9878         http://lists.gnu.org/r/bug-gnulib/2016-09/msg00050.html
9880 2016-09-21  Jim Meyering  <meyering@fb.com>
9882         getprogname: port to AIX
9883         * lib/getprogname.c (getprogname) [_AIX]: Use getpid, getprocs64
9884         and strdup to obtain a short program name string.  Using code from
9885         Bruno Haible and an idea from Bastien ROUCARIÈS, in
9886         https://lists.gnu.org/r/bug-gnulib/2010-12/msg00249.html
9887         Assaf Gordon reported that this new file would fail to compile on
9888         AIX-7.1 32bit.
9890 2016-09-16  Paul Eggert  <eggert@cs.ucla.edu>
9892         extensions: fix typo in comment
9893         * m4/extensions.m4: Sync from Autoconf master.
9895         stdint: support new _WIDTH macros
9896         * doc/posix-headers/stdint.texi: Document this.
9897         * lib/stdint.in.h: Add support for INTMAX_WIDTH. etc.
9898         * m4/stdint.m4 (gl_STDINT_H): Require gl_LIMITS_H.  Check for
9899         support for INTMAX_WIDTH, etc. as well as for support for just C99.
9900         * modules/stdint (Depends-on): Add limits-h.
9901         (Makefile.am): Substitute HAVE_C99_STDINT_H.
9902         * modules/stdint-tests (Depends-on): Add extensions, so that
9903         INTMAX_MAX etc. are defined.
9904         * tests/test-stdint.c: Verify the new macros.
9906         limits-h: new module
9907         This adds ISO/IEC TS 18661-1:2014 support to limits.h.
9908         * MODULES.html.sh: Add limits-h,and move size_max to stdint section.
9909         * doc/posix-headers/limits.texi: Document new module.
9910         * lib/limits.in.h, m4/limits-h.m4, modules/limits-h:
9911         * modules/limit-h-tests, tests/test-limits-h.c: New files.
9913         stdio: don't redefine __USE_MINGW_ANSI_STDIO
9914         * m4/stdio_h.m4 (gl_STDIO_H): Don't define __USE_MINGW_ANSI_STDIO
9915         if it is already defined.  Apparently GNU Emacs relies on this.  See:
9916         http://lists.gnu.org/r/emacs-devel/2016-09/msg00416.html
9918 2016-09-15  Eric Blake  <eblake@redhat.com>
9920         sys_types: avoid glibc 2.25 warnings about major()
9921         * m4/sys_types_h.m4 (AC_HEADER_MAJOR): Replace broken version in
9922         older autoconf.
9923         * doc/posix-headers/sys_types.texi (sys/types.h): Document fix.
9924         * doc/glibc-functions/gnu_dev_major.texi (gnu_dev_major): Likewise.
9925         * doc/glibc-functions/gnu_dev_makedev.texi (gnu_dev_makedev): Likewise.
9926         * doc/glibc-functions/gnu_dev_minor.texi (gnu_dev_minor): Likewise.
9928         mountlist: include sysmacros.h for glibc
9929         * m4/mountlist.m4 (gl_PREREQ_MOUTLIST_EXTRA): Include
9930         AC_HEADER_MAJOR.
9931         * lib/mountlist.c (includes): Use correct headers.
9933 2016-09-15  Paul Eggert  <eggert@cs.ucla.edu>
9935         extensions: port to more ISO C TSes
9936         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Sync from Autoconf
9937         master, to add support for more recent ISO C TRs and TSes.
9939 2016-09-13  Paul Eggert  <eggert@cs.ucla.edu>
9941         intprops: new macro TYPE_WIDTH
9942         * lib/intprops.h (TYPE_WIDTH): New macro.
9943         (TYPE_MAXIMUM, _GL_SIGNED_INT_MAXIMUM, INT_STRLEN_BOUND):
9944         * lib/ftoastr.h (_GL_FLOAT_DIG_BITS_BOUND):
9945         * lib/parse-datetime.y (parse_datetime2):
9946         Use it.
9948         extensions: port to recent ISO C TRs
9949         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
9950         Sync from Autoconf master, to add support for recent ISO C TRs.
9951         * m4/stdio_h.m4 (gl_STDIO_H): Define __USE_MINGW_ANSI_STDIO here,
9952         since AC_USE_SYSTEM_EXTENSIONS no longer does that as
9953         the MinGW option is not an extension.
9955 2016-09-11  Paul Eggert  <eggert@cs.ucla.edu>
9957         dfa: port to Solaris 9
9958         Problems reported by Tom G. Christensen in:
9959         http://lists.gnu.org/r/bug-gnulib/2016-09/msg00031.html
9960         * modules/dfa (Depends-on): Add isblank.
9961         * modules/dfa-tests (dfa_match_aux_LDADD):
9962         Rename from test_stat_LDADD, to fix typo.
9963         * tests/dfa-match.sh: Don't require 'timeout'; use it if available.
9965 2016-09-10  Jim Meyering  <meyering@fb.com>
9967         strverscmp: avoid link failure on OS X
9968         * lib/strverscmp.c [!weak_alias]: Define __strverscmp to strverscmp.
9969         Reported by Assaf Gordon in https://bugs.gnu.org/24256#26
9971 2016-08-16  Jim Meyering  <meyering@fb.com>
9973         dfa: new module, importing grep's DFA matcher
9974         Since grep's DFA matcher is now being used by two gnulib-enabled
9975         projects, grep and sed, it makes sense to version-control its
9976         sources and unit tests in one place: here.
9977         * modules/dfa: New module.
9978         * modules/dfa-tests: New file.
9979         * lib/dfa.c: New file, from grep.
9980         * lib/dfa.h: Likewise.
9981         * lib/localeinfo.c: Likewise.
9982         * lib/localeinfo.h: Likewise.
9983         * tests/dfa-match-aux.c: Likewise.
9984         * tests/dfa-invalid-char-class.sh: Likewise.
9985         * tests/dfa-match.sh: Likewise, with minor changes.
9986         * MODULES.html.sh (Misc): Add "dfa" to this list.
9988 2016-09-09  Jim Meyering  <meyering@fb.com>
9990         getprogname-tests: don't depend on assert-h
9991         * modules/getprogname-tests (Depends-on): Remove assert-h.
9992         It was not needed, and in fact would cause build failure for
9993         coreutils on some systems.  Reported by Assaf Gordon in https:
9994         //lists.gnu.org/r/coreutils/2016-09/msg00016.html
9996 2016-09-07  Jim Meyering  <meyering@fb.com>
9998         getprogname-tests: work also when EXEEXT is nonempty
9999         * modules/getprogname-tests (Makefile.am): Define EXEEXT.
10000         * tests/test-getprogname.c (main): Use it.
10001         Suggested by Gisle Vanem.
10003 2016-09-07  Gisle Vanem  <gvanem@yahoo.no>
10005         getprogname: fix errors in previous change
10006         * lib/getprogname.c (getprogname) [HAVE_GETEXECNAME]:
10007         s/program_invocation_name/base/
10008         [HAVE_DECL___ARGV]: Handle NULL __argv or __argv[0].
10010 2016-09-08  Pádraig Brady  <P@draigBrady.com>
10012         parse-datetime: restrict debug output to input string
10013         * lib/parse-datetime.y (parse_datetime2): If we parse
10014         all of the input but determine it's invalid, ensure
10015         we don't output the now invalid input pointer.
10016         This issue was seen with `date -d 'now +1'`.
10018 2016-09-07  Paul Eggert  <eggert@cs.ucla.edu>
10020         flexmember: new macro FLEXALIGNOF
10021         * lib/flexmember.h: Include <stddef.h>, for offsetof.
10022         (FLEXALIGNOF): Rename from _GL_XALLOC_ALIGNOF, as Emacs can use
10023         this macro.  Update comments.
10025 2016-09-07  Jim Meyering  <meyering@fb.com>
10027         getprogname: port to systems with __argv (mingw, msvc)
10028         * lib/getprogname.c (getprogname): Include "dirname.h" and use
10029         last_component: more general than open coding it with hard-coded "/".
10030         * lib/getprogname.h (getprogname): Prefer "char const *" consistently.
10031         * modules/getprogname (Depends-on): Add dirname-lgpl.
10032         (configure.ac): Check for __argv in <stdlib.h>.
10033         * modules/getprogname-tests: New file.
10034         * tests/test-getprogname.c: New file.
10035         Suggested by Gisle Vanem in
10036         https://lists.gnu.org/r/bug-gnulib/2016-09/msg00014.html
10038 2016-09-07  Paul Eggert  <eggert@cs.ucla.edu>
10040         flexmember: port better to GCC + valgrind
10041         With a char[] flexible array member in a struct with nontrivial
10042         alignment, GCC-generated code can access past the end of the
10043         array, because GCC assumes there are padding bytes to get the
10044         struct aligned.  So the common idiom of malloc (offsetof (struct
10045         s, m), n) does not properly allocate an n-byte trailing member, as
10046         malloc’s argument should be the next multiple of alignof (struct s).
10047         See GCC Bug#66661: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66661
10048         Although C11 apparently permits this GCC optimization (i.e., there
10049         was a bug in Gnulib not in GCC), possibly this is a defect in C11.
10050         See the thread containing:
10051         https://gcc.gnu.org/ml/gcc-patches/2016-09/msg00317.html
10052         * lib/flexmember.h: New file.
10053         * lib/fnmatch.c, lib/fts.c, lib/glob.c, lib/idcache.c:
10054         * lib/localename.c, lib/time_rz.c:
10055         Include flexmember.h.
10056         * lib/fnmatch_loop.c (struct patternlist):
10057         * lib/localename.c (struct hash_node):
10058         Use FLEXIBLE_ARRAY_MEMBER.
10059         * lib/fnmatch_loop.c (EXT):
10060         * lib/fts.c (fts_alloc):
10061         * lib/glob.c (glob_in_dir):
10062         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
10063         * lib/localename.c (gl_lock_define_initialized):
10064         * lib/time_rz.c (tzalloc):
10065         Use FLEXSIZEOF instead of offsetof.
10066         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
10067         Check that the size of the struct can be taken.
10068         * modules/flexmember (Files): Add lib/flexmember.h.
10069         * modules/fnmatch, modules/glob, modules/localename (Depends-on):
10070         Add flexmember.
10072 2016-09-06  Paul Eggert  <eggert@cs.ucla.edu>
10074         getprogname: port to Solaris 10
10075         * lib/getprogname.c: Include stdlib.h, for getexecname decl.
10076         (getprogname) [HAVE_GETEXECNAME]: Use that, for Solaris 10.
10077         * m4/getprogname.m4 (gl_FUNC_GETPROGNAME): Check for getexecname.
10079         stdalign: correct mistake in alignof doc
10080         Problem reported by Joseph Myers in:
10081         https://gcc.gnu.org/ml/gcc-patches/2016-09/msg00340.html
10082         * doc/posix-headers/stdalign.texi: Do not imply that C11 prohibits
10083         alignof(S) where S is a structure containing a flexible array
10084         member.  The Gnulib substitute does not support this, but C11 does.
10086 2016-08-18  Pino Toscano  <ptoscano@redhat.com>
10088         main.mk: remove sc_program_name, since there is no more need to
10089         use set_program_name in tools (getprogname is enough for most
10090         of the cases).
10091         * cfg.mk (local-checks-to-skip): Remove sc_program_name.
10092         * top/maint.mk (sc_program_name): Remove.
10094 2016-08-18  Pino Toscano  <ptoscano@redhat.com>
10096         Port tests away from progname, since modules that need the
10097         program name already depend on getprogname.
10098         * modules/acl-tests (Depends-on): Remove progname.
10099         * modules/argmatch (Depends-on): Likewise.
10100         * modules/argmatch-tests (Depends-on): Likewise.
10101         * modules/argp-tests (Depends-on): Likewise.
10102         * modules/argp-version-etc-tests (Depends-on): Likewise.
10103         * modules/array-list-tests (Depends-on): Likewise.
10104         * modules/array-oset-tests (Depends-on): Likewise.
10105         * modules/avltree-list-tests (Depends-on): Likewise.
10106         * modules/avltree-oset-tests (Depends-on): Likewise.
10107         * modules/avltreehash-list-tests (Depends-on): Likewise.
10108         * modules/carray-list-tests (Depends-on): Likewise.
10109         * modules/copy-file-tests (Depends-on): Likewise.
10110         * modules/exclude-tests (Depends-on): Likewise.
10111         * modules/fchownat-tests (Depends-on): Likewise.
10112         * modules/fdopendir-tests (Depends-on): Likewise.
10113         * modules/filenamecat-tests (Depends-on): Likewise.
10114         * modules/fstatat-tests (Depends-on): Likewise.
10115         * modules/fstrcmp-tests (Depends-on): Likewise.
10116         * modules/linked-list-tests (Depends-on): Likewise.
10117         * modules/linkedhash-list-tests (Depends-on): Likewise.
10118         * modules/mkdirat-tests (Depends-on): Likewise.
10119         * modules/nonblocking-pipe-tests (Depends-on): Likewise.
10120         * modules/nonblocking-socket-tests (Depends-on): Likewise.
10121         * modules/obstack-printf-tests (Depends-on): Likewise.
10122         * modules/openat-tests (Depends-on): Likewise.
10123         * modules/parse-datetime-tests (Depends-on): Likewise.
10124         * modules/pipe-filter-gi-tests (Depends-on): Likewise.
10125         * modules/pipe-filter-ii-tests (Depends-on): Likewise.
10126         * modules/quotearg-simple-tests (Depends-on): Likewise.
10127         * modules/quotearg-tests (Depends-on): Likewise.
10128         * modules/rbtree-list-tests (Depends-on): Likewise.
10129         * modules/rbtree-oset-tests (Depends-on): Likewise.
10130         * modules/rbtreehash-list-tests (Depends-on): Likewise.
10131         * modules/spawn-pipe-tests (Depends-on): Likewise.
10132         * modules/system-quote-tests (Depends-on): Likewise.
10133         * modules/uniname/uniname-tests (Depends-on): Likewise.
10134         * modules/uninorm/nfc-tests (Depends-on): Likewise.
10135         * modules/uninorm/nfd-tests (Depends-on): Likewise.
10136         * modules/uninorm/nfkc-tests (Depends-on): Likewise.
10137         * modules/uninorm/nfkd-tests (Depends-on): Likewise.
10138         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Likewise.
10139         * modules/unistdio/u16-vsprintf-tests (Depends-on): Likewise.
10140         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Likewise.
10141         * modules/unistdio/u32-vsprintf-tests (Depends-on): Likewise.
10142         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Likewise.
10143         * modules/unistdio/u8-vsprintf-tests (Depends-on): Likewise.
10144         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Likewise.
10145         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Likewise.
10146         * modules/unlinkat-tests (Depends-on): Likewise.
10147         * modules/version-etc-tests (Depends-on): Likewise.
10148         * modules/xalloc-die-tests (Depends-on): Likewise.
10149         * modules/xmemdup0-tests (Depends-on): Likewise.
10150         * modules/xprintf-posix-tests (Depends-on): Likewise.
10151         * modules/xvasprintf-tests (Depends-on): Likewise.
10152         * tests/test-argmatch.c: Do not include progname.h.
10153         (main) Stop calling set_program_name.
10154         * tests/test-argp-version-etc.c: Likewise.
10155         * tests/test-argp.c: Likewise.
10156         * tests/test-argv-iter.c: Likewise.
10157         * tests/test-array_list.c: Likewise.
10158         * tests/test-array_oset.c: Likewise.
10159         * tests/test-avltree_list.c: Likewise.
10160         * tests/test-avltree_oset.c: Likewise.
10161         * tests/test-avltreehash_list.c: Likewise.
10162         * tests/test-carray_list.c: Likewise.
10163         * tests/test-copy-acl.c: Likewise.
10164         * tests/test-copy-file.c: Likewise.
10165         * tests/test-exclude.c: Likewise.
10166         * tests/test-fchownat.c: Likewise.
10167         * tests/test-fdopendir.c: Likewise.
10168         * tests/test-filenamecat.c: Likewise.
10169         * tests/test-fstatat.c: Likewise.
10170         * tests/test-fstrcmp.c: Likewise.
10171         * tests/test-linked_list.c: Likewise.
10172         * tests/test-linkedhash_list.c: Likewise.
10173         * tests/test-mkdirat.c: Likewise.
10174         * tests/test-nonblocking-pipe-main.c: Likewise.
10175         * tests/test-nonblocking-socket-main.c: Likewise.
10176         * tests/test-obstack-printf.c: Likewise.
10177         * tests/test-openat.c: Likewise.
10178         * tests/test-parse-datetime.c: Likewise.
10179         * tests/test-pipe-filter-gi1.c: Likewise.
10180         * tests/test-pipe-filter-gi2-main.c: Likewise.
10181         * tests/test-pipe-filter-ii1.c: Likewise.
10182         * tests/test-pipe-filter-ii2-main.c: Likewise.
10183         * tests/test-quotearg-simple.c: Likewise.
10184         * tests/test-quotearg.c: Likewise.
10185         * tests/test-rbtree_list.c: Likewise.
10186         * tests/test-rbtree_oset.c: Likewise.
10187         * tests/test-rbtreehash_list.c: Likewise.
10188         * tests/test-sameacls.c: Likewise.
10189         * tests/test-set-mode-acl.c: Likewise.
10190         * tests/test-spawn-pipe-main.c: Likewise.
10191         * tests/test-system-quote-main.c: Likewise.
10192         * tests/test-unlinkat.c: Likewise.
10193         * tests/test-version-etc.c: Likewise.
10194         * tests/test-xalloc-die.c: Likewise.
10195         * tests/test-xfprintf-posix.c: Likewise.
10196         * tests/test-xmemdup0.c: Likewise.
10197         * tests/test-xprintf-posix.c: Likewise.
10198         * tests/test-xvasprintf.c: Likewise.
10199         * tests/uniname/test-uninames.c: Likewise.
10200         * tests/uninorm/test-u32-nfc-big.c: Likewise.
10201         * tests/uninorm/test-u32-nfd-big.c: Likewise.
10202         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
10203         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
10204         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
10205         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
10206         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
10207         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
10208         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
10209         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
10210         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
10211         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
10212         * tests/test-c-stack.c: (program_name): Do not define.
10213         (main): Do not set program_name.
10214         * tests/test-closein.c: Likewise.
10215         * tests/test-xstrtol.c: Likewise.
10216         * tests/test-yesno.c: Likewise.
10218 2016-08-18  Pino Toscano  <ptoscano@redhat.com>
10220         Port modules to use getprogname explicitly, instead of requiring
10221         progname to be used (or program_name to be provided).
10222         * lib/argmatch.c: Do not include progname.h.
10223         [TEST] (program_name): Do not define.
10224         [TEST] (main): Call getprogname instead of using program_name.
10225         * lib/c-stack.c: Do not include progname.h.
10226         (program_name): Do not define.
10227         (die): Call getprogname instead of using program_name.
10228         * lib/chdir-long.c: Do not include progname.h.
10229         [TEST_CHDIR] (main): Do not set program_name.
10230         * lib/error.c [!_LIBC]: Include progname.h.
10231         [!_LIBC] (program_name): Define using getprogname.
10232         * lib/euidaccess.c: Do not include progname.h.
10233         [TEST] (main): Do not set program_name.
10234         * lib/git-merge-changelog.c: Include getprogname.h instead of
10235         progname.h.
10236         (usage): Call getprogname instead of using program_name.
10237         (main): Likewise.  Stop calling set_program_name.
10238         * lib/group-member.c: Do not include progname.h.
10239         [TEST] (main): Do not set program_name.
10240         * modules/argmatch (Depends-on): Add getprogname.
10241         * modules/c-stack (Depends-on): Likewise.
10242         * modules/error (Depends-on): Likewise.
10243         * modules/git-merge-changelog (Depends-on): Likewise.
10244         Also remove progname.
10246 2016-09-05  Pino Toscano  <ptoscano@redhat.com>
10248         * NEWS: Document the deprecation of the 'progname' module.
10250 2016-08-18  Pino Toscano  <ptoscano@redhat.com>
10252         getprogname: new module
10253         This provides a LGPL module for getting the name of the current
10254         program, using the same API found on *BSD systems.
10255         * lib/getprogname.c, lib/getprogname.h, m4/getprogname.m4:
10256         * modules/getprogname: New files.
10257         * MODULES.html.sh (Misc): Add getprogname.
10259 2016-09-02  Jim Meyering  <meyering@fb.com>
10261         manywarnings: add -fno-common
10262         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add -fno-common
10263         to the list.  Quoting the manual, "Compiling with -fno-common is
10264         useful on targets for which it provides better performance, or if
10265         you wish to verify that the program will work on other systems that
10266         always treat uninitialized variable declarations this way [putting
10267         it in the data section]."  If diffutils had been using this sooner,
10268         it would have prevented this duplicate declaration issue:
10269         http://git.sv.gnu.org/cgit/diffutils.git/commit/?id=v3.4-10-gc2dc91f
10271 2016-08-31  Simon Josefsson  <simon@josefsson.org>
10273         parse-datetime: Fix typo.
10274         * lib/parse-datetime.y (parse_datetime2): Fix typo.
10276 2016-08-30  Paul Eggert  <eggert@cs.ucla.edu>
10278         intprops: tune INT_NEGATE_OVERFLOW for GCC 5 and 6
10279         * lib/intprops.h (INT_NEGATE_OVERFLOW): Tune for platforms like
10280         GCC 5 and 6 that have __builtin_sub_overflow but not
10281         __builtin_sub_overflow_p.  With the recent changes, these
10282         platforms are a tiny bit faster with the INT_NEGATE_RANGE_OVERFLOW
10283         implementation than with INT_SUBTRACT_OVERFLOW implementation,
10284         since the former needs just one runtime comparison whereas the
10285         latter needs two.
10287         strverscmp: sync with glibc
10288         Although this doesn't exactly synchronize with glibc
10289         byte-for-byte, it makes the code behave the same as glibc.
10290         * lib/strverscmp.c (S_I, S_F, S_Z): Now masks, not powers of 2.
10291         (ISDIGIT): Remove, as glibc is sticking with isdigit, and the
10292         difference shouldn't matter in practical use.  All uses changed
10293         back to isdigit.
10294         (__strverscmp, strverscmp): Use new glibc method for weak aliases.
10295         (next_state): Now unsigned char array; redo elements.
10296         (result_type): Now signed char array; redo elements.
10297         (__strverscmp): Fix glibc bug 9913 by using new states.
10298         * tests/test-strverscmp.c (main): Test glibc bug 9913.
10300 2016-08-29  Jim Meyering  <meyering@fb.com>
10302         xalloc-oversized.h: port __builtin_mul_overflow change to GCC 6.2.0
10303         * lib/xalloc-oversized.h: Port this change to GCC 6.2.0, too,
10304         similarly to how it was done to intprops.h.
10306 2016-08-29  Paul Eggert  <eggert@cs.ucla.edu>
10308         intprops.h: port recent changes to GCC 6.2.0
10309         * lib/intprops.h (__has_builtin): Move earlier.
10310         (_GL_HAS_BUILTIN_OVERFLOW): Rename from
10311         _GL_HAS_BUILTIN_OVERFLOW_WITH_NULL and don't worry about whether
10312         the last argument can be null.  All uses changed.
10313         (_GL_HAS_BUILTIN_OVERFLOW_P): Also test __has_builtin.
10314         (_GL_ADD_OVERFLOW, _GL_SUBTRACT_OVERFLOW, _GL_MULTIPLY_OVERFLOW):
10315         Don't try to use 3rd arg null, as this doesn't work on GCC 6.2.0
10316         and it's not clear which GCC versions it works for.
10317         (_GL_INT_OP_WRAPV): Use _GL_HAS_BUILTIN_OVERFLOW instead of
10318         its definiens.
10320         intprops.h: use __typeof__ with GCC 7
10321         * lib/intprops.h (_GL_ADD_OVERFLOW, _GL_SUBTRACT_OVERFLOW)
10322         (_GL_MULTIPLY_OVERFLOW): Use __typeof__ as in the GCC manual.
10323         This avoids computing the expression's value (which might overflow!).
10325 2016-08-29  Jim Meyering  <meyering@fb.com>
10327         intprops.h, xalloc-oversized.h: work with gcc 7
10328         In gcc 6, __builtin_add_overflow, __builtin_sub_overflow and
10329         __builtin_mul_overflow each accept a NULL pointer as the third
10330         argument.  However in gcc 7, that is no longer accepted.
10331         Instead, one must use the "_p"-suffixed names, with which, the
10332         third parameter is no longer a pointer.
10333         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW_WITH_NULL): Correct
10334         the definition: not true for gcc 7 and subsequent.
10335         (_GL_HAS_BUILTIN_OVERFLOW_P): Define.
10336         (_GL_ADD_OVERFLOW, _GL_SUBTRACT_OVERFLOW, _GL_MULTIPLY_OVERFLOW):
10337         Provide new definitions for gcc 7 and subsequent.
10338         * lib/xalloc-oversized.h (xalloc_oversized): Provide a definition
10339         that works with gcc-7.
10341         intprops.h: fix missing-backslash problems
10342         * lib/intprops.h (_GL_ADD_OVERFLOW): Add backslash.
10343         (_GL_SUBTRACT_OVERFLOW,_GL_MULTIPLY_OVERFLOW): Likewise.
10345 2016-08-24  Paul Eggert  <eggert@cs.ucla.edu>
10347         intprops: fix paren typo on old platforms
10348         Problem reported by John E. Malmberg in: https://bugs.gnu.org/24300#13
10349         * lib/intprops.h (_GL_INT_OP_WRAPV_LONGISH)
10350         [__GNUC__ < 5 && !__has_builtin (__builtin_add_overflow)
10351         && (__STDC_VERSION__ < 201112 || _GL__GENERIC_BOGUS)
10352         && !defined LLONG_MAX]:
10353         Remove stray paren.
10355         intprops: port to OpenVMS
10356         Problem reported by John E. Malmberg in: https://bugs.gnu.org/24300
10357         * doc/posix-headers/limits.texi: Document the problem.
10358         * lib/intprops.h (LLONG_MAX, LLONG_MIN) [__INT64_MAX]:
10359         Define if not already defined.
10361 2016-08-19  Assaf Gordon  <assafgordon@gmail.com>
10363         parse-datetime: improve debug implementation
10364         Follow-up to commit 12ad79069 ("add optional debug printing").
10365         Improve parse-datetime's debug implementation: remove macros,
10366         replace global debug flag variable with a function parameter,
10367         use nstrftime for formatting.
10368         See: https://lists.gnu.org/r/bug-gnulib/2016-08/msg00021.html
10369         * lib/parse-datetime.h: (parse_datetime_debug): Remove global extern.
10370         (parse_datetime2): New function, accepts 'flags' parameter, supporting
10371         debug flag. Existing interface 'parse_datetime' left unmodified.
10372         * lib/parse-datetime.c: (parse_datetime_debug): Remove global variable.
10373         (struct parser_control): add 'parse_datetime_debug' member variable.
10374         (parse_datetime): Call new function 'parse_datetime2' without debug.
10375         (parse_datetime2): Adapted from previous 'parse_datetime', initialize
10376         pc.parse_datetime_debug variable as needed.
10377         (to_year): Accept new flags parameter, instead of using global variable.
10378         (debug_print_current_time,debug_print_relative_time,debug_mktime_not_ok):
10379         use struct 'debug' variable instead of global variable.
10380         (DEBUG,DEBUG_PRINT_CURRENT_TIME,DEBUG_PRINT_RELATIVE_TIME,
10381         DEBUG_MKTIME_NOT_OK,PROGRESS,PROGRESS0): Remove macros. Call
10382         correspnding functions directly instead of using macros.
10383         * modules/parse-datetime: Add gnulib's strftime module.
10385 2016-08-19  Daniel Richard G.  <skunk@iSKUNK.ORG>
10387         c-strcase-tests: port to EBCDIC
10388         * tests/test-c-strncasecmp.c: Allow two c_strncasecmp calls
10389         which assume ASCII encoding semantics to run only in ASCII
10390         mode, as they fail in EBCDIC.
10392         sigpipe-tests: fix typo
10393         * tests/test-sigpipe.sh: C, not B.
10395 2016-08-18  Paul Eggert  <eggert@cs.ucla.edu>
10397         canonicalize-lgpl: fix errno after malloca fails
10398         This fixes a typo I recently introduced.  Suggested by Bruno Haible in:
10399         http://lists.gnu.org/r/bug-gnulib/2016-08/msg00039.html
10400         * lib/canonicalize-lgpl.c (__realpath):
10401         Don't assume malloca sets errno on failure.
10403 2016-08-17  Paul Eggert  <eggert@cs.ucla.edu>
10405         strtod: port errno handling to z/OS
10406         * lib/strtod.c (strtod): Save and restore errno more reliably.
10408 2016-08-17  Daniel Richard G.  <skunk@iSKUNK.ORG>
10410         strtod: port to z/OS
10411         * lib/strtod.c (strtod): Address a couple quirks in the z/OS
10412         implementation.
10414 2016-08-17  Paul Eggert  <eggert@cs.ucla.edu>
10416         strtod: port to z/OS
10417         * lib/strtod.c (strtod): Address a couple quirks in the z/OS
10418         implementation.
10420         regex, string: rename to avoid '__string'
10421         * lib/regex.h, lib/string.in.h: Do not use the identifier
10422         '__string', as it is effectively reserved by string.h on z/OS.
10424         c-strcase-tests, wcwidth-tests: depend on c-ctype
10425         * modules/c-strcase-tests, modules/wcwidth-tests (Depends-on):
10426         Add c-ctype.
10428 2016-08-17  Daniel Richard G.  <skunk@iSKUNK.ORG>
10430         thread: port to z/OS
10431         * lib/glthread/thread.c, lib/glthread/thread.h:
10432         Rudimentary gl_thread support for z/OS.
10434         maint: port tests to z/OS errno behavior
10435         * tests/test-nonblocking-reader.h:
10436         * tests/test-nonblocking-writer.h:
10437         Accommodate z/OS errno code preferences. (I believe this should
10438         still be within spec; IBM is good at following the letter if not
10439         the spirit of such things.)
10441         maint: preprocessor changes to support z/OS
10442         * lib/alloca.in.h, lib/fnmatch.c, lib/get-rusage-as.c:
10443         * lib/glob.c, lib/math.in.h, lib/ptsname_r.c:
10444         * tests/infinity.h, tests/nan.h, tests/test-canonicalize-lgpl.c:
10445         * tests/test-nonblocking-pipe.h:
10447         fclose, strstr-simple, wchar: port to z/OS
10448         * m4/fclose.m4, m4/strstr.m4, m4/wchar_h.m4:
10449         Changes to the Autoconf M4 code to support z/OS.  Note that
10450         fclose() is broken in a different way on z/OS than it is on other
10451         systems, thus the special-case in fclose.m4.
10453         iconv_open-utf-tests, iconv-tests: port to EBCDIC
10454         * tests/test-iconv-utf.c, tests/test-iconv.c:
10455         Added appropriately conditional #pragmas so that the test strings
10456         in test-iconv-utf.c are correctly interpreted in ASCII instead of
10457         EBCDIC (i.e. 'J' == 0x4A and not 0xD1). This issue could be
10458         addressed in a more portable way by simply rewriting all the ASCII
10459         literal characters as octal escapes, but then you would lose the
10460         partial readability that the strings have now. Also, iconv_open()
10461         on z/OS does not recognize "ISO-8859-1", but "ISO8859-1" works.
10463         c-strcase-tests, wcwidth-tests: port to EBCDIC
10464         * tests/test-c-strcasecmp.c: Include c-ctype.h.
10465         (main) [!C_CTYPE_ASCII]: Skip tests that assume ASCII.
10466         * tests/test-wcwidth.c: Likewise.
10468 2016-08-17  Paul Eggert  <eggert@cs.ucla.edu>
10470         stdbool: don't require _Bool for C++
10471         Problem reported by David Seifert in:
10472         http://lists.gnu.org/r/bug-gnulib/2016-06/msg00005.html
10473         * NEWS, doc/posix-headers/stdbool.texi (stdbool.h): Document this.
10474         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Make the check
10475         more-forgiving for C++, in that it requires only 'bool'.  Be a bit
10476         stricter about checking that bool and _Bool are compatible in C.
10478 2016-08-16  Paul Eggert  <eggert@cs.ucla.edu>
10480         getdelim: remove dependency on realloc-posix
10481         * lib/canonicalize-lgpl.c (alloc_failed)
10482         [!FUNC_REALPATH_WORKS || defined _LIBC]: New function,
10483         (__realpath) [!FUNC_REALPATH_WORKS || defined _LIBC]: Use it.
10484         Use __set_errno where needed, for consistency.
10485         * lib/getdelim.c (alloc_failed): New function.
10486         (getdelim): Use it.
10488 2016-08-09  Assaf Gordon  <assafgordon@gmail.com>
10490         parse-datetime: add optional debug printing
10491         Print parsing information, warnings, and errors to stderr.
10492         * lib/parse-datetime.h (parse_datetimte_debug): New global variable.
10493         * lib/parse-datetime.y:
10494         (DEBUG_*):  Macros calling debug functions if debugging is enabled.
10495         (PROGRESS*): Same as DEBUG, for progress reporting.
10496         (dbg_printf): Print message to stderr, with 'date' prefix.
10497         (struct parser_control): Add 'debug_*_seen' variables.
10498         (str_days): Converts day ordinal/number to string (e.g. 'last wed').
10499         (debug_print_current_time, debug_print_relateive_time): Prints the
10500         current/relative date/time value of parser_control.
10501         (YACC parser syntax): Print parsed parts with DEBUG_* macros.
10502         (to_year): Warn about 2-digit year parsing.
10503         (yylex):   Warn about unrecognized words.
10504         (get_effective_timezone): Returns current timezone in minutes.
10505         (debug_strf{time,date,datetime}): Convert 'struct tm' to string as
10506         clearly and unambigiously as possible.
10507         (debug_mktime_not_ok): Print detailed information about failed
10508         date/time values.
10509         (parse_datetime): Add DEBUG messages for failures, warnings. Add
10510         PROGRESS messages for status messages.
10511         * modules/parse-datetime: Add 'timegm', 'gettext-h' dependencies.
10513 2016-08-06  Jim Meyering  <meyering@fb.com>
10515         tests/init.sh: exclude dash with bad "local" semantics
10516         * tests/init.sh (gl_shell_test_script_): Add a function to
10517         eliminate a shell like "dash" (unlike bash, zsh) that has
10518         surprising/risky "local var='...'" semantics.  Inspired by
10519         the problem and discussion in https://bugs.gnu.org/24116#11.
10521 2016-08-02  Ján Tomko  <jtomko@redhat.com>
10523         maint.mk: expand the prohibit_doubled_word regex
10524         This check has a static list of words that are checked for
10525         repetitions.  Expand it before running the perl script to
10526         avoid using expensive captures.  This decreases the cost
10527         for libvirt from 1.66s to 0.66s.
10528         * top/maint.mk (prohibit_doubled_word_expanded_): Define.
10529         (sc_prohibit_doubled_word): Use it.
10531 2016-07-26  Ján Tomko  <jtomko@redhat.com>
10533         useless-if-before-free: skip non-matching lines early
10534         * build-aux/useless-if-before-free: First match each line with the
10535         simple/quick /\bif\b/ and reject if there is no match. This often
10536         saves the cost of the much more involved regular expression.
10537         For libvirt, this decreases the cost from 1.44s to 1.02s.
10539 2016-07-26  Ján Tomko  <jtomko@redhat.com>
10541         maint.mk: speed up sc_po_check
10542         sc_po_check would skip files based on their names, or on the
10543         existence of files with derived names. Rewrite it to use perl
10544         instead of shell to make the check faster.
10545         * top/maint.mk (perl_translatable_files_list_): Define.
10546         (sc_po_check): Use it.
10548 2016-07-30  Ján Tomko  <jtomko@redhat.com>
10550         maint.mk: speed up require_config_h_first
10551         Instead of spawning three processes per file,
10552         rewrite the check in perl and run it once for all the files.
10553         * top/maint.mk (perl_config_h_first_): Define.
10554         (sc_require_config_h_first): Use it in place of shell code.
10556 2016-07-26  Ján Tomko  <jtomko@redhat.com>
10558         maint.mk: speed up sc_po_check
10559         sc_po_check would skip files based on their names, or on the
10560         existence of files with derived names. Rewrite it to use perl
10561         instead of shell to make the check faster.
10562         * top/maint.mk (perl_translatable_files_list_): Define.
10563         (sc_po_check): Use it.
10565 2016-07-15  Paul Eggert  <eggert@cs.ucla.edu>
10567         obstack: pacify GCC 6 with -Wnull-dereference
10568         Problem reported by Assaf Gordon in:
10569         http://lists.gnu.org/r/bug-gnulib/2016-07/msg00028.html
10570         * lib/obstack.c, lib/obstack.h (obstack_alloc_failed_handler):
10571         Declare with __attribute_noreturn__.
10572         * lib/obstack.h (__attribute_noreturn__): New macro.
10574 2016-07-13  Eric Blake  <eblake@redhat.com>
10576         doc: mention glibc, OS X, Cygwin [S]SIZE_MAX buglet
10577         * doc/posix-headers/stdint.texi (stdint.h): Document the bugs.
10578         * doc/posix-headers/limits.texi (limits.h): Document the bugs.
10580 2016-07-13  Paul Eggert  <eggert@cs.ucla.edu>
10582         doc: mention glibc SSIZE_MAX buglet
10583         * doc/posix-headers/limits.texi (limits.h): Document the bug.
10585 2016-07-04  Martin Kletzander  <mkletzan@redhat.com>
10587         printf-posix: Fix mingw build
10588         Commit 54615b95ff238e235e806855efc46a9abad09f2e changed the regular
10589         expression for detecting C symbol prefixes but forgot to qoute square
10590         brackets in the command line arguments for grep.  That way when
10591         building with mingw the condition was false although it ought to be
10592         true instead.  In particular scenarios this led to the following
10593         compile error:
10595             Cannot export rpl_printf: symbol not found
10596             Cannot export rpl_scanf: symbol not found
10597             collect2: error: ld returned 1 exit status
10599         Fix this by properly quoting square brackets.
10601 2016-07-03  Paul Eggert  <eggert@cs.ucla.edu>
10603         mktime: call tzset as per POSIX
10604         Problem reported by Ludovic Courtès in:
10605         http://lists.gnu.org/r/bug-gnulib/2016-06/msg00068.html
10606         * lib/mktime.c (mktime) [!_LIBC && HAVE_TZSET]: Call tzset.
10607         * m4/mktime.m4 (gl_FUNC_MKTIME): Check for tzset.
10609 2016-06-26  Pádraig Brady  <P@draigBrady.com>
10611         fts: handle readdir() errors
10612         * lib/fts.c (fts_build): readdir(3) returns NULL when finished,
10613         but also upon error when it will also set errno.  Therefore
10614         flag the error case from readdir().  We treat the case where
10615         no items are read the same as if the dir can't be accessed,
10616         i.e. by setting fts_errno to FTS_DNR.
10618 2016-06-24  Paul Eggert  <eggert@cs.ucla.edu>
10620         intprops: port better to GCC 7
10621         GCC 7 __builtin_add_overflow supports a new usage form, where the
10622         last argument is a null pointer, and which merely returns 1 if an
10623         overflow would occur.  This is a constant expression if all
10624         arguments are constants, and should generate faster code when code
10625         needs to be generated.
10626         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW_WITH_NULL): New macro.
10627         (_GL_ADD_OVERFLOW, _GL_SUBTRACT_OVERFLOW, _GL_MULTIPLY_OVERFLOW):
10628         Use builtin operations if available.
10629         (INT_NEGATE_OVERFLOW): Prefer INT_SUBTRACT_OVERFLOW if builtin
10630         operations are available, as it's almost surely faster.
10632 2016-06-23  Paul Eggert  <eggert@cs.ucla.edu>
10634         intprops-test: port to GCC 6
10635         * tests/test-intprops.c: Ignore -Woverflow if any GCC version,
10636         since the bug is not fixed in GCC 6.1.
10638 2016-06-13  Paul Eggert  <eggert@cs.ucla.edu>
10640         xalloc-oversized: port to GCC 7; fewer warnings
10641         GCC 7 will have a better way to deal with integer overflow.
10642         Plus, fix a warnings problem reported by Tim Ruehsen in:
10643         http://lists.gnu.org/r/bug-gnulib/2016-06/msg00022.html
10644         * lib/xalloc-oversized.h (__xalloc_oversized): New macro.
10645         (xalloc_oversized): Use plain __builtin_mul_overflow if GCC 7 or later.
10646         For GCC 5, use __xalloc_oversized if both args are constants,
10647         or if pedantic.
10649 2016-06-08  Paul Eggert  <eggert@cs.ucla.edu>
10651         regex: port to Sun C
10652         Reported by Daiki Ueno.
10653         * lib/regcomp.c (regcomp, regerror): Use _Restrict_, not
10654         __restrict, in prototype.  This fixes a problem I introduced in
10655         the 2016-02-19 merge from glibc.
10657 2016-05-31  Paul Eggert  <eggert@cs.ucla.edu>
10659         stdbool: Restore __bool_true_false_are_defined check
10660         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL):
10661         __bool_true_false_are_defined is still defined, even with C++11.
10663 2016-05-31  David Seifert  <soap@gentoo.org>  (tiny change)
10665         stdbool: Port AC_CHECK_HEADER_STDBOOL to C++11
10666         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Port to C++11.
10668 2016-05-30  Paul Eggert  <eggert@cs.ucla.edu>
10670         Use GCC_LINT, not lint
10671         FreeBSD and Cygwin #define _Noreturn to empty if 'lint' is defined.
10672         Problem reported by Ken Brown in: http://bugs.gnu.org/23640
10673         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h):
10674         Document problem with lint and _Noreturn.
10675         * lib/diffseq.h (IF_LINT, IF_LINT2):
10676         * lib/fts.c (sccsid):
10677         * lib/getndelim2.c (IF_LINT):
10678         * lib/gl_anylinked_list2.h (gl_linked_iterator)
10679         (gl_linked_iterator_from_to):
10680         * lib/gl_anytree_list2.h (gl_tree_iterator)
10681         (gl_tree_iterator_from_to):
10682         * lib/gl_anytree_oset.h (gl_tree_iterator):
10683         * lib/gl_array_list.c (gl_array_iterator)
10684         (gl_array_iterator_from_to):
10685         * lib/gl_array_oset.c (gl_array_iterator):
10686         * lib/gl_carray_list.c (gl_carray_iterator)
10687         (gl_carray_iterator_from_to):
10688         * lib/idcache.c:
10689         * lib/inet_ntop.c (IF_LINT):
10690         * lib/regcomp.c (build_charclass_op, create_tree):
10691         * lib/regex_internal.c (re_acquire_state)
10692         (re_acquire_state_context):
10693         * lib/trigl.c (rcsid):
10694         * lib/trim.c (IF_LINT):
10695         * lib/vasnprintf.c (IF_LINT):
10696         * lib/verify.h (assume):
10697         Treat GCC_LINT like lint.
10699 2016-05-29  Bruno Haible  <bruno@clisp.org>
10701         secure_getenv: Port to many more platforms.
10702         * m4/secure_getenv.m4 (gl_PREREQ_SECURE_GETENV): Also check for get*id
10703         functions.
10704         * lib/secure_getenv.c (secure_getenv): Add alternate implementations
10705         for non-BSD Unix platforms and for native Windows.
10706         * doc/glibc-functions/secure_getenv.texi: Remove known issue.
10707         Prompted by a request from Nikos Mavrogiannopoulos.
10709 2016-05-27  Eric Blake  <eblake@redhat.com>
10711         canonicalize: Fix broken probe for realpath.
10712         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Fix regression
10713         in logic introduced in 54615b95.
10715 2016-05-26  Eric Blake  <eblake@redhat.com>
10717         unsetenv: relax to LGPLv2+
10718         * modules/unsetenv (License): Match setenv license.
10720 2016-05-20  Ludovic Courtès  <ludo@gnu.org>
10722         gendocs.sh: Set default TOP_NODE_UP_URL in HTML output.
10723         Suggested by Gavin Smith <gavinsmith0123@gmail.com>.
10724         Reported by myglc2 <myglc2@gmail.com> in <http://bugs.gnu.org/22651>.
10725         * build-aux/gendocs.sh (MANUAL_TITLE, PACKAGE, EMAIL)
10726         (commonarg, dirargs, dirs, infoarg, generate_ascii)
10727         (generate_html, generate_info, generate_tex, outdir)
10728         (source_extra, split, srcfile, texarg): Move above 'version'.
10729         (htmlarg): Likewise, and add "-c TOP_NODE_UP_URL=/manual".
10731 2016-05-17  Paul Eggert  <eggert@cs.ucla.edu>
10733         manywarnings: update for GCC 6.1
10734         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC):
10735         Add GCC 6.1 options that apply to C.
10736         * build-aux/gcc-warning.spec: Add GCC 6.1 options that
10737         do not apply to C, are obsolescent, etc.
10739 2016-05-12  Paul Eggert  <eggert@cs.ucla.edu>
10741         glob: size_t overflow checks
10742         * lib/glob.c (__has_builtin): New macro.
10743         (size_add_wrapv, glob_use_alloca): New static functions.
10744         (glob, glob_in_dir): Check for size_t overflow in several places,
10745         and fix some size_t checks that were not quite right.
10747         glob: don't assume INT_MAX < SIZE_MAX
10748         * lib/glob.c (glob): Prefer SIZE_MAX to ~((size_t) 0), as the
10749         latter is not portable to (probably theoretical) hosts where
10750         SIZE_MAX <= INT_MAX.
10752 2016-05-09  Bruno Haible  <bruno@clisp.org>
10754         Fix undefined behaviour in gettext.h.
10755         * lib/gettext.h (dcpgettext_expr, dcnpgettext_expr): Avoid accessing a
10756         pointer's value after the storage it points to has been freed.
10757         Reported by Michael Pyne in https://savannah.gnu.org/bugs/?47847.
10758         Spotted by Coverity.
10760 2016-05-08  Paul Eggert  <eggert@cs.ucla.edu>
10762         git-version-gen: avoid undefined shift
10763         Problem reported by Mosè Giordano in:
10764         http://lists.gnu.org/r/bug-gnulib/2016-05/msg00012.html
10765         * build-aux/git-version-gen: Avoid undefined behavior if invoked
10766         with --prefix or --fallback but without a later argument.  While
10767         we're at it, omit unnecessary quotes.
10769 2016-05-04  Paul Eggert  <eggert@cs.ucla.edu>
10771         glob: merge glibc changes into lib/glob.c
10772         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c,
10773         dated 2016-05-04 12:09:35 2016 +0200.  Here are the changes:
10774         2016-05-04 CVE-2016-1234: glob: Do not copy d_name field of
10775           struct dirent [BZ #19779]
10776         2016-04-29 glob: Simplify the interface for the GLOB_ALTDIRFUNC
10777           callback gl_readdir
10778         2015-10-20 Convert miscellaneous function definitions to prototype style
10779         2015-10-20 Convert 113 more function definitions to prototype style
10780           (files with assertions)
10781         2015-06-12 Fix getlogin_r namespace (bug 18527).
10782         2014-02-10 Use glibc_likely instead __builtin_expect.
10783         2013-10-20 When glob pattern contains a trailing slash match only
10784           directories. Fixes bug 10278.
10785         2013-09-04 glob: silence -Wattribute warnings
10786         2013-06-07 Avoid use of "register" as optimization hint.
10787         2012-09-25 Use size_t instead of int for internal variables in glob
10788           (bug 14621)
10789         2011-07-20 Check for overflows in expressions
10790         2011-05-28 Remove unused variable
10791         2011-05-22 Add a few more alloca size checks
10792         2010-03-27 Whitespace fixes
10793         2010-03-27 Fix one more issue with the glob patch
10794         2010-03-24 Fix glob with empty pattern
10795         2008-05-27 Remove useless more "if" tests before "free"
10796         * modules/glob (Depends-on): Add stdint.
10798 2016-05-01  Paul Eggert  <eggert@cs.ucla.edu>
10800         mktime: port to stricter signed overflow checking
10801         * lib/mktime.c: Omit 'pragma GCC optimize ("wrapv")'.
10802         (long_int): Require width for INT_MAX * 3 * (seconds per year),
10803         instead of merely for INT_MAX * 2.  In practice platforms that
10804         do the latter also do the former.
10805         (TIME_T_MIN, TIME_T_MAX, TIME_T_MIDPOINT, SHR): Remove.
10806         (shr): New static function, replacing SHR.  All uses changed.
10807         (mktime_min, mktime_max): New constants, replacing TIME_T_MIN
10808         and TIME_T_MAX.  All uses changed.
10809         (ydhms_diff, guess_time_tm, ranged_convert, __mktime_internal):
10810         Use long_int, not time_t.
10811         (long_int_avg): New static function, replacing time_t_avg.
10812         All uses changed.  Round toward positive infinity, as that
10813         generates slightly better code.
10814         (time_t_add_ok, time_t_int_add_ok): Remove.  All uses replaced
10815         by INT_ADD_WRAPV.
10816         (guess_time_tm): Accept time, not a pointer to it.  All uses changed.
10817         (convert_time): New static function.
10818         (ranged_convert): Use it
10819         (ranged_convert): Check for *T out of [mktime_min, mktime_max] range.
10820         Use simpler test for loop exit.
10821         (__mktime_internal): Store negative of guessed offset, to simplify
10822         overflow checking.  Remove no-longer-needed test for small time_t
10823         overflows.
10825         mktime: speed up DEBUG_MKTIME benchmarks
10826         Call tzset just once, at the start, rather than for every test
10827         case.  This lets us measure the CPU cost of mktime as opposed to
10828         that of tzset.  This is relevant when TZ is not set and glibc is
10829         being used.  This speeds up tests by a factor of 40 on my Fedora
10830         23 x86-64 platform.
10831         * lib/mktime.c (main) [DEBUG_MKTIME]: Call localtime at the start,
10832         to call tzset and as a sanity check.  Later on, use localtime_r
10833         instead of localtime.
10835         mktime: resurrect DEBUG_MKTIME testing
10836         * lib/mktime.c [DEBUG_MKTIME]: Do not include <config.h>.
10837         Include <string.h>, for strcmp.
10839         mktime: simplify DEBUG_MKTIME
10840         * lib/mktime.c (DEBUG_MKTIME): Define to 0 if not defined.
10841         Simplify later usage accordingly.
10843         Port mktime_internal offset to unsigned time_t
10844         This avoids some assumptions about wraparound arithmetic on
10845         signed integer overflow.
10846         * lib/mktime-internal.h (mktime_offset_t): New type.
10847         (mktime_internal): Use it in decl.
10848         * lib/mktime.c, lib/timegm.c (mktime_offset_t) [_LIBC]: New type.
10850         * lib/mktime.c (__mktime_internal, localtime_offset):
10851         * lib/timegm.c (timegm): Use it.
10852         * m4/mktime.m4 (gl_TIME_T_IS_SIGNED): New macro.
10853         (gl_FUNC_MKTIME): Require it.
10855 2016-04-27  Paul Eggert  <eggert@cs.ucla.edu>
10857         xstrtol: prohibit monstrosities like "1bB"
10858         Problem reported by Young Mo Kang in: http://bugs.gnu.org/23388
10859         * lib/xstrtol.c (__xstrtol): Allow trailing second suffixes like
10860         "B" only if the first suffix needs a base.
10861         * tests/test-xstrtol.sh: Test this.
10863 2016-04-21  Pádraig Brady  <P@draigBrady.com>
10865         xstrtod: reinstate setting of *result upon ERANGE
10866         * lib/xstrtod.c (XSTRTOD): The user may decide to use
10867         the returned limits upon ERANGE, so allow and document that.
10869 2016-04-20  Tino Calancha  <f92capac@gmail.com>  (tiny change)
10871         xstrtod: modify *result only if no errors
10872         * lib/xstrtod.c (XSTRTOD).
10874 2016-04-19  Paul Eggert  <eggert@cs.ucla.edu>
10876         btowc: document problems in C locale
10877         * doc/posix-functions/btowc.texi (btowc): Mention incompatibility
10878         with mbrtowc.  See: http://bugs.gnu.org/23269#32
10880 2016-04-13  Paul Eggert  <eggert@cs.ucla.edu>
10882         mktime: improve integer overflow checking
10883         * lib/mktime.c: Include stdbool.h, intprops.h, verify.h.
10884         (WRAPV): Remove; no longer needed.
10885         (verify): Remove.  Replace all uses with call to verify.h 'verify'.
10886         (TYPE_IS_INTEGER, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
10887         Remove.  Use intprops.h defns instead.
10888         (leapyear, isdst_differ, time_t_add_ok, time_t_int_ok):
10889         Use bool for Boolean, for clarity.
10890         (time_t_add_ok, time_t_int_add_ok): Use INT_ADD_WRAPV to
10891         detect integer overflow.
10892         * modules/mktime (Depends-on): Add intprops, stdbool, verify.
10894         intprops: check two's complement assumption
10895         Suggested by Eric Blake in:
10896         http://lists.gnu.org/r/bug-gnulib/2016-04/msg00016.html
10897         * lib/intprops.h: Include <verify.h>.  Verify that signed char,
10898         short, int, long, and (if available) long long are two's complement.
10899         * modules/intprops (Depends-on): Add 'verify'.
10901         intprops, mktime, strtol: assume two's complement
10902         These macros were not portable to every conforming C11 ones'
10903         complement platform.  It's not worth the hassle of porting to some
10904         platforms that use ones' complement or signed magnitude, as such
10905         platforms are almost purely theoretical nowadays and porting even
10906         to some of them makes the code harder to review for little
10907         practical benefit.  Problem reported by Florian Weimer in:
10908         https://sourceware.org/ml/libc-alpha/2016-04/msg00295.html
10909         * lib/intprops.h (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT)
10910         (TYPE_SIGNED_MAGNITUDE, _GL_INT_TWOS_COMPLEMENT):
10911         * lib/mktime.c (TYPE_TWOS_COMPLEMENT):
10912         * lib/strtol.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT)
10913         (TYPE_SIGNED_MAGNITUDE):
10914         Remove.  All uses rewritten to assume two's complement, which is
10915         all we can reasonably test nowadays anyway.
10916         * top/maint.mk (_intprops_names): Remove the removed macros.
10918 2016-04-11  Paul Eggert  <eggert@cs.ucla.edu>
10920         stdint: port to strict C11 left shift
10921         * lib/stdint.in.h (_STDINT_MIN, _STDINT_MAX):
10922         Pacify clang -Wshift-negative-value, which should be an issue only
10923         on clang setups where stdint.h does not conform to C11 or to C++11.
10924         Problem reported by Philipp Stephani in: http://bugs.gnu.org/23261
10926 2016-04-09  Paul Eggert  <eggert@penguin.cs.ucla.edu>
10928         mbrtowc: work around glibc bug#19932
10929         Fix mbrtowc so that it never returns -1 in the C locale,
10930         as this conflicts with a future version of POSIX
10931         http://austingroupbugs.net/view.php?id=663#c2738
10932         and causes problems with GNU grep: http://bugs.gnu.org/23234
10933         See glibc bug 19932:
10934         https://sourceware.org/bugzilla/show_bug.cgi?id=19932
10935         * doc/posix-functions/mbrlen.texi (mbrlen):
10936         * doc/posix-functions/mbrtowc.texi (mbrtowc):
10937         Document the glibc bug.
10938         * lib/mbrtowc.c [C_LOCALE_MAYBE_EILSEQ]:
10939         Include hard-locale.h, locale.h.
10940         (rpl_mbrtowc): Work around the C_LOCALE_MAYBE_EILSEQ bug,
10941         if the bug is possible.
10942         * m4/mbrtowc.m4 (gl_MBRTOWC_C_LOCALE): New macro.
10943         (gl_FUNC_MBRTOWC): Use it, and define C_LOCALE_MAYBE_EILSEQ as needed.
10944         * modules/hard-locale (License): Now LGPLv2+, for mbrtowc.
10945         * modules/mbrtowc (Depends-on): Add hard-locale.
10946         * modules/mbrtowc-tests (Files, TESTS): Add tests/test-mbrtowc5.sh.
10947         * tests/test-mbrtowc.c (main): Test for bug fix if arg is '5'.
10948         * tests/test-mbrtowc5.sh: New file.
10950 2016-04-03  Pedro Alves  <palves@redhat.com>
10952         stdint: detect good enough pre-C++11 stdint.h in C++ mode
10953         When gnulib is configured in C++ mode for a system with a working C99
10954         implementation of stdint.h that predates C++11, gnulib ends up
10955         substituting stdint.h anyway.  This works on most targets, but on e.g.,
10956         64-bit MinGW, it doesn't, as gnulib's substitute assumes LP64, while
10957         MinGW is LLP64.  Instead of trying to detect the right types, detect
10958         good-enough-pre-C++11 stdint.h and in such case define
10959         __STDC_CONSTANT_MACROS/__STDC_LIMIT_MACROS in config.h.
10960         * m4/stdint.m4 (gl_STDINT_H): Always define __STDC_CONSTANT_MACROS
10961         / __STDC_LIMIT_MACROS while checking whether the system stdint.h
10962         conforms to C99.  If it does, check whether it hides symbols
10963         behind the __STDC_{CONSTANT|LIMIT}_MACROS macros.  Then if it
10964         does, define those macros in config.h.
10966 2016-04-03  Paul Eggert  <eggert@cs.ucla.edu>
10968         argp: merge changes from glibc
10969         Among other things, this should fix problems found by a Coverity
10970         scan and reported by Andrei Borzenkov:
10971         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00015.html
10972         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00016.html
10973         * lib/argp-ba.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h:
10974         * lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h:
10975         * lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c:
10976         * lib/argp.h:
10977         Merge changes from glibc.
10978         * tests/test-argp-2.sh: Adjust to match new behavior.
10980 2016-04-01  Paul Eggert  <eggert@cs.ucla.edu>
10982         stddef: support configuring with g++
10983         Problem reported by Ángel González in:
10984         http://lists.gnu.org/r/bug-gnulib/2016-04/msg00003.html
10985         * lib/stddef.in.h (_GL_STDDEF_ALIGNAS, max_align_t):
10986         Do not define if _GCC_MAX_ALIGN_T is defined.
10988 2016-03-25  Paul Eggert  <eggert@cs.ucla.edu>
10990         test-framework-sh: minor cleanups
10991         * tests/init.sh (testdir_prefix_): Output a trailing newline,
10992         since strictly speaking POSIX requires this.
10993         (setup_): Do not use the variable 'fail', as that makes the
10994         trace output harder to read ('fail' is typically used by
10995         tests to mean the test failed).  Treat // portably.
10996         Check that new directory is not merely a sibling of the tmp dir.
10997         Avoid unnecessary invocation of tr.
10999         test-framework-sh: revert port to NetBSD 7.0
11000         It was a false alarm; I misinterpreted Assaf Gordon's report.
11001         * tests/init.sh (testdir_prefix_, pfx_, template_length_):
11002         Restore.
11003         (test_dir_): Adjust to mktempd_ change.
11004         (mktempd_): Restore 2nd arg.  Use -t again.
11005         (base_template_, template_, nx_): Resurrect old code.
11007         Port better to Alpine Linux
11008         Its diff implementation does not support -c, but does support -U3.
11009         Problem reported by Assaf Gordon in: http://bugs.gnu.org/23107#13
11010         * tests/init.sh (diff_opt_): New var.
11011         (compare_): Prefer diff -U3 to diff -c to plain diff.
11013 2016-03-24  Paul Eggert  <eggert@cs.ucla.edu>
11015         test-framework-sh: port to NetBSD 7.0
11016         Problem reported by Assaf Gordon in: http://bugs.gnu.org/23107#13
11017         * tests/init.sh (testdir_prefix_, pfx_, template_length_):
11018         Remove.  All uses removed.
11019         (test_dir_): Adjust to mktempd_ change.
11020         (mktempd_): Omit 2nd arg.  Stop using -t, as it is not portable.
11021         (base_template_, template_, nx_): Simplify by hardcoding.
11023 2016-03-22  Paul Eggert  <eggert@cs.ucla.edu>
11025         gitlog-to-changelog: suppress ignored chatter
11026         * build-aux/gitlog-to-changelog: Do not warn about skipping
11027         an SHA if it would have been ignored anyway.
11029 2016-03-22  Geert Janssens  <janssens-geert@telenet.be>
11031         setlocale: add "sv" to Windows language table
11032         * lib/setlocale.c (language_table) [W32]: Add "sv".
11033         Reported in <https://savannah.gnu.org/bugs/?44588>.
11035 2016-03-21  Paul Eggert  <eggert@cs.ucla.edu>
11037         sys_select: port to new Cygwin
11038         Problem reported by Ken Brown in:
11039         https://lists.gnu.org/r/bug-gnulib/2016-03/msg00054.html
11040         * lib/sys_select.in.h [__CYGWIN__]: Avoid "unknown type name"
11041         diagnostics.
11043 2016-03-17  Jim Meyering  <meyering@fb.com>
11045         test-userspec.c: do not trigger gcc's new -Wmisleading-indentation
11046         * tests/test-userspec.c (main): Remove unnecessary braces and fix
11047         misleading indentation. Here is the diagnostic gcc-6.0-to-be issued:
11048           test-userspec.c:176:9: error: statement is indented as if it were \
11049             guarded by... [-Werror=misleading-indentation]
11050                    {
11051                    ^
11052           test-userspec.c:173:7: note: ...this 'if' clause, but it is not
11053                  if (!diag && !T[i].result)
11054                  ^~
11056 2016-03-15  Paul Eggert  <eggert@cs.ucla.edu>
11058         time_rz: port to clang -Wunused-const-variable
11059         * lib/time_rz.c (TZ): Remove.  All uses removed.
11061         std-gnu11: improve clang support
11062         * m4/std-gnu11.m4: Sync with autoconf, incorporating:
11063         2016-03-15 Also try clang
11064         2016-03-15 Port C11 and C++11 testing to clang
11066         select: port more to Intel 2016.1.150 compiler
11067         Problem reported by Balázs Hajgató in:
11068         http://lists.gnu.org/r/bug-gnulib/2016-03/msg00036.html
11069         * m4/select.m4 (gl_FUNC_SELECT): Require AC_C_RESTRICT.
11071 2016-03-14  Paul Eggert  <eggert@cs.ucla.edu>
11073         select: try to port to 2016.1.150 compiler
11074         Problem reported by Balázs Hajgató in:
11075         http://lists.gnu.org/r/bug-gnulib/2016-03/msg00026.html
11076         * lib/sys_select.in.h (select): Use 'restrict' on arguments where
11077         POSIX specifies 'restrict'.
11079 2016-03-13  Paul Eggert  <eggert@cs.ucla.edu>
11081         localename-tests: memory allocation fixes
11082         * tests/test-localename.c (test_locale_name)
11083         (test_locale_name_thread): Don't call freelocale on a locale
11084         that was the base of a successful newlocale, as that
11085         results in a double free.  Problem reported by Assaf Gordon.
11086         (test_locale_name_thread): Free saved names after use, to pacify
11087         gcc -fsanitize=address.
11089 2016-03-08  Paul Eggert  <eggert@cs.ucla.edu>
11091         intprops: make .h file license match module
11092         * lib/intprops.h: Change the license wording to match glibc format.
11093         This is what is in modules/intprops anyway.  See:
11094         https://sourceware.org/bugzilla/show_bug.cgi?id=19738#c8
11096 2016-03-08  Eric Blake  <eblake@redhat.com>
11098         acl: fix missing return on Cygwin
11099         * lib/set-permissions.c (set_acls) [HAVE_FACL && GETACL]: Don't
11100         fall off end of function. Fixes http://bugs.gnu.org/22949
11102 2016-03-05  Bruno Haible  <bruno@clisp.org>
11104         extern-inline: port to PGI CC
11105         * m4/extern-inline.m4 (gl_EXTERN_INLINE): For PGI CC, don't use the
11106         keyword 'inline'.
11107         Reported by Adam James Stewart in:
11108         http://lists.gnu.org/r/bug-gnulib/2016-03/msg00006.html
11110 2016-02-20  Paul Eggert  <eggert@cs.ucla.edu>
11112         signbit: port back to pre-C++11 GCC
11113         * lib/math.in.h (signbit): Do previous change only if
11114         __cplusplus < 201103.  See Jonathan Wakely in:
11115         https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/message/UY3VX3W7XEXYTUKHG5BALU4ACUD7ZLGE/
11117 2016-02-19  Kamil Dudka  <kdudka@redhat.com>
11119         mountlist: recognize autofs-mounted remote file systems, too
11120         Originally reported at: https://bugzilla.redhat.com/1309247
11121         * lib/mountlist.c (ME_REMOTE): Return true if a file system is named
11122         "-hosts" because it is used by autofs to mount remote file systems.
11124 2016-02-19  Paul Eggert  <eggert@cs.ucla.edu>
11126         signbit: port to C++ with GCC 6
11127         * lib/math.in.h (signbit) [__cplusplus]:
11128         Do not replace with GCC builtin.  Reported by Orion Poplawski in:
11129         http://lists.gnu.org/r/bug-gnulib/2016-02/msg00005.html
11131         * lib/regex_internal.h (IDX_MAX) [_REGEX_LARGE_OFFSETS]: Now SSIZE_MAX.
11133         regex: make it closer to libc
11134         Make Idx a signed type, rather than possibly unsigned.
11135         The unsignedness was not really buying us anything, since the code
11136         overflows for other reasons before getting to PTRDIFF_MAX.  Making
11137         it signed allows us to use -1 and -2 with abandon, like libc does,
11138         thus lessening the number of differences between gnulib and libc.
11139         Also, it should help avoid gratuitous warnings like the one
11140         reported by Nelson H. F. Beebe in: http://bugs.gnu.org/22702
11141         * lib/regex.h (__re_idx_t): Remove.  All uses changed to regoff_t.
11144         regex: merge patches from libc
11146         2015-10-21  Joseph Myers  <joseph@codesourcery.com>
11147         2015-10-20  Joseph Myers  <joseph@codesourcery.com>
11148         Convert miscellaneous function definitions to prototype style.
11149         * lib/regcomp.c (re_compile_pattern, re_set_syntax)
11150         (re_compile_fastmap, regcomp, regerror, regfree, re_comp):
11151         * lib/regexec.c (regexec, re_match, re_search, re_match_2, re_search_2)
11152         (re_search_2_stub, re_search_stub, re_set_registers, re_exec)
11153         (re_search_internal):
11154         Convert to prototype-style function definition.
11155         Use internal_function for internal functions.
11157 2016-02-10  Paul Eggert  <eggert@cs.ucla.edu>
11159         stdalign: port to older HP and IBM cc
11160         * lib/stdalign.in.h (_Alignas): Port better to older HP and IBM
11161         C compilers, by checking their version numbers.  These version
11162         numbers appear in MariaDB and in Qt code that dates way back and
11163         that conditiionally uses the 'aligned' attribute.
11165 2016-02-09  Paul Eggert  <eggert@cs.ucla.edu>
11167         stdalign: port to clang 3.7.0
11168         Problem reported by Herbert J. Skuhra in:
11169         http://lists.gnu.org/r/emacs-devel/2016-02/msg00476.html
11170         * lib/stdalign.in.h (alignas): Fix typo that prevented 'alignas'
11171         from being defined on clang 3.7.0, which has a buggy stdalign.h.  See:
11172         https://llvm.org/bugs/show_bug.cgi?id=26547
11174 2016-02-08  Paul Eggert  <eggert@cs.ucla.edu>
11176         readdir_r: now obsolescent
11177         * doc/posix-functions/readdir_r.texi (readdir_r): Now obsolescent.
11178         * lib/mountlist.c (read_file_system_list): Add a FIXME.
11180 2016-02-06  Paul Eggert  <eggert@cs.ucla.edu>
11182         misc: port better to gcc -fsanitize=address
11183         Without these patches, ./configure CFLAGS='-fsanitize=address'
11184         would compute incorrect values.  This patch fixes some (but not all)
11185         test failures with recent glibc, with this configuration.
11186         * m4/acl.m4 (gl_ACL_GET_FILE):
11187         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF):
11188         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS):
11189         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO):
11190         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE):
11191         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
11192         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
11193         * m4/getgroups.m4 (gl_FUNC_GETGROUPS):
11194         * m4/getline.m4 (gl_FUNC_GETLINE):
11195         * m4/malloc.m4 (_AC_FUNC_MALLOC_IF):
11196         * m4/realloc.m4 (_AC_FUNC_REALLOC_IF):
11197         * m4/regex.m4 (gl_REGEX):
11198         * m4/strndup.m4 (gl_FUNC_STRNDUP):
11199         * tests/test-calloc-gnu.c (main):
11200         * tests/test-duplocale.c (main):
11201         * tests/test-getgroups.c (main):
11202         * tests/test-getline.c (main):
11203         * tests/test-inttostr.c (main):
11204         * tests/test-localename.c (test_locale_name)
11205         (test_locale_name_thread, test_locale_name_environ)
11206         (test_locale_name_default):
11207         * tests/test-regex.c (main):
11208         * tests/test-setlocale1.c (main):
11209         * tests/test-stat.h (test_stat_func):
11210         Free heap-allocated storage before exiting.
11211         * m4/asm-underscore.m4 (gl_ASM_SYMBOL_PREFIX):
11212         Don't match *_foo symbols inserted by AddressSanitizer.
11213         * tests/test-regex.c, tests/test-stat.c: Include stdlib.h, for 'free'.
11215 2016-02-02  Jim Meyering  <meyering@fb.com>
11217         verify-tests: also remove stray test-verify.Tpo
11218         * modules/verify-tests (Makefile.am): Arrange for "make clean"
11219         to remove the test-verify.Tpo file that is left behind by
11220         the automake-generated rule upon compilation failure.
11221         Otherwise, that .Tpo file would cause a failed "make distcheck"
11222         at least for grep.
11224 2016-02-02  Paul Eggert  <eggert@cs.ucla.edu>
11226         std-gnu11: new module
11227         This makes it easier for applications to prefer C11 and C++11
11228         to older variants, when compiling C and C++ code.
11229         Unlike most m4/*.m4 files, m4/std-gnu11.m4 is GPLed, as it copies
11230         a nontrivial chunk of GPLed Autoconf source code.
11231         * COPYING: Mention the m4/*.m4 copyright situation.
11232         * MODULES.html.sh (std-gnu11): New module.
11233         * m4/std-gnu11.m4, modules/std-gnu11: New files.
11235 2016-01-25  Paul Eggert  <eggert@cs.ucla.edu>
11237         get-permissions, strftime: fix grammar in comments
11238         * lib/get-permissions.c, lib/strftime.c: Merge into the comments
11239         some grammar fixes Alan Mackenzie made to GNU Emacs.
11241 2016-01-25  Daiki Ueno  <ueno@gnu.org>
11243         gettext: mark as obsolete
11244         Suggested by Paul Eggert in:
11245         https://lists.gnu.org/r/bug-gnulib/2016-01/msg00101.html
11246         * modules/gettext (Status): Mark as obsolete.
11247         (Notice): Suggest to use 'gettext-h' instead.
11248         * modules/gettext-h (Description): Suggest GNU gettext, instead of
11249         the 'gettext' module.
11251 2016-01-24  Paul Eggert  <eggert@cs.ucla.edu>
11253         gnulib-tool: don't give up on ln -s so easily
11254         * gnulib-tool (func_ln_s): Don't give up on a later ln -s merely
11255         because an earlier one failed.  The targets could be on different
11256         file systems.  Problem reported by KO Myung-Hun in:
11257         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00081.html
11259         closedir: fix OS/2-related typos
11260         Problem reported by KO Myung-Hun in:
11261         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00107.html
11262         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Fix a couple of typos
11263         in the last couple of changes.
11265 2016-01-24  KO Myung-Hun  <komh78@gmail.com>
11267         openat_proc_name: fix that last '/' is overwritten on OS/2 kLIBC
11268         * lib/openat-proc.c (openat_proc_name): Increase dirlen by 1 after
11269         copying a directory.
11271 2016-01-24  Paul Eggert  <eggert@cs.ucla.edu>
11273         regex: treat [x] as x if x is a unibyte encoding error
11274         Problem reported by Aharon Robbins in:
11275         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00091.html
11276         * lib/regcomp.c (parse_byte) [!_LIBC && RE_ENABLE_I18N]: New function.
11277         (build_range_exp) [!_LIBC && RE_ENABLE_I18N]: Use it.
11279         closedir, dirfd, opendir: port to OpenSolaris 5.10
11280         * m4/closedir.m4 (gl_FUNC_CLOSEDIR):
11281         * m4/dirfd.m4 (gl_FUNC_DIRFD):
11282         * m4/opendir.m4 (gl_FUNC_OPENDIR):
11283         Don't use ${word##pat} substitution, as it doesn't work in
11284         OpenSolaris 5.10 /bin/sh.  Problem reported by Assaf Gordon in:
11285         http://bugs.gnu.org/22443#11
11287 2016-01-23  Paul Eggert  <eggert@cs.ucla.edu>
11289         bootstrap: use American spelling
11290         * build-aux/bootstrap: Honor American spelling.
11292 2016-01-22  Karl Berry  <karl@freefriends.org>
11294         * doc/posix-functions/localtime.texi,
11295         * doc/posix-functions/localtime_r.texi: @item needed for @itemize text.
11297 2016-01-21  Bruno Haible  <bruno@clisp.org>
11299         hash-pjw-bare: fix comment
11300         * lib/hash-pjw-bare.h (hash_pjw_bare): Fix comment.
11302         wcwidth: Replace also on OpenBSD 5.8
11303         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check the value of wcwidth(0xFF1A).
11304         * doc/posix-functions/wcwidth.texi: Update.
11306 2016-01-20  Pádraig Brady  <P@draigBrady.com>
11308         gnu-web-doc-update: fix addition of new files
11309         If there were already added (emnpty) dirs,
11310         then cvs aborts the add with the message:
11311           cvs [add aborted]: there is a version in <./dirname> already
11312         * build-aux/gnu-web-doc-update: Add directories separately
11313         to the addition of files, to avoid the above issue
11314         impacting the addition of files.
11316 2016-01-19  Daiki Ueno  <ueno@gnu.org>
11318         utimens-tests: avoid pulling gettext .m4 files
11319         Although this is not the right fix to the original problem:
11320         http://lists.gnu.org/r/bug-gnulib/2013-01/msg00086.html
11321         it makes it possible again for consumer projects to use arbitrary
11322         version of gettext, through the steps described at:
11323         http://www.gnu.org/software/gnulib/manual/html_node/gettextize-and-autopoint.html
11324         See here for details:
11325         https://lists.gnu.org/r/bug-gnulib/2016-01/msg00079.html
11326         * modules/futimens-tests (Depends-on): Add 'gettext-h' in place of
11327         'gettext'.
11328         * modules/utimens-tests (Depends-on): Add 'gettext-h' in place of
11329         'gettext'.
11331 2016-01-18  Paul Eggert  <eggert@cs.ucla.edu>
11333         regex: pacify static checkers
11334         Problem and draft fix reported by Aharon Robbins in:
11335         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00082.html
11336         * lib/regcomp.c (build_charclass_op, create_tree) [lint]:
11337         Clear memory to pacify static checkers.
11339         regex: fix [ diagnostic
11340         Problem and fix reported by Aharon Robbins in:
11341         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00082.html
11342         * lib/regcomp.c (REG_EBRACK_IDX): Fix misleading diagnostic about [.
11344         regex: fix memory leaks
11345         Problem and draft fix reported by Aharon Robbins in:
11346         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00082.html
11347         * lib/regcomp.c (build_range_exp, build_charclass_op)
11348         * lib/regex_internal.c (re_dfa_add_node):
11349         Fix memory leak on failure.
11351 2016-01-18  Pádraig Brady  <P@draigBrady.com>
11353         fts: don't unconditionally use leaf optimization for NFS
11354         NFS st_nlink are not accurate on all implementations,
11355         leading to aborts() if that assumption is made.
11356         See <https://bugzilla.redhat.com/1299169>
11357         * lib/fts.c (leaf_optimization_applies): Remove NFS from
11358         the white list, and document the issue.
11360 2016-01-15  Paul Eggert  <eggert@cs.ucla.edu>
11361             KO Myung-Hun  <komh@chollian.net>
11363         gnulib-tool: don't assume ln -s works
11364         * gnulib-tool (func_ln_s): New function.
11365         (func_ln): Use it.
11367 2016-01-15  KO Myung-Hun  <komh@chollian.net>
11369         utimes: detect utimes() correctly on OS/2 kLIBC
11370         utimes() of OS/2 kLIBC has some limitations.
11371         1. OS/2 itself supports a file date since 1980 year in local time.
11372         2. OS/2 itself supports only even seconds for a file time.
11373         3. utimes() of OS/2 kLIBC does not work on an opened file.
11374         * m4/utimes.m4: Detect utimes() correctly on OS/2 kLIBC.
11375         * doc/posix-functions/utimes.texi: Document the above limitations of
11376         utimes() on OS/2 kLIBC.
11378 2016-01-15  Paul Eggert  <eggert@cs.ucla.edu>
11379             KO Myung-Hun  <komh@chollian.net>
11381         openat_proc_name: port to OS/2 kLIBC
11382         OS/2 kLIBC provides a function to retrive a path from a fd. Use it
11383         instead of /proc/self/fd.
11384         * lib/openat-proc.c (openat_proc_name):
11385         Don't assume file name length is less than INT_MAX.
11386         Port to OS/2 kLIBC with __libc_Back_ioFHToPath().
11388 2016-01-14  KO Myung-Hun  <komh@chollian.net>
11390         stdint: check _INTPTR_T_DECLARED for intptr_t etc.
11391         OS/2 kLIBC's stdint.h defines _INTPTR_T_DECLARED and needs its own
11392         definitions of intptr_t and uintptr_t (which use int and unsigned)
11393         to avoid clashes with declarations of system functions like sbrk.
11394         * lib/stdint.in.h (intptr_t, uintptr_t): Check
11395         _INTPTR_T_DECLARED before defining them.
11397         opendir, closedir, dirfd, fdopendir: port to OS/2 kLIBC
11398         * lib/closedir.c (closedir): Unregister fd if closedir() succeeds.
11399         * lib/dirent.in.h (_gl_register_dirp_fd, _gl_unregister_dirp_fd):
11400         Declare on kLIBC.
11401         * lib/dirfd.c (struct dirp_fd_list): New. Structures to keep track of
11402         fd associated with dirp.
11403         (_gl_register_dirp_fd): New. Register fd associated with dirp to
11404         dirp_fd_list.
11405         (_gl_unregister_dirp_fd): New. Unregister fd with closing it.
11406         (dirfd): Implemented for kLIBC.
11407         * lib/fdopendir.c (fdopendir): Implemented for kLIBC.
11408         * lib/opendir.c (opendir): New. Register fd and dirp pair if open()
11409         succeeds.
11410         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Replace if OS/2.
11411         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
11412         (REPLACE_DIRFD): Define to 1 if replaced.
11413         * m4/opendir.m4 (gl_FUNC_OPENDIR): Likewise.
11414         * modules/closedir (Depends-on): Add dirfd.
11415         * modules/dirfd (Depends-on): Add 'test $REPLACE_DIRFD = 1' to errno
11416         condition.
11417         (configure.ac): Add dirfd to LIBOBJS if $REPLACE_DIRFD = 1 as well.
11418         * modules/opendir (Depends-on): Add dirfd.
11420         dup, dup2, fcntl: support a directory fd on OS/2 kLIBC
11421         On OS/2 kLIBC, dup(), dup2() and fcntl() do not work on a directory fd.
11422         * lib/dup.c (dup_nothrow): New.
11423         * lib/dup2.c (klibc_dup2dirfd): New. dup2() for a directory fd.
11424         (klibc_dup2): New.
11425         * lib/fcntl.c (klibc_fcntl): New.
11426         * m4/dup.m4 (gl_FUNC_DUP): Check if dup() works on a directory fd.
11427         * m4/dup2.m4 (gl_FUNC_DUP2): Check if dup2() works on a directory fd.
11428         * m4/fcntl.m4 (gl_FUNC_FCNTL): Check if F_DUPFD works on a directory
11429         fd.
11431         pipe_filter_ii_execute: port to OS/2 kLIBC
11432         Pipes on kLIBC do not support O_NONBLOCK like Win32.
11433         * lib/pipe-filter-ii.c (start_wrapper, _beginthreadex, CloseHandle,
11434         WaiForSingleObject, WaitForMultipleObjects): New on OS/2 kLIBC.
11435         Reuse Win32 code on OS/2 kLIBC.
11436         * lib/spawn-pipe.c: Reuse Win32 code on OS/2 kLIBC.
11437         * lib/w32spawn.h: Do not include windows.h on OS/2 kLIBC.
11439         wchar: fix "conflicting types" error for __wcwidth on OS/2 kLIBC
11440         On OS/2 kLIBC, wcwidth is a macro that expands to the name of a
11441         static inline function.  The implementation of wcwidth in wcwidth.c
11442         causes a "conflicting types" error.
11443         * lib/wchar.in.h: Undefine wcwidth on OS/2 kLIBC.
11445         w32spawn: clear SHELL_SPECIAL_CHARS and SHELL_SPACE_CHAR on OS/2 kLIBC
11446         spawn() on OS/2 kLIBC is not silly like one on Windows
11447         * libc/w32spawn.h (SHELL_SPECIAL_CHARS, SHELL_SPACE_CHAR): Set both to
11448         empty string on OS/2 kLIBC.
11450         pipe-filter-aux: undefine HAVE_SELECT on KLIBC
11451         On OS/2 kLIBC, select() works only on sockets.
11452         * lib/pipe-filter-aux.h (HAVE_SELECT): Undefine on OS/2 kLIBC.
11454         binary-io: don't put fd in binary mode if it is a console on EMX
11455         * lib/binary-io.h (SET_BINARY): Don't put fd in binary mode if it is
11456         a console on EMX.
11458 2016-01-15  Pádraig Brady  <P@draigBrady.com>
11460         doc: mention unfixed issues with unsupported localtime() values
11461         * doc/posix-functions/localtime.texi: Mention that FreeBSD 10
11462         returns nonsense for localtime(2^56).
11463         * doc/posix-functions/localtime_r.texi: Likewise.
11465 2016-01-14  Pádraig Brady  <P@draigBrady.com>
11467         doc: mention setlocale() issues on OpenBSD
11468         * doc/posix-functions/setlocale.texi: Mention setlocale(LC_ALL,"")
11469         never fails, and the need to check categories individually.
11471 2016-01-14  Pádraig Brady  <P@draigBrady.com>
11473         sig2str: list all signals on FreeBSD >= 7
11474         FreeBSD >= 7 is contravening POSIX by not defining NSIG
11475         to the maximal statically defined signal value.
11476         It does define _SIG_MAXSIG though, so base SIGNUM_BOUND on that.
11477         * lib/sig2str.h (SIGNUM_BOUND): Define to (_SIG_MAXSIG - 2)
11478         where available, even when NSIG is defined.
11480 2016-01-13  Paul Eggert  <eggert@cs.ucla.edu>
11482         acl-permissions: port to USE_ACL==0 platforms
11483         I ran into this problem when building bleeding-edge GNU Emacs
11484         with gcc -fsanitize=address on Fedora 23.  On this platform
11485         the ACL library does not pass the 'configure' test and Emacs
11486         then does not build due in part to what appear to be typos in the
11487         ACL part of Gnulib.
11488         * lib/acl-internal.c (free_permission_context):
11489         * lib/acl-internal.h (struct permission_context):
11490         Test whether USE_ACL is nonzero, not whether it is defined.
11492 2016-01-12  Martin Sebor  <msebor@redhat.com>
11494         mktime: rename macro to avoid glibc clash
11495         * lib/mktime.c [DEBUG] (DEBUG): Rename to DEBUG_MKTIME.  See:
11496         https://sourceware.org/ml/libc-alpha/2016-01/msg00267.html
11498 2016-01-12  Paul Eggert  <eggert@cs.ucla.edu>
11500         Port "$@" to OpenIndiana ksh93
11501         In http://lists.gnu.org/r/bug-autoconf/2015-12/msg00000.html
11502         Pavel Raiskup reports that ${1+"$@"} runs afoul of a bug in /bin/sh
11503         (derived from ksh 93t+ 2010-03-05).  ${1+"$@"} works around an ancient
11504         bug long-dead shells, so remove the workaround.
11505         * build-aux/announce-gen, build-aux/do-release-commit-and-tag:
11506         * build-aux/gitlog-to-changelog, build-aux/gnu-web-doc-update:
11507         * build-aux/prefix-gnulib-mk, build-aux/update-copyright:
11508         * build-aux/useless-if-before-free, tests/test-update-copyright.sh:
11509         Use "$@" instead of ${1+"$@"}.
11511         Port Universal Time settings to strict POSIX
11512         * build-aux/announce-gen, build-aux/bootstrap:
11513         * build-aux/do-release-commit-and-tag, build-aux/git-version-gen:
11514         * build-aux/gitlog-to-changelog, build-aux/gnu-web-doc-update:
11515         * build-aux/gnupload, build-aux/mkinstalldirs:
11516         * build-aux/move-if-change, build-aux/prefix-gnulib-mk:
11517         * build-aux/update-copyright, build-aux/useless-if-before-free:
11518         * build-aux/vc-list-files, tests/test-strftime.c:
11519         Use TZ="UTC0", not TZ="UTC".  Either works on GNU platforms,
11520         but POSIX says the behavior of TZ="UTC" is undefined.
11522 2016-01-02  Paul Eggert  <eggert@cs.ucla.edu>
11524         msvc-inval: fix problem with unset shell var
11525         Problem reported by Karl Berry in:
11526         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00004.html
11527         * modules/msvc-inval (Depends-on):
11528         AC_REQUIRE gl_MSVC_INVAL instead of merely calling it.
11529         * modules/msvc-nothrow (Depends-on): Likewise for gl_MSVC_NOTHROW.
11531 2016-01-01  Pádraig Brady  <P@draigBrady.com>
11533         tests: for compare_(), use cmp -s where available
11534         * tests/init.sh (compare_): Only fall back to cmp without
11535         the POSIX defined -s option, where this is not available.
11537 2016-01-01  Paul Eggert  <eggert@cs.ucla.edu>
11539         version-etc: new year
11540         * build-aux/gendocs.sh (version):
11541         * doc/gendocs_template:
11542         * doc/gendocs_template_min:
11543         * doc/gnulib.texi:
11544         * lib/version-etc.c (COPYRIGHT_YEAR):
11545         Update copyright dates by hand in templates and the like.
11546         * all files: Run 'make update-copyright'.
11548 2015-12-31  Paul Eggert  <eggert@cs.ucla.edu>
11550         human: fix output buffer overrun by 1
11551         * lib/human.c (human_readable): Fix off-by-one typo in buffer
11552         calculation that could lead to a one-byte buffer overrun.
11554 2015-12-28  Daiki Ueno  <ueno@gnu.org>
11556         maint: fix operator precedence in mbrtowc test
11557         This is a fix for test breakage introduced by commit 45228d96; the
11558         equality expression must be parenthesized when negated with '!',
11559         otherwise we always get:
11561           test-mbrtowc.c:49: assertion 'ret == (size_t)(-2)' failed
11563         * m4/mbrtowc.m4 (gl_MBRTOWC_EMPTY_INPUT): Negate the entire expression.
11564         * m4/mbrlen.m4 (gl_MBRLEN_EMPTY_INPUT): Likewise.
11566 2015-12-23  James Youngman  <jay@gnu.org>
11568         regexprops-generic: update from regex.h
11569         * doc/regexprops-generic.texi: update by running the regexprops binary
11570         from findutils (the command line is 'regexprops "Regular Expressions"
11571         generic').  The recent (ish) change (5a5a9388) to regex.h aligning
11572         gnulib with GNU grep had made this document out-of-date.
11574 2015-12-23  Pádraig Brady  <P@draigBrady.com>
11576         strftime-tests: avoid false failure on OS X
11577         * tests/test-strftime.c (struct localtime_rz_test): Add an
11578         ahistorical member which is used to warn rather than fail
11579         when tm_isdst isn't set for such entries.  This is the case for
11580         "1970-01-01 13:00:00 +1300 (NZDT)" on Darwin 13/14 at least.
11582 2015-12-20  Kamil Dudka  <kdudka@redhat.com>
11584         fts: ensure leaf optimization is used for NFS
11585         NFS provides usable dirent.d_type but not necessarily for all entries
11586         of large directories.  See <https://bugzilla.redhat.com/1252549>
11587         * lib/fts.c (leaf_optimization_applies): Append NFS on the white list.
11589 2015-12-20  Pádraig Brady  <P@draigBrady.com>
11591         fts: enable leaf optimization for XFS
11592         XFS provides usable dirent.d_type only for DT_DIR,
11593         but the noleaf optimization still applies.
11594         * lib/fts.c (leaf_optimization_applies): Add XFS to the white list.
11596 2015-12-17  Paul Eggert  <eggert@cs.ucla.edu>
11598         intprops: comment fix
11599         * lib/intprops.h: Fix comment.  Reported by Pádraig Brady in:
11600         http://lists.gnu.org/r/bug-gnulib/2015-12/msg00013.html
11602         intprops-test: work around GCC bug 68971
11603         Problem reported by Pádraig Brady in:
11604         http://lists.gnu.org/r/bug-gnulib/2015-12/msg00011.html
11605         * tests/test-intprops.c: Ignore -Woverflow in GCC 6 and earlier.
11606         (main): Add a case that better tests 64-bit long in this area.
11608 2015-12-09  Pavel Raiskup  <praiskup@redhat.com>
11610         gnulib-tool: allow multiple --local-dir usage
11611         * gnulib-tool: Use --local-dir to construct compound
11612         $local_gnulib_path path instead of $local_gnulib_dir.  Determine
11613         PATH_SEPARATOR early.
11614         (local_gnulib_dir): Rename into $local_gnulib_path everywhere.
11615         (func_gnulib_dir): Cut out PATH_SEPARATOR detection code into
11616         func_determine_path_separator because that needs to be detected
11617         earlier now.
11618         (func_determine_path_separator): New function.
11619         (func_path_foreach, func_path_foreach_inner): New functions.
11620         (func_path_prepend, func_path_append): Likewise.
11621         (func_lookup_local_file, func_lookup_local_file_cb): Likewise.
11622         (func_lookup_file, func_all_modules): Use new functions to work
11623         with local_gnulib_path.
11624         (func_modules_in_dir, func_exists_module): New callbacks for
11625         func_path_foreach.
11626         (func_exists_module, func_get_tests_module): Likewise.
11627         (func_is_local_file, func_should_symlink): New helper methods.
11628         (func_add_file, func_update_file): Use new func_should_symlink
11629         instead, DRY.
11630         (func_reconstruct_cached_local_gnulib_path): New helper.
11631         (func_reconstruct_cached_dir): New callback.
11632         (func_import): The cached_local_gnulib_dir renamed to
11633         cached_local_gnulib_path similarly to local_gnulib_dir.
11634         Use new func_reconstruct_cached_local_gnulib_path.
11635         (func_count_relative_local_gnulib_path): New sub-method.
11636         (func_create_testdir): Use func_should_symlink, DRY.
11637         (func_create_megatestdir): Use new functions to work with
11638         local_gnulib_path correctly.
11639         (func_append_local_dir): New helper.
11641 2015-12-08  Pádraig Brady  <P@draigBrady.com>
11643         fix freadptr to work with ungetc on all uClibc configs
11644         Reported at https://bugs.busybox.net/show_bug.cgi?id=4099
11645         where GNU coreutils cut(1) generates invalid output on uClibc
11646         when __UCLIBC_HAS_STDIO_GETC_MACRO__ is not defined.
11647         * lib/freadptr.c (freadptr): Return NULL if there are
11648         ungotten chars.  In this case freadseek() will iterate
11649         again to process the ungotten character.
11651 2015-11-13  Paul Eggert  <eggert@cs.ucla.edu>
11653         xalloc-oversized: improve performance with GCC 5
11654         * lib/xalloc-oversized.h (xalloc_oversized):
11655         Improve performance with GCC 5 by using __builtin_mul_overflow.
11657 2015-11-10  Paul Eggert  <eggert@cs.ucla.edu>
11659         intprops: new public macro EXPR_SIGNED
11660         Emacs can use this macro, so make it public.
11661         * doc/intprops.texi (Arithmetic Type Properties): Rename from
11662         'Integer Type Determination', since some of these macros apply
11663         to non-integer types.  Clarify what kinds of constant expressions
11664         these macros return.  Say when the arguments can be non-integers.
11665         Mention newly published macro EXPR_SIGNED.
11666         * lib/intprops.h (EXPR_SIGNED): Rename from _GL_INT_SIGNED, to
11667         make it public.  All uses changed.
11669         intprops: fix typo in clang port
11670         * lib/intprops.h (_GL_INT_OP_WRAPV): Fix misspelling of
11671         '__builtin_add_overflow' that is not caught by compiler.
11673 2015-11-05  Paul Eggert  <eggert@cs.ucla.edu>
11675         test-timespec: fix typo in previous change
11676         * tests/test-timespec.c (main): Fix typo that reduced test quality.
11678         timespec-sub: fix overflow bug; add tests
11679         * lib/timespec-add.c (timespec_add):
11680         * lib/timespec-sub.c (timespec_sub):
11681         Work even if time_t is narrower than int (a theoretical
11682         possibility).  Redo code for a bit more clarity.
11683         * lib/timespec-sub.c (timespec_sub):
11684         Fix off-by-2 bug if a.tv_sec == TYPE_MINIMUM (time_t) and 0 < b.tv_sec.
11685         * modules/timespec-tests, tests/test-timespec.c: New files.
11687         intprops-test: suppress -Woverlength-strings
11688         Problem reported by Pádraig Brady in:
11689         http://lists.gnu.org/r/bug-gnulib/2015-11/msg00008.html
11690         It is not worth the hassle to port this test to compilers that
11691         cannot handle long strings in diagnostics.
11692         * tests/test-intprops.c [__GNUC__]: Ignore -Woverlength-strings.
11694 2015-11-03  Pádraig Brady  <P@draigBrady.com>
11696         quotearg: add quotearg_n_style_colon()
11697         This quotes with default options of the specified style,
11698         but with quoting enabled for instances of ':'.
11699         * lib/quotearg.h (quotearg_n_style_colon): Description and declaration.
11700         * lib/quotearg.c (quotearg_n_style_colon): New function implementation.
11702 2015-11-04  Paul Eggert  <eggert@cs.ucla.edu>
11704         intprops: revise _WRAPV macros, revert _OVERFLOW
11705         The incompatible changes to the _OVERFLOW macros were too much of
11706         a hassle in practice, so revert them.  Instead, change the new
11707         _WRAPV macros to make them closer in behavior to GCC 5's new
11708         builtin_add_overflow etc. functions.  No other software was using
11709         these newly-added macros yet, so this should be OK.
11710         * NEWS: Revert previous change, since the incompatible change
11711         has been reverted, and nobody used the incompatible version.
11712         * doc/intprops.texi (Wraparound Arithmetic, Integer Type Overflow):
11713         Document revised behavior.
11714         (Integer Range Overflow): Adjust example to match above revisions.
11715         * lib/intprops.h (INT_ADD_OVERFLOW, INT_SUBTRACT_OVERFLOW)
11716         (INT_MULTIPLY_OVERFLOW): Revert previous change, so that
11717         these can be used in integer constant expressions again.
11718         (INT_CONST_ADD_OVERFLOW, INT_CONST_SUBTRACT_OVERFLOW)
11719         (INT_CONST_MULTIPLY_OVERFLOW): Remove, as these are no longer
11720         needed.
11721         (INT_CONST_ADD_WRAPV, INT_CONST_SUBTRACT_WRAPV)
11722         (INT_NEGATE_WRAPV, INT_CONST_MULTIPLY_WRAPV, INT_DIVIDE_WRAPV)
11723         (INT_REMAINDER_WRAPV, INT_LEFT_SHIFT_WRAPV):
11724         Remove, as they did not seem that useful.
11725         (INT_ADD_WRAPV, INT_SUBTRACT_WRAPV, INT_MULTIPLY_WRAPV)
11726         (_GL_INT_OP_WRAPV, _GL_INT_OP_WRAPV_LONGISH)
11727         (_GL_INT_OP_WRAPV_VIA_UNSIGNED):
11728         Support new semantics.
11729         (__has_builtin): New macro, if not alreay defined.
11730         (_GL__GENERIC_BOGUS, _GL_INT_OP_CALC, _GL_INT_OP_CALC1): New macros.
11731         * tests/test-intprops.c (INT_CONST_DIVIDE_OVERFLOW)
11732         (INT_CONST_REMAINDER_OVERFLOW, INT_CONST_LEFT_SHIFT_OVERFLOW)
11733         (INT_CONST_DIVIDE_WRAPV, INT_CONST_REMAINDER_WRAPV)
11734         (INT_CONST_LEFT_SHIFT_WRAPV): Remove.
11735         (CHECK_SBINOP, CHECK_SSUM, CHECK_SUM1, CHECK_SSUM1)
11736         (CHECK_SDIFFERENCE, CHECK_SPRODUCT, CHECK_PRODUCT1, CHECK_SPRODUCT1):
11737         New macros.
11738         (CHECK_BINOP, CHECK_UNOP, main, CHECK_SUM): Test new behavior.
11740 2015-11-03  Jim Meyering  <meyering@fb.com>
11742         intprops: add parentheses for when OP has precedence lower than "-"
11743         * lib/intprops.h (_GL_INT_OP_WRAPV_VIA_UNSIGNED): In "a OP b - c",
11744         "a OP b" must be parenthesized for when OP is like "<<", which has
11745         lower precedence than the following "-". Reported by Pádraig Brady.
11747 2015-11-03  Pádraig Brady  <P@draigBrady.com>
11749         quotearg: constify get_quoting_style parameters
11750         * lib/quotearg.h (get_quoting_style): Mark parameter as const.
11751         * lib/quotearg.c (get_quoting_style): Likewise.
11753 2015-11-02  Pádraig Brady  <P@draigBrady.com>
11755         quotearg: add support for $'' shell escaping
11756         * lib/quotearg.h: Add "shell-escape" and "shell-escape-always"
11757         items and descriptions.
11758         * lib/quotearg.c (quotearg_buffer_restyled): Add support for the
11759         above types by quoting like "shell", but using $'...' syntax
11760         for non printable characters, which should provide unambiguous
11761         printable output for any input.
11762         * tests/test-quotearg-simple.c: Update accordingly.
11764 2015-11-02  Pádraig Brady  <P@draigBrady.com>
11766         maint: use a more standard return from mbrtowc test
11767         * m4/mbrtowc.m4 (gl_MBRTOWC_EMPTY_INPUT): Don't return 1
11768         from the test program as this is non standard and often
11769         indicates an unhandled case in the test program.
11770         * m4/mbrlen.m4 (gl_MBRLEN_EMPTY_INPUT): Likewise.
11772 2015-10-30  Paul Eggert  <eggert@cs.ucla.edu>
11774         intprops: add WRAPV and const flavors for GCC 5
11775         If available, use GCC 5's builtin functions for efficient integer
11776         overflow checking.  Also, add macros like INT_ADD_WRAPV efficently
11777         and safely compute the low-order bits of the correct answer.
11778         A downside of these efficient functions is that they cannot be
11779         used in constant expressions, so add macros like INT_CONST_ADD_OVERFLOW
11780         and INT_CONST_ADD_WRAPV that can be used even in constant expressions.
11781         * NEWS: Document the incompatible changes to INT_ADD_OVERFLOW etc.
11782         * doc/intprops.texi (Integer Properties, Integer Type Overflow):
11783         Document the changes.
11784         (Wraparound Arithmetic): New section.
11785         (Integer Range Overflow):
11786         Put this subsection last, since it's least useful.
11787         * lib/intprops.h (INT_CONST_ADD_OVERFLOW)
11788         (INT_CONST_SUBTRACT_OVERFLOW, INT_CONST_MULTIPLY_OVERFLOW):
11789         New macros, with the meaning that INT_ADD_OVERFLOW etc. used to have.
11790         (INT_CONST_ADD_WRAPV, INT_CONST_SUBTRACT_WRAPV)
11791         (INT_NEGATE_WRAPV, INT_CONST_MULTIPLY_WRAPV, INT_DIVIDE_WRAPV)
11792         (INT_REMAINDER_WRAPV, _GL_INT_OP_WRAPV, _GL_EXPR_CAST)
11793         (_GL_INT_OP_WRAPV_LONGISH, INT_ADD_WRAPV, INT_SUBTRACT_WRAPV)
11794         (INT_MULTIPLY_WRAPV, _GL_OP_OVERFLOW, _GL_OP_WRAPV, _GL_OP_WRAPV_GENSYM):
11795         New macros.
11796         (INT_ADD_OVERFLOW, INT_SUBTRACT_OVERFLOW, INT_MULTIPLY_OVERFLOW):
11797         Generate calls to GCC builtins if available, for speed.
11798         * tests/test-intprops.c (INT_CONST_DIVIDE_OVERFLOW)
11799         (INT_CONST_REMAINDER_OVERFLOW, INT_CONST_LEFT_SHIFT_OVERFLOW)
11800         (INT_CONST_DIVIDE_WRAPV, INT_CONST_REMAINDER_WRAPV)
11801         (INT_CONST_LEFT_SHIFT_WRAPV): New macros.
11802         (main, CHECK_BINOP, CHECK_UNOP, CHECK_SUM, CHECK_PRODUCT)
11803         (CHECK_QUOTIENT, CHECK_REMAINDER):
11804         Test WRAPV and CONST flavors (when available) too.
11806 2015-10-30  Pádraig Brady  <P@draigBrady.com>
11808         doc: use extended timezone format in iso-8601 example
11809         * doc/parse-datetime.texi: The standard states that extended format
11810         is to be used consistently throughout.
11811         Note that lib/parse-datetime.y can handle either tz format.
11813 2015-10-25  Paul Eggert  <eggert@cs.ucla.edu>
11815         stdalign: port to Sun C 5.9
11816         * doc/posix-headers/stdalign.texi: Document this.
11817         * lib/stdalign.in.h (_Alignas): Sun C 5.9 also supports
11818         __attribute__ ((__aligned__ (...))).
11820 2015-10-20  Paul Eggert  <eggert@cs.ucla.edu>
11822         time_rz: fix comment about tzalloc
11823         * lib/time_rz.c (tzalloc): Fix comment.
11825 2015-10-18  Paul Eggert  <eggert@cs.ucla.edu>
11827         stdalign: work around pre-4.9 GCC x86 bug
11828         * lib/stdalign.in.h (_Alignof): Work around bug in pre-4.9 GCC on
11829         x86, when -std=gnu11 is used.  Problem reported by Jim Meyering in:
11830         http://lists.gnu.org/r/bug-gnulib/2015-10/msg00038.html
11832 2015-10-18  Pádraig Brady  <P@draigBrady.com>
11834         maint.mk: sc_tight_scope: remove extraneous expressions
11835         * top/maint.mk (tight_scope): This is not really required since
11836         commit 3ef58f46 as sed_wrap ensures we don't get an empty expression
11837         that matches all nm entries.  But it does remove extraneous entries
11838         that may be confusing or cause issue in future maintenance.
11840 2015-10-18  Paul Eggert  <eggert@cs.ucla.edu>
11842         time_rz: return NULL if localtime_r fails
11843         * lib/time_rz.c (localtime_rz): Return NULL if localtime_r fails,
11844         while still attempting to pacify bleeding-edge GCC.
11846         fts: port to C11 alignof
11847         * doc/posix-headers/stdalign.texi (stdalign.h):
11848         Document the C11 restriction.
11849         * lib/fts.c: Include stddef.h, for max_align_t.
11850         (fts_alloc): Align using max_align_t, not FTSENT.
11851         * modules/fts (Depends-on): Add stddef.
11853 2015-10-18  Jim Meyering  <meyering@fb.com>
11855         time_rz: avoid warning from bleeding-edge gcc's -Wnonnull
11856         Compiling with gcc version 6.0.0 20151017 (experimental) (GCC), I
11857         would see this:
11859         lib/time_rz.c: In function 'localtime_rz':
11860         lib/time_rz.c:292:15: error: nonnull argument 'tm' compared to NULL \
11861           [-Werror=nonnull]
11862                    if (tm && !save_abbr (tz, tm))
11863                        ^
11865         That was complaining about "tm" because it is a parameter that was
11866         declared with the __nonnull__ attribute.
11867         * lib/time_rz.c (localtime_rz): Don't bother setting "tm" to the
11868         result of localtime_r.
11870 2015-10-17  Jim Meyering  <meyering@fb.com>
11872         maint.mk: _gl_TS_function_match: fix "extern" name extracting regexp
11873         * top/maint.mk (_gl_TS_function_match): This heuristic extern-function-
11874         name-extraction regexp mistakenly used \S+, and would mistakenly
11875         extract "*F" from "extern int *F()" rather than the desired "F".
11876         Use \w+ instead.
11878 2015-10-17  Jim Meyering  <meyering@fb.com>
11880         maint.mk: sc_tight_scope: factor and support OS X
11881         * top/maint.mk (_gl_tight_scope): Address three issues:
11882         - factor out four instances of code that wraps a string in "^...$"
11883         - allow nm-reported symbol names to have an optional leading "_"
11884         - add "main" to the list of ignored variable names, because on os x,
11885         "main" has nm-reported type "S" in the variable-checking section.
11887 2015-10-16  Dmitry Smirnov  <onlyjob@member.fsf.org>
11889         safe-alloc-tests: fix typo in license header
11890         * tests/test-safe-alloc.c: Mention LGPL 2.1, not 3.1
11892 2015-10-15  Simon Reinhardt  <simon@keinstein.org>
11894         copy-file: fix mem leak in error case
11895         * lib/copy-file.c (qcopy_file_preserving): Free the 32KiB buffer
11896         upon error opening or performing I/O to the src and dest files.
11898 2015-10-15  Mike Frysinger  <vapier@chromium.org>
11900         localename: control langinfo.h inclusion
11901         This header is only used to work around buggy behavior in old
11902         versions of glibc, so do not include it all the time.  Otherwise
11903         we get build failures on systems that do not provide langinfo.h.
11904         * lib/localename.c: Wrap langinfo.h include with same ifdefs used
11905         in the source later on.
11906         The patch was originally submitted to gettext as:
11907         https://lists.gnu.org/r/bug-gettext/2015-10/msg00011.html
11909 2015-10-13  Paul Eggert  <eggert@cs.ucla.edu>
11911         binary-io, math, pthread, sys_socket, u64, unistd: port to strict C
11912         * lib/binary-io.c, lib/math.c, lib/pthread.c, lib/sys_socket.c:
11913         * lib/u64.c, lib/unistd.c:
11914         Append 'typedef int dummy;', to pacify compilers that are picky
11915         about empty translation units.
11917 2015-10-12  Pino Toscano  <ptoscano@redhat.com>
11919         accept4-tests: fix to avoid non portable flags
11920         * tests/test-accept4.c (main): Pass only SOCK_* flags to accept4(),
11921         as they are the only documented ones, and passing others may trigger
11922         EINVAL (seen on FreeBSD 10.1-RELEASE).
11923         * doc/glibc-functions/accept4.texi: Mention that we don't provide
11924         the SOCK_CLOEXEC or SOCK_NONBLOCK defines.
11926 2015-10-06  Pavel Raiskup  <praiskup@redhat.com>
11928         gnulib-tool: fix tests of 'extensions' module
11929         This complements f8fe25fab60e3c687a124 commit.
11930         * gnulib-tool (func_emit_pre_early_macros): New function, it wraps
11931         emitting of initial gl_EARLY macros.
11932         (func_import, func_create_testdir): All dumps of gl_PROG_AR_RANLIB
11933         replaced with func_emit_pre_early_macros call.
11935 2015-10-06  Paul Eggert  <eggert@cs.ucla.edu>
11937         unicase/locale-language: fix typo in utf-8 cookie
11938         * lib/unicase/locale-languages.gperf: Fix gperf input file format.
11939         Problem reported by Zbigniew Jędrzejewski-Szmek.
11941 2015-10-02  Paul Eggert  <eggert@cs.ucla.edu>
11943         xalloc: do not worry about GCC 5 warning on 32 bit
11944         * lib/xalloc.h: Revert previous change.
11945         I found a better way to fix this in coreutils.
11947 2015-10-02  Pádraig Brady  <P@draigBrady.com>
11949         xalloc: avoid GCC 5.1 warning on 32 bit
11950         * lib/xalloc.h: Disable -Wstrict-overflow for uses of
11951         xalloc_oversized(), which was seen to give this warning
11952         on GCC 5.1 on 32 bit: "assuming signed overflow does not occur
11953         when simplifying conditional".
11955 2015-10-02  Daiki Ueno  <ueno@gnu.org>
11957         uniname/uniname-tests: avoid compiler warnings
11958         * tests/uniname/test-uninames.c (fill_names, fill_aliases): Remove
11959         unused local variables.
11960         (test_alias_lookup): Fix alias name display in failure cases.
11962 2015-09-26  Paul Eggert  <eggert@cs.ucla.edu>
11964         c-ctype: do not worry about EBCDIC + char signed
11965         Drop support for EBCDIC with char being signed, as this breaks too
11966         many programs.  Problem reported by Ben Pfaff in:
11967         http://lists.gnu.org/r/bug-gnulib/2015-09/msg00053.html
11968         * lib/c-ctype.h: Verify that we are not using EBCDIC with
11969         char being signed.
11970         (_C_CTYPE_LOWER_A_THRU_F_N): New macro.
11971         (_C_CTYPE_LOWER_N, _C_CTYPE_A_THRU_F): Use it.
11972         (_C_CTYPE_DIGIT, _C_CTYPE_LOWER, _C_CTYPE_PUNCT, _C_CTYPE_UPPER):
11973         (c_isascii, c_isgraph, c_isprint, c_ispunct, c_tolower, c_toupper):
11974         * tests/test-c-ctype.c (test_all):
11975         Simplify by assuming standard char values cannot be negative.
11976         * tests/test-c-ctype.c (NCHARS, to_char): Remove; all uses removed.
11978 2015-09-25  Paul Eggert  <eggert@cs.ucla.edu>
11980         c-ctype: port better to z/OS EBCDIC
11981         Problems reported by Daniel Richard G. in:
11982         http://lists.gnu.org/r/bug-gnulib/2015-09/msg00050.html
11983         * lib/c-ctype.h (_C_CTYPE_CNTRL): Rewrite in terms of
11984         the C standard escapes and _C_CTYPE_OTHER_CNTRL.
11985         (_C_CTYPE_OTHER_CNTRL): New macro.
11986         * tests/test-c-ctype.c (test_all): Test from CHAR_MIN, not
11987         from SCHAR_MIN, as the functions are defined only from values
11988         promoted from char or from unsigned char, not necessarily from
11989         signed char.
11991 2015-09-25  Pavel Raiskup  <praiskup@redhat.com>
11993         gnulib-common.m4: fix gl_PROG_AR_RANLIB/AM_PROG_AR clash
11995         The gl_PROG_AR_RANLIB (it is always called by gl_EARLY) sets AR
11996         and ARFLAGS variables.  Doing this unconditionally could break
11997         later Automake's AM_PROG_AR invocation (at least it's
11998         AC_CHECK_TOOLS call to detect correct 'ar' binary).
12000         Original purpose of the gl_PROG_AR_RANLIB was only to handle the
12001         Amsterdam Compiler Kit, so make the previous code to have effects
12002         only on ACK, and rather automatically call the Automake's
12003         AM_PROG_AR as soon as possible to decide other cases.
12005         References:
12006         http://lists.gnu.org/r/bug-gnulib/2015-07/msg00001.html
12008         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): AC_BEFORE AM_PROG_AR.
12009         Set the AR/ARFLAGS to ACK defaults OR call AM_PROG_AR.  If neither
12010         is possible, keep setting AR/ARFLAGS to reasonable defaults.
12011         * gnulib-tool (func_import): Put the gl_USE_SYSTEM_EXTENSIONS
12012         right before gl_PROG_AR_RANLIB into gnulib-comp.m4 (if the
12013         'extensions' module is used.
12014         * modules/extensions (configure.ac-early): Remove as this snippet
12015         is added to gnulib-comp.m4 earlier anyway.
12017 2015-09-25  Paul Eggert  <eggert@cs.ucla.edu>
12019         sockets: MS Windows initalization fixes
12020         Problem reported by Test User in:
12021         http://lists.gnu.org/r/help-shishi/2015-09/msg00001.html
12022         * lib/sockets.h (SOCKETS_1_0, SOCKETS_2_0, SOCKETS_2_1):
12023         Correct the endianness.
12024         * lib/sockets.c (gl_sockets_startup): Return 2 on any version
12025         number mismatch, not just on <.  Cleanup before any such failure.
12027 2015-09-25  Mats Erik Andersson  <gnu@gisladisker.se>
12029         gc: fix detection of installed libgcrypt version
12030         * m4/gc.m4: Use AM_PATH_LIBCRYPT to test for libcrypt versions
12031         at least as recent as 1.4.4.  The previously used macro is not
12032         available now, since modules were removed in version 1.6.0.
12034 2015-09-25  Paul Eggert  <eggert@cs.ucla.edu>
12036         c-ctype: rewrite to use inline functions
12037         This simplifies maintenance, since it makes for just one
12038         implementation of each function, letting the compiler have the fun
12039         of optimization.  In practice this works well nowadays with GCC.
12040         E.g., c_isascii might need only three instructions even though the
12041         source code lists every ASCII character individually in a large
12042         switch statement.
12043         Also, fix some z/OS porting bugs reported by Daniel Richard G. in:
12044         http://lists.gnu.org/r/bug-gnulib/2015-09/msg00037.html
12045         * NEWS: Document the API change.
12046         * lib/c-ctype.c: Drastically simplify, since this now just expands
12047         inline functions.
12048         * lib/c-ctype.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
12049         (C_CTYPE_INLINE): New macro.
12050         (C_CTYPE_CONSECUTIVE_DIGITS, C_CTYPE_CONSECUTIVE_LOWERCASE)
12051         (C_CTYPE_CONSECUTIVE_UPPERCASE): Remove.
12052         Verify that either ASCII or EBCDIC is being used.
12053         (_C_CTYPE_SIGNED_EBCDIC, _C_CTYPE_CNTRL, _C_CTYPE_A_THRU_F_N)
12054         (_C_CTYPE_DIGIT_N, _C_CTYPE_LOWER_N, _C_CTYPE_UPPER_N)
12055         (_C_CTYPE_CASES, _C_CTYPE_A_THRU_F, _C_CTYPE_DIGIT, _C_CTYPE_LOWER)
12056         (_C_CTYPE_UPPER, _C_CTYPE_PUNCT_PLAIN):
12057         New private macros.
12058         (_C_CTYPE_CNTRL): In EBCDIC, '\x07' is a control, not '\xff'.
12059         (c_isalnum, c_isalpha, c_isascii, c_isblank, c_iscntrl, c_isdigit)
12060         (c_isgraph, c_islower, c_isprint, c_ispunct, c_isspace, c_isupper)
12061         (c_isxdigit, c_tolower, c_toupper): Now inline functions.
12062         (c_tolower, c_toupper): When converting, return the unsigned char,
12063         as that is what z/OS does.
12064         * lib/c-strcaseeq.h (CASEEQ): Simplify in the light of the removal
12065         of some c-ctype.h macros.
12066         * modules/c-ctype (Depends-on): Add extern-inline; remove verify.
12067         * tests/test-c-ctype.c (test_all): Fix test for c_toupper and
12068         c_tolower promotion to be compatible with z/OS.
12070 2015-09-24  Pavel Raiskup  <praiskup@redhat.com>
12072         gitlog-to-changelog: trim only trailing whitespaces
12073         This is fix for --format regression introduced by commit
12074         2b93079a5d1baa4d;  it caused that --format='%s%n%n%b%n' (see the
12075         doubled %n string) had no effect anymore.  This format
12076         specification has been used e.g. by GNU paxuitils (commit
12077         edfd8bcc3).
12079         * build-aux/gitlog-to-changelog (main): Stop squashing multiple
12080         newlines in commmit messages.
12082 2015-09-23  Paul Eggert  <eggert@cs.ucla.edu>
12084         Test that c_iscntrl agrees with iscntrl, etc.
12085         Suggested by Daniel Richard G. in:
12086         http://lists.gnu.org/r/bug-gnulib/2015-09/msg00034.html
12087         * modules/c-ctype-tests (Depends-on): Add ctype.
12088         * tests/test-c-ctype.c: Include <ctype.h>.
12089         (NCHARS): New constant.
12090         (test_agree_with_C_locale): New function.
12091         (main): Use it.
12092         (test_all): Use named constants.
12094         c-ctype: improve c_isascii testing
12095         * tests/test-c-ctype.c (test_all): Port c_isascii test to EBCDIC.
12096         Add a test to count the number of ASCII characters.
12098 2015-09-22  Paul Eggert  <eggert@cs.ucla.edu>
12100         savewd: remove SAVEWD_CHDIR_READABLE
12101         It was problematic in the light of file systems that ignore umask.
12102         Problem reported by Sebastian Unger in: http://bugs.gnu.org/21534
12103         * NEWS: Document this.
12104         * lib/mkancesdirs.c (mkancesdirs): MAKE_DIR now returns 0 if
12105         successful, -1 (setting errno) on failure, rather than something
12106         more complicated than that.
12107         * lib/mkdir-p.c (make_dir_parents):
12108         Do not use SAVEWD_CHDIR_READABLE.
12109         * lib/savewd.c (savewd_chdir):
12110         Remove support for SAVEWD_CHDIR_READABLE.
12111         * lib/savewd.h (SAVEWD_CHDIR_READABLE): Remove.
12113         c-ctype: port better to EBCDIC
12114         Problems reported by Daniel Richard G. in
12115         http://lists.gnu.org/r/bug-gnulib/2015-09/msg00020.html
12116         * lib/c-ctype.c: Include <limits.h>, for CHAR_MIN and CHAR_MAX.
12117         Include "verify.h".
12118         (C_CTYPE_ASCII, C_CTYPE_CONSECUTIVE_DIGITS)
12119         (C_CTYPE_CONSECUTIVE_LOWERCASE, C_CTYPE_CONSECUTIVE_UPPERCASE):
12120         Define as enum constants with value false, if not defined, so that
12121         code can use 'if' instead of 'ifdef'.  Using 'if' helps make the
12122         code more portable, as both branches of the 'if' are compiled on
12123         all platforms.
12124         (C_CTYPE_EBCDIC): New constant.
12125         Verify that the character set is either ASCII or EBCDIC.
12126         (to_char): New static function.
12127         (c_isascii, c_iscntrl):
12128         Assume standard control-character assignments for EBCDIC.
12129         (c_isalnum, c_isalpha, c_isdigit, c_islower, c_isgraph, c_isprint)
12130         (c_ispunct, c_isupper, c_isxdigit, c_tolower, c_toupper):
12131         Rewrite to use 'if' instead of 'ifdef'.
12132         Use to_char if non-ASCII.  Prefer <= to >=.
12133         Prefer true and false to 1 and 0, for booleans.
12134         (c_iscntrl): Use 'if', not 'ifdef'.
12135         * modules/c-ctype (Depends-on): Add verify.
12136         * tests/test-c-ctype.c: Include <limits.h>, for CHAR_MIN
12137         (to_char): New function.
12138         (test_all): Port to EBCDIC.  Add some more tests, e.g., for c_ispunct.
12140 2015-09-21  Pádraig Brady  <P@draigBrady.com>
12142         nanosleep: fix return code for interrupted replacement
12143         * lib/nanosleep.c (nanosleep): In the replaced nanosleep, ensure
12144         that we return -1 in the case the call is interrupted by a signal,
12145         rather than the current value of 1.
12146         Diagnosed and tested by Daniel Richard G.
12148 2015-09-19  Paul Eggert  <eggert@cs.ucla.edu>
12150         Diagnose ERE '()|\1'
12151         Problem reported by Hanno Böck in: http://bugs.gnu.org/21513
12152         * lib/regcomp.c (parse_reg_exp): While parsing alternatives, keep
12153         track of the set of previously-completed subexpressions available
12154         before the first alternative, and restore this set just before
12155         parsing each subsequent alternative.  This lets us diagnose the
12156         invalid back-reference in the ERE '()|\1'.
12158         regex: merge patches from libc
12160         2015-09-08  Joseph Myers  <joseph@codesourcery.com>
12161         Move bits/libc-lock.h and bits/libc-lockP.h out of bits/ (bug 14912).
12162         * lib/regex_internal.h:
12163         Include <libc-lock.h> instead of <bits/libc-lock.h>.
12165         2015-06-09  Joseph Myers  <joseph@codesourcery.com>
12166         Fix regcomp wcscoll, wcscmp namespace (bug 18497).
12167         * lib/regcomp.c (build_range_exp): Call __wcscoll instead of
12168         wcscoll.
12169         * lib/regexec.c (check_node_accept_bytes): Likewise.
12171         2015-06-05  Joseph Myers  <joseph@codesourcery.com>
12172         Fix regex wcrtomb namespace (bug 18496).
12173         * lib/regex_internal.c (build_wcs_upper_buffer): Call __wcrtomb
12174         instead of wcrtomb.
12176         2015-06-05  Joseph Myers  <joseph@codesourcery.com>
12177         Fix regex wctype namespace (bug 18495).
12178         * lib/regcomp.c (re_compile_fastmap_iter): Call __towlower
12179         instead of towlower.
12180         * lib/regex_internal.c (build_wcs_upper_buffer): Call __iswlower
12181         instead of iswlower.  Call __towupper instead of towupper.
12182         * lib/regex_internal.h (IS_WIDE_WORD_CHAR): Call __iswalnum
12183         instead of iswalnum.
12185         2015-01-07  Chris Metcalf  <cmetcalf@ezchip.com>
12186         * lib/regcomp.c (parse_bracket_exp): Initialize type to
12187         COLL_SYM in a couple of places to avoid uninitialized variable
12188         wanings on tilegx gcc 4.8.2.
12190         2014-11-24  Siddhesh Poyarekar  <siddhesh@redhat.com>
12191         * lib/regex_internal.h: Remove NOT_IN_libc.
12193         2014-11-17  Andreas Schwab  <schwab@suse.de>
12194         * lib/regex_internal.h: Don't include <locale/elem-hash.h>.
12196         2014-09-11  Roland McGrath  <roland@hack.frob.com>
12197         Move findidx nested functions to top-level.
12198         * lib/regcomp.c [_LIBC]: #include <locale/weight.h>.
12199         (build_equiv_class) [_LIBC]: Don't #include it inside the function.
12200         Pass new arguments to findidx.
12201         * lib/regexec.c [RE_ENABLE_I18N] [_LIBC]: #include <locale/weight.h>.
12202         [RE_ENABLE_I18N] (check_node_accept_bytes) [_LIBC]:
12203         Don't #include it inside the function.  Pass new arguments to findidx.
12204         * lib/regex_internal.h:
12205         [!NOT_IN_libc] [_LIBC]: #include <locale/weight.h>.
12206         (re_string_elem_size_at): Don't #include it inside the function.
12207         Pass new arguments to findidx.
12209         2014-08-01  Siddhesh Poyarekar  <siddhesh@redhat.com>
12210         Check if DEBUG is defined in regex_internal.c
12211         * lib/regex_internal.c: Check if DEBUG is defined and is set.
12213 2015-09-08   Assaf Gordon  <assafgordon@gmail.com>
12215         ceill: detect buggy OpenBSD implementation
12216         * m4/ceill.m4 (gl_FUNC_CEILL): Detect buggy openBSD implementation
12217         which returns zero for small values.  Discussed here:
12218         http://lists.gnu.org/r/bug-gnulib/2015-08/msg00010.html
12220 2015-09-08  Dave Chiluk  <chiluk@canonical.com>
12222         mountlist: add me_mntroot field on Linux machines
12223         * lib/mountlist.c (read_file_system_list): Populate me_mntroot in
12224         mount_entry so Linux machines based on /proc/self/mountinfo can
12225         distinguish between bind mounts and original mounts.  In reality bind
12226         mounts aren't treated differently than mountroot=/ mounts by the
12227         kernel, but the user often wants these bind mounts distinguished.
12228         * lib/mountlist.h (struct mount_entry): Add me_mntroot element.
12229         More details at https://pad.lv/1432871
12231 2015-09-08  Christian Egli  <christian.egli@sbs.ch>
12233         doc: Describe to use multiple instances of gnulib
12234         * doc/gnulib-tool.texi: Add a section to the manual outlining how two
12235         instances of gnulib with different modules can be used, for example one
12236         for a lib and another one for associated tools.
12238 2015-09-01  Pádraig Brady  <P@draigBrady.com>
12240         base32: mark function as __attribute__ const
12241         * lib/base32.h (isbase32): Mark __attribute__ const as
12242         suggested by GCC, and consistent with the base64 module.
12244 2015-08-20  Daiki Ueno  <ueno@gnu.org>
12246         gnulib-tool: don't transform binary files with sed
12247         * gnulib-tool (func_add_or_update): Don't apply sed_transform_* to
12248         .mo and .class files.
12249         Reported by Denis Denisov.
12251 2015-08-10  Daiki Ueno  <ueno@gnu.org>
12253         gperf: respect silent rules
12254         * modules/gperf (Makefile.am): Define V_GPERF, V_GPERF_, and
12255         V_GPERF_0 for silent rules.
12256         * modules/iconv_open (Makefile.am): Use V_GPERF.
12257         * modules/unicase/locale-language (Makefile.am): Likewise.
12258         * modules/unicase/special-casing (Makefile.am): Likewise.
12259         * modules/unictype/category-byname (Makefile.am): Likewise.
12260         * modules/unictype/combining-class-byname (Makefile.am): Likewise.
12261         * modules/unictype/joininggroup-byname (Makefile.am): Likewise.
12262         * modules/unictype/joiningtype-byname (Makefile.am): Likewise.
12263         * modules/unictype/property-byname (Makefile.am): Likewise.
12264         * modules/unictype/scripts (Makefile.am): Likewise.
12265         * modules/uninorm/composition (Makefile.am): Likewise.
12267 2015-08-03  Paul Eggert  <eggert@cs.ucla.edu>
12269         Improve port of stdalign to C++11
12270         Problem reported by Sundaram in:
12271         http://lists.gnu.org/r/bug-gnulib/2015-08/msg00003.html
12272         * lib/stdalign.in.h (alignof, alignas): Don't define if C++11 or newer.
12273         (__alignas_is_defined): Define if C++11 or newer.
12275 2015-08-01  Assaf Gordon  <assafgordon@gmail.com>  (tiny change)
12277         pmccabe2html: fix gawk regex escaping
12278         * build-aux/pmccabe2html: Add one more backslash to properly
12279         escape the gsub replacement value.  Fixes this error:
12280         gawk: ./build-aux/pmccabe2html:425: \
12281         warning: escape sequence `\&' treated as plain `&'
12283 2015-07-29  Paul Eggert  <eggert@cs.ucla.edu>
12285         time_rz: port to pedantic memcpy
12286         * lib/time_rz.c (tzalloc): Pacify pedantic memcpy implementations
12287         that reject memcpy (..., NULL, 0).
12289 2015-07-27  Paul Eggert  <eggert@cs.ucla.edu>
12291         time_rz: port better to MinGW
12292         Don't change tzname, as this makes MinGW dump core (Bug#21020).
12293         Instead, store the tzname copy in the struct tm_zone object.
12294         Problem reported by Eli Zaretskii in: http://bugs.gnu.org/21020#48
12295         * lib/strftime.c [!_LIBC]:
12296         * lib/time_rz.c: Include time-internal.h.
12297         * lib/strftime.c (strftime_case_) [!HAVE_TM_ZONE]: Infer the zone
12298         name from *TZ rather than from TZNAME, doable because *TZ now has
12299         a tzname_copy member.
12300         * lib/time-internal.h: New file, with contents taken from
12301         lib/time_rz.c.  It's separate because strftime.c now accesses
12302         struct tm_zone members.
12303         (struct tm_zone) [HAVE_TZNAME && !HAVE_TM_ZONE]:
12304         New member tzname_copy.
12305         * lib/time_rz.c (struct tm_zone): Move to time-internal.h.
12306         (tzalloc) [HAVE_TZNAME && !HAVE_TM_ZONE]:
12307         Initialize tzname_copy member.
12308         (save_abbr) [HAVE_TZNAME && !HAVE_TM_ZONE]: Save abbreviation
12309         in tzname_copy member.
12310         (revert_tz) [HAVE_TZNAME]: Remove no-longer-needed tzname saving.
12311         (restore_tzname): Remove; no longer needed.  All calls removed.
12312         * modules/time_rz (Files): Add lib/time-internal.h.
12314         time: port __need_time_t to MinGW
12315         * lib/time.in.h (__need_time_t): Do not treat specially on MinGW.
12316         Fix reported by Eli Zaretskii in: http://bugs.gnu.org/21020#36
12318 2015-07-25  Paul Eggert  <eggert@cs.ucla.edu>
12320         strftime: fix newly-introduced bug on Solaris
12321         * lib/strftime.c (strftime_case_): Set the local variable 'zone'
12322         consistently at the start, rather than doing some of the setup at
12323         the start and some in the %Z format spec.  This is cleaner, and
12324         works better with time_rz on platforms like Solaris where struct
12325         tm lacks a tm_zone member, as when !HAVE_TM_GMTOFF %z's calls to
12326         mktime_z and localtime_rz can mess up the tzname cache.
12328         test-strftime: test for Solaris bug
12329         * modules/strftime-tests (Depends-on): Add strerror.
12330         * tests/test-strftime.c: Include <errno.h>.
12331         (posixtm_test): New function, containing the old 'main'.
12332         (struct tzalloc_test, struct localtime_rz_test): New types.
12333         (TZ, LT): New static vars.
12334         (tzalloc_test): New function.
12335         (main): Rewrite in terms of posixtm_test and tzalloc_test.
12337         time_rz: port to Solaris etc.
12338         Works around a tzname problem on platforms like Solaris that have
12339         tzname but not tm_zone, by setting tzname at the appropriate time
12340         and restoring it later.
12341         * lib/time_rz.c (tzname_address, tzname_value) [HAVE_TZNAME]:
12342         New static vars.
12343         (save_abbr) [HAVE_TZNAME]: Set them.
12344         (revert_tz) [HAVE_TZNAME]: Clear or use them.
12345         (restore_tzname): New function.
12346         (localtime_rz, mktime_z): Use it.
12348         time_rz: now LGPL
12349         * modules/time_rz (License): Now LGPL, because strftime depends on it.
12351         time_rz: make a constant 'const'
12352         * lib/time_rz.c (local_tz): Now const.
12354         time_rz: fix off-by-one typo
12355         * lib/time_rz.c (extend_abbrs): Fix off-by-one typo.
12357 2015-07-23  Paul Eggert  <eggert@cs.ucla.edu>
12359         fprintftime, strftime: use timezone_t args
12360         * NEWS: Document the change.
12361         * lib/fprintftime.h (fprintftime):
12362         * lib/strftime.c (extra_args) [my_strftime]:
12363         * lib/strftime.h (nstrftime):
12364         Time zone arg is now of type timezone_t, not int.
12365         * lib/strftime.c (mktime_z) [_LIBC]: New macro.
12366         (__gmtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: Remove; no longer used.
12367         (my_strftime) [emacs && !my_strftime]:
12368         (emacs_strftimeu) [emacs && !FPRINTFTIME]:
12369         Remove; Emacs doesn't need this any more.
12370         (HAVE_TZSET) [my_strftime]: Unset, since we no longer want
12371         fprintftime and nstrftime to call tzset.
12372         (ut) [!my_strftime]: Remove, replacing with ...
12373         (tz) [!my_stftime]: ... this new macro.  All uses changed.
12374         (strftime_case_): Use localtime_rz and mktime_z instead
12375         of localtime_r and mktime.
12376         * modules/fprintftime (Depends-on): Add time_rz.
12377         * modules/strftime (Depends-on): Add time_rz.  Remove time_r.
12378         * tests/test-strftime.c (main): Adjust to new nstrftime API.
12380         time_rz: new module
12381         * MODULES.html.sh: Add time_rz.
12382         * lib/time_rz.c, m4/time_rz.m4, modules/time_rz: New files.
12383         * lib/time.in.h (timezone_t, tzalloc, tzfree, localtime_rz, mktime_z):
12384         New decls if _GNU_SOURCE && @GNULIB_TIME_RZ@ && ! @HAVE_TIMEZONE_T@.
12385         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS):
12386         New var HAVE_TIMEZONE_T (default 0).
12387         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS):
12388         New var GNULIB_TIME_RZ (default 0).
12389         * modules/time (time.h): Substitute the new vars.
12391         flexmember: license is now unlimited
12392         * modules/flexmember (License): Change to unlimited,
12393         since its only source file gives an unlimited license.
12395 2015-07-15  Eric Blake  <eblake@redhat.com>
12397         maint: update copyright paper procedures
12398         * config/srclist.txt: Drop outdated files.
12399         * doc/Copyright/conditions.txt: Update to latest.
12400         * doc/Copyright/assign.changes.manual: Delete.
12401         * doc/Copyright/assign.future.manual: Likewise.
12402         * doc/Copyright/assign.manual: Likewise.
12403         * doc/Copyright/assign.translation.manual: Likewise.
12404         * doc/Copyright/disclaim.changes.manual: Likewise.
12405         * doc/Copyright/disclaim.manual: Likewise.
12406         * doc/Copyright/disclaim.program: Likewise.
12408 2015-07-07  Daiki Ueno  <ueno@gnu.org>
12410         localename: fix link error on Illumos
12411         Illumos defines __sun, but does not have getlocalename_l nor the
12412         equivalent.  This partially reverts commit 387c214.
12413         * m4/localename.m4 (gl_LOCALENAME): Check if getlocalename_l is
12414         available, as well as uselocale.
12415         * lib/localename.c [HAVE_USELOCALE && __sun]: Don't fallback to
12416         use getlocalename_l if it is not available.
12418 2015-07-07  Daiki Ueno  <ueno@gnu.org>
12420         unistr/uN-strtok-tests: avoid a trivial leak
12421         * tests/unistr/test-u-strtok.h (test_u_strtok): Untabify.  Free
12422         input and delim after the multibyte delimiter tests.
12424 2015-07-04  Paul Eggert  <eggert@cs.ucla.edu>
12426         file-has-acl, acl-permissions: fix HP-UX typos
12427         Problem reported by John David Anglin in: http://bugs.gnu.org/20979
12428         * lib/file-has-acl.c (file_has_acl):
12429         * lib/set-permissions.c (context_acl_from_mode)
12430         (context_aclv_from_mode, set_acls):
12431         Fix some obvious typos when HAVE_GETCL /* HP-UX */.
12432         They were introduced by the recent ACL changes.
12434         regex: match current GNU grep behavior
12435         These symbols have not matched GNU grep behavior for quite some time.
12436         Fix prompted by Balazs Kezes bug report at: http://bugs.gnu.org/20974
12437         * lib/regex.h (RE_SYNTAX_GREP, RE_SYNTAX_EGREP):
12438         Change to match current GNU behavior.
12439         Simplify by expressing it as differences from POSIX BREs and EREs.
12440         (RE_SYNTAX_POSIX_EGREP): No longer differs from GNU behavior.
12442 2015-07-03  Jim Meyering  <meyering@fb.com>
12444         set-permissions.c: adjust acl_from_mode's cpp guard
12445         * lib/set-permissions.c (acl_from_mode): Guard with #ifdef
12446         directives identical to those guarding the sole use.
12447         Otherwise, on some systems, we'd get a warning about
12448         the function being defined but not used.
12449         Also, filter through cppi to correct misleading indentation
12450         of cpp directives.
12452 2015-07-03  Pádraig Brady  <P@draigBrady.com>
12454         tests: restrict shells to those that support 'local'
12455         The local keyword is very widely supported and used
12456         in tests in coreutils and grep at least.  Therefore
12457         restrict to testing with shells that support it.
12458         This mainly excludes /bin/sh on Solaris.
12459         * tests/init.sh (gl_shell_test_script_): Add a test for 'local'.
12461 2015-07-03  Seiya Kawashima  <skawashima@uchicago.edu>  (tiny change)
12462         and Daiki Ueno  <ueno@gnu.org>
12464         unistr/uN-strtok: handle multibyte delimiters
12465         Previously, uN_strtok moved PTR to the next unit to the token end.
12466         When DELIM contained a multibyte character, the new position could
12467         be a middle of a multibyte character.
12468         * lib/unistr/u-strtok.h (FUNC): Place PTR at the next character
12469         after the token.
12470         * lib/unistr/u8-strtok.c (U_STRMBLEN): New macro.
12471         * lib/unistr/u16-strtok.c (U_STRMBLEN): New macro.
12472         * lib/unistr/u32-strtok.c (U_STRMBLEN): New macro.
12473         * modules/unistr/u8-strtok (Depends-on): Depend on
12474         unistr/u8-strmblen.
12475         * modules/unistr/u16-strtok (Depends-on): Depend on
12476         unistr/u16-strmblen.
12477         * modules/unistr/u32-strtok (Depends-on): Depend on
12478         unistr/u32-strmblen.
12479         * tests/unistr/test-u-strtok.h: New file.
12480         * tests/unistr/test-u8-strtok.c: New file.
12481         * tests/unistr/test-u16-strtok.c: New file.
12482         * tests/unistr/test-u32-strtok.c: New file.
12483         * modules/unistr/u8-strtok-tests: New file.
12484         * modules/unistr/u32-strtok-tests: New file.
12485         * modules/unistr/u16-strtok-tests: New file.
12487 2015-07-02  Friedrich Haubensak  <hsk@fli-leibniz.de>
12489         update-copyright: fix test failure with perl >= 5.22 (trivial)
12490         * build-aux/update-copyright: Escape a literal left curly bracket,
12491         required with perl >= 5.22
12493 2015-07-02  Daiki Ueno  <ueno@gnu.org>
12495         u{16,32}-strstr-tests: relax timeout condition
12496         On slower platforms (e.g., Solaris 10/SPARC), u{16,32}-strstr
12497         tests can take longer than 5 seconds to complete.
12498         Reported by Dagobert Michelsen in:
12499         https://lists.gnu.org/r/bug-libunistring/2015-06/msg00006.html
12500         * tests/unistr/test-u16-strstr.c (main): Increase timeout from 5
12501         seconds to 10 seconds.
12502         * tests/unistr/test-u32-strstr.c (main): Likewise.
12504 2015-07-01  Pavel Raiskup  <praiskup@redhat.com>
12506         gnulib-common.m4: change the ARFLAGS default to 'cr'
12507         In some GNU/Linux distributions people started to compile 'ar'
12508         binary with --enable-deterministic-archives (binutils project).
12509         That, however, in combination with previous autotools long time
12510         working default AR{_,}FLAGS=cru causes warnings on such
12511         installations:
12512         ar: `u' modifier ignored since `D' is the default (see `U')
12513         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Set ARFLAGS='cr' if not
12514         set already.
12516 2015-07-01  Pavel Raiskup  <praiskup@redhat.com>
12518         selinux-h: avoid double free after *getfilecon()
12519         Originally reported by Ben Shelton on bug-tar:
12520         http://lists.gnu.org/r/bug-tar/2015-04/msg00009.html
12521         * lib/getfilecon.c (map_to_failure): Set the already freed '*con'
12522         pointer to NULL.  Man getfilecon(3) says that any non-NULL '*con'
12523         param should be freed by freecon(3) (regardless the return value).
12525 2015-07-01  Pavel Fedin  <p.fedin@samsung.com>
12527         fix pty related tests issues on Windows (trivial)
12528         * lib/grantpt.c (grantpt): grantpt.c seems to be never used on Windows,
12529         however it's still present in tests/ subdirectory of the final project.
12530         Therefore avoid it to pass `make check`.
12531         * tests/test-openpty.c (main): Windows has no PTYs and gnulib's openpty()
12532         will just return -ENOSYS, so avoid this non applicable test allowing
12533         the build to proceed.
12535 2015-07-01  Pádraig Brady  <P@draigBrady.com>
12537         acl: fix definition of acl_from_mode on FreeBSD
12538         This was causing basic coreutils copy operations to fail
12539         with ENOTSUP or ENOENT error messages.
12540         * lib/acl-internal.h (acl_from_mode): Only define when
12541         ! defined HAVE_ACL_FROM_TEXT.  That allows the version
12542         of acl_from_mode() defined in lib/set-permissions.c to
12543         be used on FreeBSD at least.
12544         * lib/set-permissions.c: Fix up comment spelling,
12545         and a redundant variable assignment; noticed in passing.
12547 2015-06-30  Pádraig Brady  <P@draigBrady.com>
12549         readutmp: port to FreeBSD >= 9
12550         * lib/readutmp.h: Map utmpxname() to setutxdb().
12551         With that coreutils who(1) and pinky(1) tests pass.
12553 2015-06-30  Paul Eggert  <eggert@cs.ucla.edu>
12555         mgetgroups: port to strict OS X
12556         The previous fix wasn't working, so use a bigger hammer (Bug#20923).
12557         * lib/mgetgroups.c: Ignore -Wpointer-sign diagnostics.
12558         (getgrouplist_gids) [HAVE_GETGROUPLIST]: Remove.  All uses removed.
12559         * m4/mgetgroups.m4 (gl_MGETGROUPS): Revert recent changes.
12561 2015-06-29  Paul Eggert  <eggert@cs.ucla.edu>
12563         mgetgroups: port to strict OS X
12564         * doc/glibc-functions/getgrouplist.texi (getgrouplist):
12565         Document the getgrouplist problem.
12566         * lib/mgetgroups.c (getgrouplist_gids) [HAVE_GETGROUPLIST]:
12567         New macro.
12568         (mgetgroups): Use it.
12569         * m4/mgetgroups.m4 (gl_MGETGROUPS):
12570         Check for OS X signature for getgrouplist.
12572 2015-06-29  Jim Meyering  <meyering@fb.com>
12574         linkat: fix invalid definition of LINKAT_SYMLINK_NOTSUP on OS X
12575         It started like this when building coreutils' latest on OS X,
12576         invoking ./configure with a nonempty --cache=.cache:
12578           lib/linkat.c:46:42: error: operator '||' has no right operand
12579           lib/linkat.c: In function 'rpl_linkat':
12580           lib/linkat.c:330:27: error: #if with no expression
12582         Here's linkat.c's line 46:
12584           #if !HAVE_LINKAT || LINKAT_SYMLINK_NOTSUP
12586         Here's some context:
12588           $ grep linkat_nofoll .cache
12589           gl_cv_func_linkat_nofollow=${gl_cv_func_linkat_nofollow=no}
12590           $ grep LINKAT_SYM lib/config.h
12591           #define LINKAT_SYMLINK_NOTSUP
12593         The problem is that m4/linkat.m4's gl_FUNC_LINKAT
12594         uses AC_CACHE_CHECK to set LINKAT_SYMLINK_NOTSUP,
12595         but that violates a tenet of AC_CACHE_CHECK: it must
12596         have no side effect other than setting its cache variable.
12598         What happens is that when the cache is set, we'd skip the
12599         code in that AC_CACHE_CHECK call, and leave LINKAT_SYMLINK_NOTSUP
12600         defined to whatever value it happened to have in configure's
12601         environment.  In my case, it was not defined, so this later code:
12603           AC_DEFINE_UNQUOTED([LINKAT_SYMLINK_NOTSUP], [$LINKAT_SYMLINK_NOTSUP],
12604             [Define to 1 if linkat can create hardlinks to symlinks])
12606         would emit code with an empty RHS.
12608         * m4/linkat.m4 (gl_FUNC_LINKAT): Move the setting of
12609         $LINKAT_SYMLINK_NOTSUP out of the AC_CACHE_CHECK code block.
12611 2015-06-28  Jim Meyering  <meyering@fb.com>
12613         mountlist: avoid an unused-label warning on OS X
12614         * lib/mountlist.c (read_file_system_list) [MOUNTED_GETMNTINFO]:
12615         Building on OS X, I saw a warning about the "free_then_fail" label
12616         being unused.  Give it the _GL_UNUSED_LABEL attribute.
12618         error.c: correct printf-style format: %d -> %u
12619         * lib/error.c (error_at_line): Correct __fxprintf format to use %u,
12620         rather than %d, to match the type of "line_number", unsigned int.
12622 2015-06-25  Pádraig Brady  <P@draigBrady.com>
12624         fts: avoid reading beyond the heap allocation
12625         GCC 5.1.1 with -O2 and -fsanitize=address reports
12626         a read of size 4 from a heap object of size 3 is indeed invalid,
12627         though this may be due to incorrect padding assumptions by GCC, see:
12628         https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66661
12629         * lib/fts.c (fts_alloc): Increase allocation to alignof(FTSENT).
12630         * modules/fts: Depend on stdalign.
12632 2015-06-24  Pádraig Brady  <P@draigBrady.com>
12634         savedir: avoid undefined behavior in qsort call
12635         GCC 5.1.1 -fsanitize=undefined with glibc 2.21 is returning:
12636         "runtime error: null pointer passed as argument 1,
12637          which is declared to never be null"
12638         * lib/savedir.c (streamsavedir): Avoid the call with no entries.
12640 2015-06-24  Pádraig Brady  <P@draigBrady.com>
12642         userspec: avoid undefined behavior in gettext call
12643         GCC 5.1.1 -fsanitize=undefined with glibc 2.21 is returning:
12644         "runtime error: null pointer passed as argument 2,
12645          which is declared to never be null"
12646         * lib/userspec.c (parse_with_separator): Avoid passing NULL to gettext()
12648 2015-06-20  Glenn Morris  <rgm@gnu.org>
12650         gitlog-to-changelog: improve gitmerge.el commits
12651         Let the Emacs ChangeLog generation process exclude "skipped"
12652         messages from merge commits (Bug#20717).
12653         * build-aux/gitlog-to-changelog: Handle gitmerge.el skipped commits.
12655 2015-06-20  Paul Eggert  <eggert@cs.ucla.edu>
12657         wchar: fix MinGW compilation warnings
12658         This lets Texinfo compile cleanly.  See Eli Zaretskii in:
12659         http://lists.gnu.org/r/bug-gnulib/2015-06/msg00050.html
12660         * lib/wchar.in.h: Do not use special invocation convention on MinGW.
12662 2015-06-20  Daiki Ueno  <ueno@gnu.org>
12664         uniname/uniname-tests: use pristine data files
12665         For copyright and maintenance reasons, use the data files from UCD
12666         without modification.
12667         * tests/uniname/test-uninames.c (FIELDLEN): Remove.
12668         (getfield): Remove.
12669         (aliases_count): New global variable.
12670         (fill_names): Skip comments and empty lines in the input.  Don't
12671         use getfield.
12672         (fill_aliases): Likewise.
12673         (main): Change the expected command line arguments to:
12674         NAMES... ["--" ALIASES...].
12675         * tests/uniname/test-uninames.sh: Adjust to the change in
12676         test-uninames.c.
12677         * tests/uniname/UnicodeDataNames.txt: Remove.
12678         * tests/uniname/UnicodeData.txt: New file, from Unicode 8.0.0.
12679         * tests/uniname/NameAliases.txt: Use the pristine copy of the data
12680         file from Unicode 8.0.0.
12682 2015-06-19  Pádraig Brady  <P@draigBrady.com>
12684         linked-list, linkedhash-list: avoid compiler warnings
12685         * lib/gl_anytree_list2.h: Add _GL_ATTRIBUTE_PURE to avoid
12686         -Werror=suggest-attribute=pure (from GCC 5.1.1).
12688 2015-06-19  Daiki Ueno  <ueno@gnu.org>
12690         libunistring: bump minimum version to 0.9.6
12691         * all modules depending on updated Unicode data: Regenerate.
12692         The modules are listed by a script that does:
12693         - for each file listed by: git show --oneline --name-only 705f4efc
12694           - deduce the containing modules, based on "Files:"
12695         - deduce the modules which depend on the containing modules, based
12696           on "Depends-on:"
12698 2015-06-18  Daiki Ueno  <ueno@gnu.org>
12700         uniname/uniname: update to Unicode 8.0.0
12701         * lib/uniname/uninames.h: Regenerate.
12702         * tests/uniname/NameAliases.txt: Update from Unicode 8.0.0.
12703         * tests/uniname/UnicodeDataNames.txt: Update from Unicode 8.0.0.
12705 2015-06-18  Daiki Ueno  <ueno@gnu.org>
12707         libunistring: update to Unicode 8.0.0
12708         * lib/gen-uni-tables.c (SIZEOF): New macro.
12709         (output_numeric): Increase the maximum number of fractions from
12710         128 to 160.  Increase the level3 value width from 7 bits to 8
12711         bits.  Use SIZEOF instead of a hard-coded integer.
12712         (output_blocks): Decrease the cut-off threshold from 0x30000 to
12713         0x28000.
12714         (fill_blocks): Increase the maximum number of blocks from 256 to
12715         384.  Use SIZEOF instead of a hard-coded integer.
12716         (get_lbp): Adjust to new characters added in Unicode 8.0.0.
12717         * lib/unictype/numeric.c (uc_numeric_value): Adjust the level3
12718         value width.
12719         * lib/unilbrk/lbrktables.c (unilbrk_table): Implement LBP21b and
12720         a new case added to LBP22.
12721         * lib/uniwidth/width.c (nonspacing_table_data): Add U+08E3,
12722         U+A69E, U+FE2E..U+FE2F, U+111CA..U+111CC, U+11300,
12723         U+115DC..U+115DD, U+1171D..U+1171F, U+11722..U+11725,
12724         U+11727..U+1172B, U+1DA00..U+1DA36, U+1DA3B..U+1DA6C, U+1DA75,
12725         U+1DA84, U+1DA9B..U+1DA9F, and U+1DAA1..U+1DAAF.
12726         * tests/uniwidth/test-uc_width2.sh: Same updates as in
12727         lib/uniwidth/width.c.
12728         * all generated files under lib/uni* and tests/uni*: Regenerate.
12730 2015-06-16  Pádraig Brady  <P@draigBrady.com>
12732         gnu-web-doc-update: add --mirror to remove stale files
12733         * build-aux/gnu-web-doc-update: Add a --mirror option to remove
12734         out of date files from the CVS server.  Since this is usually
12735         appropriate, a prompt is given when the option is not specified,
12736         along with the `cvs remove` command that would be run.
12738 2015-06-06  Paul Eggert  <eggert@cs.ucla.edu>
12740         acl-permissions: pacify -Wsuggest-attribute=const
12741         Problem reported by Masanari Iida in: http://bugs.gnu.org/20753
12742         * lib/acl-internal.h (free_permission_context):
12743         Declare with attribute const if ! (defined USE_ACL &&
12744         (HAVE_ACL_GET_FILE || defined GETACL)).
12746         fsync: document AIX misbehavior
12747         * doc/posix-functions/fsync.texi (fsync):
12748         Document failure on AIX with read-only file descriptor.
12750 2015-06-05  Jonathan Perkin  <jperkin@joyent.com>  (tiny change)
12752         stdio: Don't redefine gets when using C++
12753         * lib/stdio.in.h (gets): Disable warning on C++.
12755 2015-06-05  Paul Eggert  <eggert@cs.ucla.edu>
12757         acl-permissions: port to AIX, C89 HP-UX
12758         Problems reported by Michael Felt.
12759         * lib/file-has-acl.c (file_has_acl) [HAVE_STATACL]:
12760         * lib/get-permissions.c (get_permissions) [USE_ACL && HAVE_STATACL]:
12761         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]:
12762         * lib/set-permissions.c (set_acls) [HAVE_ACLX_GET && ACL_AIX_WIP]:
12763         Add cast for AIX, whose system calls are declared to accept
12764         char * even though the arguments are really char const *.
12765         * lib/get-permissions.c (get_permissions):
12766         If USE_ACL && HAVE_GETACL /* HP-UX */, don't assume C99.
12767         If USE_ACL && HAVE_STATACL /* older AIX */, add missing decl
12768         that broke a build.
12769         * lib/mountlist.c (read_file_system_list) [MOUNTED_VMOUNT]:
12770         Rework types to pacify xlc.
12772 2015-06-03  Pádraig Brady  <P@draigBrady.com>
12774         vasprintf-posix: avoid compiling vasnprintf where possible
12775         * modules/vasprintf-posix: Avoid compiling the large vasnprintf
12776         module where not required.  For example on a GNU/Linux system
12777         when gnulib-tool is run with the --conditional-dependencies option.
12779 2015-06-02  Pádraig Brady  <P@draigBrady.com>
12781         file-has-acl: fix build on Mac OS X 10
12782         This reverts commit f1b37e3a which doesn't work on Mac OS X >= 10.4
12783         which has an incompatible 6 parameter getxattr() call.
12784         * doc/glibc-functions/getxattr.texi: Mention the divergent getxattr()
12785         call on Mac OS X >= 10.4.
12786         * doc/glibc-functions/fgetxattr.texi: Likewise.
12787         * lib/file-has-acl.c: Revert to more complete combined check.
12788         * m4/acl.m4 (gl_FILE_HAS_ACL): Likewise.
12789         Reported by Jack Howarth.
12791 2015-06-02  Pádraig Brady  <P@draigBrady.com>
12793         prefix-gnulib-mk: remove no longer needed special case
12794         * build-aux/prefix-gnulib-mk (prefix): Since commit e3704b9c,
12795         continued lib_SOURCES lines are no longer present,
12796         so special case handling of such entries is not required.
12798 2015-06-01  Pádraig Brady  <P@draigBrady.com>
12800         acl: don't depend on the deprecated qacl module
12801         * modules/acl (Depends-on): Use q{copy,set}-acl instead.
12803 2015-06-01  Pádraig Brady  <P@draigBrady.com>
12805         gnulib-tool: concatenate lib_SOURCES to a single line
12806         * gnulib-tool: Refactor the line merging sed logic,
12807         and use that to output a single lib_SOURCES line for each module.
12808         gnulib using projects often postprocess this output to prepend
12809         subdir paths to each item, and having a single line simplifies this
12810         processing allowing better decoupling from the gnulib-tool output.
12812 2015-06-01  Pavel Fedin  <p.fedin@samsung.com>
12814         pthread_sigmask: discount system version if a simple macro (trivial)
12815         MinGW64 has: #define pthread_sigmask(H, S1, S2) 0
12816         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Call the
12817         function to ensure it's available.
12819 2015-05-31  Pádraig Brady  <P@draigBrady.com>
12821         readlinkat: avoid OS X 10.10 trailing slash bug
12822         * doc/posix-functions/readlink.texi: Mention that OS X 10.10
12823         has this bug.
12824         * doc/posix-functions/readlinkat.texi: Likewise.  Also mention
12825         that OS X 10.10 has this function.
12826         * lib/readlinkat.c (rpl_readlinkat): Handle the trailing slash bug,
12827         as done for readlink().
12828         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Check for the readlink()
12829         trailing slash bug, and assume readlinkat() has the same issue.
12830         Also fix a typo where $gl_cv_decl_readlink_works was tested,
12831         rather than the correct $gl_cv_decl_readlinkat_works.
12833 2015-05-29  Andreas Gruenbacher  <andreas.gruenbacher@gmail.com>
12835         acl-permissions: Fix build on Mac OS X and older AIX (Bug#20681)
12836         * lib/set-permissions.c (set_acls): Fix more errors introduced in the acl
12837         module rewrite.
12839         acl-permissions: Fix build on Solaris and Cygwin
12840         Reported by Tom G. Christensen <tgc@jupiterrise.com>:
12841         * lib/set-permissions.c (set_acls): The count, entries, ace_count, and
12842         ace_entries variables have moved into struct permission_context but
12843         they were still accessed as local variables here.
12845 2015-05-29  Pádraig Brady  <P@draigBrady.com>
12847         linkat: avoid OS X 10.10 trailing slash with symlink bug
12848         On Darwin 14.3.0 linkat(,"path1",,"dangling_symlink/",)
12849         causes the symlink to be dereferenced, and if it points
12850         to a non existent file, that file will be created as
12851         a hard link to "path1".
12852         This fixes a test failure in test-linkat.c.
12853         * m4/linkat.m4 (gl_FUNC_LINKAT): Augment the test with
12854         this case.  The existing workaround in linkat.c for
12855         trailing slash issues, suffices for this case.
12856         * doc/posix-functions/linkat.texi: Add OS X 10.10 to
12857         the list of platforms with trailing slash issues.
12859 2015-05-28  Pádraig Brady  <P@draigBrady.com>
12861         unlinkat: handle ignoring of ".." on Darwin 14
12862         * lib/unlinkat.c: unlinkat() has the same bug as unlink()
12863         on Mac OS X 10.10, where it ignores paths with a trailing "..",
12864         so handle in the same manner.
12865         * m4/unlinkat.m4: Comment on this Darwin issue.
12866         * doc/posix-functions/unlink.texi: Update the latest version
12867         where the issue was seen.
12868         * doc/posix-functions/unlinkat.texi: Mention this issue.
12869         Fixes a test failure in test-unlinkat.c.
12871 2015-05-27  Paul Eggert  <eggert@cs.ucla.edu>
12873         qacl: split into qcopy-acl and qset-acl
12874         Emacs needs the former, but not the latter.
12875         * modules/acl-permissions: New file, containing most of the old qacl.
12876         * modules/file-has-acl (Depends-on): Depend on acl-permissions, not qacl.
12877         * modules/qacl: Now merely depends on qcopy-acl and qset-acl.
12878         * modules/qcopy-acl, modules/qset-acl: New files.
12879         * MODULES.html.sh (File system functions):
12880         Mention the new modules, and mention qacl while we're at it.
12882 2015-05-27  Glenn Morris  <rgm@gnu.org>
12884         gitlog-to-changelog: new option --ignore-line
12885         (This patch is imported from the GNU Emacs master.)
12886         This option ignores individual commit lines matching a pattern.
12887         * build-aux/gitlog-to-changelog: Add --ignore-line option.
12889 2015-05-27  Andreas Gruenbacher  <agruenba@redhat.com>
12891         qacl: Reimplement qset_acl and qcopy_acl (Bug#20666)
12892         Implement get_permissions and set_permissions primitives for getting all
12893         the permissions of a file, storing them, and later setting them. (In the
12894         minimal case, the permissions consist only of a file mode.) Reimplement
12895         qset_acl and qcopy_acl based on these new primitives: this avoids code
12896         duplication and makes error handling more consistent.
12897         The Solaris and Cygwin code still uses duplicate code paths for setting
12898         a file mode while making sure that no acls exist and setting an explicit
12899         acl; this is no worse than before, but could be cleaned up.  The AIX
12900         code still doesn't read ACLs, it only makes sure that acls don't get in
12901         the way when setting a file mode.
12902         * lib/acl-internal.h (struct permission_context): New data structure.
12903         (get_permissions, set_permissions, free_permission_context): Declare.
12904         * lib/acl-internal.c (free_permission_context): New helper function.
12905         * lib/get-permissions.c (get_permissions): New helper function split off
12906         from qcopy_acl.
12907         * lib/set-permissions.c: (set_acls_from_mode): On Solaris, Cygwin, and
12908         AIX, set a file's permissions based only on a file mode.
12909         (acl_from_mode, context_acl_from_mode, context_aclv_from_mode): All
12910         other platforms construct a temporary acl from the file mode and set
12911         that acl in the same way as setting an acl read from the source file.
12912         This should help avoid code duplication and inconsistent / buggy
12913         behavior.
12914         (set_acls): New helper function Split off from qcopy_acl.
12915         (chmod_or_fchmod): Moved here from qset-acl.c.
12916         (set_permissions): New helper function.
12917         * lib/qcopy-acl.c (qcopy_acl): Rewrite using get_permissions and
12918         set_permissions.
12919         * lib/qset-acl.c (qset_acl): Rewrite using set_permissions.
12920         * modules/qacl: Add get-permissions.c and set-permissions.c.
12922         file-has-acl: Split feature tests again (Bug#20667)
12923         * lib/file-has-acl.c: Instead of testing for
12924         XATTR_NAME_POSIX_ACL_ACCESS and XATTR_NAME_POSIX_ACL_DEFAULT,
12925         define them when needed.
12926         * m4/acl.m4 (gl_FILE_HAS_ACL): With that, Paul's
12927         GETXATTR_WITH_POSIX_ACLS change shouldn't be needed anymore.
12929 2015-05-27  Pádraig Brady  <P@draigBrady.com>
12931         string: fix build failure on BSD/OSX with FORTIFY_SOURCE
12932         This avoids a conflict with "FORTIFY_SOURCE" variants
12933         of the string functions when they're replaced on NetBSD-6.0.1
12934         and Darwin-14.3.0 at least.
12935         * lib/string.in.h: Avoid including our "lib/string.h" while
12936         including the system <string.h>.
12938 2015-05-26  Eric Blake  <eblake@redhat.com>
12940         stdio: limit __gnu_printf__ witness to gcc 4.4+
12941         * lib/error.h (_GL_ATTRIBUTE_SPEC_PRINTF): Move gcc version probe...
12942         * m4/stdio_h.m4 (gl_STDIO_H): ...here.
12944         error: use correct printf attributes on mingw
12945         * lib/stdio.in.h (_GL_ATTRIBUTE_SPEC_PRINTF): New define.
12947         inttypes: force correct mingw PRIdMAX even without <stdio.h>
12948         * modules/inttypes (Depends-on): Require extensions, so that mingw
12949         always uses GNU style inttypes.
12950         * lib/inttypes.in.h: On mingw, include <stdio.h>.
12952         stdio: fix probe on mingw under gcc 5.1
12953         * m4/stdio_h.m4 (gl_STDIO_H): Change to compile test, to work
12954         around new gcc preprocessor rules.
12956 2015-05-07  Glenn Morris  <rgm@gnu.org>
12958         gitlog-to-changelog: parse "Tiny-change"
12959         * build-aux/gitlog-to-changelog: Treat "Tiny-change" like
12960         "Copyright-paperwork-exempt".  (Bug#20324)
12962 2015-05-06  Pádraig Brady  <P@draigBrady.com>
12964         doc: document glibc posix_fallocate() issues
12965         * doc/posix-functions/posix_fallocate.texi: Mention the
12966         glibc efficiency problems and issues with NFS.
12968 2015-05-05  Karl Berry  <karl@freefriends.org>
12970         * build-aux/gendocs.sh (usage): document new css default
12971         for HTML (--htmlarg).
12973 2015-04-29  Paul Eggert  <eggert@cs.ucla.edu>
12975         extern-inline: no need for workaround in GCC 5.1
12976         * doc/extern-inline.texi (extern inline):
12977         * m4/extern-inline.m4 (gl_EXTERN_INLINE):
12978         GCC bugs 54113 and 63877 are fixed in GCC 5.1, so don't work
12979         around these bugs in GCC 5.1 and later.  Maybe in a decade or
12980         two we can remove these workarounds.
12982 2015-04-28  Pádraig Brady  <P@draigBrady.com>
12984         eealloc, pagealign_alloc, xalloc: avoid clang warnings
12985         Avoid [-Wunknown-attributes] warnings like:
12986         warning: unknown attribute '__alloc_size__' ignored
12987         * lib/xalloc.h: Don't use the __alloc_size__  attribute
12988         with clang, as support has been fully removed as of clang 3.5:
12989         https://github.com/llvm-mirror/clang/commit/c047507a
12990         * lib/eealloc.h: Likewise.
12991         * lib/pagealign_alloc.h: Likewise.
12993 2015-04-27  Paul Eggert  <eggert@cs.ucla.edu>
12995         tests: pacify GCC 5.1's stricter printf checking
12996         * tests/test-dirname.c (main):
12997         * tests/test-getaddrinfo.c (simple):
12998         * tests/test-getlogin.c (main):
12999         * tests/test-getndelim2.c (main):
13000         * tests/test-inttostr.c (CK):
13001         * tests/test-md5.c (main):
13002         * tests/test-read-file.c (main):
13003         * tests/test-sha1.c (main):
13004         Fix mismatches between printf format and value signedness.
13005         * tests/test-inttostr.c (FMT, CAST_VAL, V_min, V_max):
13006         Remove, as CAST_VAL always returned a value of type uintmax_t.
13008         fts: port to GCC 5.1 with --enable-gcc-warnings
13009         Without this fix, GCC 5.1 (correctly) warns about a subscript
13010         error on the fts_name component of FTSENT.  It's actually a
13011         flexible member, so define it that way on C99 or later hosts.
13012         * lib/fts.c (fts_alloc): Use offsetof, not sizeof, for a
13013         structure that now has a flexible array member.
13014         * lib/fts_.h (__FLEXIBLE_ARRAY_MEMBER): New macro.
13015         (FTSENT): fts_name is now flexible on C99-or-later platforms.
13016         * modules/fts (Depends-on): Add flexmember.
13018 2015-04-26  Paul Eggert  <eggert@cs.ucla.edu>
13020         file-has-acl: port to CentOS 6
13021         Problem reported by Tom G. Christensen in:
13022         http://lists.gnu.org/r/bug-gnulib/2015-04/msg00074.html
13023         * lib/file-has-acl.c: Use GETXATTR_WITH_POSIX_ACLS instead of a
13024         combination of HAVE_SYS_XATTR_H, HAVE_LINUX_XATTR_H, and
13025         HAVE_GETXATTR.
13026         * m4/acl.m4 (gl_FILE_HAS_ACL): Test fot the entire combination of
13027         linux/xattr.h, sys/xattr.h, getxattr, XATTR_NAME_POSIX_ACL_ACCESS,
13028         and XATTR_NAME_POSIX_ACL_DEFAULT, since that's what
13029         file-has-acl.c actually needs.
13031 2015-04-26  Pádraig Brady  <P@draigBrady.com>
13033         file-has-acl: always return false when ACLs aren't supported
13034         * lib/file-has-acl.c (file_has_acl): Consistent with other paths,
13035         change the GNU/Linux getxattr path, to transform "not supported"
13036         errors to a false return rather than an error.  This is handled
13037         within file_has_acl() due to the platform specific tests to
13038         determine if ACLs are not supported.
13040 2015-04-25  Paul Eggert  <eggert@cs.ucla.edu>
13042         gettext: propagate po/Makefile.in.in too
13043         * build-aux/po/Makefile.in.in: Copy from latest gettext.
13044         * config/srclist.txt: In build-aux/po, copy Makefile.in.in and
13045         remove-potcdate.sin from $GETTEXT.  This fixes a version mismatch
13046         between Makefile.in.in and the gettext-runtime m4 files.
13048 2015-04-24  Paul Eggert  <eggert@cs.ucla.edu>
13050         file-has-acl: new module, split from acl
13051         And add a new module file-has-acl-tests to match.
13052         I ran into a problem with the recent changes to the acl module,
13053         as they introduced a typo 'test use_xattrs = 0' into 'configure'.
13054         When using the fixed version with Emacs, I discovered that
13055         file-has-acl wasn't separated out well enough for Emacs (e.g., it
13056         had multiple libraries, but needed only one), so I fixed that too.
13057         * NEWS: Document this incompatible change.
13058         * modules/file-has-acl, modules/file-has-acl-tests: New files.
13059         * m4/acl.m4 (gl_FUNC_ACL_ARG): New macro, split from gl_FUNC_ACL.
13060         Initialize gl_need_lib_has_acl.
13061         (gl_FUNC_ACL): Require it.
13062         Simplify use of 'test'.  Set LIB_HAS_ACL if gl_need_lib_has_acl.
13063         Move the file-has-acl.c-relevant stuff to ...
13064         (gl_FILE_HAS_ACL): ... this new macro.  Rewrite to fix 'test
13065         use_xattrs = 0' typo, and omit some needless work.  Set
13066         gl_need_lib_has_acl=1 if we'll need LIB_HAS_ACL to be set
13067         when gl_FUNC_ACL is called.
13068         * modules/acl (Files, lib_SOURCES): Remove lib/file-has-acl.c.
13069         (Link): Remove $(LIB_HAS_ACL).
13070         * modules/acl-tests (Files, Depends-on, configure.ac, TESTS)
13071         (check_PROGRAMS): Move stuff relevant to file-has-acl to
13072         modules/file-has-acl-tests.
13073         (test_file_has_acl_LDADD): Move to modules/file-has-acl-tests.
13075         manywarnings: add GCC 5.1 warnings
13076         * build-aux/gcc-warning.spec: Add -Wabi=, -Warray-bounds,
13077         -Warray-bounds=, -Wc++14-compat, -Wc90-c99-compat,
13078         -Wc99-c11-compat, -Wshadow-ivar, -Wsized-deallocation,
13079         -Wsuggest-override, -Wuse-without-only.  Change
13080         -Wnormalized=... operands to match 5.1.
13081         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add -Wbool-compare,
13082         -Wchkp, -Wdesignated-init, -Wdiscarded-array-qualifiers,
13083         -Wdiscarded-qualifiers, -Wformat-signedness,
13084         -Wincompatible-pointer-types, -Wint-conversion,
13085         -Wlogical-not-parentheses, -Wmemset-transposed-args, -Wodr,
13086         -Wshift-count-negative, -Wshift-count-overflow,
13087         -Wsizeof-array-argument, -Wsuggest-final-methods,
13088         -Wsuggest-final-types, -Wswitch-bool.  Remove -Warray-bounds,
13089         and add -Warray-bounds=2 as a special case.
13091 2015-04-21  Simon Josefsson  <simon@josefsson.org>
13093         doc: update FDL template to match FDL examples.
13094         * doc/alloca-opt.texi:
13095         * doc/alloca.texi:
13096         * doc/c-ctype.texi:
13097         * doc/c-strcase.texi:
13098         * doc/c-strcaseeq.texi:
13099         * doc/c-strcasestr.texi:
13100         * doc/c-strstr.texi:
13101         * doc/c-strtod.texi:
13102         * doc/c-strtold.texi:
13103         * doc/ctime.texi:
13104         * doc/error.texi:
13105         * doc/gcd.texi:
13106         * doc/gnulib-tool.texi:
13107         * doc/inet_ntoa.texi:
13108         * doc/intprops.texi:
13109         * doc/lib-symbol-visibility.texi:
13110         * doc/maintain.texi:
13111         * doc/parse-datetime.texi:
13112         * doc/quote.texi:
13113         * doc/regexprops-generic.texi:
13114         * doc/standards.texi: Remove spurious 'with' in FDL license
13115         template.
13117 2015-04-21  Paul Eggert  <eggert@cs.ucla.edu>
13119         lstat: fix cross-compilation 'ln -s' problem
13120         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK):
13121         Have the test program call 'symlink' rather than a separate
13122         script run 'ln -s'; this is more likely to work in
13123         cross-compilation environments.  Reported by Pavel Fedin in:
13124         http://lists.gnu.org/r/bug-gnulib/2015-04/msg00060.html
13126 2015-04-16  Ludovic Courtès  <ludo@gnu.org>
13128         gendocs.sh: default to a common CSS style sheet for HTML output
13129         * build-aux/gendocs.sh (htmlarg): Change default value.
13131 2015-04-15  Mats Erik Andersson  <gnu@gisladisker.se>
13133         gnulib-tool: output bold attribute more portably
13134         * gnulib-tool (func_show_module_list): Change hexadecimal
13135         numbers to octal in BOLD_ON and BOLD_OFF.  The use of hex
13136         encoded numbers as arguments to `printf' is not portable,
13137         and is not claimed by POSIX.  This is the case with FreeBSD.
13139 2015-04-15  Andreas Gruenbacher  <andreas.gruenbacher@gmail.com>
13141         qacl: Simplify HP-UX acl_nontrivial check
13142         * lib/acl-internal.c: Remove struct stat parameter from HP-UX's version of
13143         acl_nontrivial. Check if the acl has at most three entries instead (it must
13144         have exactly three entries according to the HP-UX documentation). Ignore
13145         uids and gids as long as an entry is either for a user (i.e., the owner),
13146         a group (i.e., the owning group), or others.
13147         * lib/acl-internal.h: Change HP-UX's acl_nontrivial prototype.
13148         * lib/qcopy-acl.c (qcopy_acl): With that, we no longer need to stat the file.
13150 2015-04-15  Andreas Gruenbacher   <andreas.gruenbacher@gmail.com>
13152         acl: On Linux, check for acls without libacl
13153         On Linux, use the getxattr syscall instead of the acl_extended_file libacl
13154         library function to check for the presence of acls, avoiding a library.
13155         * lib/file-has-acl.c: Include xattr headers if we have them.
13156         (file_has_acl): On Linux, use getxattr().
13157         * m4/acl.m4 (gl_FUNC_ACL): Define LIB_HAS_ACL as the libraries to link with for
13158         file_has_acl(). Check for xattr headers and getxattr().
13160 2015-04-14  Ángel González  <keisial@gmail.com>
13162         tempname: avoid unused parameter warnings (trivial)
13163         * lib/tempname.c (try_dir): Tag with __GL_UNUSED.
13164         (try_nocreate): Likewise.
13166 2015-04-14  HIRAMATSU Yoshifumi  <hiramatu@boreas.dti.ne.jp>
13168         fseeko: fix build failure on NetBSD >= 6 (trivial)
13169         * lib/fseeko.c (feeko): NetBSD 6 changed the definition of _offset
13170         from 'fpos_t struct' to __off_t, which is a typedef of __int64_t.
13172 2015-04-09  Paul Eggert  <eggert@cs.ucla.edu>
13174         gitlog-to-changelog: port to MS-Windows
13175         * build-aux/gitlog-to-changelog (git_dir_option):
13176         Use strftime with "%Y-%m-%d", not "%F", to avoid a bug in
13177         MS-Windows Perl.  Reported by Eli Zaretskii in:
13178         http://lists.gnu.org/r/emacs-devel/2015-04/msg00504.html
13180 2015-04-07  Karl Berry  <karl@gnu.org>
13182         gendocs: new option --tex for passing args to texi2dvi.
13183         * build-aux/gendocs.sh: new option --tex, default -t @finalout.
13184         (TEXI2DVI): cut to just command name.
13185         (usage): mention new option, and update copyright.
13186         <generate_tex>: use it.
13188 2015-04-07  Karl Berry  <karl@gnu.org>
13190         * config/srclistvars.sh (GETTEXT): new definition.
13191         * config/srclist.txt: use it for gettext .m4 files.
13192         Thread starting at http://lists.gnu.org/r/bug-gnulib/201
13193         and confirmed at http://lists.gnu.org/r/bug-gnulib/2015-02/msg00146.html
13194         and continuing into April.
13196 2015-04-07  Daiki Ueno  <ueno@gnu.org>
13198         uniname/uniname-tests: fix failure due to alias
13199         Reported by Jack Howarth in:
13200         <https://lists.gnu.org/r/bug-libunistring/2015-04/msg00000.html>.
13201         * tests/uniname/test-uninames.c (name_has_alias): New function.
13202         (test_inverse_lookup): Exclude character name with valid alias,
13203         from randomly generated character names.
13204         (main): Fill unicode_aliases before calling test functions.
13206 2015-04-03  Giuseppe Scrivano  <gscrivan@redhat.com>
13208         hash: remove deprecated hash_insert0 function
13209         * lib/hash.h (hash_insert0): Remove deprecated function.
13210         * lib/hash.c (hash_insert0): Likewise.
13212 2015-04-02  Pádraig Brady  <P@draigBrady.com>
13214         mountlist: remove dependency on libmount
13215         * lib/mountlist.c (read_file_system_list): Parse /proc/self/mountinfo
13216         directly, rather than depending on libmount, which has many
13217         dependencies due to its dependence on libselinux, as detailed at:
13218         http://lists.gnu.org/r/bug-gnulib/2015-01/msg00063.html
13219         Note we restrict this to __linux__ as that's probably where this
13220         interface will remain.  If ever porting, it would be best
13221         to first pull the makedev() wrapper from coreutils to a gnulib module.
13222         Note also we don't add a getline dependency to the mountlist module,
13223         as all Linux versions are sufficient.
13225 2015-04-02  Paul Eggert  <eggert@cs.ucla.edu>
13227         stddef: port to pre-C11 GCC on x86
13228         On this platform, max_align_t should have an alignment of 8 even
13229         though the storage alignments of double, long, etc. max out at 4.
13230         Inspired by a comment of Andreas Schwab's here:
13231         https://sourceware.org/ml/libc-alpha/2015-04/msg00017.html
13232         * lib/stddef.in.h (_GL_STDDEF_ALIGNAS) [!HAVE_MAX_ALIGN_T]: New macro.
13233         (max_align_t) [!HAVE_MAX_ALIGN_T]: Use it.
13234         * tests/test-stddef.c: Test __alignof__ too, if available.
13236 2015-03-24  Pádraig Brady  <P@draigBrady.com>
13238         quotearg-simple-tests: add missing gl_FUNC_MMAP_ANON dependency
13239         * modules/quotearg-simple-tests: Reference m4/mmap-anon.m4
13241 2015-03-24  Tobias Stoeckmann  <tobias@stoeckmann.org>
13243         yesno: make EOL optional in ENABLE_NLS case also (trival)
13244         * lib/yesno.c (yesno): Check for EOL before replacing.
13245         * tests/test-yesno.sh: Add a test case (test along with gettext).
13247 2015-03-22  Paul Eggert  <eggert@cs.ucla.edu>
13249         fdopendir-tests: test it does not close its arg
13250         * tests/test-fdopendir.c (main): Test that fdopendir does not
13251         close its argument.  From a suggestion by David Grayson in:
13252         http://lists.gnu.org/r/bug-gnulib/2015-03/msg00039.html
13254 2015-03-20  Paul Eggert  <eggert@cs.ucla.edu>
13256         gitlog-to-changelog: trim trailing white space
13257         * build-aux/gitlog-to-changelog (main):
13258         Trim trailing white space from commit message lines.
13259         This is helpful for processing the GNU Emacs repository,
13260         which dates back to 1985 and contains a lot of such lines.
13262         gitlog-to-changelog: new option --ignore-matching
13263         * build-aux/gitlog-to-changelog (usage, git_dir_option, main):
13264         Support new option --ignore-matching=PAT, which ignores all
13265         commit messages whose first line matches PAT.
13267 2015-03-19  Paul Eggert  <eggert@cs.ucla.edu>
13269         fdopendir: port better to MinGW
13270         * lib/fdopendir.c (fd_clone_opendir) [REPLACE_FCHDIR]:
13271         Use 'dup' if dirfd fails.  Suggested by Eli Zaretskii in:
13272         http://lists.gnu.org/r/bug-gnulib/2015-03/msg00033.html
13273         * modules/fdopendir (Depends-on): Add dirfd.
13275 2015-03-18  Paul Eggert  <eggert@cs.ucla.edu>
13277         fdopendir: fix typo in comment
13278         * lib/fdopendir.c (fdopendir_with_dup): REPLACE_FCHDIR was misspelled.
13280 2015-03-09  Eric Blake  <eblake@redhat.com>
13282         error: document all entry points provided
13283         * doc/glibc-functions/error_print_progname.texi
13284         (error_print_progname): Mention the error module.
13285         * doc/glibc-functions/error_at_line.texi (error_at_line):
13286         Likewise.
13287         * doc/glibc-functions/error_message_count.texi
13288         (error_message_count): Likewise.
13289         * doc/glibc-functions/error_one_per_line.texi
13290         (error_one_per_line): Likewise.
13292 2015-03-03  Paul Eggert  <eggert@cs.ucla.edu>
13294         vasnprintf: pacify clang 3.5.0
13295         Problem reported by Werner Lemberg in:
13296         http://lists.gnu.org/r/bug-gnulib/2015-03/msg00000.html
13297         * lib/vasnprintf.c (VASNPRINTF): Omit casts that clang objects to.
13298         The casts aren't needed, since the characters in question are ASCII.
13300 2015-02-24  Paul Eggert  <eggert@cs.ucla.edu>
13302         glob, etc.: port to MSVC v18 on MS-Windows 8.1
13303         * lib/dirent--.h (GNULIB_defined_opendir):
13304         * lib/dirent.in.h (GNULIB_defined_opendir)
13305         (GNULIB_defined_closedir):
13306         * lib/getcwd.c, lib/glob.c, lib/mountlist.c (opendir, closedir):
13307         #undef only if Gnulib defined it.
13309         poll: port to MSVC v18 on MS-Windows 8.1
13310         Problem reported by Gisle Vanem in:
13311         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00139.html
13312         * lib/poll.c: Always include <sys/select.h> and <sys/socket.h>.
13313         * modules/poll (Depends-on) [!HAVE_POLL || REPLACE_POLL]:
13314         Add sys_socket.
13316 2015-02-24  Pádraig Brady  <P@draigBrady.com>
13318         tests: support stderr verification with returns_()
13319         * tests/init.sh (returns_): Disable tracing for this wrapper
13320         function, so that stderr of the wrapped command is unchanged,
13321         allowing for verification of the contents.
13323 2015-02-24  Pavel Hrdina  <phrdina@redhat.com>
13325         passfd: avoid valgrind uninitalised data warning
13326         * lib/passfd.c (sendfd): Reset the msg_controllen of msghdr,
13327         to include just the fd we've initialized, rather than including
13328         the extra space used for alignment.
13330 2015-02-23  Paul Eggert  <eggert@cs.ucla.edu>
13332         uniwbrk/u32-wordbreaks-tests: fix copyright
13333         * tests/uniwbrk/test-uc-wordbreaks.c: Fix copyright date.
13335         dup2: doc and test for Android bug
13336         Reported by Kevin Cernekee in:
13337         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00125.html
13338         * doc/posix-functions/dup2.texi (dup2): Document the bug.
13339         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the bug.
13341 2015-02-23  Kevin Cernekee  <cernekee@google.com>
13343         Replace dup2() on Android
13344         * m4/dup2.m4 (gl_FUNC_DUP2): Android implements dup2() using dup3().
13345         Since dup3(fd, fd) fails but dup2(fd, fd) should pass, test-dup2
13346         fails.  Using rpl_dup2() fixes this because it has an explicit test
13347         for this condition.
13349 2015-02-22  Paul Eggert  <eggert@cs.ucla.edu>
13351         Android doesn't define RLIM_SAVED_*
13352         Portability problem reported by Kevin Cernekee in:
13353         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00122.html
13354         * doc/posix-headers/sys_resource.texi (sys/resource.h):
13355         Mention the portability problem.
13356         * lib/getdtablesize.c (RLIM_SAVED_CUR, RLIM_SAVED_MAX):
13357         Define if not defined.
13358         * m4/dup2.m4 (gl_FUNC_DUP2):
13359         * m4/fcntl.m4 (gl_FUNC_FCNTL):
13360         Likewise.
13362 2015-02-21  Paul Eggert  <eggert@cs.ucla.edu>
13364         vasnprintf-posix-tests: use consistent test
13365         * tests/test-vasnprintf-posix.c (test_function):
13366         Use "<" in assert instead of "<=", for consistency with other tests.
13368 2015-02-20  Paul Eggert  <eggert@cs.ucla.edu>
13370         printf, isinf, etc.: noncanonical != NaN
13371         Do not require that isinf, printf, etc. treat noncanonical
13372         values as NaNs.  Instead, require only that they do not crash.
13373         Problem reported by Joseph Myers in:
13374         https://sourceware.org/ml/libc-alpha/2015-02/msg00244.html
13375         * doc/posix-functions/dprintf.texi (dprintf):
13376         * doc/posix-functions/fprintf.texi (fprintf):
13377         * doc/posix-functions/isfinite.texi (isfinite):
13378         * doc/posix-functions/isinf.texi (isinf):
13379         * doc/posix-functions/isnan.texi (isnan):
13380         * doc/posix-functions/printf.texi (printf):
13381         * doc/posix-functions/snprintf.texi (snprintf):
13382         * doc/posix-functions/sprintf.texi (sprintf):
13383         * doc/posix-functions/vdprintf.texi (vdprintf):
13384         * doc/posix-functions/vfprintf.texi (vfprintf):
13385         * doc/posix-functions/vprintf.texi (vprintf):
13386         * doc/posix-functions/vsnprintf.texi (vsnprintf):
13387         * doc/posix-functions/vsprintf.texi (vsprintf):
13388         Document this.
13389         * m4/isfinite.m4 (gl_ISFINITEL_WORKS):
13390         * m4/isinf.m4 (gl_ISINFL_WORKS):
13391         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS):
13392         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE):
13393         * tests/test-isfinite.c (test_isfinitel):
13394         * tests/test-isinf.c (test_isinfl):
13395         * tests/test-isnan.c (test_long_double):
13396         * tests/test-isnanl.h (main):
13397         * tests/test-snprintf-posix.h (test_function):
13398         * tests/test-sprintf-posix.h (test_function):
13399         * tests/test-vasnprintf-posix.c (test_function):
13400         * tests/test-vasprintf-posix.c (test_function):
13401 o       Test only that noncanonical values do not cause crashes, not that
13402         they are treated as NaNs.  In some cases this means a larger
13403         output buffer is needed.
13405 2015-02-20  Jaroslav Skarvada  <jskarvad@redhat.com>
13407         fts: remove redundant close() (trivial)
13408         * lib/fts.c (fts_read): Remove redundant call to close().
13409         Spotted by coverity.
13411 2015-02-20  Paul Eggert  <eggert@cs.ucla.edu>
13413         getdtablesize: port better for Android
13414         Problem reported by Kevin Cernekee in:
13415         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00112.html
13416         * doc/glibc-functions/getdtablesize.texi (getdtablesize): Mention bug.
13417         * lib/getdtablesize.c (getdtablesize): Don't fall back on _SC_OPEN_MAX.
13418         Instead, just use getrlimit, taking care to avoid Cygwin bug.
13420         poll: fixes for large fds
13421         * lib/poll.c (poll): Don't check directly for NFD too large.
13422         Don't rely on undefined behavior in FD_SET when an arg exceeds
13423         FD_SETSIZE.  Always set revents afterwards, even if to zero.
13424         * tests/test-poll.c (poll1): Set revents to -1 instead of 0,
13425         as that makes the test a bit stricter.
13427 2015-02-19  Kevin Cernekee  <cernekee@google.com>
13429         fcntl: Fix cross compiling
13430         * m4/fcntl.m4 (gl_FUNC_FCNTL): Assign the guessed result to the
13431         correct variable name (gl_cv_func_fcntl_f_dupfd_works).
13433 2015-02-18  Paul Eggert  <eggert@cs.ucla.edu>
13435         dup2, fcntl: cross-compile better for Android
13436         Problem reported by Kevin Cernekee in:
13437         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00109.html
13438         * m4/dup2.m4 (gl_FUNC_DUP2): Don't guess no when cross-compiling
13439         for a Linux kernel.  That kernel bug was fixed on 2009-05-11, and
13440         there's little need to cross-compile for older kernels nowadays.
13441         * m4/fcntl.m4 (gl_FUNC_FCNTL): When cross-compiling, guess no only
13442         for systems where the bug is known to occur (AIX, Cygwin, Haiku).
13444 2015-02-18  Pádraig Brady  <P@draigBrady.com>
13446         getopt: don't crash on memory exhaustion
13447         * lib/getopt.c (_getopt_internal_r): Use degraded diagnostics on
13448         memory exhaustion.  In the _LIBC case we use alloca() as is
13449         already done in glibc, so we don't need to consider the separate
13450         error path in that awkward case.  Also fix a memory leak when
13451         ambiguous options are present.
13452         Reported by Tobias Stoeckmann
13454 2015-02-17  Mike Miller  <mtmiller@ieee.org>
13456         tempname: allow compilation with C++ (trivial)
13457         * lib/tempname.h [C++]: Specify extern "C" linkage.
13458         * lib/tempname.h (try_tempname):
13459         * lib/tempname.c (__try_tempname, __gen_tempname):
13460         Rename 'try' to 'tryfunc'.
13462 2015-02-17  Paul Eggert  <eggert@cs.ucla.edu>
13464         dup2, fcntl: port to AIX
13465         * m4/dup2.m4 (gl_FUNC_DUP2):
13466         * m4/fcntl.m4 (gl_FUNC_FCNTL):
13467         Prefer getrusage (RLIM_NOFILE ...)/rlim_cur to sysconf (_SC_OPEN_MAX).
13468         The former works on AIX 7.1 but the latter does not.
13469         Also, this may work better with Android; see:
13470         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00100.html
13472 2015-02-16  Paul Eggert  <eggert@cs.ucla.edu>
13474         getdtablesize, dup2, fcntl: port to Android
13475         Problem reported by Kevin Cernekee in:
13476         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00092.html
13477         * doc/glibc-functions/getdtablesize.texi (getdtablesize):
13478         Mention that getdtablesize doesn't work on Android.
13479         * lib/getdtablesize.c: Use getrlimit substitute only if
13480         getdtablesize is declared.  This should suffice for Cygwin
13481         while not breaking Android.
13482         * m4/dup2.m4 (gl_FUNC_DUP2):
13483         * m4/fcntl.m4 (gl_FUNC_FCNTL):
13484         Prefer sysconf (_SC_OPEN_MAX) to getdtablesize, as the former is
13485         standardized but the latter is not, and sysconf works on Android.
13486         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE):
13487         Also check that getdtablesize is declared.
13488         This removes the need for a special case for Android.
13490 2015-02-16  Kevin Cernekee  <cernekee@google.com>
13492         localename: Implement gl_locale_name_thread_unsafe for Android
13493         * lib/localename.c: Android API level >= 21 supports two hardcoded
13494         locales: C (POSIX) and C.UTF-8.  Distinguish them by checking
13495         the internal __locale_t struct.
13497 2015-02-16  Kamil Dudka  <kdudka@redhat.com>
13499         fts: avoid crash when a cycle is added while traversing
13500         This could be triggered by auto-mounting a recursive bind mount.
13501         Reported by Michael Chapman in: https://bugzilla.redhat.com/1188498
13502         * lib/fts.c (fts_read): Avoid removing the original hash table item
13503         when leaving a directory that caused a cycle, and preserve the FTS_DC
13504         flag.
13506 2015-02-16  Daiki Ueno  <ueno@gnu.org>
13508         uniname/uniname: support character alias
13509         * lib/uniname/gen-uninames.lisp (main): New argument ALIASFILE.
13510         Generate one-way mapping from aliases to codepoints in the
13511         generated tables.  Special case variation selectors to reduce
13512         table size.
13513         * lib/uniname/uniname.c (unicode_character_name): Special case
13514         variation selectors.
13515         (unicode_name_character): Special case variation selectors and
13516         their aliases.
13517         * lib/uniname/uninames.h: Regenerate.
13518         * tests/uniname/NameAliases.txt: New file, taken from UCD 7.0.0.
13519         * modules/uniname/uniname-tests (Files): Add
13520         tests/uniname/NameAliases.txt.
13521         * tests/uniname/test-uninames.c: Mark as static.
13522         (ALIASLEN): Define.
13523         (struct unicode_alias): New struct.
13524         (unicode_aliases): New variable.
13525         (fill_aliases): New function.
13526         (test_alias_lookup): New test function.
13527         (main): Run the 'test_alias_lookup' test if the second argument is
13528         given.
13529         * tests/uniname/test-uninames.sh: Supply NameAliases.txt as the
13530         second argument.
13532 2015-02-11  Kevin Cernekee  <cernekee@google.com>
13534         Fix FILE struct compatibility with Android API level >= 21
13535         * lib/stdio-impl.h: Test explicitly for __ANDROID__ instead of
13536         __sferror.  Recent versions of Bionic's stdio.h no longer define
13537         __sferror.
13538         * lib/fbufmode.c: Likewise.
13539         * lib/fflush.c: Likewise.
13540         * lib/fpurge.c: Likewise.
13541         * lib/freadable.c: Likewise.
13542         * lib/freadahead.c: Likewise.
13543         * lib/freading.c: Likewise.
13544         * lib/freadptr.c: Likewise.
13545         * lib/freadseek.c: Likewise.
13546         * lib/fseeko.c: Likewise.
13547         * lib/fseterr.c: Likewise.
13548         * lib/fwritable.c: Likewise.
13550         Assume unbroken ungetc() on Android
13551         * m4/ungetc.m4: Add Android case to host OS check.  The ungetc()
13552         test case passed when running on an Android host, and the code
13553         hasn't really changed since 2009.
13555         getdtablesize: Fix Android build
13556         * m4/getdtablesize.m4: Add Android case to host OS check.  Recent NDK
13557         versions have this symbol in the .so library (at least 32-bit
13558         platforms) but are missing the declaration in the header file,
13559         causing the m4 logic to guess incorrectly.
13561         localename: Fix Android build
13562         * modules/localename (Depends-on): Add langinfo.
13564         getugroups: Fix Android build
13565         * lib/getugroups.c: Don't reference unsupported {get,set,end}grent
13566         functions.
13568         euidaccess: Fix Android build
13569         * modules/euidaccess (Depends-on): Add fcntl-h to ensure that
13570         AT_EACCESS gets declared.
13572         linkat_nofollow: Add fallback case for cross compiling
13573         * m4/linkat.m4: Guess no for Darwin, yes otherwise.
13575         net_if: Handle content-free <net/if.h> system headers
13576         * m4/net_if_h.m4: Check to make sure <net/if.h> actually defines
13577         struct if_nameindex.  If not, enable the replacement header.
13579         signal_h: Fix Android build
13580         * lib/signal.in.h: Add Android to the list of platforms that declare
13581         pthread_sigmask() in <pthread.h> instead of <signal.h>.
13583         duplocale: Fix Android build of duplocale-tests
13584         * modules/duplocale-tests (Depends-on): Add langinfo, as the header
13585         is included by test-duplocale.c (but not by duplocale.c).
13586         * modules/duplocale-tests (configure.ac): Check for monetary.h.
13587         * tests/test-duplocale.c: Skip test if monetary.h is absent.
13588         * doc/posix-headers/monetary.texi: Add Android to the list of
13589         platforms missing monetary.h.
13591 2015-02-11  Pádraig Brady  <P@draigBrady.com>
13593         tests: avoid recent -Werror=unused-variable regression in test-locale
13594         * tests/test-locale.c (main): Reference the variable to avoid the
13595         "unused variable" warning.
13597 2015-02-11  Pádraig Brady  <P@draigBrady.com>
13599         maint: various whitespace cleanups in tempname
13600         * lib/tempname.c: Normalize spacing and line length.
13601         * lib/tempname.h: Likewise.
13602         * modules/tempname: Likewise.
13604 2015-02-11  Pádraig Brady  <P@draigBrady.com>
13606         tests: provide returns_() to simplify exit status checking
13607         * tests/init.sh (returns_): A new function for use in tests,
13608         to allow for easier checking of return values, where you expect
13609         a command to exit with failure status.  By checking for a particular
13610         exit code, you don't hide any crashes for example.
13612 2015-02-11  Pádraig Brady  <P@draigBrady.com>
13614         mountlist: only use libmount when specified
13615         There are currently many shared libs dependencies introduced by
13616         libmount with associated runtime and virt mem overhead.
13617         Therefore don't enable by default.
13618         * m4/ls-mntd-fs.m4: Use --with-libmount to enable at build time.
13620 2015-02-08  Daiki Ueno  <ueno@gnu.org>
13622         uniname/unimame-tests: don't link with -lunistring
13623         * modules/uniname/uniname-tests (Makefile.am): Don't link against
13624         $(LIBUNISTRING).  Document the rationale why we need to
13625         conditionalize the test.
13627 2015-02-07  Paul Eggert  <eggert@cs.ucla.edu>
13629         fstrcmp: don't assume strlen < INT_MAX
13630         * lib/fstrcmp.c: Include stddef.h and stdint.h.
13631         (uintptr_t): Remove, as we're now assuming stdint.
13632         (OFFSET, EXTRA_CONTEXT_FIELDS, fstrcmp_bounded):
13633         Prefer ptrdiff_t to int when the value could exceed INT_MAX
13634         if the input string is long.
13635         (fstrcmp_bounded): Check for size-calculation overflow.  Prefer
13636         uintptr_t to size_t when the underlying value is a pointer casted
13637         to an unsigned integer.  Avoid unnecessary 'buffer != NULL' test.
13638         * modules/fstrcmp (Depends-on): Add stdint.
13640         diffseq: prefer ptrdiff_t to ssize_t
13641         * lib/diffseq.h: In commentary, prefer ptrdiff_t to ssize_t.
13642         ptrdiff_t is the natural type for signed indexes.
13643         On a few older platforms, ssize_t is narrower than size_t.
13645         xalloc: fix typo that suppressed warnings
13646         * lib/xalloc.h: Add missing _GL_INLINE_HEADER_END.
13647         This typo, introduced a couple of years ago, mistakenly suppressed
13648         some -Wsuggest-attribute=const, -Wmissing-prototypes, and
13649         -Wmissing-declarations warnings.
13651         full-read: fix license notice typo
13652         * lib/full-read.h: Remove a stray line in the license notice.
13653         Reported by Sam Ellis in: http://bugs.gnu.org/19808
13655         crypto/gc: fix a -Wswitch warning
13656         Reported by Bruce Korb in:
13657         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00046.html
13658         * lib/gc-gnulib.c (gc_hash_open): Fail faster if MODE is nonzero.
13660 2015-02-03  Pádraig Brady  <P@draigBrady.com>
13662         gnulib-tool: fix handling of patch(1) diagnostics
13663         * gnulib-tool: Send diagnostics from patch(1) to stderr,
13664         as otherwise gnulib-tool will reparse that output and attempt
13665         to lookup modules.
13667 2015-02-03  Pádraig Brady  <P@draigBrady.com>
13669         bootstrap: exit immediately upon gnulib-tool failure
13670         * build-aux/bootstrap: Exit immediately if gnulib-tool fails.
13671         This was noticed when gnulib-tool exited early due to failure
13672         to apply a patch in coreutils at http://hydra.nixos.org/eval/1172233,
13673         but various confusing errors were then given as the build proceeded.
13675 2015-02-02  Andreas Gruenbacher  <agruen@gnu.org>
13677         symlinkat: include all required header files
13678         * lib/symlinkat.c (HAVE_SYMLINK_AT): Add <sys/stat.h> for fstatat(),
13679         and string.h for strlen(), required at least on OS X 10.10 (Yosemite).
13680         Reported at https://savannah.gnu.org/bugs/index.php?44151
13681         and by Jack Howarth.
13683 2015-01-29  Pádraig Brady  <P@draigBrady.com>
13685         localename: support Solaris 12 and illumos
13686         * lib/localename.c (gl_locale_name_thread_unsafe): call
13687         getlocalename_l() on newer __sun platforms.
13688         Reported by Alexander Pyhalov.
13689         Fix suggested by Rich Burridge.
13691 2015-01-29  Alexander Pyhalov  <alp@rsu.ru>
13693         locale: fix tests on illumos (trivial)
13694         * tests/test-locale.c: LC_GLOBAL_LOCALE is a function call on illumos,
13695         so move from global scope to main().
13697 2015-01-24  Daiki Ueno  <ueno@gnu.org>
13699         unictype: avoid undefined left-shift behavior
13700         * lib/unictype/bidi_of.c (uc_bidi_class): Building libunistring with
13701         gcc's -fsanitize=shift and running its tests triggered:
13702           unictype/bidi_of.c:43:60: runtime error: left shift of 40167 by 16 \
13703             places cannot be represented in type 'int'
13704         Cast LHS to 'unsigned int' after integer promotion.
13705         * lib/unictype/categ_of.c (lookup_withtable): Likewise.
13706         * lib/unictype/joininggroup_of.c (uc_joining_group): Likewise.
13708 2015-01-20  Daiki Ueno  <ueno@gnu.org>
13710         libunistring: bump version of unitypes dependants
13711         Due to the header file search order, all the headers which depend
13712         on unitypes.h need to be generated, when the preinstalled
13713         libunistring is older.
13714         * modules/unicase/base (configure.ac): Bump minimum version to
13715         0.9.4.
13716         * modules/uniconv/base (configure.ac): Likewise.
13717         * modules/unilbrk/base (configure.ac): Likewise.
13718         * modules/uninorm/base (configure.ac): Likewise.
13719         * modules/unistdio/base (configure.ac): Likewise.
13720         * modules/unistr/base (configure.ac): Likewise.
13721         * modules/uniwbrk/base (configure.ac): Likewise.
13722         * modules/uniwidth/base (configure.ac): Likewise.
13724 2015-01-20  Daiki Ueno  <ueno@gnu.org>
13726         unictype/category-none: fix link with libunistring
13727         Since _UC_CATEGORY_NONE is not a public symbol, it will be
13728         prefixed with "libstring_" when compiled as part of libunistring.
13729         To avoid undefined symbol at link time, increase the minimum
13730         version when the dependant modules are updated.
13731         * modules/unictype/category-none (configure.ac): Bump minimum
13732         version to 0.9.5.
13734 2015-01-20  Daiki Ueno  <ueno@gnu.org>
13736         unitypes: fix build with installed libunistring
13737         The minimum version has not bumped after _UC_ATTRIBUTE_CONST and
13738         _UC_ATTRIBUTE_PURE were added to unitypes.in.h.
13739         * modules/unitypes (configure.ac): Bump minimum version to 0.9.4.
13741 2015-01-15  Paul Eggert  <eggert@cs.ucla.edu>
13743         time: port to MinGW32 3.21
13744         Problem reported by Eli Zaretskii in:
13745         http://lists.gnu.org/r/bug-gnulib/2015-01/msg00042.html
13746         * lib/time.in.h:
13747         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC):
13748         * modules/time (Depends-on):
13749         Fall back on unistd.h if the other include files don't define
13750         struct timespec.
13752         update-copyright: apply to self
13753         * build-aux/update-copyright: Fix copyright date.  How ironic!
13755 2015-01-15  Daiki Ueno  <ueno@gnu.org>
13757         libunistring: update to Unicode 7.0.0
13758         * lib/unictype/joininggroup_byname.gperf: Add Straight Waw and
13759         Manichaean names.
13760         * lib/unictype/joininggroup_name.h: Likewise.
13761         * lib/unictype.in.h (UC_JOINING_GROUP_STRAIGHT_WAW)
13762         (UC_JOINING_GROUP_MANICHAEAN_ALEPH): New enumeration values.
13763         * lib/gen-uni-tables.c (UC_JOINING_GROUP_STRAIGHT_WAW)
13764         (UC_JOINING_GROUP_MANICHAEAN_*): New enumeration values.
13765         (fill_arabicshaping, joining_group_as_c_identifier): Support those
13766         enum values.
13767         (is_property_alphabetic): Accept newly added characters to
13768         cuneiform numeric signs.
13769         (is_property_default_ignorable_code_point): Reject U+0605.
13770         (FIELDLEN): Increase from 120 to 160.
13771         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0605,
13772         U+08FF, U+0C00, U+0C81, U+0D01, U+1AB0..U+1ABE, U+1BAC..U+1BAD,
13773         U+1CF8..U+1CF9, U+1DE7..U+1DF5, U+A9E5, U+AA7C, U+FE27..U+FE2D,
13774         U+102E0, U+10376..U+1037A, U+10AE5..U+10AE6, U+1107F, U+11173,
13775         U+1122F..U+11231, U+11234, U+11236..U+11237, U+112DF,
13776         U+112E3..U+112EA, U+11301, U+1133C, U+11340, U+11366..U+1136C,
13777         U+11370..U+11374, U+114B3..U+114B8, U+114BA, U+114BF..U+114C0,
13778         U+114C2..U+114C3, U+115B2..U+115B5, U+115BC..U+115C0,
13779         U+11633..U+1163A, U+1163D, U+1163F..U+11640, U+16AF0..U+16AF4,
13780         U+16B30..U+16B36, U+1BC9D..U+1BC9E, U+1BCA0..U+1BCA3, and
13781         U+1E8D0..U+1E8D6.
13782         (uc_width): Adjust nonspacing_table_ind boundary from 240 to 248.
13783         * tests/uniwidth/test-uc_width2.sh: Same updates as in
13784         lib/uniwidth/width.c.
13785         * all generated files under lib/uni* and tests/uni*: Regenerate.
13787 2015-01-14  Daiki Ueno  <ueno@gnu.org>
13789         libunistring: update to Unicode 6.3.0
13790         * lib/uniwbrk.in.h (WBP_DQ, WBP_SQ, WBP_HL): New enumeration values.
13791         * lib/uniwbrk/u-wordbreaks.h (FUNC): Support WB7a, WB7b, and WB7c.
13792         Update WB5, WB6, WB7, WB9, WB11, WB12, WB13a, and WB13b.
13793         * lib/uniwbrk/wbrktable.h (uniwbrk_table): Adjust table size.
13794         * lib/uniwbrk/wbrktable.c (uniwbrk_table): Support rule WB7a.
13795         Update WB5, WB9, WB10, WB13a, and WB13b.
13796         * tests/uniwbrk/test-uc-wordbreaks.c
13797         (wordbreakproperty_to_string): Support WBP_DQ, WBP_SQ, and WBP_HL.
13798         * lib/gen-uni-tables.c (UC_BIDI_LRI, UC_BIDI_RLI, UC_BIDI_FSI)
13799         (UC_BIDI_PDI): New enumeration values.
13800         (bidi_category_byname): Support those enum values.
13801         (is_WBP_MIDNUMLET): Exclude 0x0027 (SINGLE QUOTE), which is now a
13802         dedicated property assigned.
13803         (is_property_case_ignorable): Check 0x0027.
13804         (WBP_DQ, WBP_SQ, WBP_HL): New enumeration values.
13805         (get_wbp, debug_output_wbp, fill_org_wbp, debug_output_org_wbp)
13806         (output_wbp): Support those enum values.
13807         * lib/unictype.in.h (UC_BIDI_LRI, UC_BIDI_RLI, UC_BIDI_FSI)
13808         (UC_BIDI_PDI): New enumeration values.
13809         * lib/unictype/bidi_byname.gperf: Add those property names.
13810         * lib/uniwidth/width.c (nonspacing_table_data): Add U+061C,
13811         U+180E, U+1A1B, and U+2066..U+2069.
13812         * tests/uniwidth/test-uc_width2.sh: Same updates as in
13813         lib/uniwidth/width.c.
13814         * all generated files under lib/uni* and tests/uni*: Regenerate.
13816 2015-01-14  Daiki Ueno  <ueno@gnu.org>
13818         libunistring: update to Unicode 6.2.0
13819         * lib/unilbrk/lbrktables.h (LBP_RI): New enumeration value.
13820         (unilbrk_table): Adjust table size.
13821         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column
13822         for LBP_RI.
13823         * lib/uniwbrk.in.h (WBP_RI): New enumeration value.
13824         * lib/uniwbrk/u-wordbreaks.h (FUNC): Support rule WB13c.
13825         Normalize table index skipping ignored properties.
13826         * lib/uniwbrk/wbrktable.c (uniwbrk_table): Support WBP_RI.  Remove
13827         WBP_EXTEND and WBP_FORMAT, which are now computed without using
13828         the table.
13829         * lib/uniwbrk/wbrktable.h: Adjust table size.
13830         * lib/unigbrk.in.h (GBP_RI): New enumeration value.
13831         * lib/unigbrk/uc-is-grapheme-break.c (UC_IS_GRAPHEME_BREAK):
13832         Support rule GB8a.
13833         (UC_GRAPHEME_BREAKS_FOR, gb_table): Support GBP_RI.
13834         * tests/unigbrk/test-uc-is-grapheme-break.c
13835         (graphemebreakproperty_to_string): Support GBP_RI.
13836         * tests/uniwbrk/test-uc-wordbreaks.c
13837         (wordbreakproperty_to_string): Support WBP_RI.
13838         * lib/gen-uni-tables.c (LBP_RI): New enumeration value.
13839         (get_lbp, debug_output_lbp, fill_org_lbp, debug_output_org_lbp)
13840         (output_lbp): Support LBP_RI.  Adjust some characters changed from
13841         LBP_AL to LBP_ID.
13842         (output_lbp): Support LBP_RI.
13843         (WBP_RI): New enumeration value.
13844         (debug_output_wbp, fill_org_wbp, debug_output_org_wbp)
13845         (output_wbp): Support WBP_RI.
13846         (GBP_RI): New enumeration value.
13847         (output_gbp_test, fill_org_gbp): Support GBP_RI.
13848         * all generated files under lib/uni* and tests/uni*: Regenerate.
13850 2015-01-14  Daiki Ueno  <ueno@gnu.org>
13852         libunistring: update to Unicode 6.1.0
13853         * lib/gen-uni-tables.c (output_joining_group): Switch to
13854         3-level table to accommodate joining groups defined with higher
13855         codepoint value.  Since there are only 88 groups defined in
13856         Unicode 7.0.0, use 7-bit packed format for level3 entries.
13857         (get_lbp): Update for Unicode 6.1.0.
13858         * lib/unictype/joininggroup_of.c (uc_joining_group): Adjust to use
13859         3-level table.
13860         * lib/unictype/joininggroup_byname.gperf: Add Rohingya Yeh
13861         joining group name.
13862         * lib/unictype/joininggroup_name.h: Likewise.
13863         * lib/unilbrk/lbrktables.h (LBP_HL): New enumeration value.
13864         (unilbrk_table): Adjust table size.
13865         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column
13866         for LBP_HL.
13867         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0604,
13868         U+08E4..U+08FE, U+1BAB, U+1CF4, U+A674..U+A67B, U+A69F,
13869         U+AAEC..U+AAED, U+AAF6, U+11100..U+11102, U+11127..U+1112B,
13870         U+1112D..U+11134, U+11180..U+11181, U+111B6..U+111BE, U+116AB,
13871         U+116AD, U+116B0..U+116B5, U+116B7, U+16F8F..U+16F92.  Remove
13872         U+302E..U+302F.
13873         * tests/uniwidth/test-uc_width2.sh: Same updates as in
13874         lib/uniwidth/width.c.
13875         * all generated files under lib/uni* and tests/uni*: Regenerate.
13876         * modules/uni*/* (configure.ac): Bump minimum version to 0.9.5.
13878 2015-01-15  Daiki Ueno  <ueno@gnu.org>
13880         uniwbrk/u32-wordbreaks-tests: add conformance test
13881         * modules/uniwbrk/u32-wordbreaks-tests (Files): Add
13882         tests/uniwbrk/test-uc-wordbreaks.c,
13883         tests/uniwbrk/test-uc-wordbreaks.sh, and
13884         tests/uniwbrk/WordBreakTest.txt.
13885         (Makefile.am): Add uniwbrk/test-uc-wordbreaks.sh to $(TESTS), add
13886         test-uc-wordbreaks to $(check_PROGRAMS), and define
13887         test_uc_wordbreaks_SOURCES and test_uc_wordbreaks_LDADD.
13888         * tests/uniwbrk/test-uc-wordbreaks.sh: New file.
13889         * tests/uniwbrk/test-uc-wordbreaks.c: New file.
13891 2015-01-15  Daiki Ueno  <ueno@gnu.org>
13893         uniwbrk: ignore Extended/Format characters at BOL not BOS
13894         * lib/uniwbrk/u-wordbreaks.h (FUNC): Ignore Extend and Format
13895         characters if the previous character property is one of
13896         WBP_NEWLINE, WBP_CR, and WBP_LF.
13898 2015-01-11  Jim Meyering  <meyering@fb.com>
13900         test-strstr.c: avoid a trivial leak
13901         * tests/test-strstr.c (main): Free haystack.
13903         update-copyright: recognize groff's \(co marker
13904         * build-aux/update-copyright (circle_c_re): Also accept
13905         uses of \(co, as found in gzip.1.
13907 2015-01-08  Pádraig Brady  <P@draigBrady.com>
13909         maint.mk: fix compatibility with OS X nm
13910         * top/maint.mk (_gl_tight_scope): Use the -g option to
13911         show exported items rather than the -e option which is
13912         ignored on all platforms except OS X where it gives an error.
13913         Reported by Assaf Gordon.
13915 2015-01-07  KO Myung-Hun  <komh@chollian.net>
13917         localcharset: improve charset detection on OS/2
13918         Use system codepage when appropriate.  Map OS/2 codepages to
13919         GNU canonical charset names if possible.
13920         * lib/config.charset: Don't output aliases if "$os" is os2*.
13921         * lib/localcharset.c (get_charset_aliases) [OS2]: Hardcode the
13922         result for OS/2.
13923         (locale_charset) [OS2]: Use system codepage if codeset is omitted
13924         from the locale name which is neither "C" nor "POSIX".
13926 2015-01-06  Paul Eggert  <eggert@cs.ucla.edu>
13928         count-leading-zeros: use 64-bit intrinsics on 32-bit Windows
13929         This reverts the last patch but one, as it shouldn't be needed now
13930         that the typo is fixed.
13931         * lib/count-leading-zeros.h (count_leading_zeros_ll):
13932         * lib/count-trailing-zeros.h:
13933         * lib/count-one-bits.h:
13934         Go back to using 64-bit intrinsics.
13936         count-leading-zeros: fix pragma typos
13937         * lib/count-leading-zeros.h (_BitScanReverse, _BitScanReverse64):
13938         Fix typos in declaration of intrinsics when _MSC_VER.
13940 2015-01-06  Pádraig Brady  <P@draigBrady.com>
13942         count-leading-zeros: avoid 64-bit intrinsics on 32-bit Windows
13943         * lib/count-leading-zeros.h (count_leading_zeros_ll): Use 32 bit
13944         intrinsics in this case.
13945         * lib/count-trailing-zeros.h: Likewise.
13946         * lib/count-one-bits.h: Likewise.
13948 2015-01-06  Daiki Ueno  <ueno@gnu.org>
13950         uniname/uniname: update to Unicode 7.0.0
13951         To accommodate new characters added since Unicode 5.1.0, this
13952         changes the internal representation of codepoint ranges.
13953         Previously, we grouped codepoint ranges by manually assigned 4-bit
13954         tag, which only allowed 16 groups.  This removes the limitation by
13955         switching to binary search on a table.  For the detail rationale
13956         and the benchmark results, see:
13957         https://lists.gnu.org/r/bug-libunistring/2014-06/msg00001.html
13958         * lib/uniname/gen-uninames.lisp (unicode-char): Rename CODE member
13959         to INDEX, as it no longer represents a codepoint.
13960         (range): New struct.
13961         (main): Switch to intervals list from a bit-pattern based
13962         classification.
13963         * lib/uniname/uninames.h: Regenerate.
13964         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 7.0.0.
13965         * modules/uniname/base (configure.ac): Bump minimum version to
13966         0.9.5.
13967         * modules/uniname/uniname (configure.ac): Bump minimum version to
13968         0.9.5.
13970 2015-01-05  Eric Blake  <eblake@redhat.com>
13972         doc: update INSTALL from autoconf
13973         * doc/install.texi: Resync from autoconf.
13974         * doc/INSTALL: Reflect recent autoconf update.
13975         * doc/INSTALL.ISO: Likewise.
13976         * doc/INSTALL.UTF-8: Likewise.
13978         stdio: fix use of PRIdMAX on modern mingw
13979         * m4/stdio_h.m4 (gl_STDIO_H): Probe for printf flavor via inttypes.
13980         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): Use result
13981         to work with modern mingw.
13983 2015-01-05  Daniel P. Berrange  <berrange@redhat.com>  (tiny change)
13985         pthread: detect git mingw builds with only partial pollution
13986         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for additional
13987         pollution, as seen temporarily in Fedora 21.
13989 2015-01-04  Paul Eggert  <eggert@cs.ucla.edu>
13991         lib-symbol-versions: cache script check
13992         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT):
13993         Cache the check for linker version scripts.
13994         From a suggestion by Christophe Curis in:
13995         http://lists.gnu.org/r/bug-gnulib/2015-01/msg00011.html
13997 2015-01-04  Benno Schulenberg  <bensberg@justemail.net>
13999         maint: fix grammar nits in propername (trivial change)
14000         * lib/propername.h: Remove a mistaken comma and a duplicate "from",
14001         and use an adequate verb and tense.
14003 2015-01-02  Ludovic Courtès  <ludo@gnu.org>
14005         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
14006         * module/gendocs: Add 'doc/gendocs_template_min'.
14008         * build-aux/gendocs.sh: Change email addresses and upstream URLs
14009         from to Gnulib's.
14010         (scripturl, templateurl): Adjust accordingly.
14012 2015-01-01  Paul Eggert  <eggert@cs.ucla.edu>
14014         gendocs: copyright date and version fix
14015         Reported by Karl Berry in:
14016         http://lists.gnu.org/r/bug-gnulib/2015-01/msg00002.html
14017         * build-aux/gendocs.sh, doc/gendocs_template, doc/gendocs_template_min:
14018         Fix copyright date.
14019         * build-aux/gendocs.sh (scriptversion): Update.
14021 2015-01-01  Karl Berry  <karl@gnu.org>
14023         * doc/install.texi,
14024         * build-aux/mdate-sh,
14025         * build-aux/depcomp,
14026         * build-aux/config.guess,
14027         * build-aux/config.sub,
14028         * build-aux/ar-lib,
14029         * build-aux/compile: revert copyright updates (some from last
14030         year) in slaved files.
14032 2015-01-01  Paul Eggert  <eggert@cs.ucla.edu>
14034         version-etc: new year
14035         * doc/gnulib.texi:
14036         * lib/version-etc.c (COPYRIGHT_YEAR): Update copyright date.
14037         * all files: Run 'make update-copyright'.
14039 2014-12-30  Pádraig Brady  <P@draigBrady.com>
14041         xstrtol: ensure errno is reset
14042         Since commit 3bf75404, on 26-09-1998, errno may not have been reset.
14043         Noticed with a spurious coreutils test failure on Darwin 14.0.0.
14045         * lib/xstrtol.c (__xstrtol): Always reset errno before returning.
14047 2014-12-28  Paul Eggert  <eggert@cs.ucla.edu>
14049         utimens: fix dependency typo
14050         * modules/utimens (Depends-on): Remove 'assure'.
14051         This bug was introduced in the recent 'assure' patch.
14053 2014-12-22  Eric Blake  <eblake@redhat.com>
14055         docs: mention why libgen.h is bad
14056         * doc/posix-headers/libgen.texi (libgen.h): Refer to dirname module.
14058 2014-12-20  Paul Eggert  <eggert@cs.ucla.edu>
14060         assure: new module
14061         This works better than 'assert' when compiling with -DNDEBUG,
14062         as it avoids some compiler diagnostics in that case.
14063         Reported by Norihiro Tanaka in:
14064         http://lists.gnu.org/r/bug-gnulib/2014-12/msg00215.html
14065         * MODULES.html.sh (func_all_modules): Add 'assure'.
14066         * lib/assure.h, modules/assure: New files.
14067         * lib/chdir-long.c, lib/cycle-check.c, lib/fchdir.c, lib/fts.c:
14068         * lib/poll.c, lib/savewd.c, lib/xstrtol.c:
14069         Prefer 'assure' to 'assert'.
14070         * lib/utimens.c: Stop using 'assert'; it wasn't helpful.
14071         * modules/chdir-long, modules/cycle-check, modules/fchdir:
14072         * modules/poll, modules/savewd, modules/utimens, modules/xstrtol:
14073         Depend on 'assure'.
14075 2014-12-16  Paul Eggert  <eggert@cs.ucla.edu>
14077         stdalign: port better to HP compilers
14078         * m4/stdalign.m4 (gl_STDALIGN_H): Try the test if __HP_cc or
14079         __HP_aCC are nonzero, to be consistent with the 2014-01-20 patch.
14081         stdalign: work around Apple GCC 4.0 bug
14082         Reported by David Fang in:
14083         http://lists.gnu.org/r/bug-gnulib/2014-12/msg00194.html
14084         * lib/stdalign.in.h (_Alignas):
14085         * m4/stdalign.m4 (gl_STDALIGN_H):
14086         Do not use aligned attribute with GCC 4.0 on Apple.
14088 2014-12-16  Pádraig Brady  <P@draigBrady.com>
14090         getcwd: fix test failure on OS X 10.9
14091         * m4/getcwd-path-max.m4: Avoid the replacement if it
14092         won't be effective due to the PATH_MAX limitation of lstat().
14093         (gl_cv_func_getcwd_path_max): Adjust to indicate this case.
14094         * m4/getcwd.m4 (gl_FUNC_GETCWD): Define HAVE_GETCWD_SHORTER
14095         for this case for use in tests, and also exclude this
14096         case when setting REPLACE_GETCWD.
14097         * tests/test-getcwd.c (test_long_name): Restrict the
14098         tested path length so that lstat() will not be passed
14099         a path greater than PATH_MAX.
14100         Also key a test condition on HAVE_OPENAT_SUPPORT rather
14101         than AT_FDCWD, since the latter is set unconditionally
14102         since Sep 2009 in commit 52c658e9.
14104 2014-12-14  Tim Rühsen  <tim.ruehsen@gmx.de>
14106         parse-datetime: avoid a compiler warning with byacc (trivial)
14107         * lib/parse-datetime.y (yylex): Use the same prototype in the
14108         function definition as the declaration, to avoid a -Wstrict-prototypes
14109         warning seen when using byacc.
14111 2014-12-12  Daiki Ueno  <ueno@gnu.org>
14113         unicase/locale-language-tests: fix LOCALE_FR test
14114         * tests/unicase/test-locale-language.sh: Really use $LOCALE_FR for
14115         a French locale with traditional encoding.
14116         Reported by umerqayam in:
14117         http://lists.gnu.org/r/bug-libunistring/2014-12/msg00000.html
14119 2014-12-12  Paul Eggert  <eggert@cs.ucla.edu>
14121         stddef: support C11's max_align_t
14122         * doc/posix-headers/stddef.texi (stddef.h): Document max_align_t.
14123         * lib/stddef.in.h (_@GUARD_PREFIX@_STDDEF_H) [__need_wint_t]:
14124         Do not undef, as that might cause max_align_t to be defined twice.
14125         Instead, change use to check for _GL_STDDEF_WINT_T too.
14126         (max_align_t) [!HAVE_MAX_ALIGN_T]: New decl.
14127         * m4/stddef_h.m4 (gl_STDDEF_H, gl_STDDEF_H_DEFAULTS):
14128         Check for max_align_t.
14129         * modules/stddef (stddef.h): Substitute HAVE_MAX_ALIGN_T.
14130         * modules/stddef-tests (Depends-on): Add stdalign.
14131         * tests/test-stddef.c: Test max_align_t.
14133 2014-12-11  Daiki Ueno  <ueno@gnu.org>
14135         unistd: fix iOS check conditional
14136         On Mac OS X 10.8, the TARGET_* macros are unconditonally defined
14137         as 0 or 1 in <TargetConditionals.h>, and the previous check always
14138         yielded true on non-iOS environment.
14139         * lib/unistd.in.h (environ) [__APPLE__]: Check the values of
14140         TARGET_OS_IPHONE and TARGET_IPHONE_SIMULATOR, instead of whether
14141         they are defined.
14143 2014-12-09  Paul Eggert  <eggert@cs.ucla.edu>
14145         posixtm: avoid compiler warning in a better way
14146         * lib/posixtm.c (IF_LINT): Remove.
14147         (year, posix_time_parse):
14148         Return true (not 0) if successful.  All callers changed.
14149         (posix_time_parse): Simplify to pacify GCC without need for IF_LINT.
14151 2014-12-08  KO Myung-Hun  <komh78@gmail.com>
14153         * lib/relocatable.c (relocate): Prepend $UNIXROOT to pathname if it is
14154         started with '/' on EMX.
14156 2014-12-08  KO Myung-Hun  <komh78@gmail.com>
14158         freopen: workaround freopen() on OS/2 kLIBC
14159         * lib/freopen.c (rpl_freopen): Workaround.
14160         * m4/freopen.m4: Add os2* case.
14162         get_shared_library_fullname: port to EMX
14163         * lib/relocatable.c: Define strcmp and strncmp to stricmp and strnicmp
14164         on EMX, respectively.
14165         (_DLL_InitTerm): New on EMX.
14166         (get_shared_library_fullname): Implement on EMX.
14168         find_executable: port to EMX
14169         * lib/progreloc.c (find_executable): Implement on EMX.
14171         sched: check struct sched_param in spawn.h as well
14172         * lib/sched.in.h: Include spawn.h on kLIBC.
14173         * lib/sched_h.m4: Check struct sched_param in spawn.h as well.
14175 2014-12-08  Martin Kletzander  <mkletzan@redhat.com>  (tiny change)
14177         bootstrap: Allow perl modules in $buildreq
14178         * build-aux/bootstrap: Add case for perl modules.
14180 2014-12-08  Pádraig Brady  <P@draigBrady.com>
14182         apply _GL_ATTRIBUTE_PURE to some inline functions
14183         clang 3.4.2 flagged these inline functions as pure
14184         * lib/savewd.h (savewd_errno): Set _GL_ATTRIBUTE_PURE.
14185         * lib/sig-handler.h (get_handler): Likewise.
14186         * lib/stat-time.h (get_stat_{a,c,m,birth}time{,_ns}): Likewise.
14187         * lib/timespec.h (timespec_cmp, timespec_sign): Likewise.
14189 2014-12-06  Pádraig Brady  <P@draigBrady.com>
14191         vasnprintf: fix potential use after free
14192         * lib/vasnprintf.c (VASNPRINTF): Fix free-memory read,
14193         flagged by clang-analyzer 3.4.2.
14195 2014-12-05  Pádraig Brady  <P@draigBrady.com>
14197         filevercmp, posixtm: avoid compiler warnings with -O3
14198         * lib/filevercmp.h (filevercmp): Tag with _GL_ATTRIBUTE_PURE
14199         * lib/posixtm.c: (IF_LINT): Define.
14200         (posix_time_parse): Use it to void a "may be used uninitialized"
14201         warning, seen only with -O3.
14203 2014-12-05  Bruno Haible  <bruno@clisp.org>
14205         Fix LDBL80_WORDS macro on big endian platforms.
14206         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Add missing parenthesis in
14207         LDBL80_WORDS macro.
14208         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
14209         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
14210         * tests/test-isfinite.c (test_isfinitel): Likewise.
14211         * tests/test-isinf.c (test_isinfl): Likewise.
14212         * tests/test-isnan.c (test_long_double): Likewise.
14213         * tests/test-isnanl.h (main): Likewise.
14214         * tests/test-snprintf-posix.h (LDBL80_WORDS): Add missing parenthesis.
14215         * tests/test-sprintf-posix.h (LDBL80_WORDS): Likewise.
14216         * tests/test-vasnprintf-posix.c (LDBL80_WORDS): Likewise.
14217         * tests/test-vasprintf-posix.c (LDBL80_WORDS): Likewise.
14218         Reported by Pádraig Brady.
14220 2014-12-02  KO Myung-Hun  <komh78@gmail.com>
14222         git-version-gen: do not print new line characters
14223         * build-aux/git-version-gen: Use printf instead of echo and tr.
14225         gnulib-tool: recognize x:* as an absolute path
14226         * gnulib-tool (func_gnulib_dir): Add ?:* case.
14227         (func_relconcat): Likewise.
14229 2014-12-02  Andrei Borzenkov  <arvidjaar@gmail.com>
14231         argp: avoid extraneous translation and mem leak with empty pre doc
14232         * lib/argp-help.c (argp_doc): Never translate the empty string,
14233         when "\v" is the first or last character of the string, as that
14234         has a reserved meaning to return the header info from a po file.
14235         This also fixes a small memory leak in the !post case.
14236         The issue can be seen with this command for example:
14237         LC_MESSAGES=en_US grub2-mknetdir --help
14239 2014-11-27  Daiki Ueno  <ueno@gnu.org>
14241         uniname/uniname-tests: skip if system's libunistring is used
14242         * modules/uniname/uniname-tests (Makefile.am): Skip test if
14243         uniname/uniname module is not compiled.
14245 2014-11-27  Pádraig Brady  <P@draigBrady.com>
14247         printf: fix configure check on big endian systems
14248         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Add missing bracket.
14250 2014-11-22  Daiki Ueno  <ueno@gnu.org>
14252         pipe-filter-gi, pipe-filter-ii: port to AIX
14253         On AIX 7.1, 'select' is defined as static and cannot be referred
14254         to from inline function.
14255         * lib/pipe-filter-aux.h (nointr_select): Remove, manually expand
14256         the definition...
14257         * lib/pipe-filter-gi.c (filter_loop): ...here, and...
14258         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): ...here.
14260 2014-11-20  Paul Eggert  <eggert@cs.ucla.edu>
14262         gitlog-to-changelog: add --until
14263         * build-aux/gitlog-to-changelog: Support new --until option.
14264         Need described by Eli Zaretskii in: http://bugs.gnu.org/19113
14266 2014-11-14  Paul Eggert  <eggert@cs.ucla.edu>
14268         extern-inline: update commentary about GCC bugs
14269         * m4/extern-inline.m4: Add another GCC bug number to comments.
14271 2014-11-13  Daiki Ueno  <ueno@gnu.org>
14273         gen-uni-tables: untabify
14274         * lib/gen-uni-tables.c: Untabify.
14276 2014-11-13  Daiki Ueno  <ueno@gnu.org>
14278         gen-uni-tables: check out-of-range values added to 3-level tables
14279         * lib/gen-uni-tables.c (output_category, output_bidi_category)
14280         (output_joining_type, output_ident_category): Check out-of-range
14281         values added to 3-level tables.
14283 2014-11-13  Daiki Ueno  <ueno@gnu.org>
14285         gen-uni-tables: utilize 'assert'
14286         * lib/gen-uni-tables.c: Include <assert.h>.
14287         (output_category, output_combclass, output_decimal_digit_test)
14288         (output_decimal_digit, output_digit_test, output_digit)
14289         (output_numeric, get_mirror_value, fill_properties)
14290         (fill_property30, is_property_alphabetic)
14291         (is_property_default_ignorable_code_point)
14292         (is_property_uppercase, is_property_lowercase)
14293         (is_property_cased, is_property_case_ignorable)
14294         (is_property_changes_when_lowercased, is_property_iso_control)
14295         (is_property_math, fill_arabicshaping, output_joining_group)
14296         (fill_scripts, fill_blocks, output_lbp, fill_org_wbp)
14297         (output_wbp, fill_org_gbp, get_decomposition)
14298         (output_decomposition, fill_composition_exclusions)
14299         (debug_output_composition_tables, output_composition_tables)
14300         (redistribute_casefolding_rules, output_casing_rules): Use
14301         'assert (EXPR);' instead of 'if (!EXPR) abort ();' for better error
14302         reporting.
14304 2014-11-13  Daiki Ueno  <ueno@gnu.org>
14306         gen-uni-tables: cosmetic improvements
14307         * lib/gen-uni-tables.c: Escape newlines in the Emacs file local
14308         variables specification.
14309         (is_outdigit): Remove unused function.
14311 2014-11-12  Jeroen Roovers  <jer@gentoo.org>  (tiny change)
14313         fcntl-h-tests: port to PA-RISC GNU/Linux
14314         * tests/test-fcntl-h.c (main): Check O_SYNC is different from O_DSYNC.
14316 2014-11-10  Paul Eggert  <eggert@cs.ucla.edu>
14318         fts: port to C89
14319         Problem reported for MSVC 16 by Gisle Vanem in:
14320         http://lists.gnu.org/r/bug-gnulib/2014-11/msg00027.html
14321         * lib/fts.c (fts_build): Avoid declaration before statement.
14323 2014-11-06  Paul Eggert  <eggert@cs.ucla.edu>
14325         unistd: port to iOS
14326         Problem reported by André Klitzing in:
14327         http://lists.gnu.org/r/bug-gnulib/2014-11/msg00013.html
14328         * lib/unistd.in.h (environ): Do not include crt_externs.h on iOS.
14330 2014-11-05  Paul Eggert  <eggert@cs.ucla.edu>
14332         obstack: do not reject malloc-style obstack_chunkfun, obstack_freefun
14333         Problem reported by Alan Modra in:
14334         http://lists.gnu.org/r/bug-gnulib/2014-11/msg00007.html
14335         * lib/obstack.h (obstack_chunkfun, obstack_freefun):
14336         Always cast the function arg, reverting this part of the previous
14337         change.
14339 2014-11-04  Paul Eggert  <eggert@cs.ucla.edu>
14341         obstack: avoid potentially-nonportable function casts
14342         * lib/obstack.c (CALL_CHUNKFUN, CALL_FREEFUN):
14343         Remove, replacing with ...
14344         (call_chunkfun, call_freefun): New static functions.
14345         All uses changed.  Avoid potentially-nonportable casts.
14346         (chunkfun_type, freefun_type): Remove typedefs; no longer used.
14347         (_obstack_begin_worker): Omit last two args, since they
14348         rely on potentially-nonportable casts.  All callers changed.
14349         * lib/obstack.h (_OBSTACK_CAST): New macro.
14350         Use it everywhere the old API used a potentially-nonportable cast.
14351         The new API doesn't cast.
14352         (struct obstack): Use unions rather than requiring
14353         potentially-nonportable casts.
14354         (obstack_chunkfun, obstack_freefun): Return void.
14356 2014-11-03  Alan Modra  <amodra@gmail.com>
14358         obstack: fix macro return values
14359         * lib/obstack.h (obstack_next_free): Return void *.
14360         (obstack_1grow_fast, obstack_blank_fast): Return void.
14361         For __GNUC__ macros:
14362         (obstack_1grow, obstack_blank): Remove now unnecessary (void) 0.
14363         For !__GNUC__ macros:
14364         (obstack_make_room, obstack_grow, obstack_grow0)
14365         (obstack_ptr_grow_fast, obstack_int_grow_fast): Return void.
14367 2014-11-03  Paul Eggert  <eggert@cs.ucla.edu>
14369         obstack: do not assume system-supplied obstack is size_t safe
14370         * m4/obstack.m4: New file.
14371         * modules/obstack (Files): Add it.
14373         obstack: port to platforms that #define __alignof__
14374         * lib/obstack.c: Include <alignof.h> if !defined __alignof__,
14375         not if !_LIBC.  We don't know of any platforms that #define
14376         __alignof__, but it might be useful in tests.  Conversely,
14377         glibc assumes GCC.
14379 2014-11-03  Pádraig Brady  <P@draigBrady.com>
14381         linkat: don't unconditionally replace on GNU/Linux
14382         * m4/linkat.m4 (gl_FUNC_LINKAT): The compile check for AT_SYMLINK_FOLLOW
14383         was redundant for a few reasons.  It was present to support compiling
14384         on new systems but running on the old narrow window of Linux 2.6.1[67].
14385         It setup and cleaned up test files which weren't actually used.
14386         On non __linux__ it compile tested AT_SYMLINK_FOLLOW, but that is
14387         implicit in the following check.
14389 2014-11-03  Pádraig Brady  <P@draigBrady.com>
14391         linkat: wrap to handle symlinks on OS X 10.10
14392         * m4/linkat.m4 (gl_FUNC_LINKAT): linkat() is available on Yosemite
14393         but not usable because it doesn't support creating hardlinks
14394         to symlinks.  Therefore add a generic test for this capability
14395         and fallback to our emulation if linkat() fails with ENOTSUP.
14397 2014-11-02  Paul Eggert  <eggert@cs.ucla.edu>
14399         open, openat: document nonstandard FreeBSD, NetBSD O_NOFOLLOW errno
14400         * doc/posix-functions/open.texi (open):
14401         * doc/posix-functions/openat.texi (openat):
14402         Document that these functions do not set errno to ELOOP when
14403         a symlink is opened with O_NOFOLLOW.
14405 2014-10-31  Paul Eggert  <eggert@cs.ucla.edu>
14407         obstack: add NEWS entry for recent incompatible changes
14408         * NEWS: Describe recent changes.
14410 2014-10-30  Pádraig Brady  <P@draigBrady.com>
14412         mountlist: don't use libmount to decide on dummy/remote
14413         * lib/mountlist.c (read_file_system_list): Don't use the libmount
14414         routines to determine whether a file system is dummy or remote,
14415         as they're not currently compatible.  For example the remoteness
14416         is determined on file system type (for which the list seems incomplete),
14417         rather than simply checking for a ':' in the device name.
14418         Also libmount currently determines that 'tmpfs' is a dummy file system
14419         even though it has associated storage.
14421 2014-10-29  Paul Eggert  <eggert@cs.ucla.edu>
14423         obstack: prefer __alignof__ to alignof
14424         This is for portability to pre-4.7 GCC when compiling glibc.
14425         See Joseph S. Myers in:
14426         http://sourceware.org/ml/libc-alpha/2014-10/msg00703.html
14427         * lib/obstack.c (__alignof__) [!_LIBC && !__GNUC__]:
14428         New macro, defined by including and using <alignof.h>.
14429         (MAX): New macro.
14430         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Redefine in terms of these.
14431         Do not use enums as they are not portable to some broken compilers.
14432         * modules/obstack (Depends-on): Depend on alignof, not stdalign.
14434         obstack: prefer alignof to calculating alignments by hand
14435         * lib/obstack.c: Include <stdalign.h>.
14436         (struct fooalign): Remove.
14437         (DEFAULT_ALIGNMENT): Use alignof rather than the old offsetof hack.
14438         * modules/obstack (Depends-on): Add stdalign.
14440 2014-10-28  Paul Eggert  <eggert@cs.ucla.edu>
14442         obstack: use size_t alignments and check for overflow
14443         * lib/obstack.c, lib/obstack.h (_obstack_begin, _obstack_begin_1):
14444         * lib/obstack.c (_obstack_begin_worker, _obstack_newchunk):
14445         * lib/obstack.h (struct obstack.alignment_mask):
14446         Use _OBSTACK_SIZE_T, not int, for alignments.
14447         * lib/obstack.c (_obstack_newchunk): Fail if the size calculation
14448         overflows, e.g., when adding the alignment.
14450 2014-10-29  Alan Modra  <amodra@gmail.com>
14452         obstack: 64-bit obstack support, part 3
14453         This finally enables full 64-bit obstack support.  The glibc
14454         shared library specific code is removed from obstack.c too, and
14455         the error handling code conditionally compiled under control of
14456         another macro, _OBSTACK_NO_ERROR_HANDLER.
14457         * lib/obstack.h: Include string.h earlier.
14458         (_OBSTACK_INTERFACE_VERSION): Define.
14459         (_OBSTACK_SIZE_T, _CHUNK_SIZE_T): Define as size_t for version 2.
14460         * lib/obstack.c: Don't include shlib-compat.h.
14461         (OBSTACK_INTERFACE_VERSION): Delete.
14462         (_OBSTACK_ELIDE_CODE): Rename from ELIDE_CODE.  Define when version 1
14463         glibc code is compatible with version 2.  Don't include stdio.h for
14464         __GNU_LIBRARY.
14465         (obstack_exit_failure, print_and_abort, obstack_alloc_failed_handler):
14466         Omit when _OBSTACK_NO_ERROR_HANDLER defined.  Include stdio.h here.
14467         (_obstack_compat, _obstack, _obstack_newchunk, obstack_free): Delete
14468         glibc shared library specific source.
14470         obstack: 64-bit obstack support, part 2
14471         This gets us 4G obstack support, without changing ABI
14472         compatibility, apart from possibly introducing some
14473         signed/unsigned comparison warnings in code that uses obstack.h.
14474         a) Replace "int" size parameters, return values, and macro local vars
14475            with _OBSTACK_SIZE_T, an "unsigned int" for now.
14476         b) Make obstack.chunk_size a _CHUNK_SIZE_T, an "unsigned long" for now.
14477         c) Make all obstack macros checking available room use obstack_room.
14478            "next_free + desired > chunk_limit" may wrap the lhs for chunks
14479            allocated near the top of memory.
14480         d) Use unsigned comparisons, and macro locals to support >2G on 32-bit.
14481         * lib/obstack.h (_OBSTACK_SIZE_T): Define.  Use throughout
14482         in place of "int" size parameters, return values and local vars.
14483         (_CHUNK_SIZE_T): Define.
14484         (struct obstack): Make chunk_size a _CHUNK_SIZE_T.  Make temp
14485         union use an _OBSTACK_SIZE_T integer type.
14486         For __GNUC__ versions of the following macros...
14487         (obstack_room): Rename local var.
14488         (obstack_make_room): Use obstack_room.
14489         (obstack_grow, obstack_grow0, obstack_1grow, obstack_ptr_grow,
14490         obstack_int_grow, obstack_blank): Likewise.
14491         (obstack_finish): Use unsigned comparison when comparing aligned
14492         next_free against chunk_limit.
14493         (obstack_free): Cast OBJ to remove possible const qualifier.
14494         For !__GNUC__ versions of the following macros...
14495         (obstack_make_room): Use obstack_room.
14496         (obstack_grow, obstack_grow0, obstack_1grow, obstack_ptr_grow,
14497         obstack_int_grow, obstack_blank): Likewise.
14498         (obstack_finish): Use unsigned comparision when comparing aligned
14499         next_free against chunk_limit.
14500         (obstack_free): Use temp.p and same comparisons as __GNUC__ version.
14501         * lib/obstack.c (_obstack_begin_worker): Make "size" parameter
14502         _OBSTACK_SIZE_T.
14503         (_obstack_begin, _obstack_begin_1): Likewise.
14504         (_obstack_newchunk): Likewise for length parameter.  Use size_t locals.
14505         (_obstack_memory_used): Return and use _OBSTACK_SIZE_T local.
14507         obstack: 64-bit obstack support, part 1
14508         a) Correct calls to alloc function, to use a size_t arg.  "long" is
14509            just wrong on targets like x86_64-mingw64 where "long" is 32 bits
14510            and "size_t" 64 bits.
14511         b) Consolidate _obstack_begin and _obstack_begin1 code.
14512         * lib/obstack.h (struct obstack <chunkfun>): Correct prototype to
14513         use "size_t" rather than "long".
14514         (_obstack_begin, _obstack_begin1): Likewise.
14515         (obstack_init, obstack_begin, obstack_specify_allocation_with_arg,
14516         obstack_chunkfun): Update alloc function casts.
14517         * lib/obstack.c (CALL_CHUNKFUN): Update chunkfun cast.
14518         (chunkfun_type, freefun_type): New typdefs.
14519         (_obstack_begin_worker): Split out from ..
14520         (_obstack_begin, _obstack_begin_1): ..here.
14522         obstack: tidy part 2
14523         a) Don't be concerned about "not polluting the namespace with stddef.h
14524            symbols" in obstack.h, since gnulib string.h includes stddef.h
14525            anyway, and it seems unlikely that anyone would care.
14526         b) Don't roll our own slow memcpy in _obstack_newchunk.
14527         c) Rename obstack_free to _obstack_free.  This makes the naming
14528            consistent with other obstack functions and obviates the need for
14529            __obstack_free.  Ancient obstack.c defined both obstack_free and
14530            _obstack_free.  We continue to do that for _LIBC via an alias.
14531         d) Miscellaneous macro fixes.  The expression used to test for gcc-2.8
14532            is clever, but nowadays gcc warns on undefined macros.  You'll get
14533            an undefined macro warning if simulating an old gcc with -U__GNUC__
14534            -U__GNUC_MINOR__ -D__GNUC__=1.
14535         * lib/obstack.h: Include stddef.h unconditionally.  Formatting fixes.
14536         (PTR_INT_TYPE): Delete, replace with ptrdiff_t.
14537         (__obstack_free): Delete, update refs.
14538         (_obstack_free): Rename from obstack_free.
14539         (__extension__): Avoid undefined macro warning for __GNUC_MINOR__.
14540         (obstack_object_size, obstack_room): Parenthesise !__GNUC__ versions.
14541         * lib/obstack.c: Don't include stddef.h.
14542         (COPYING_UNIT): Delete.
14543         (_obstack_begin): Formatting fix.
14544         (_obstack_newchunk): Use memcpy to move existing object to new chunk.
14545         (_obstack_free): Rename from __obstack_free, update alias.  Move
14546         undef of obstack_free to where it is needed.
14548         obstack: tidy part 1
14549         a) Rename temp fields.  temp.tempint and temp.tempptr just looks ugly
14550            to me, and result in overlong lines after later patches.
14551         b) Move error handling code, to avoid a forward declaration and to
14552            simplify later patches in this series.
14553         * lib/obstack.h (struct obstack <temp>): Rename fields of union
14554         and update all uses.
14555         * lib/obstack.c: Include stdlib.h earlier.
14556         (obstack_exit_failure, obstack_alloc_failed_handler): Move later
14557         in file.
14558         (print_and_abort): Remove now redundant forward declaration.
14560 2014-10-24  Paul Eggert  <eggert@cs.ucla.edu>
14562         socketlib, sockets, sys_socket: Use AC_REQUIRE to pacify autoconf.
14563         Without this change, in bleeding-edge fileutils Autoconf complains
14564         that gl_SOCKETLIB etc. are AC_REQUIREd after being invoked.
14565         * modules/socketlib (configure.ac): AC_REQUIRE gl_SOCKETLIB.
14566         * modules/sockets (configure.ac): AC_REQUIRE gl_SOCKETS.
14567         * modules/sys_socket (configure.ac): AC_REQUIRE gl_HEADER_SYS_SOCKET.
14569 2014-10-24  Daiki Ueno  <ueno@gnu.org>
14571         iconv: avoid false detection of non-working iconv
14572         The INBUF arguments of iconv can be either 'const char **'
14573         or 'char **'.  If CC is g++, the difference causes a compile error
14574         and thus leads to a false detection of non-working iconv.
14575         Reported by Eli Zaretskii and Werner LEMBERG in:
14576         <https://lists.gnu.org/r/bug-gnulib/2014-10/msg00023.html>.
14577         * m4/iconv.m4 (AM_ICONV_LINK): Try all possible argument types of
14578         iconv.  Bump serial number.
14580 2014-10-23  Pádraig Brady  <P@draigBrady.com>
14582         bootstrap: print more diagnostics for missing programs
14583         * build-aux/bootstrap: only suppress stderr when checking for
14584         alternative program names.  This supports programs issuing non
14585         standard error messages.
14587 2014-10-23  Pádraig Brady  <P@draigBrady.com>
14589         bootstrap: only update the gnulib submodule
14590         * build-aux/bootstrap: Restrict the "submodule update" command
14591         to the gnulib path.
14593 2014-10-18  Paul Eggert  <eggert@cs.ucla.edu>
14595         symlinkat: port to AIX 7.1
14596         * doc/posix-functions/symlinkat.texi (symlinkat):
14597         Mention AIX porting problem.
14598         * lib/symlinkat.c: Always include errno.h.
14599         (rpl_symlinkat) [HAVE_SYMLINKAT]: New function.
14600         * lib/unistd.in.h (symlinkat): Add replacement machinery.
14601         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Check symlinkat behavior.
14602         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_SYMLINKAT.
14603         * modules/symlinkat (Depends-on): Add fstatat if REPLACE_SYMLINKAT.
14604         (configure.ac): Also compile replacement if REPLACE_SYMLINKAT.
14605         * modules/unistd (unistd.h): Substitute REPLACE_SYMLINKAT.
14607         readlinkat: port to AIX 7.1
14608         * doc/posix-functions/readlink.texi (readlink):
14609         * doc/posix-functions/readlinkat.texi (readlinkat):
14610         Mention AIX porting problem.
14611         * lib/readlinkat.c (rpl_readlinkat) [HAVE_READLINKAT]:
14612         New function.
14613         * lib/unistd.in.h (readlinkat): Add replacement machinery.
14614         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Check readlinkat signature.
14615         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_READLINKAT.
14616         * modules/readlinkat (configure.ac): Also compile replacement
14617         if REPLACE_READLINKAT.
14618         * modules/unistd (unistd.h): Substitute REPLACE_READLINKAT.
14620 2014-10-12  Karl Berry  <karl@gnu.org>
14622         * doc/posix-functions/dirname.texi: remove spurious {.
14624 2014-09-28  Ben Pfaff  <blp@cs.stanford.edu>
14626         basename, dirname: Improve documentation.
14627         * doc/posix-functions/basename.texi: Mention dirname module and
14628         base_name() function.
14629         * doc/posix-functions/dirname.texi: Mention dir_name() and
14630         mdir_name() functions.
14631         Suggested by Werner LEMBERG <wl@gnu.org>.
14633 2014-09-24  Jim Meyering  <meyering@fb.com>
14635         exclude: declare exclude_patopts static
14636         * lib/exclude.c (exclude_patopts): Declare static,
14637         to avoid triggering a -Wmissing-prototypes warning.
14638         The alternative (declaring it in the .h file) would
14639         require publicizing the private "struct patopts".
14641 2014-09-21  Werner Lemberg  <wl@gnu.org>
14643         dirname: support compilation with C++
14644         * lib/dirname.h: Add necessary C linkage declarations.
14646 2014-09-16  Paul Eggert  <eggert@cs.ucla.edu>
14648         qsort_r: include <config.h>
14649         Problem reported by Tom G. Christensen in:
14650         http://lists.gnu.org/r/bug-gnulib/2014-09/msg00071.html
14651         * lib/qsort.c [!_LIBC]: Include <config.h> first.
14653 2014-09-16  Dylan Cali  <calid1984@gmail.com>
14655         avltree-list: avoid compiler warnings (trivial)
14656         * lib/gl_anytree_list2.h: Add _GL_ATTRIBUTE_PURE to avoid
14657         -Werror=suggest-attribute=pure.
14658         * lib/gl_array_list.c: Likewise.
14659         * lib/gl_avltree_list.c (gl_avltree_list_check_invariants): Add extern
14660         declaration to avoid -Werror=missing-prototypes.  This is not added
14661         to a header as only exported for tests.  Add (void) to the
14662         check_invariants() call to indicate we're discarding the result
14663         in this context which avoids -Werror=unused-value.  Note we don't
14664         use ignore_value here to avoid a dependency as we know we'll not
14665         be adding __attribute__((warn_unused_result)) to check_invariants().
14666         Add _GL_ATTRIBUTE_CONST to avoid -Werror=suggest-attribute=const.
14668 2014-09-15  Paul Eggert  <eggert@cs.ucla.edu>
14670         qsort_r: new module, for GNU-style qsort_r
14671         * m4/qsort_r.m4: New file.  Forgot to add this earlier.
14673 2014-09-15  Werner LEMBERG  <wl@gnu.org>
14675         strerror_r-posix: support compilation with C++
14676         * lib/strerror_r.c: Add necessary C linkage declarations.
14678 2014-09-11  Johannes Zarl  <johannes.zarl@jku.at>
14680         fcntl-h: fix compilation with Intel C++ compiler (trivial)
14681         * lib/fcntl.in.h: ICC has the same issue as GCC <= 4.2.
14683 2014-09-09  Fridolin Pokorny  <fpokorny@redhat.com>
14685         mountlist: use /proc/self/mountinfo when available
14686         Use libmount to propagate device IDs provided by Linux in
14687         /proc/self/mountinfo.  This will give more accurate output when
14688         using df in chroot'ed environments as the device IDs are not
14689         determined by stat() which may be inaccurate within the chroot.
14690         * lib/mountlist.c (read_file_system_list): Use the libmount routines
14691         from util-linux to parse "/proc/self/mountinfo" or fall back to
14692         standard getmntent() processing.
14693         * m4/ls-mntd-fs.m4: Check for libmount only when 1-argument
14694         getmntent() is used, as is the case on GNU/Linux.
14696 2014-09-07  Eric Wong  <normalperson@yhbt.net>
14698         users.txt: add cmogstored
14699         cmogstored has used gnulib since the beginning in 2012 to support
14700         GNU/Linux, FreeBSD, and GNU/kFreeBSD.
14702 2014-09-05  Mathieu Anquetin  <mathieu@anquetin.eu>
14704         Trivial change.
14705         * gnulib-tool: Use same options as build-aux/bootstrap to download
14706         PO files.
14708 2014-09-05  Mathieu Anquetin  <mathieu@anquetin.eu>
14710         Trivial change.
14711         * gnulib-tool: Fallback to wget when rsync of PO files fails.
14713 2014-09-04  Eric Blake  <eblake@redhat.com>
14715         maintainer-makefile: add syntax check for useless ';;'
14716         * top/maint.mk (sc_prohibit_double_semicolon): New rule.
14718 2014-09-04  Paul Eggert  <eggert@cs.ucla.edu>
14720         pthread, pthread_sigmask, threadlib: port to Ubuntu 14.04
14721         Problem reported by Assaf Gordon in:
14722         http://lists.gnu.org/r/bug-gnulib/2014-09/msg00023.html
14723         Apparently Ubuntu is doing some fancy link-time optimization
14724         that doesn't work with -lpthread but does work with -pthread.
14725         Work around the bug by preferring -pthread to -lpthread.
14726         * m4/pthread.m4 (gl_PTHREAD_CHECK):
14727         * m4/threadlib.m4 (gl_THREADLIB_BODY): Prefer -pthread to -lpthread.
14728         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
14729         Treat -pthread like -lpthread.
14731 2014-09-04  Eric Blake  <eblake@redhat.com>
14733         error: drop spurious semicolon
14734         * lib/error.c (__error_at_line): Fix ';;'.
14736 2014-09-02  Paul Eggert  <eggert@cs.ucla.edu>
14738         gnulib-common.m4: port to GCC 4.2.1 and Sun Studio 12 C++
14739         * m4/gnulib-common.m4 (AC_C_RESTRICT):
14740         Override AC_C_RESTRICT unconditionally.
14741         Update from autoconf, incorporating:
14742         2014-09-02 autoconf: port 'restrict' to GCC 4.2.1
14743         2009-01-28 Fix AC_C_RESTRICT for Sun Studio 12 C++.
14745 2014-09-01  Paul Eggert  <eggert@cs.ucla.edu>
14747         manywarnings: add GCC 4.9 warnings
14748         Also, make it easier to maintain this in the future.
14749         * build-aux/gcc-warning.spec: Add -Wabi-tag,
14750         -Wconditionally-supported, -Wdelete-incomplete,
14751         -Winherited-variadic-ctor, -Wvirtual-move-assign, -Wzerotrip.
14752         Remove duplicates.  Use tabs uniformly, as that's what 'cut' wants.
14753         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add -Wdate-time,
14754         -Wopenmp-simd.  Use -fdiagnostics-show-option and -funit-at-a-time
14755         only for older GCC versions that need them.  Handle
14756         -Wnormalized=nfc specially, so that the 'comm' command used
14757         for maintenance doesn't get confused.
14759 2014-08-31  Paul Eggert  <eggert@cs.ucla.edu>
14761         vasnprintf: fix bugs in width computation
14762         * lib/vasnprintf.c (VASNPRINTF):
14763         Rework previous change, which introduced a bug,
14764         to avoid the warning in a different way.
14765         Avoid undefined behavior if the width arg is less than -INT_MAX.
14766         Avoid unnecessary use of HAS_WIDTH local.
14768 2014-08-31  Thien-Thi Nguyen  <ttn@gnu.org>  (tiny change)
14770         vasnprintf: Avoid signed/unsigned comparison warning.
14771         * lib/vasnprintf.c (VASNPRINTF): To calculate padding,
14772         compare end addr of generated string w/ maximum end addr.
14774 2013-08-30  Mats Erik Andersson  <gnu@gisladisker.se>  (tiny change)
14776         parse-datetime: Avoid pointer difference.
14777         * lib/parse-datetime.y (yylex): Compare pointer to end of buffer,
14778         instead of calculating difference of pointers.  This removes an
14779         annoying warning, devoid of any use.
14781 2014-08-29  Paul Eggert  <eggert@cs.ucla.edu>
14783         qsort_r: new module, for GNU-style qsort_r
14784         This works even on FreeBSD, which has an incompatible qsort_r API.
14785         * MODULES.html.sh: Add it.
14786         * doc/glibc-functions/qsort_r.texi: It's now supported.
14787         * lib/qsort.c: New file, taken from glibc with minor changes
14788         inside "#ifndef _LIBC" and with an unnecessary "#include <alloca.h>"
14789         removed.
14790         * lib/qsort_r.c: New file, compiled only on FreeBSD.
14791         * lib/stdlib.in.h (qsort_r): Declare in the usual way.
14792         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS):
14793         * modules/qsort_r, modules/qsort_r-tests: New files.
14794         * modules/stdlib (Makefile): Set up its defaults.
14795         * tests/test-qsort_r.c: New file.
14797 2014-08-08  Paul Eggert  <eggert@cs.ucla.edu>
14799         vla: new module
14800         GNU RCS can use this, mostly for documentation I expect.  See:
14801         http://lists.gnu.org/r/bug-gnulib/2014-08/msg00025.html
14802         * MODULES.html.sh: Add vla.
14803         * lib/vla.h, modules/vla: New files.
14805 2014-08-07  Daiki Ueno  <ueno@gnu.org>
14807         localename: make gl_locale_name_thread really thread-safe on Windows
14808         * lib/localename.c [WINDOWS_NATIVE && !IN_LIBINTL]: Include
14809         "glthread/lock.h".
14810         (get_lcid_lock) [WINDOWS_NATIVE]: New variable.
14811         (get_lcid) [WINDOWS_NATIVE]: Lock while looking for an LCID.
14813 2014-08-07  Paul Eggert  <eggert@cs.ucla.edu>
14815         getpass: don't assume struct termios
14816         Problem report and trivial fix by Jonas 'Sortie' Termansen in:
14817         http://lists.gnu.org/r/bug-gnulib/2014-08/msg00015.html
14818         * lib/getpass.c (getpass): Port to systems lacking struct termios.
14820         getdtablesize: fall back on sysconf (_SC_OPEN_MAX)
14821         Problem reported by Jonas 'Sortie' Termansen in:
14822         http://lists.gnu.org/r/bug-gnulib/2014-08/msg00023.html
14823         * lib/getdtablesize.c (getdtablesize) [_SC_OPEN_MAX]:
14824         Implement via sysconf for platforms that lack getdtablesize.
14826         vararrays: modernize AC_C_VARARRAYS for C11
14827         This backports a change I recently made to Autoconf.
14828         * m4/vararrays.m4 (AC_C_VARARRAYS): Define __STDC_NO_VLA__ if
14829         VLAs are not supported, as this is what C11 does.  The old macro
14830         HAVE_C_VARARRAYS is still defined if they are supported, but is
14831         now obsolescent.  Also, check for VLA bug in GCC 3.4.3.
14833 2014-08-07  Alessandro Degano  <degano@cern.ch>  (tiny change)
14835         relocatable-prog-wrapper: port gettext to OS X 10.8 + GCC 4.8.1
14836         * build-aux/install-reloc (func_create_wrapper): Also wrap
14837         strerror-override, stat, stat.
14839 2014-08-05  Paul Eggert  <eggert@cs.ucla.edu>
14841         sys_select: fix FD_ZERO problem on Solaris 10
14842         * lib/sys_select.in.h: Fix Solaris 10 bug where "#include
14843         <sys/time.h>" followed by "#include <sys/select.h>" caused FD_ZERO
14844         to expand to an expression that invoked memset without necessarily
14845         including <string.h>.  The problem was that the first include
14846         defined _SYS_TIME_H, causing the second include to short-circuit.
14847         Fix a similar problem with <sys/types.h> followed by <sys/select.h>.
14848         Also, fix what appears to be a cut-and-paste typo, by replacing
14849         _GL_SYS_SELECT_H_REDIRECT_FROM_SYS_TIME_H with
14850         _GL_SYS_SELECT_H_REDIRECT_FROM_SYS_TYPES_H.
14852         accept: document Solaris 10 type glitch
14853         * doc/posix-functions/accept.texi (accept): Mention that
14854         Solaris 10 'accept' takes void * last arg, not socklen_t *.
14856 2014-08-04  Paul Eggert  <eggert@cs.ucla.edu>
14858         extern-inline: port to FreeBSD, DragonFly
14859         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Also assume the bug
14860         is present if either __DragonFly__ or __FreeBSD__ is defined.
14861         FreeBSD problem reported by Andrey Borzenkov in:
14862         http://lists.gnu.org/r/bug-gnulib/2014-07/msg00104.html
14863         Also, worry about __APPLE__ only if __MACH__ is also defined,
14864         as this is more consistent with the rest of gnulib.
14865         (_GL_EXTERN_INLINE_STDHEADER_BUG): Rename this internal macro from
14866         _GL_EXTERN_INLINE_APPLE_BUG, since the bug is not limited to Apple.
14868 2014-08-01  Siddhesh Poyarekar  <siddhesh@redhat.com>
14870         regex: Make #if/#ifdef usage consistent for DEBUG
14871         * lib/regex_internal.c: Use "#if defined DEBUG && DEBUG" instead
14872         of the inconsistent usage of #if and #ifdef as that works with
14873         both Glibc and Gnulib's style.
14875 2014-07-31  Eric Blake  <eblake@redhat.com>
14877         openat-die: use _Noreturn markup
14878         * modules/openat-die (Depends-on): Add snippet/_Noreturn.
14879         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Mark
14880         _Noreturn.
14882 2014-07-30  Eric Blake  <eblake@redhat.com>
14884         test-open: port to cygwin, which lacks Fortify
14885         * tests/test-open.h (ALWAYS_INLINE): New macro.
14886         (__always_inline): Don't abuse internal symbol on non-glibc.
14888 2014-07-19  Eli Zaretskii  <eliz@gnu.org>
14890         localename: Enforce declarations before statements.
14891         * localename.c (gl_locale_name_thread): Declare 'lcid' before the
14892         first statement.
14894 2014-07-18  Jim Meyering  <meyering@fb.com>
14896         test-userspec: don't look up numeric user names
14897         * tests/test-userspec.c: I found a system for which getpwnam("0")
14898         returned a pointer to a non-root user's entry, and that made the
14899         test fail.
14900         (T): Prefix each numeric input with "+", to inhibit lookup.
14902 2014-07-15  Eli Zaretskii  <eliz@gnu.org>
14904         localcharset, localename: MS-Windows support for non-default locales
14905         * lib/localcharset.c (locale_charset) [WINDOWS_NATIVE]: Before
14906         falling back on the default system codepage, try extracting
14907         the codepage from what 'setlocale' returns.  This allows to
14908         take into account changes of the codeset due to non-default
14909         locale set by a previous call to 'setlocale'.
14910         * lib/localename.c (LOCALE_NAME_MAX_LENGTH) [WINDOWS_NATIVE]:
14911         Define if not already defined.
14912         (enum_locales_fn, get_lcid) [WINDOWS_NATIVE]: New functions.
14913         (gl_locale_name_thread) [WINDOWS_NATIVE]: Produce the
14914         current locale by calling 'setlocale', then converting the
14915         locale name into LCID by calling 'get_lcid'.  This allows to
14916         take into account changes in the current locale from the
14917         default one, in contrast to GetThreadLocale.
14919 2014-07-14  Daiki Ueno  <ueno@gnu.org>
14921         announce-gen: avoid failure when Digest::SHA is installed
14922         When Digest::SHA is available, Digest::SHA1 is not loaded and thus
14923         Digest::SHA1->new in print_checksums fails.
14924         * build-aux/announce-gen (digest_classes): New associative array
14925         for available message digest implementations.
14926         (print_locations): Use it.
14928 2014-07-13  Pádraig Brady  <P@draigBrady.com>
14930         gettext: revert "update macros to version 0.19"
14931         This reverts commit 9b9370ca, as it currently requires that
14932         developers of any project that explicitly uses the gettext module
14933         or implicitly uses it through the utimens-tests or
14934         futimens-tests modules, use gettext >= 0.19.
14935         However there are some stability and availablity issues with
14936         that version at present.  We can reinstate this soon, when stability
14937         is addressed and packages are more readily available.
14939 2014-07-12  Jim Meyering  <meyering@fb.com>
14941         regex: don't deref NULL upon heap allocation failure
14942         * lib/regcomp.c (parse_dup_op): Handle duplicate_tree
14943         failure in one more place.
14944         To trigger the segfault, configure grep -with-included-regex,
14945         build it, and run these commands:
14946         ( ulimit -v 300000; echo a|src/grep -E a+++++++++++++++++++++ )
14947         I discovered this while replying to a private report from
14948         Jens Schleusener about excessive memory consumption by grep
14949         when using a regular expression like the one above.
14951 2014-07-11  Paul Eggert  <eggert@cs.ucla.edu>
14953         regex: fix memory leak in compiler
14954         Fix by Andreas Schwab in:
14955         https://sourceware.org/ml/libc-alpha/2014-06/msg00503.html
14956         * lib/regcomp.c (parse_reg_exp): Deallocate partially
14957         constructed tree before returning error.
14959 2014-07-10  Assaf Gordon  <assafgordon@gmail.com>
14961         announce-gen: avoid perl warnings
14962         * build-aux/announce-gen: add two minor checks to avoid
14963         "use of uninitialized value" warnings when command-line parameters are
14964         missing.
14966 2014-07-10  Assaf Gordon  <assafgordon@gmail.com>
14968         localename: avoid -Wsuggest-attribute={const,pure} warnings
14969         * lib/localename.c (string_has): Tag internal function as pure.
14970         * lib/localename.h (gl_locale_name_default): Tag extern declaration
14971         as const when appropriate.
14973 2014-07-10  Eli Zaretskii  <eliz@gnu.org>
14975         nl_langinfo: Fix last change.
14976         * lib/nl_langinfo.c (includes): Drop redundant include.
14978 2014-07-10  Siddhesh Poyarekar  <siddhesh@redhat.com>
14980         error: Fix -Wundef warnings in glibc
14981         * lib/error.c [_LIBC]: Define default macros for
14982         glibc.
14983         (print_errno_message) [defined HAVE_STRERROR_R || _LIBC]:
14984         Check _LIBC before STRERROR_R_CHAR_P.
14986         error: Sync from glibc master
14987         * lib/error.c [_LIBC]: Remove INTUSE usage.
14988         (error_tail): Remove unused macro ALLOCA_LIMIT.
14989         Fix potential buffer overflow.  Fix potential NULL dereference
14990         in strcmp.
14992 2014-07-09  Pavel Hrdina  <phrdina@redhat.com> (tiny change)
14994         nl_langinfo: fix build under mingw
14995         * lib/nl_langinfo.c (includes): Pick up <windows.h> for GetACP().
14997 2014-07-09  Andrew D Warshall  <warshall@99main.com>
14999         mountlist: do not classify a bind-mounted dir entry as "dummy"
15000         * m4/ls-mntd-fs.m4: Check for hasmntopt() on platforms with
15001         1-argument getmntent() (instead of assuming absence).
15003 2014-07-08  Eric Blake  <eblake@redhat.com>
15005         maint.mk: less syntax-check noise when SIGPIPE is ignored
15006         * top/maint.mk (_sc_header_without_use)
15007         (sc_require_config_h_first): Parse full list.
15009 2014-07-07  Eli Zaretskii  <eliz@gnu.org>
15010             Paul Eggert  <eggert@cs.ucla.edu>
15012         nl_langinfo: CODESET on MS-Windows and more items from localeconv
15013         * lib/langinfo.in.h (DECIMAL_POINT, THOUSANDS_SEP, GROUPING)
15014         (CURRENCY_SYMBOL, INT_CURR_SYMBOL, MON_DECIMAL_POINT)
15015         (MON_THOUSANDS_SEP, MON_GROUPING, POSITIVE_SIGN, NEGATIVE_SIGN)
15016         (FRAC_DIGITS, INT_FRAC_DIGITS, P_CS_PRECEDES, N_CS_PRECEDES)
15017         (P_SEP_BY_SPACE, N_SEP_BY_SPACE, P_SIGN_POSN, N_SIGN_POSN): Define.
15018         * lib/nl_langinfo.c: Include <locale.h> and <string.h> early.
15019         Include <stdio.h> if Microsoft Windows.
15020         Include <time.h> if !REPLACE_NL_LANGINFO.
15021         (ctype_codeset): New function, taken from rpl_nl_langinfo,
15022         and with improvements for Microsoft Windows.
15023         (rpl_nl_langinfo): Use it.
15024         (nl_langinfo) [!REPLACE_NL_LANGINFO]: Likewise.
15025         Compute the values of RADIXCHAR, THOUSEP, GROUPING, CRNCYSTR,
15026         INT_CURR_SYMBOL, MON_DECIMAL_POINT, MON_THOUSANDS_SEP,
15027         MON_GROUPING, POSITIVE_SIGN, NEGATIVE_SIGN, FRAC_DIGITS,
15028         INT_FRAC_DIGITS, P_CS_PRECEDES, N_CS_PRECEDES, P_SEP_BY_SPACE,
15029         N_SEP_BY_SPACE, P_SIGN_POSN, and N_SIGN_POSN from the
15030         corresponding values returned by 'localeconv'.  Compute the values
15031         of AM_STR, PM_STR, DAY_n, ABDAY_n, MON_n, and ABMON_n by calling
15032         'strftime' with a suitable struct tm value.
15034 2014-07-05  Paul Eggert  <eggert@cs.ucla.edu>
15036         Bruno Haible has stepped down as maintainer.
15037         See Karl Berry in:
15038         http://lists.gnu.org/r/bug-gnulib/2014-07/msg00004.html
15039         Daiki Ueno has volunteered to maintain libunistring; see:
15040         http://lists.gnu.org/r/bug-gnulib/2014-07/msg00005.html
15041         * modules/gen-uni-tables, modules/libunistring:
15042         * modules/libunistring-optional, modules/ucs4-utf16, modules/ucs4-utf8:
15043         * modules/unicase/base, modules/unicase/cased:
15044         * modules/unicase/empty-prefix-context:
15045         * modules/unicase/empty-suffix-context, modules/unicase/ignorable:
15046         * modules/unicase/locale-language, modules/unicase/special-casing:
15047         * modules/unicase/tocasefold, modules/unicase/tolower:
15048         * modules/unicase/totitle, modules/unicase/toupper:
15049         * modules/unicase/u16-casecmp, modules/unicase/u16-casecoll:
15050         * modules/unicase/u16-casefold, modules/unicase/u16-casemap:
15051         * modules/unicase/u16-casexfrm, modules/unicase/u16-ct-casefold:
15052         * modules/unicase/u16-ct-tolower, modules/unicase/u16-ct-totitle:
15053         * modules/unicase/u16-ct-toupper, modules/unicase/u16-is-cased:
15054         * modules/unicase/u16-is-casefolded, modules/unicase/u16-is-invariant:
15055         * modules/unicase/u16-is-lowercase, modules/unicase/u16-is-titlecase:
15056         * modules/unicase/u16-is-uppercase, modules/unicase/u16-prefix-context:
15057         * modules/unicase/u16-suffix-context, modules/unicase/u16-tolower:
15058         * modules/unicase/u16-totitle, modules/unicase/u16-toupper:
15059         * modules/unicase/u32-casecmp, modules/unicase/u32-casecoll:
15060         * modules/unicase/u32-casefold, modules/unicase/u32-casemap:
15061         * modules/unicase/u32-casexfrm, modules/unicase/u32-ct-casefold:
15062         * modules/unicase/u32-ct-tolower, modules/unicase/u32-ct-totitle:
15063         * modules/unicase/u32-ct-toupper, modules/unicase/u32-is-cased:
15064         * modules/unicase/u32-is-casefolded, modules/unicase/u32-is-invariant:
15065         * modules/unicase/u32-is-lowercase, modules/unicase/u32-is-titlecase:
15066         * modules/unicase/u32-is-uppercase, modules/unicase/u32-prefix-context:
15067         * modules/unicase/u32-suffix-context, modules/unicase/u32-tolower:
15068         * modules/unicase/u32-totitle, modules/unicase/u32-toupper:
15069         * modules/unicase/u8-casecmp, modules/unicase/u8-casecoll:
15070         * modules/unicase/u8-casefold, modules/unicase/u8-casemap:
15071         * modules/unicase/u8-casexfrm, modules/unicase/u8-ct-casefold:
15072         * modules/unicase/u8-ct-tolower, modules/unicase/u8-ct-totitle:
15073         * modules/unicase/u8-ct-toupper, modules/unicase/u8-is-cased:
15074         * modules/unicase/u8-is-casefolded, modules/unicase/u8-is-invariant:
15075         * modules/unicase/u8-is-lowercase, modules/unicase/u8-is-titlecase:
15076         * modules/unicase/u8-is-uppercase, modules/unicase/u8-prefix-context:
15077         * modules/unicase/u8-suffix-context, modules/unicase/u8-tolower:
15078         * modules/unicase/u8-totitle, modules/unicase/u8-toupper:
15079         * modules/unicase/ulc-casecmp, modules/unicase/ulc-casecoll:
15080         * modules/unicase/ulc-casexfrm, modules/unicodeio:
15081         * modules/uniconv/base, modules/uniconv/u16-conv-from-enc:
15082         * modules/uniconv/u16-conv-to-enc:
15083         * modules/uniconv/u16-strconv-from-enc:
15084         * modules/uniconv/u16-strconv-from-locale:
15085         * modules/uniconv/u16-strconv-to-enc:
15086         * modules/uniconv/u16-strconv-to-locale:
15087         * modules/uniconv/u32-conv-from-enc, modules/uniconv/u32-conv-to-enc:
15088         * modules/uniconv/u32-strconv-from-enc:
15089         * modules/uniconv/u32-strconv-from-locale:
15090         * modules/uniconv/u32-strconv-to-enc:
15091         * modules/uniconv/u32-strconv-to-locale:
15092         * modules/uniconv/u8-conv-from-enc, modules/uniconv/u8-conv-to-enc:
15093         * modules/uniconv/u8-strconv-from-enc:
15094         * modules/uniconv/u8-strconv-from-locale:
15095         * modules/uniconv/u8-strconv-to-enc:
15096         * modules/uniconv/u8-strconv-to-locale, modules/unictype/base:
15097         * modules/unictype/bidicategory-all:
15098         * modules/unictype/bidicategory-byname:
15099         * modules/unictype/bidicategory-name, modules/unictype/bidicategory-of:
15100         * modules/unictype/bidicategory-test, modules/unictype/bidiclass-all:
15101         * modules/unictype/bidiclass-byname:
15102         * modules/unictype/bidiclass-longname, modules/unictype/bidiclass-name:
15103         * modules/unictype/bidiclass-of, modules/unictype/bidiclass-test:
15104         * modules/unictype/block-all, modules/unictype/block-list:
15105         * modules/unictype/block-of, modules/unictype/block-test:
15106         * modules/unictype/category-C, modules/unictype/category-Cc:
15107         * modules/unictype/category-Cf, modules/unictype/category-Cn:
15108         * modules/unictype/category-Co, modules/unictype/category-Cs:
15109         * modules/unictype/category-L, modules/unictype/category-LC:
15110         * modules/unictype/category-Ll, modules/unictype/category-Lm:
15111         * modules/unictype/category-Lo, modules/unictype/category-Lt:
15112         * modules/unictype/category-Lu, modules/unictype/category-M:
15113         * modules/unictype/category-Mc, modules/unictype/category-Me:
15114         * modules/unictype/category-Mn, modules/unictype/category-N:
15115         * modules/unictype/category-Nd, modules/unictype/category-Nl:
15116         * modules/unictype/category-No, modules/unictype/category-P:
15117         * modules/unictype/category-Pc, modules/unictype/category-Pd:
15118         * modules/unictype/category-Pe, modules/unictype/category-Pf:
15119         * modules/unictype/category-Pi, modules/unictype/category-Po:
15120         * modules/unictype/category-Ps, modules/unictype/category-S:
15121         * modules/unictype/category-Sc, modules/unictype/category-Sk:
15122         * modules/unictype/category-Sm, modules/unictype/category-So:
15123         * modules/unictype/category-Z, modules/unictype/category-Zl:
15124         * modules/unictype/category-Zp, modules/unictype/category-Zs:
15125         * modules/unictype/category-all, modules/unictype/category-and:
15126         * modules/unictype/category-and-not, modules/unictype/category-byname:
15127         * modules/unictype/category-longname, modules/unictype/category-name:
15128         * modules/unictype/category-none, modules/unictype/category-of:
15129         * modules/unictype/category-or, modules/unictype/category-test:
15130         * modules/unictype/category-test-withtable:
15131         * modules/unictype/combining-class:
15132         * modules/unictype/combining-class-all:
15133         * modules/unictype/combining-class-byname:
15134         * modules/unictype/combining-class-longname:
15135         * modules/unictype/combining-class-name, modules/unictype/ctype-alnum:
15136         * modules/unictype/ctype-alpha, modules/unictype/ctype-blank:
15137         * modules/unictype/ctype-cntrl, modules/unictype/ctype-digit:
15138         * modules/unictype/ctype-graph, modules/unictype/ctype-lower:
15139         * modules/unictype/ctype-print, modules/unictype/ctype-punct:
15140         * modules/unictype/ctype-space, modules/unictype/ctype-upper:
15141         * modules/unictype/ctype-xdigit, modules/unictype/decimal-digit:
15142         * modules/unictype/digit, modules/unictype/joininggroup-all:
15143         * modules/unictype/joininggroup-byname:
15144         * modules/unictype/joininggroup-name, modules/unictype/joininggroup-of:
15145         * modules/unictype/joiningtype-all:
15146         * modules/unictype/joiningtype-byname:
15147         * modules/unictype/joiningtype-longname:
15148         * modules/unictype/joiningtype-name, modules/unictype/joiningtype-of:
15149         * modules/unictype/mirror, modules/unictype/numeric:
15150         * modules/unictype/property-all, modules/unictype/property-alphabetic:
15151         * modules/unictype/property-ascii-hex-digit:
15152         * modules/unictype/property-bidi-arabic-digit:
15153         * modules/unictype/property-bidi-arabic-right-to-left:
15154         * modules/unictype/property-bidi-block-separator:
15155         * modules/unictype/property-bidi-boundary-neutral:
15156         * modules/unictype/property-bidi-common-separator:
15157         * modules/unictype/property-bidi-control:
15158         * modules/unictype/property-bidi-embedding-or-override:
15159         * modules/unictype/property-bidi-eur-num-separator:
15160         * modules/unictype/property-bidi-eur-num-terminator:
15161         * modules/unictype/property-bidi-european-digit:
15162         * modules/unictype/property-bidi-hebrew-right-to-left:
15163         * modules/unictype/property-bidi-left-to-right:
15164         * modules/unictype/property-bidi-non-spacing-mark:
15165         * modules/unictype/property-bidi-other-neutral:
15166         * modules/unictype/property-bidi-pdf:
15167         * modules/unictype/property-bidi-segment-separator:
15168         * modules/unictype/property-bidi-whitespace:
15169         * modules/unictype/property-byname:
15170         * modules/unictype/property-case-ignorable:
15171         * modules/unictype/property-cased:
15172         * modules/unictype/property-changes-when-casefolded:
15173         * modules/unictype/property-changes-when-casemapped:
15174         * modules/unictype/property-changes-when-lowercased:
15175         * modules/unictype/property-changes-when-titlecased:
15176         * modules/unictype/property-changes-when-uppercased:
15177         * modules/unictype/property-combining:
15178         * modules/unictype/property-composite:
15179         * modules/unictype/property-currency-symbol:
15180         * modules/unictype/property-dash:
15181         * modules/unictype/property-decimal-digit:
15182         * modules/unictype/property-default-ignorable-code-point:
15183         * modules/unictype/property-deprecated:
15184         * modules/unictype/property-diacritic:
15185         * modules/unictype/property-extender:
15186         * modules/unictype/property-format-control:
15187         * modules/unictype/property-grapheme-base:
15188         * modules/unictype/property-grapheme-extend:
15189         * modules/unictype/property-grapheme-link:
15190         * modules/unictype/property-hex-digit:
15191         * modules/unictype/property-hyphen:
15192         * modules/unictype/property-id-continue:
15193         * modules/unictype/property-id-start:
15194         * modules/unictype/property-ideographic:
15195         * modules/unictype/property-ids-binary-operator:
15196         * modules/unictype/property-ids-trinary-operator:
15197         * modules/unictype/property-ignorable-control:
15198         * modules/unictype/property-iso-control:
15199         * modules/unictype/property-join-control:
15200         * modules/unictype/property-left-of-pair:
15201         * modules/unictype/property-line-separator:
15202         * modules/unictype/property-logical-order-exception:
15203         * modules/unictype/property-lowercase, modules/unictype/property-math:
15204         * modules/unictype/property-non-break:
15205         * modules/unictype/property-not-a-character:
15206         * modules/unictype/property-numeric:
15207         * modules/unictype/property-other-alphabetic:
15208         * modules/unictype/property-other-default-ignorable-code-point:
15209         * modules/unictype/property-other-grapheme-extend:
15210         * modules/unictype/property-other-id-continue:
15211         * modules/unictype/property-other-id-start:
15212         * modules/unictype/property-other-lowercase:
15213         * modules/unictype/property-other-math:
15214         * modules/unictype/property-other-uppercase:
15215         * modules/unictype/property-paired-punctuation:
15216         * modules/unictype/property-paragraph-separator:
15217         * modules/unictype/property-pattern-syntax:
15218         * modules/unictype/property-pattern-white-space:
15219         * modules/unictype/property-private-use:
15220         * modules/unictype/property-punctuation:
15221         * modules/unictype/property-quotation-mark:
15222         * modules/unictype/property-radical:
15223         * modules/unictype/property-sentence-terminal:
15224         * modules/unictype/property-soft-dotted:
15225         * modules/unictype/property-space:
15226         * modules/unictype/property-terminal-punctuation:
15227         * modules/unictype/property-test, modules/unictype/property-titlecase:
15228         * modules/unictype/property-unassigned-code-value:
15229         * modules/unictype/property-unified-ideograph:
15230         * modules/unictype/property-uppercase:
15231         * modules/unictype/property-variation-selector:
15232         * modules/unictype/property-white-space:
15233         * modules/unictype/property-xid-continue:
15234         * modules/unictype/property-xid-start:
15235         * modules/unictype/property-zero-width, modules/unictype/scripts:
15236         * modules/unictype/scripts-all, modules/unictype/syntax-c-ident:
15237         * modules/unictype/syntax-c-whitespace:
15238         * modules/unictype/syntax-java-ident:
15239         * modules/unictype/syntax-java-whitespace, modules/unigbrk/base:
15240         * modules/unigbrk/u16-grapheme-breaks:
15241         * modules/unigbrk/u16-grapheme-next, modules/unigbrk/u16-grapheme-prev:
15242         * modules/unigbrk/u32-grapheme-breaks:
15243         * modules/unigbrk/u32-grapheme-next, modules/unigbrk/u32-grapheme-prev:
15244         * modules/unigbrk/u8-grapheme-breaks, modules/unigbrk/u8-grapheme-next:
15245         * modules/unigbrk/u8-grapheme-prev, modules/unigbrk/uc-gbrk-prop:
15246         * modules/unigbrk/uc-is-grapheme-break:
15247         * modules/unigbrk/ulc-grapheme-breaks, modules/unilbrk/base:
15248         * modules/unilbrk/tables, modules/unilbrk/u16-possible-linebreaks:
15249         * modules/unilbrk/u16-width-linebreaks:
15250         * modules/unilbrk/u32-possible-linebreaks:
15251         * modules/unilbrk/u32-width-linebreaks:
15252         * modules/unilbrk/u8-possible-linebreaks:
15253         * modules/unilbrk/u8-width-linebreaks, modules/unilbrk/ulc-common:
15254         * modules/unilbrk/ulc-possible-linebreaks:
15255         * modules/unilbrk/ulc-width-linebreaks, modules/uniname/base:
15256         * modules/uniname/uniname, modules/uninorm/base:
15257         * modules/uninorm/canonical-decomposition:
15258         * modules/uninorm/compat-decomposition, modules/uninorm/composition:
15259         * modules/uninorm/decompose-internal, modules/uninorm/decomposing-form:
15260         * modules/uninorm/decomposition, modules/uninorm/decomposition-table:
15261         * modules/uninorm/filter, modules/uninorm/nfc, modules/uninorm/nfd:
15262         * modules/uninorm/nfkc, modules/uninorm/nfkd:
15263         * modules/uninorm/u16-normalize, modules/uninorm/u16-normcmp:
15264         * modules/uninorm/u16-normcoll, modules/uninorm/u16-normxfrm:
15265         * modules/uninorm/u32-normalize, modules/uninorm/u32-normcmp:
15266         * modules/uninorm/u32-normcoll, modules/uninorm/u32-normxfrm:
15267         * modules/uninorm/u8-normalize, modules/uninorm/u8-normcmp:
15268         * modules/uninorm/u8-normcoll, modules/uninorm/u8-normxfrm:
15269         * modules/unistdio/base, modules/unistdio/u-printf-args:
15270         * modules/unistdio/u16-asnprintf, modules/unistdio/u16-asprintf:
15271         * modules/unistdio/u16-printf-parse, modules/unistdio/u16-snprintf:
15272         * modules/unistdio/u16-sprintf, modules/unistdio/u16-u16-asnprintf:
15273         * modules/unistdio/u16-u16-asprintf, modules/unistdio/u16-u16-snprintf:
15274         * modules/unistdio/u16-u16-sprintf:
15275         * modules/unistdio/u16-u16-vasnprintf:
15276         * modules/unistdio/u16-u16-vasprintf:
15277         * modules/unistdio/u16-u16-vsnprintf:
15278         * modules/unistdio/u16-u16-vsprintf, modules/unistdio/u16-vasnprintf:
15279         * modules/unistdio/u16-vasprintf, modules/unistdio/u16-vsnprintf:
15280         * modules/unistdio/u16-vsprintf, modules/unistdio/u32-asnprintf:
15281         * modules/unistdio/u32-asprintf, modules/unistdio/u32-printf-parse:
15282         * modules/unistdio/u32-snprintf, modules/unistdio/u32-sprintf:
15283         * modules/unistdio/u32-u32-asnprintf:
15284         * modules/unistdio/u32-u32-asprintf, modules/unistdio/u32-u32-snprintf:
15285         * modules/unistdio/u32-u32-sprintf:
15286         * modules/unistdio/u32-u32-vasnprintf:
15287         * modules/unistdio/u32-u32-vasprintf:
15288         * modules/unistdio/u32-u32-vsnprintf:
15289         * modules/unistdio/u32-u32-vsprintf, modules/unistdio/u32-vasnprintf:
15290         * modules/unistdio/u32-vasprintf, modules/unistdio/u32-vsnprintf:
15291         * modules/unistdio/u32-vsprintf, modules/unistdio/u8-asnprintf:
15292         * modules/unistdio/u8-asprintf, modules/unistdio/u8-printf-parse:
15293         * modules/unistdio/u8-snprintf, modules/unistdio/u8-sprintf:
15294         * modules/unistdio/u8-u8-asnprintf, modules/unistdio/u8-u8-asprintf:
15295         * modules/unistdio/u8-u8-snprintf, modules/unistdio/u8-u8-sprintf:
15296         * modules/unistdio/u8-u8-vasnprintf, modules/unistdio/u8-u8-vasprintf:
15297         * modules/unistdio/u8-u8-vsnprintf, modules/unistdio/u8-u8-vsprintf:
15298         * modules/unistdio/u8-vasnprintf, modules/unistdio/u8-vasprintf:
15299         * modules/unistdio/u8-vsnprintf, modules/unistdio/u8-vsprintf:
15300         * modules/unistdio/ulc-asnprintf, modules/unistdio/ulc-asprintf:
15301         * modules/unistdio/ulc-fprintf, modules/unistdio/ulc-printf-parse:
15302         * modules/unistdio/ulc-snprintf, modules/unistdio/ulc-sprintf:
15303         * modules/unistdio/ulc-vasnprintf, modules/unistdio/ulc-vasprintf:
15304         * modules/unistdio/ulc-vfprintf, modules/unistdio/ulc-vsnprintf:
15305         * modules/unistdio/ulc-vsprintf, modules/unistr/base:
15306         * modules/unistr/u16-check, modules/unistr/u16-chr:
15307         * modules/unistr/u16-cmp, modules/unistr/u16-cmp2:
15308         * modules/unistr/u16-cpy, modules/unistr/u16-cpy-alloc:
15309         * modules/unistr/u16-endswith, modules/unistr/u16-mblen:
15310         * modules/unistr/u16-mbsnlen, modules/unistr/u16-mbtouc:
15311         * modules/unistr/u16-mbtouc-unsafe, modules/unistr/u16-mbtoucr:
15312         * modules/unistr/u16-move, modules/unistr/u16-next:
15313         * modules/unistr/u16-prev, modules/unistr/u16-set:
15314         * modules/unistr/u16-startswith, modules/unistr/u16-stpcpy:
15315         * modules/unistr/u16-stpncpy, modules/unistr/u16-strcat:
15316         * modules/unistr/u16-strchr, modules/unistr/u16-strcmp:
15317         * modules/unistr/u16-strcoll, modules/unistr/u16-strcpy:
15318         * modules/unistr/u16-strcspn, modules/unistr/u16-strdup:
15319         * modules/unistr/u16-strlen, modules/unistr/u16-strmblen:
15320         * modules/unistr/u16-strmbtouc, modules/unistr/u16-strncat:
15321         * modules/unistr/u16-strncmp, modules/unistr/u16-strncpy:
15322         * modules/unistr/u16-strnlen, modules/unistr/u16-strpbrk:
15323         * modules/unistr/u16-strrchr, modules/unistr/u16-strspn:
15324         * modules/unistr/u16-strstr, modules/unistr/u16-strtok:
15325         * modules/unistr/u16-to-u32, modules/unistr/u16-to-u8:
15326         * modules/unistr/u16-uctomb, modules/unistr/u32-check:
15327         * modules/unistr/u32-chr, modules/unistr/u32-cmp:
15328         * modules/unistr/u32-cmp2, modules/unistr/u32-cpy:
15329         * modules/unistr/u32-cpy-alloc, modules/unistr/u32-endswith:
15330         * modules/unistr/u32-mblen, modules/unistr/u32-mbsnlen:
15331         * modules/unistr/u32-mbtouc, modules/unistr/u32-mbtouc-unsafe:
15332         * modules/unistr/u32-mbtoucr, modules/unistr/u32-move:
15333         * modules/unistr/u32-next, modules/unistr/u32-prev:
15334         * modules/unistr/u32-set, modules/unistr/u32-startswith:
15335         * modules/unistr/u32-stpcpy, modules/unistr/u32-stpncpy:
15336         * modules/unistr/u32-strcat, modules/unistr/u32-strchr:
15337         * modules/unistr/u32-strcmp, modules/unistr/u32-strcoll:
15338         * modules/unistr/u32-strcpy, modules/unistr/u32-strcspn:
15339         * modules/unistr/u32-strdup, modules/unistr/u32-strlen:
15340         * modules/unistr/u32-strmblen, modules/unistr/u32-strmbtouc:
15341         * modules/unistr/u32-strncat, modules/unistr/u32-strncmp:
15342         * modules/unistr/u32-strncpy, modules/unistr/u32-strnlen:
15343         * modules/unistr/u32-strpbrk, modules/unistr/u32-strrchr:
15344         * modules/unistr/u32-strspn, modules/unistr/u32-strstr:
15345         * modules/unistr/u32-strtok, modules/unistr/u32-to-u16:
15346         * modules/unistr/u32-to-u8, modules/unistr/u32-uctomb:
15347         * modules/unistr/u8-check, modules/unistr/u8-chr:
15348         * modules/unistr/u8-cmp, modules/unistr/u8-cmp2, modules/unistr/u8-cpy:
15349         * modules/unistr/u8-cpy-alloc, modules/unistr/u8-endswith:
15350         * modules/unistr/u8-mblen, modules/unistr/u8-mbsnlen:
15351         * modules/unistr/u8-mbtouc, modules/unistr/u8-mbtouc-unsafe:
15352         * modules/unistr/u8-mbtoucr, modules/unistr/u8-move:
15353         * modules/unistr/u8-next, modules/unistr/u8-prev:
15354         * modules/unistr/u8-set, modules/unistr/u8-startswith:
15355         * modules/unistr/u8-stpcpy, modules/unistr/u8-stpncpy:
15356         * modules/unistr/u8-strcat, modules/unistr/u8-strchr:
15357         * modules/unistr/u8-strcmp, modules/unistr/u8-strcoll:
15358         * modules/unistr/u8-strcpy, modules/unistr/u8-strcspn:
15359         * modules/unistr/u8-strdup, modules/unistr/u8-strlen:
15360         * modules/unistr/u8-strmblen, modules/unistr/u8-strmbtouc:
15361         * modules/unistr/u8-strncat, modules/unistr/u8-strncmp:
15362         * modules/unistr/u8-strncpy, modules/unistr/u8-strnlen:
15363         * modules/unistr/u8-strpbrk, modules/unistr/u8-strrchr:
15364         * modules/unistr/u8-strspn, modules/unistr/u8-strstr:
15365         * modules/unistr/u8-strtok, modules/unistr/u8-to-u16:
15366         * modules/unistr/u8-to-u32, modules/unistr/u8-uctomb, modules/unitypes:
15367         * modules/uniwbrk/base, modules/uniwbrk/table:
15368         * modules/uniwbrk/u16-wordbreaks, modules/uniwbrk/u32-wordbreaks:
15369         * modules/uniwbrk/u8-wordbreaks, modules/uniwbrk/ulc-wordbreaks:
15370         * modules/uniwbrk/wordbreak-property, modules/uniwidth/base:
15371         * modules/uniwidth/u16-strwidth, modules/uniwidth/u16-width:
15372         * modules/uniwidth/u32-strwidth, modules/uniwidth/u32-width:
15373         * modules/uniwidth/u8-strwidth, modules/uniwidth/u8-width:
15374         * modules/uniwidth/width, modules/utf16-ucs4:
15375         * modules/utf16-ucs4-unsafe, modules/utf8-ucs4:
15376         * modules/utf8-ucs4-unsafe:
15377         Change maintainer from Bruno Haible to Daiki Ueno.
15378         This is my guess at the libunistring modules; please feel free
15379         to fix if I guessed incorrectly.
15380         * modules/accept4, modules/acl, modules/acos, modules/acosf:
15381         * modules/alignof, modules/amemxfrm, modules/ansi-c++-opt:
15382         * modules/areadlink, modules/array-list, modules/array-mergesort:
15383         * modules/array-oset, modules/asin, modules/asinf, modules/astrxfrm:
15384         * modules/atan, modules/atan2, modules/atan2f, modules/atanf:
15385         * modules/avltree-list, modules/avltree-oset, modules/avltreehash-list:
15386         * modules/binary-io, modules/bison-i18n, modules/btowc:
15387         * modules/c-ctype, modules/c-strcase, modules/c-strcaseeq:
15388         * modules/c-strcasestr, modules/c-strstr, modules/calloc-posix:
15389         * modules/canonicalize-lgpl, modules/careadlinkat, modules/carray-list:
15390         * modules/cbrt, modules/cbrt-ieee, modules/cbrtf, modules/cbrtf-ieee:
15391         * modules/cbrtl, modules/cbrtl-ieee, modules/ceil, modules/ceil-ieee:
15392         * modules/ceilf, modules/ceilf-ieee, modules/ceill, modules/ceill-ieee:
15393         * modules/chdir, modules/classpath, modules/clean-temp, modules/close:
15394         * modules/closedir, modules/concat-filename, modules/copy-file:
15395         * modules/copysign, modules/copysignf, modules/copysignl, modules/cos:
15396         * modules/cosf, modules/cosh, modules/coshf, modules/csharpcomp:
15397         * modules/csharpcomp-script, modules/csharpexec:
15398         * modules/csharpexec-script, modules/ctype, modules/diffseq:
15399         * modules/dprintf, modules/dprintf-posix, modules/dup:
15400         * modules/dup2-obsolete, modules/dup3, modules/duplocale:
15401         * modules/eealloc, modules/environ, modules/erf, modules/erfc:
15402         * modules/errno, modules/execute, modules/exp, modules/exp-ieee:
15403         * modules/exp2, modules/exp2-ieee, modules/exp2f, modules/exp2f-ieee:
15404         * modules/exp2l, modules/exp2l-ieee, modules/expf, modules/expf-ieee:
15405         * modules/expl, modules/expl-ieee, modules/expm1, modules/expm1-ieee:
15406         * modules/expm1f, modules/expm1f-ieee, modules/expm1l:
15407         * modules/expm1l-ieee, modules/fabs, modules/fabs-ieee, modules/fabsf:
15408         * modules/fabsf-ieee, modules/fabsl, modules/fabsl-ieee:
15409         * modules/fatal-signal, modules/fbufmode, modules/fchdir:
15410         * modules/fclose, modules/fd-hook, modules/fdopen, modules/filename:
15411         * modules/findprog, modules/findprog-lgpl, modules/floor:
15412         * modules/floor-ieee, modules/floorf, modules/floorf-ieee:
15413         * modules/floorl, modules/floorl-ieee, modules/fma, modules/fma-ieee:
15414         * modules/fmaf, modules/fmaf-ieee, modules/fmal, modules/fmal-ieee:
15415         * modules/fmod, modules/fmod-ieee, modules/fmodf, modules/fmodf-ieee:
15416         * modules/fmodl, modules/fmodl-ieee, modules/fopen, modules/fpieee:
15417         * modules/fprintf-posix, modules/fpucw, modules/fpurge:
15418         * modules/freadable, modules/freadahead, modules/freadptr:
15419         * modules/freadseek, modules/freopen, modules/frexp:
15420         * modules/frexp-ieee, modules/frexp-nolibm, modules/frexpf:
15421         * modules/frexpf-ieee, modules/frexpl, modules/frexpl-ieee:
15422         * modules/frexpl-nolibm, modules/fseek, modules/fseeko:
15423         * modules/fseterr, modules/fstat, modules/fstrcmp, modules/ftell:
15424         * modules/ftello, modules/full-read, modules/full-write:
15425         * modules/fwritable, modules/fwriteerror, modules/gcd:
15426         * modules/get-rusage-as, modules/get-rusage-data:
15427         * modules/getdtablesize, modules/getrusage, modules/gettext:
15428         * modules/gettext-h, modules/git-merge-changelog, modules/gperf:
15429         * modules/grantpt, modules/havelib, modules/host-cpu-c-abi:
15430         * modules/hostent, modules/hypot, modules/hypot-ieee, modules/hypotf:
15431         * modules/hypotf-ieee, modules/hypotl, modules/hypotl-ieee:
15432         * modules/iconv, modules/iconv-h, modules/iconv_open:
15433         * modules/iconv_open-utf, modules/idpriv-drop, modules/idpriv-droptemp:
15434         * modules/ilogb, modules/ilogbf, modules/ilogbl, modules/imaxabs:
15435         * modules/imaxdiv, modules/integer_length, modules/integer_length_l:
15436         * modules/integer_length_ll, modules/ioctl, modules/isatty:
15437         * modules/isblank, modules/isnand, modules/isnand-nolibm:
15438         * modules/isnanf, modules/isnanf-nolibm, modules/isnanl:
15439         * modules/isnanl-nolibm, modules/iswblank, modules/iswctype:
15440         * modules/j0, modules/j1, modules/javacomp, modules/javacomp-script:
15441         * modules/javaexec, modules/javaexec-script, modules/javaversion:
15442         * modules/jn, modules/langinfo, modules/ldd, modules/ldexp:
15443         * modules/ldexp-ieee, modules/ldexpf, modules/ldexpf-ieee:
15444         * modules/ldexpl, modules/ldexpl-ieee, modules/lgamma:
15445         * modules/lib-symbol-visibility, modules/libsigsegv:
15446         * modules/linked-list, modules/linkedhash-list, modules/list:
15447         * modules/localcharset, modules/locale, modules/localeconv:
15448         * modules/localename, modules/lock, modules/log, modules/log-ieee:
15449         * modules/log10, modules/log10-ieee, modules/log10f:
15450         * modules/log10f-ieee, modules/log10l, modules/log10l-ieee:
15451         * modules/log1p, modules/log1p-ieee, modules/log1pf:
15452         * modules/log1pf-ieee, modules/log1pl, modules/log1pl-ieee:
15453         * modules/log2, modules/log2-ieee, modules/log2f, modules/log2f-ieee:
15454         * modules/log2l, modules/log2l-ieee, modules/logb, modules/logb-ieee:
15455         * modules/logbf, modules/logbf-ieee, modules/logbl, modules/logbl-ieee:
15456         * modules/logf, modules/logf-ieee, modules/login_tty:
15457         * modules/logl-ieee, modules/malloc-posix, modules/malloca:
15458         * modules/mbchar, modules/mbfile, modules/mbiter, modules/mbmemcasecmp:
15459         * modules/mbmemcasecoll, modules/mbrlen, modules/mbrtowc:
15460         * modules/mbscasecmp, modules/mbscasestr, modules/mbschr:
15461         * modules/mbscspn, modules/mbsinit, modules/mbslen:
15462         * modules/mbsncasecmp, modules/mbsnlen, modules/mbsnrtowcs:
15463         * modules/mbspbrk, modules/mbspcasecmp, modules/mbsrchr:
15464         * modules/mbsrtowcs, modules/mbssep, modules/mbsspn, modules/mbsstr:
15465         * modules/mbstok_r, modules/mbswidth, modules/mbtowc, modules/mbuiter:
15466         * modules/memchr-obsolete, modules/memcmp2, modules/minmax:
15467         * modules/mkdtemp, modules/mkostemp, modules/mktime-internal:
15468         * modules/modf, modules/modf-ieee, modules/modff, modules/modff-ieee:
15469         * modules/modfl, modules/modfl-ieee, modules/msvc-inval:
15470         * modules/msvc-nothrow, modules/multiarch, modules/nextafter:
15471         * modules/nl_langinfo, modules/no-c++, modules/nocrash:
15472         * modules/nonblocking, modules/open, modules/opendir, modules/openmp:
15473         * modules/oset, modules/pclose, modules/pipe, modules/pipe-filter-gi:
15474         * modules/pipe-filter-ii, modules/pipe2, modules/poll-h:
15475         * modules/posix_spawn, modules/posix_spawn-internal:
15476         * modules/posix_spawn_file_actions_addclose:
15477         * modules/posix_spawn_file_actions_adddup2:
15478         * modules/posix_spawn_file_actions_addopen:
15479         * modules/posix_spawn_file_actions_destroy:
15480         * modules/posix_spawn_file_actions_init:
15481         * modules/posix_spawnattr_destroy, modules/posix_spawnattr_getflags:
15482         * modules/posix_spawnattr_getpgroup:
15483         * modules/posix_spawnattr_getschedparam:
15484         * modules/posix_spawnattr_getschedpolicy:
15485         * modules/posix_spawnattr_getsigdefault:
15486         * modules/posix_spawnattr_getsigmask, modules/posix_spawnattr_init:
15487         * modules/posix_spawnattr_setflags, modules/posix_spawnattr_setpgroup:
15488         * modules/posix_spawnattr_setschedparam:
15489         * modules/posix_spawnattr_setschedpolicy:
15490         * modules/posix_spawnattr_setsigdefault:
15491         * modules/posix_spawnattr_setsigmask, modules/posix_spawnp:
15492         * modules/pow, modules/powf, modules/printf-frexp:
15493         * modules/printf-frexpl, modules/printf-posix, modules/printf-safe:
15494         * modules/progname, modules/propername, modules/pselect:
15495         * modules/pthread_sigmask, modules/ptsname, modules/ptsname_r:
15496         * modules/qacl, modules/quotearg-simple, modules/raise, modules/random:
15497         * modules/rbtree-list, modules/rbtree-oset, modules/rbtreehash-list:
15498         * modules/read, modules/readdir, modules/readlink:
15499         * modules/realloc-posix, modules/regex-quote, modules/relocatable-lib:
15500         * modules/relocatable-lib-lgpl, modules/relocatable-perl:
15501         * modules/relocatable-prog, modules/relocatable-prog-wrapper:
15502         * modules/relocatable-script, modules/remainder:
15503         * modules/remainder-ieee, modules/remainderf, modules/remainderf-ieee:
15504         * modules/remainderl, modules/remainderl-ieee, modules/rewinddir:
15505         * modules/rint, modules/rint-ieee, modules/rintf, modules/rintf-ieee:
15506         * modules/rintl, modules/rintl-ieee, modules/round-ieee:
15507         * modules/roundf-ieee, modules/roundl-ieee, modules/safe-read:
15508         * modules/safe-write, modules/sched, modules/servent, modules/setenv:
15509         * modules/setlocale, modules/sh-quote, modules/shutdown:
15510         * modules/signal, modules/signbit, modules/sigpipe:
15511         * modules/sigpipe-die, modules/sigprocmask, modules/sin, modules/sinf:
15512         * modules/sinh, modules/sinhf, modules/size_max, modules/sleep:
15513         * modules/snippet/arg-nonnull, modules/snippet/c++defs:
15514         * modules/snippet/link-warning, modules/snippet/unused-parameter:
15515         * modules/snprintf, modules/snprintf-posix, modules/spawn:
15516         * modules/spawn-pipe, modules/sprintf-posix, modules/sqrt:
15517         * modules/sqrt-ieee, modules/sqrtf, modules/sqrtf-ieee:
15518         * modules/sqrtl-ieee, modules/stdalign, modules/stdarg:
15519         * modules/stdbool, modules/stpcpy, modules/stpncpy, modules/strcase:
15520         * modules/strcasestr, modules/strcasestr-simple, modules/strcspn:
15521         * modules/streq, modules/strerror_r-posix, modules/striconv:
15522         * modules/striconveh, modules/striconveha, modules/strncat:
15523         * modules/strnlen1, modules/strpbrk, modules/strtod-obsolete:
15524         * modules/sublist, modules/sys_resource, modules/sys_utsname:
15525         * modules/sys_wait, modules/system-posix, modules/system-quote:
15526         * modules/tan, modules/tanf, modules/tanh, modules/tanhf:
15527         * modules/tcgetsid, modules/termios, modules/threadlib, modules/tls:
15528         * modules/tmpdir, modules/towctrans, modules/trunc, modules/trunc-ieee:
15529         * modules/truncf, modules/truncf-ieee, modules/truncl:
15530         * modules/truncl-ieee, modules/ttyname_r, modules/uname:
15531         * modules/unlockpt, modules/unsetenv, modules/vasnprintf:
15532         * modules/vasnprintf-posix, modules/vasprintf, modules/vasprintf-posix:
15533         * modules/vdprintf, modules/vdprintf-posix, modules/vfprintf-posix:
15534         * modules/vfscanf, modules/vma-iter, modules/vprintf-posix:
15535         * modules/vscanf, modules/vsnprintf-posix, modules/vsprintf-posix:
15536         * modules/wait-process, modules/waitpid, modules/wcpcpy:
15537         * modules/wcpncpy, modules/wcrtomb, modules/wcscasecmp, modules/wcscat:
15538         * modules/wcschr, modules/wcscmp, modules/wcscoll, modules/wcscpy:
15539         * modules/wcscspn, modules/wcsdup, modules/wcslen, modules/wcsncasecmp:
15540         * modules/wcsncat, modules/wcsncmp, modules/wcsncpy, modules/wcsnlen:
15541         * modules/wcsnrtombs, modules/wcspbrk, modules/wcsrchr:
15542         * modules/wcsrtombs, modules/wcsspn, modules/wcsstr, modules/wcstok:
15543         * modules/wcswidth, modules/wcsxfrm, modules/wctob, modules/wctomb:
15544         * modules/wctrans, modules/wctype, modules/wcwidth, modules/wmemchr:
15545         * modules/wmemcmp, modules/wmemcpy, modules/wmemmove, modules/wmemset:
15546         * modules/write, modules/xconcat-filename, modules/xlist:
15547         * modules/xmalloca, modules/xoset, modules/xprintf-posix:
15548         * modules/xreadlink, modules/xsetenv, modules/xsize, modules/xstriconv:
15549         * modules/xstriconveh, modules/xsublist, modules/xvasprintf-posix:
15550         * modules/y0, modules/y1, modules/yn:
15551         Remove Bruno Haible as maintainer; if he's the sole maintainer,
15552         change the maintainer to 'all'.  Let's hope someone volunteers.
15554 2014-06-27  Paul Eggert  <eggert@cs.ucla.edu>
15556         mktime: merge #if/#ifdef usage from glibc
15557         * lib/mktime.c: Use "#if defined DEBUG && DEBUG", not "#if DEBUG",
15558         as that works with both Glibc's and Gnulib's style.
15559         See thread starting at Siddhesh Poyarekar's bug report at:
15560         http://lists.gnu.org/r/bug-gnulib/2014-06/msg00102.html
15562 2014-06-20  Alfred M. Szmidt  <ams@gnu.org>
15564         git-version-gen: improve option descriptions
15565         * build-aux/git-version-gen: Mention that --prefix and --fallback
15566         have a mandatory argument.
15568 2014-06-19  Paul Eggert  <eggert@penguin.cs.ucla.edu>
15570         regex: fix memory leak in compiler
15571         Fix by Andreas Schwab in:
15572         https://sourceware.org/ml/libc-alpha/2014-06/msg00462.html
15573         * lib/regcomp.c (parse_expression): Deallocate partially
15574         constructed tree before returning error.
15576         regex: merge patch from libc
15577         2014-02-12  Joseph Myers  <joseph@codesourcery.com>
15578         Combine __USE_BSD and __USE_SVID into __USE_MISC.
15579         * lib/regex.h [__USE_BSD]: Change condition to [__USE_MISC].
15581 2014-06-17  Paul Eggert  <eggert@cs.ucla.edu>
15583         acl: port to gcc -Wredundant-decls
15584         From a request by Dmitry Antipov in:
15585         http://lists.gnu.org/r/emacs-devel/2014-06/msg00263.html
15586         * lib/acl.h (_GL_ACL_H): New macro.  Protect entire contents with
15587         "#ifndef _GL_ACL_H".
15589 2014-06-11  Bruce Korb  <bkorb@gnu.org>
15590         Jim Meyering  <meyering@fb.com>
15592         parse-duration: eliminate 68-year duration limit
15593         * lib/parse-duration.c: Include "intprops.h".
15594         (TIME_MAX): Rename to MAX_DURATION and define to
15595         TYPE_MAXIMUM(time_t).
15596         * modules/parse-duration (Depends-on): Add intprops.
15597         Reported by Jonas 'Sortie' Termansen.
15599 2014-06-14  Paul Eggert  <eggert@cs.ucla.edu>
15601         pthread: don't assume AC_CANONICAL_HOST, port better to Solaris, etc.
15602         * modules/pthread (Depends-on): Add 'extensions', as it defines
15603         _POSIX_PTHREAD_SEMANTICS, which is needed on Solaris.
15604         (configure.ac-early): New section.
15605         * m4/pthread.m4 (gl_PTHREAD_CHECK): Revert previous change, as
15606         it is no longer needed.
15608 2014-06-14  Pádraig Brady  <P@draigBrady.com>
15610         pthread: define thread-safe macros on some platforms
15611         * m4/pthread.m4 (gl_PTHREAD_CHECK): Define macros needed
15612         for thread-safe operation on some platforms.
15614 2014-06-13  Paul Eggert  <eggert@cs.ucla.edu>
15616         regex: don't be multithreaded if USE_UNLOCKED_IO.
15617         Problem reported by Michael Felt in: http://bugs.gnu.org/17773
15618         * lib/regex_internal.h: Do not use multithreaded version if
15619         USE_UNLOCKED_IO is defined.  This is a hack, but it works
15620         around a porting bug with coreutils 8.22 on AIX 7.1.
15622 2014-06-11  Daiki Ueno  <ueno@gnu.org>
15624         gettext: update macros to version 0.19
15625         * m4/intl.m4, m4/po.m4: Update from gettext-0.19.  In particular,
15626         depend on gl_EXTERN_INLINE and drop support for older Bison
15627         versions.
15629 2014-06-10  Pádraig Brady  <P@draigBrady.com>
15631         select,poll: fix console handle check on windows 8
15632         lib/poll.c (IsConsoleHandle): Change from testing the lower
15633         2 bits of the handle to the more expensive but accurate syscall.
15634         lib/select.c: Likewise.
15636 2014-06-10  Eli Zaretskii  <eliz@gnu.org>
15638         select: fix waiting on anonymous pipes on MS-Windows
15639         * lib/select.c (rpl_select): Fall back to polling when select()
15640         indicates there is nothing to check, while due to the timeout not
15641         expiring, activity is indicated on one of the handles.
15642         Also clear the TIMEOUT argument if the timer does expire.
15644 2014-06-10  Eli Zaretskii  <eliz@gnu.org>
15646         times: fix to return non constant value on MS-Windows
15647         * lib/times.c (times): Don't use the process creation time,
15648         rather clock() which on windows returns the number of
15649         clock ticks since the process started.
15651 2014-06-09  Michael Goffioul  <michael.goffioul@gmail.com>
15653         isatty: fix to work on windows 8
15654         * lib/isatty.c (IsConsoleHandle): Change from testing the lower
15655         2 bits of the handle to the more expensive but accurate syscall.
15657 2014-06-07  Paul Eggert  <eggert@cs.ucla.edu>
15659         maint: fix typo in fdl.texi
15660         * doc/fdl.texi: Fix typo (missing '@').
15661         Somehow this was in fdl.texi but not fdl-1.3.texi.
15663 2014-06-06  Ben Walton  <bdwalton@gmail.com>
15665         mountlist: avoid hasmntopt const type warning on solaris
15666         * lib/mountlist.c: Solaris defines the OPT param of hasmntopt()
15667         with char * instead of const char *.  Passing the constant string
15668         "ignore" generates a compiler warning.  For Solaris cast MNT_IGNORE
15669         to avoid the warning.
15671 2014-06-04  Eric Blake  <eblake@redhat.com>
15673         maintainer-makefile: delete obsolete code
15674         * top/maint.mk (build_aux): Drop old code, as threatened.
15676         maintainer-makefile: avoid spurious error messages
15677         * top/maint.mk (syntax-check): Guard definition and use of
15678         $(shell) by whether Makefile is present.
15680 2014-06-03  Ben Walton  <bdwalton@gmail.com>
15682         rename: avoid unused-but-set-variable compiler warning
15683         * lib/rename.c (rpl_rename):  In the non-Win32 variant of rpl_rename,
15684         it is possible that dst_exists may be set but not used.  Mark it with
15685         the unused attribute to avoid compiler warnings.
15687 2014-06-02  Ben Walton  <bdwalton@gmail.com>
15689         rename: mark a label as potentially unused
15690         * lib/rename.c (rpl_rename): Avoid compiler warnings seen on Solaris,
15691         by marking the out label as potentially unused.
15692         * m4/gnulib-common.m4: Mention the need for the trailing ; for C++.
15694 2014-06-01  Paul Eggert  <eggert@cs.ucla.edu>
15696         gnulib-common.m4: Fix typo in _GL_UNUSED_LABEL.
15697         * m4/gnulib-common.m4 (_GL_UNUSED_LABEL): Omit trailing semicolon.
15699 2014-06-02  Ben Walton  <bdwalton@gmail.com>
15701         acl: apply pure attribute to two functions
15702         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial):
15703         Mark as "pure" as flagged by gcc 4.9 on Solaris 10.
15705 2014-06-01  Pádraig Brady  <P@draigBrady.com>
15707         gnulib-common.m4: add _GL_UNUSED_LABEL
15708         * m4/gnulib-common.m4: Add _GL_UNUSED_LABEL which is similar to
15709         _GL_UNUSED, but handles g++ < 4.5 not supporting this syntax.
15711 2014-05-31  Paul Eggert  <eggert@cs.ucla.edu>
15713         dup2, fcntl, fcntl-h: port to AIX 7.1
15714         This fixes some porting problems discovered when testing the latest
15715         grep snapshot on AIX 7.1.  I don't think if fixes any bugs
15716         in grep but it could be important for other applications.
15717         * doc/posix-functions/dup2.texi:
15718         * doc/posix-functions/fcntl.texi:
15719         * doc/posix-headers/fcntl.texi:
15720         Document AIX bugs.
15721         * lib/fcntl.in.h (O_CLOEXEC, O_NOFOLLOW, O_TTY_INIT) [_AIX]:
15722         Define to 0 if outside 'int' range.
15723         * m4/dup2.m4 (gl_FUNC_DUP2):
15724         * m4/fcntl.m4 (gl_FUNC_FCNTL):
15725         Check for getdtablesize.  If it's available, test a value just
15726         outside its range instead of testing 1000000.  When cross-compiling,
15727         guess that AIX will fail this improved test.
15729 2014-05-30  Paul Eggert  <eggert@cs.ucla.edu>
15731         printf, config.rpath: Port to FreeBSD 10.
15732         Problem reported by Tijl Coosemans in:
15733         http://lists.gnu.org/r/bug-gnulib/2014-05/msg00078.html
15734         * build-aux/config.rpath (hardcode_libdir_flag_spec)
15735         (hardcode_direct): Simplify FreeBSD configuration.
15736         (library_names_spec): Don't mishandle FreeBSD 10+.
15737         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE)
15738         (gl_PRINTF_INFINITE_LONG_DOUBLE, gl_PRINTF_DIRECTIVE_F)
15739         (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99)
15740         (gl_SNPRINTF_DIRECTIVE_N, gl_VSNPRINTF_ZEROSIZE_C99):
15741         Don't mishandle FreeBSD 10+ when cross-compiling.
15743         ftoastr: work around compiler bug in IBM xlc 12.1
15744         * lib/ftoastr.h (_GL_FLT_PREC_BOUND, _GL_DBL_PREC_BOUND)
15745         (_GL_LDBL_PREC_BOUND): Make these macros, not enums, to work
15746         around a compiler bug in IBM xlc 12.1.0.0: it complains
15747         '"ftoastr.c", line 80.37: 1506-045 (S) Undeclared identifier
15748         _GL_FLT_PREC_BOUND.'
15750 2014-05-30  Kieran Colford  <colfordk@gmail.com>
15752         valgrind-tests: fixed misleading help message
15753         * m4/valgrind-tests.m4: The help message generated by configure
15754         implied that valgrind was disabled by default, which it wasn't.
15755         Adjusted the help message using s/enable/disable/ to clarify.
15757 2014-05-30  Ulrich Weigand  <uweigand@de.ibm.com>
15759         isfinite, isinf, isnan tests: fix for little-endian PowerPC
15760         * tests/test-isfinite.c (test_isfinitel): Only manipulate the
15761         first double of a PowerPC "double double" pair.
15762         * tests/test-isinf.c (test_isinfl): Likewise.
15763         * tests/test-isnan.c (test_long_double): Likewise.
15764         * tests/test-isnanl.h (main): Likewise.
15765         * tests/test-signbit.c (test_signbitl): Likewise.
15767 2014-05-29  Paul Eggert  <eggert@cs.ucla.edu>
15769         exclude-tests: port to AIX 7.1
15770         * modules/exclude-tests (test_exclude_LDADD): Add $(LIBTHREAD).
15771         Needed on AIX 7.1 with xlc V12.1, otherwise it won't link because
15772         the regex code uses locks.
15774 2014-05-28  Paul Eggert  <eggert@cs.ucla.edu>
15776         pthread_sigmask, timer-time: use gl_THREADLIB only if needed
15777         Without this fix, Emacs would sometimes call sigprocmask instead
15778         of pthread_sigmask, which is a no-no in multithreaded applications.
15779         Problem reported by Jorgen Schaefer in <http://bugs.gnu.org/17561>.
15780         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
15781         Suppress check for pthread_sigmask working without -lpthread if
15782         the application always links with -lpthread.  Do not link with
15783         $LIBMULTITHREAD if gl_THREADLIB is not defined.
15784         * m4/timer_time.m4 (gl_TIMER_TIME):
15785         Require gl_THREADLIB only if it is defined.  Do not append
15786         $LIBMULTITHREAD to LIB_TIMER_TIME if gl_THREADLIB is not defined.
15788 2014-05-27  Sylvain Beucler  <beuc@beuc.net>.
15790         gnulib-tool: wget translations using --no-verbose rather than --quiet
15791         This allows the user to see error messages if any (--quiet hides them)
15792         * gnulib-tool: Invoke wget with --no-verbose, rather than --quiet.
15794 2014-05-27  Sylvain Beucler  <beuc@beuc.net>
15796         gnulib-tool: adjust translation wget to avoid a https redirection
15797         Context: http://translationproject.org/latest/gnulib redirects to
15798            https://translationproject.org/latest/gnulib/
15799         Rationale: if the user falls back to wget, she doesn't have rsync and
15800         is probably in a minimal build environment, where packages such as
15801         'ca-certificates' are missing as well, resulting in a failed (and
15802         difficult to detect since ignored) translation initial fetch.
15803         Consequently let's avoid https if possible, and add the missing
15804         trailing slash.  This also avoids an unnecessary 302 redirection.
15805         * gnulib-tool: Add trailing slash to gnulib URL.
15807 2014-05-22  Pádraig Brady  <P@draigBrady.com>
15809         getlogin_r-tests: check return value rather than errno
15810         * tests/test-getlogin_r.c (main): As per POSIX we should be
15811         verifying the return value from getlogin_r() rather than errno.
15813 2014-05-22  Pádraig Brady  <P@draigBrady.com>
15815         getlogin_r-tests: fix various issues in recent change
15816         * tests/test-getlogin_r.c: Include required headers that were
15817         missed in recent commit eec20b4e.
15818         Also consistently check the errno rather than the return value from
15819         getlogin_r as POSIX only specifies that non zero is returned on error.
15820         * modules/getlogin_r-tests (configure.ac): Add the check for ttyname().
15822 2014-05-21  Paul Eggert  <eggert@cs.ucla.edu>
15824         fchdir: port 'open' and 'close' redefinitions to AIX 7.1
15825         * lib/chown.c, lib/clean-temp.c, lib/copy-file.c, lib/execute.c:
15826         * lib/fsusage.c, lib/gc-gnulib.c, lib/javacomp.c, lib/mountlist.c:
15827         * lib/openat-proc.c, lib/pagealign_alloc.c, lib/progreloc.c:
15828         * lib/spawn-pipe.c:
15829         Do not #undef 'open' and 'close'.  AIX 7 does '#define open open64'
15830         and then 'int open64(const char *, int, ...);', which means the
15831         declaration for 'open' gets lost if we later '#undef open'.
15832         Discovered while building grep pretest 2.18.151-1c770 on AIX 7.1,
15833         where the compilation reported the non-fatal error "In function
15834         'openat_proc_name' ... warning: implicit declaration of function
15835         'open'".  In this case the error is relatively harmless, but in
15836         other cases it might not be so minor.
15838 2014-05-20  Paul Eggert  <eggert@cs.ucla.edu>
15840         xalloc: don't potentially generate invalid code for xmemdup calls
15841         * lib/xalloc.h (xmemdup): Do not mark with _GL_ATTRIBUTE_ALLOC, as
15842         this function can initialize the newly-allocated storage with new
15843         pointers, which means this function is not malloc-like.  See:
15844         https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56955
15846 2014-05-19  Pádraig Brady  <P@draigBrady.com>
15848         getlogin_r-tests: avoid false failure under sudo/ssh etc.
15849         * tests/test-getlogin_r.c (main): Sync up with test-getlogin.c
15850         changes from commit 97249cf29 to not depend on environment variables.
15852 2014-05-18  Pádraig Brady  <P@draigBrady.com>
15854         getlogin-tests: avoid false failure under cron
15855         * tests/test-getlogin.c (main): Avoid verifying errnos from ttyname()
15856         since that's not what's under test.  Centos 6 was seen to return
15857         EINVAL for ttyname() when run from cron.
15859 2014-05-16  Jim Meyering  <meyering@fb.com>
15861         mbrtowc.m4: fix a comment typo
15862         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Fix typo s/2/-2/ in
15863         emitted documentation string.
15865 2014-05-16  Paul Eggert  <eggert@cs.ucla.edu>
15867         mbrlen, mbrtowc: fix bug with empty input
15868         * lib/mbrtowc.c (rpl_mbrtowc) [MBRTOWC_EMPTY_INPUT_BUG]: Fix the bug.
15869         * m4/mbrlen.m4 (gl_MBRLEN_EMPTY_INPUT): New macro.  It's not used,
15870         so this is mainly for documentation.
15871         * m4/mbrtowc.m4 (gl_MBRTOWC_EMPTY_INPUT): New macro.
15872         (gl_FUNC_MBRTOWC): Use it.
15873         * tests/test-mbrtowc.c (main): Test for the bug.
15875 2014-05-15  Paul Eggert  <eggert@cs.ucla.edu>
15877         doc: document mbrtowc and mbrlen problem with empty input
15878         * doc/posix-functions/mbrlen.texi (mbrlen):
15879         * doc/posix-functions/mbrtowc.texi (mbrtowc):
15880         Document portability problem when the input string is empty.  See:
15881         https://sourceware.org/bugzilla/show_bug.cgi?id=16950
15883         doc: document exec* = spawn+exit bug with non-Cygwin Windows platforms
15884         Problem reported by Eli Zaretskii in:
15885         http://lists.gnu.org/r/bug-grep/2014-05/msg00118.html
15886         * doc/posix-functions/execl.texi (execl):
15887         * doc/posix-functions/execle.texi (execle):
15888         * doc/posix-functions/execlp.texi (execlp):
15889         * doc/posix-functions/execv.texi (execv):
15890         * doc/posix-functions/execve.texi (execve):
15891         * doc/posix-functions/execvp.texi (execvp):
15892         Mention spawn+exit problem on non-Cygwin Windows platforms.
15894 2014-05-14  Guilherme de Almeida Suckevicz  <guito.linux@gmail.com>
15896         getlogin-tests: avoid false failure under sudo/ssh etc.
15897         * modules/getlogin-tests (configure.ac): Check for ttyname().
15898         * tests/test-getlogin.c (main): Don't depend on environment variables
15899         to correlate with getlogin(), since sudo and ssh etc. can tamper
15900         with the LOGNAME and USER env vars.  Instead lookup the name from
15901         the uid associated with the stdin tty.
15903 2014-05-11  Paul Eggert  <eggert@cs.ucla.edu>
15905         mbsstr, quotearg, xstrtol: pacify IRIX 6.5 cc
15906         These were found when building the latest grep snapshot on IRIX 6.5.
15907         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Break "a=b=c;" into
15908         "b=c; a=b;", since IRIX 6.5 cc complains about the former if b is
15909         never used later.
15910         * lib/quotearg.c (quoting_options_from_style):
15911         * lib/xstrtol.c (__xstrtol):
15912         Use enum instead of 0, to pacify IRIX 6.5 cc.
15914 2014-04-18  Pádraig Brady  <P@draigBrady.com>
15916         gitlog-to-changelog: revert inclusion of git-log-fix file
15917         * build-aux/git-log-fix: Delete dummy file.
15918         * modules/gitlog-to-changelog: Don't reference (overwrite)
15919         the project specific git-log-fix file.
15921 2014-04-18  Assaf Gordon  <agordon@wi.mit.edu>
15923         maint.mk: Relax the copyright check to cater for non FSF projects
15924         * top/maint.mk (sc_copyright_check): Relax the check for $PACKAGE.texi
15925         to not require the "Free" suffix after the copyright years.
15927 2014-04-18  Natanael Copa  <ncopa@alpinelinux.org>
15929         physmem: use sysinfo on linux-gnu if _SC_PHYS_PAGES unavailable
15930         * lib/physmem.c (physmem_total): Some systems like musl libc don't yet
15931         support _SC_PHYS_PAGES.  Use the linux syscall sysinfo as fallback
15932         if _SC_PHYS_PAGES or _SC_PAGESIZE fails.
15933         (physmem_available): Likewise for _SC_AVPHYS_PAGES.
15935 2014-04-18  Paul Eggert  <eggert@cs.ucla.edu>
15937         exclude: port to strict C99
15938         Strict C does not allow converting a function pointer to void *
15939         and vice versa.  Pass a pointer to a function pointer instead.
15940         * lib/exclude.c (add_exclude_file):
15941         Pass the address of the function pointer.
15942         (call_addfn): And deference the address here, to match.
15944 2014-04-17  Paul Eggert  <eggert@cs.ucla.edu>
15946         regex: do not depend on malloc-gnu
15947         * modules/regex (Depends-on): Remove malloc-gnu.
15948         It's no longer needed, because of the 2012-12-29 patch
15949         "regex: port to hosts where malloc (0) == NULL".
15950         Reported by Nathan Kennedy in:
15951         http://lists.gnu.org/r/bug-gnulib/2014-04/msg00026.html
15953 2014-04-16  Assaf Gordon  <agordon@wi.mit.edu>
15955         expl: avoid incorrect expl(small_value) on OpenBSD 5.4
15956         * m4/expl.m4 (gl_FUNC_EXPL): Add a check for this condition.
15957         * doc/posix-functions/expl.texi: Mention the workaround.
15959 2014-04-12  Paul Eggert  <eggert@cs.ucla.edu>
15961         xalloc: allow x2nrealloc (P, PN, S) where P && !*PN
15962         * lib/xalloc.h (x2nrealloc): Extend slightly, to allow the current
15963         size to be zero even when the pointer is nonnull.  This
15964         accommodates the use case where P is malloc (0) and *PN is 0 on a
15965         host where malloc (0) yields nonnull.
15967 2014-04-09  Eric Blake  <eblake@redhat.com>
15969         fts: avoid unnecessary strlen calls
15970         * lib/fts.c (_D_EXACT_NAMLEN): Restore definition when needed.
15972 2014-04-09  Paul Eggert  <eggert@cs.ucla.edu>
15974         fts: avoid unnecessary strlen calls
15975         * lib/fts.c (fts_build): Go back to using _D_EXECT_NAMLEN
15976         when that can be faster than strlen.
15978 2014-03-26  Bernhard Voelker  <mail@bernhard-voelker.de>
15980         fts: avoid unnecessary strlen calls
15981         * lib/fts.c (_D_EXACT_NAMLEN): Remove macro.
15982         (fts_build): Store the length of the dp->d_name entry in a local variable
15983         instead of calling strlen() several times via the above, removed macro.
15984         For 'rm -rf some-dir' with e.g. 1M directory entries, this speeds up the
15985         run by ~4%, yet this reduces the execution time by about a third if run
15986         via "ltrace -c rm -rf some-dir".
15988 2014-03-27  Paul Eggert  <eggert@cs.ucla.edu>
15990         obstack: Remove ancient NeXTSTEP gcc support conditional
15991         This change will ease merging with glibc.  The "#if ... __NEXT__"
15992         causes a warning with -Wundef which glibc now enables by default.
15993         Problem reported by Will Newton in
15994         <http://lists.gnu.org/r/bug-gnulib/2014-03/msg00032.html>.
15995         glibc <sys/cdefs.h> now uses __extension__ for GCC 2.8 or later,
15996         so go with that.
15997         * lib/obstack.h (__extension__):
15999 2014-03-27  Paul Eggert  <eggert@cs.ucla.edu>
16001         obstack: merge with glibc changes
16002         * lib/obstack.c, lib/obstack.h: Merge from glibc.
16003         This is mostly indenting and commentary changes.
16004         Instances of 'register' have been removed.
16006 2014-03-26  Bernhard Voelker  <mail@bernhard-voelker.de>
16008         strftime: wrap macros in "do {...} while(0)"
16009         * lib/strftime.c (DO_NUMBER): Wrap multi-statement code block of
16010         this macro in "do {...} while(0)" to prevent false use as a
16011         single statement, e.g., in an un-braced "{}" else-block.
16012         (DO_SIGNED_NUMBER, DO_TZ_OFFSET, DO_NUMBER_SPACEPAD): Likewise.
16013         (strftime_case_): Remove 'else' after 'goto' - which was the
16014         only non-fatal, un-braced use of one of the above macros.
16015         Spotted by coverity (NESTING_INDENT_MISMATCH).
16017 2014-03-26  Bernhard Voelker  <mail@bernhard-voelker.de>
16019         modechange: avoid memory leaks for invalid octal modes
16020         * lib/modechange.c (mode_compile): During the parsing of
16021         notations like +40, free the 'mc' buffer for invalid mode
16022         strings like +17777 (greater than the maximum octal mode),
16023         =18 (bad octal mode characters) or u=1 ('affected' with
16024         octal modes).
16025         Reproducer, e.g.:
16026             $ valgrind --leak-check=full chmod +17777 file
16027         Introduced via the 2012-03-09 commit, 4730c3e3, "modechange:
16028         add notations +40, 00440, etc.".
16029         Spotted by coverity (RESOURCE_LEAK).
16031 2014-03-24  Paul Eggert  <eggert@cs.ucla.edu>
16033         gitlog-to-changelog: include a dummy git-log-fix file
16034         Problem reported by Nathan Stratton Treadway in:
16035         http://lists.gnu.org/r/bug-tar/2014-03/msg00082.html
16036         * build-aux/git-log-fix: New file.
16038 2014-03-13  Jim Meyering  <meyering@fb.com>
16040         gitlog-to-changelog: also include the file, git-log-fix
16041         * modules/gitlog-to-changelog (Files): Add git-log-fix.
16042         Reported by Assaf Gordon.
16044 2014-03-06  Paul Eggert  <eggert@cs.ucla.edu>
16046         regex: port to OS X 10.8.5 en_US.UTF-8 locale
16047         This fixes a bug when ignoring case and when comparing the
16048         titlecase letter 'Lj' (U+01C8 LATIN CAPITAL LETTER L WITH SMALL
16049         LETTER J) to the corresponding uppercase letter 'LJ' (U+01C7 LATIN
16050         CAPITAL LETTER LJ).  In the OS X 10.8.5 en_US.UTF-8 locale, the
16051         titlecase letter is neither lowercase nor uppercase, but
16052         uppercasing the titlecase letter (via towupper) yields the
16053         uppercase letter, so the two letters should match when ignoring case.
16054         Problem reported by Jim Meyering in <http://debbugs.gnu.org/16911#16>.
16055         * lib/regex_internal.c (build_wcs_upper_buffer, build_upper_buffer):
16056         Don't test whether a character is lowercase before uppercasing it.
16058 2014-03-04  Kevin Cernekee  <cernekee@gmail.com>
16060         stdint, read-file: fix missing SIZE_MAX on Android (tiny change)
16061         This is basically one of the options Bruno Haible proposed in:
16062         http://lists.gnu.org/r/bug-gnulib/2012-01/msg00282.html
16063         * lib/sys_types.in.h (_GL_INCLUDING_UNISTD_H): New macro.
16064         * lib/stdint.in.h: Use it.
16065         * modules/stdint (Depends-on): Add sys_types.
16067 2014-02-26  Pádraig Brady  <P@draigBrady.com>
16069         parse-datetime: fix crash or infloop in TZ="" parsing
16070         * lib/parse-datetime.y (parse_datetime): Break out of the
16071         TZ="" parsing loop once the second significant " is found.
16072         Also skip over any subsequent whitespace to be consistent
16073         with the non TZ= case.
16074         * tests/test-parse-datetime.c: Add test cases for TZ="" parsing.
16076 2014-02-26  Paul Eggert  <eggert@cs.ucla.edu>
16078         savedir: new symbol for fast-read version
16079         * lib/savedir.h (SAVEDIR_SORT_FASTREAD): New symbol, for programs
16080         like GNU cp that want to use SAVEDIR_SORT_INODE if available,
16081         SAVEDIR_SORT_NONE otherwise.  Problem reported by Bernhard Voelker in:
16082         http://lists.gnu.org/r/coreutils/2014-02/msg00037.html
16084 2014-02-25  Paul Eggert  <eggert@penguin.cs.ucla.edu>
16086         unistd: port readlink to Mac OS X 10.3.9
16087         * lib/unistd.in.h (_GL_INCLUDING_UNISTD_H): New macro, to work
16088         around self-include problem in Mac OS X 10.3.9 when combined with
16089         readlink module.  Problem reported by Klaus Zietler in
16090         <http://bugs.gnu.org/16825>.
16092 2014-02-23  Paul Eggert  <eggert@cs.ucla.edu>
16094         diffseq: remove TOO_EXPENSIVE heuristic
16095         Problem with diffutils reported by Vincent Lefevre in
16096         <http://bugs.gnu.org/16848>.  The simplest solution is to remove
16097         the TOO_EXPENSIVE heuristic that I added to GNU diff in 1993.
16098         Although appropriate for circa-1993 hardware, these days the heuristic
16099         seems to be more trouble than it's worth.
16100         * lib/diffseq.h: Modernize citations.
16101         (struct context): Remove member too_expensive.
16102         All uses changed.
16103         (struct partition): Remove members lo_minimal, hi_minimal.
16104         All uses changed.
16105         (diag, compareseq): Remove arg find_minimal.  All uses changed.
16106         (diag): Remove the TOO_EXPENSIVE heuristic that I added back in
16107         1993 to make 'diff' run faster (but not as well) on large inputs.
16108         These days, computers are fast enough that it's typically better
16109         to run slower but more accurately.
16110         * lib/fstrcmp.c: Remove duplicate comment.
16111         * lib/fstrcmp.c (strcmp_bounded):
16112         * lib/git-merge-changelog.c (compute_differences):
16113         Adjust to diffseq.h changes.
16114         * NEWS: Document the change.
16116         savedir: simplify by using stpcpy
16117         * lib/savedir.c (direntry_t): Remove size member.  All uses removed.
16118         (streamsavedir): Use stpcpy instead.
16119         * modules/savedir (Depends-on): Add stpcpy.
16121 2014-02-21  Pádraig Brady  <P@draigBrady.com>
16123         spawn: fix link error on uclibc
16124         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): use AC_SEARCH_LIBS,
16125         to incorporate -lrt if needed (on uclibc for example).
16126         * modules/posix_spawn: Reference the substituted LIB.
16128 2014-02-21  Thomas Petazzoni  <thomas.petazzoni@free-electrons.com>  (tiny change)
16129         timer: fix uClibc detection of threading
16130         * m4/time_time.m4 (gl_TIMER_TIME): Detect whether threads are
16131         enabled in uClibc.
16133 2014-02-21  Eric Blake  <eblake@redhat.com>
16135         maintainer-makefiles: provide AC_PROG_SED for older autoconf
16136         * m4/gnulib-common.m4 (AC_PROG_SED): Copy from newer autoconf.
16138 2014-02-21  Sergey Poznyakoff  <gray@gnu.org.ua>
16140         exclude: add support for posix regexps
16142         This commit adds support for POSIX extended regular expressions
16143         and fixes a long-standing memory leak (pattern buffer was never
16144         freed).  It also implements a new interface function to read
16145         exclude patterns from a FILE, which passes an additional parameter
16146         to its callback function, thereby allowing to preserve its state
16147         between invocations.
16149         * lib/exclude.c (struct patopts): Pack regex and pattern into union.
16150         (pattern_buffer): New struct.
16151         (exclude): New member patbuf.
16152         (exclude_add_pattern_buffer): New function.
16153         (free_exclude_segment): Free regexps.
16154         (free_exclude): Free allocated pattern buffers.
16155         (exclude_patopts): New function.
16156         (file_pattern_matches): Use exclude_patopts.
16157         (add_exclude): support regexps.
16158         (add_exclude_fp): New function.
16159         (add_exclude_file): Rewrite using add_exclude_fp.
16160         (fnmatch_pattern_has_wildcards): Support posix extended regexps.
16161         * lib/exclude.h (EXCLUDE_REGEX, EXCLUDE_ALLOC): New flags.
16162         (add_exclude_fp)
16163         (add_exclude_file): Rewrite using add_exclude_fp.
16164         (fnmatch_pattern_has_wildcards): Support posix extended regexps.
16165         * lib/exclude.h (EXCLUDE_REGEX, EXCLUDE_ALLOC): New flags.
16166         (add_exclude_fp)
16167         (exclude_add_pattern_buffer): New prototypes.
16168         * modules/exclude: Depends on regex and filename.
16170 2014-02-20  Eric Blake  <eblake@redhat.com>
16172         maintainer-makefiles: use $(SED) for syntax check
16173         * modules/maintainer-makefile (configure.ac): Check for sane sed.
16174         * top/maint.mk: Change sed to $(SED).
16176 2014-02-11  Sergey Poznyakoff  <gray@gnu.org.ua>
16177             Paul Eggert  <eggert@cs.ucla.edu>
16179         savedir: add sorting arg to savedir, streamsavedir; remove fdsavedir
16180         Patch based on an idea by Dick Streefland in
16181         <https://savannah.gnu.org/patch/?7892>.
16182         * NEWS: Document this.
16183         * lib/savedir.c (NAME_SIZE_DEFAULT): Remove.
16184         (direntry_t, comparison_function): New types.
16185         (direntry_cmp_name): New function.
16186         (direntry_cmp_inode) [D_INO_IN_DIRENT]: New function.
16187         (streamsavedir, savedir): New arg OPTION.
16188         (streamsavedir): Simplify memory allocation.
16189         (fdsavedir): Remove.
16190         * lib/savedir.h (enum savedir_option): New type.
16191         (streamsavedir, savedir): New arg OPTION.
16192         (fdsavedir): Remove.
16194 2014-02-05  Paul Eggert  <eggert@cs.ucla.edu>
16196         file-type: add support for doors and other less-common file types
16197         Problem with S_ISDOOR reported by Rich Burridge.
16198         * lib/file-type.c (file_type): Do S_ISLNK early too.  Do S_TYPEIS*
16199         macros before the rest.  Add S_ISCTG, S_ISDOOR, S_ISMPB, S_ISMPC,
16200         S_ISMPX, S_ISNAM, S_ISNWK, S_ISOFD, S_ISOFL, S_ISPORT, S_ISWHT.
16202 2014-01-23  Eric Blake  <eblake@redhat.com>
16204         pthread: work around winpthread header pollution on mingw
16205         * lib/time.in.h: Move pthread workarounds...
16206         * lib/pthread.in.h: ...here.
16207         * m4/pthread.m4 (gl_PTHREAD_CHECK): Also build pthread.h when we
16208         detect macro pollution on mingw.
16209         * doc/posix-headers/pthread.texi (pthread.h): Document the problems.
16211 2014-01-22  Paul Eggert  <eggert@cs.ucla.edu>
16213         qacl: check for fchmod
16214         * m4/acl.m4 (gl_FUNC_ACL): Check for fchmod, since acl-internal.h
16215         and qset-acl.c both use HAVE_FCHMOD.
16217 2014-01-20  Paul Eggert  <eggert@cs.ucla.edu>
16219         fdopen-tests: port to Tru64
16220         * tests/test-fdopen.c (main): Don't invoke fdopen on a file
16221         descriptor that is not open, as POSIX doesn't specify the
16222         resulting behavior and the test does not work on Tru64.
16223         Problem reported by Steven M. Schweda in:
16224         http://lists.gnu.org/r/bug-gnulib/2014-01/msg00079.html
16226         stdalign: port to HP-UX compilers
16227         * lib/stdalign.in.h (_Alignas): Use __attribute__ (__aligned__ (x))
16228         if __HP_cc or __HP_aCC are nonzero.
16230 2014-01-16  Paul Eggert  <eggert@cs.ucla.edu>
16232         strtoimax: port to platforms lacking 'long long'
16233         VMS's pre-C99 compiler lacks 'long long', so 'configure' doesn't
16234         check whether strtoll is declared, which causes the C file to
16235         wrongly report an error.  Problem reported by Steven M. Schweda in:
16236         http://lists.gnu.org/r/bug-diffutils/2014-01/msg00003.html
16237         * lib/strtoimax.c (strtoull):
16238         Declare only if HAVE_UNSIGNED_LONG_LONG_INT.
16239         (strtoll): Declare only if HAVE_LONG_LONG_INT.
16241 2014-01-16  Daniel Albers  <daniel@lbe.rs>  (tiny change)
16243         relocatable-perl: fix texi syntax
16244         * doc/relocatable-maint.texi: Escape braces.
16246 2014-01-09  Reuben Thomas  <rrt@sc3d.org>
16248         relocatable-perl: like relocatable-script, but for Perl scripts
16249         * build-aux/relocatable.pl.in: Add.
16250         * doc/relocatable-maint.texi: Add documentation.
16251         * modules/relocatable-perl: Add.
16253 2014-01-07  Paul Eggert  <eggert@cs.ucla.edu>
16255         tests: fix export bug in previous patch
16256         Problem reported by Jim Meyering.
16257         * tests/init.sh (re_shell): New var, which is exported instead of
16258         re_shell_.
16260         tests: simplify porting to Solaris 10 /bin/sh
16261         Some test cases in 'grep' need a shell that groks '$(';
16262         export re_shell_ for their benefit.  Problem reported for 'grep'
16263         by Dagobert Michelsen in <http://bugs.gnu.org/16380>.
16264         * tests/init.sh (re_shell_): Export if it's used.
16266 2014-01-06  Eric Blake  <eblake@redhat.com>
16268         md5, sha1, sha256, sha512: support older autoconf
16269         * m4/00gnulib.m4 (m4_divert_push): Wrap diversion stack
16270         for autoconf < 2.63b.
16272         include_next: port to autoconf 2.63
16273         * m4/gnulib-common.m4 (AS_VAR_COPY): Define if missing.
16275 2014-01-04  Jim Meyering  <meyering@fb.com>
16277         maint: add a gnulib-local rule to keep non-ascii out of .texi files
16278         * cfg.mk (sc_keep_gnulib_texi_files_mostly_ascii): New rule,
16279         so that "make sc_maint" will ding anyone who puts non-ascii
16280         in any of gnulib's .texi files.
16282 2014-01-03  Jim Meyering  <meyering@fb.com>
16284         freadable, fwritable, fwriting: declare with the "pure" attribute
16285         * lib/freadable.h (freadable): Declare with the "pure" attribute.
16286         * lib/fwritable.h (fwritable): Likewise.
16287         * lib/fwriting.h (fwriting): Likewise.
16288         Suggested by Bruno Haible.
16290         maint.mk: adapt openat.h-include-without-use test
16291         * top/maint.mk (sc_prohibit_openat_without_use): Also check for
16292         FCHMODAT_INLINE, FCHOWNAT_INLINE and STATAT_INLINE, to avoid
16293         failing on gnulib's own lib/{chmod,chown,stat}at.c files.
16294         With this change, running "make sc_maint" in gnulib's top-level
16295         directory now passes for me.
16297 2014-01-03  Paul Eggert  <eggert@cs.ucla.edu>
16299         doc: use ASCII in .texi files where UTF-8 isn't needed
16300         * doc/posix-functions/crypt.texi, doc/posix-functions/encrypt.texi:
16301         * doc/posix-functions/setkey.texi, doc/regex.texi:
16302         Use ASCII input, not UTF-8.
16304 2014-01-02  Jim Meyering  <meyering@fb.com>
16306         freading: declare with the "pure" attribute
16307         * lib/freading.h (freading): Declare with the "pure" attribute.
16309         manywarnings: remove -Wmudflap
16310         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Remove -Wmudflap, since
16311         it is no longer supported in gcc-4.9-to-be.
16313 2014-01-01  Paul Eggert  <eggert@cs.ucla.edu>
16315         relocatable-script: remove unused code
16316         Problem reported by Reuben Thomas in:
16317         http://lists.gnu.org/r/bug-gnulib/2013-12/msg00117.html
16318         * build-aux/relocatable.sh.in (func_tmpdir): Remove unused function.
16320 2014-01-01  Jim Meyering  <meyering@fb.com>
16322         maint: fix public-submodule-commit to work with newer git
16323         * top/maint.mk (public-submodule-commit): Remove excess quoting.
16324         We were over-quoting the test arguments, and somewhere prior to
16325         version 1.8.5.2.229, git stopped removing those excess quotes,
16326         which made the test fail, since the unexpanded strings would
16327         always differ; using GIT_TRACE=1 confirmed that the git merge-base
16328         command wasn't even being run.
16330 2014-01-01  Paul Eggert  <eggert@cs.ucla.edu>
16332         doc: update main copyright year
16333         * doc/gnulib.texi: Update copyright date.
16335 2014-01-01  Eric Blake  <eblake@redhat.com>
16337         version-etc: new year
16338         * lib/version-etc.c (COPYRIGHT_YEAR): Bump to 2014.
16339         * all files: run 'make update-copyright'
16341 2013-12-24  Eric Blake  <eblake@redhat.com>
16343         passfd: give nicer error for recvfd at eof
16344         * lib/passfd.c (recvfd): Fake ENOTCONN if other end closes early.
16345         * tests/test-passfd.c (main): Enhance test to cover this.
16347 2013-12-17  Paul Eggert  <eggert@cs.ucla.edu>
16349         gettimeofday: port recent C++ fix to Emacs
16350         Without this further patch, Emacs won't build due to
16351         the portcheck failing.  Also, this simplifies the patch a bit.
16352         * lib/time.in.h (localtime, gmtime): Don't replace unless
16353         GNULIB_GETTIMEOFDAY.  Treat them more like mktime.
16354         * lib/time.in.h (localtime, gmtime):
16355         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME):
16356         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS):
16357         * modules/time (time.h):
16358         Don't worry about the possibility of localtime and gmtime
16359         being absent; they're present in all C libraries we know about.
16360         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS):
16361         Don't assume sys_time is present and has been initialized.
16362         Instead, use a hack that should work even if it hasn't been.
16363         Don't use a portcheck for gmtime or localtime; this supports
16364         the hack.
16365         * modules/time (time.h): Substitute GNULIB_GETTIMEOFDAY.
16367 2013-12-17  John W. Eaton  <jwe@gnu.org>
16369         gettimeofday: fix C++ crosscompilation
16371         Never replace gmtime and localtime by macros when compiling with
16372         C++, this prevents <ctime> from being included.
16374         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Do not
16375         define gmtime and localtime as preprocessor macros.  Instead
16376         define some HAVE_GMTIME, HAVE_LOCALTIME, REPLACE_GMTIME, and
16377         REPLACE_LOCALTIME substitutions.
16378         * lib/time.in.h: Declare gmtime and localtime when needed.
16379         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): AC_SUBST HAVE_GMTIME,
16380         HAVE_LOCALTIME, REPLACE_GMTIME, and REPLACE_LOCALTIME.
16381         * modules/time: Depend on gettimeofday, and substitute the above
16382         variables in time.h.
16384 2013-12-17  Paul Eggert  <eggert@cs.ucla.edu>
16386         qacl: port to Windows better
16387         See Eli Zaretskii in
16388         <http://lists.gnu.org/r/emacs-devel/2013-12/msg00593.html>.
16389         * lib/file-has-acl.c (acl_access_nontrivial):
16390         Return -1 and set errno if !HAVE_ACL_FIRST_ENTRY &&
16391         !HAVE_ACL_TO_SHORT_TEXT && !HAVE_ACL_FREE_TEXT.
16393 2013-12-12  Alexander V. Lukyanov  <lav@netis.ru>
16395         md5, sha1, sha256, sha512: fix (trivial) compile error in c++ mode.
16396         * lib/gl_openssl.h: Cast void pointers to a specific type.
16398 2013-12-07  Pádraig Brady  <P@draigBrady.com>
16400         open-tests: fix build failure with -Werror=old-style-declaration
16401         * tests/test-open.h: Reorder the inline to avoid the issue.
16403 2013-12-07  Pádraig Brady  <P@draigBrady.com>
16405         md5, sha1, sha256, sha512: fix link error with partial libcrypto
16406         * m4/gl-openssl.m4 (gl_CRYPTO_CHECK): Only clear LIB_CRYPTO at
16407         init time, so that if early checks find crypto routines,
16408         while the last does not, then @LIB_CRYPTO@ is replaced correctly,
16409         avoiding link failures.
16411 2013-12-07  Paul Eggert  <eggert@cs.ucla.edu>
16413         md5, sha1, sha256, sha512: add gl_SET_CRYPTO_CHECK_DEFAULT
16414         This provides a new way to specify the default for
16415         gl_CRYPTO_CHECK, one that is reflected in the --help message.
16416         Emacs uses this, as well as the old way.
16417         This attempts to implement a suggestion by Pádraig Brady in
16418         <http://lists.gnu.org/r/coreutils/2013-12/msg00080.html>.
16419         * m4/gl-openssl.m4(gl_SET_CRYPTO_CHECK_DEFAULT): New macro.
16420         (gl_CRYPTO_CHECK): Use it.  Mention the default in --help output.
16422         md5, sha1, sha256, sha512: add 'auto', and a way to specify default
16423         * m4/gl-openssl.m4 (gl_CRYPTO_CHECK):
16424         Add support for a new option, --with-openssl=auto, which causes
16425         the library to be used if available and silently ignored if not.
16426         Add support to allow configure.ac to specify its own
16427         default, by setting with_openssl_default before invoking gl_INIT.
16429 2013-12-05  Paul Eggert  <eggert@cs.ucla.edu>
16431         open-tests: port to glibc with _FORTIFY_SOURCE and -O1
16432         Problem reported by Daiki Ueno in:
16433         http://lists.gnu.org/r/bug-gnulib/2013-06/msg00052.html
16434         * tests/test-open.h (__always_inline):
16435         New macro, if not already defined.
16436         (test_open): Use it.
16438 2013-12-04  Eric Blake  <eblake@redhat.com>
16440         include_next: minimize code duplication
16441         * modules/include_next (Depends-on): Add absolute-header.
16442         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Reuse
16443         gl_ABSOLUTE_HEADER_ONE instead of open-coding it.
16445 2013-12-04  Pádraig Brady  <P@draigBrady.com>
16447         getcwd: fix compile error in configure check
16448         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Include errno.h
16450 2013-12-04  Pádraig Brady  <P@draigBrady.com>
16452         regex: suppress core dumps from detection code
16453         * m4/regex.m4 (gl_REGEX): Catch the SIGABRT and convert to SIGTERM
16454         to suppress core dumps that may well occur on glibc systems.
16455         These core dumps might not be cleaned up automatically, or could
16456         trigger some system core dump handling logic.
16458 2013-12-03  Pádraig Brady  <P@draigBrady.com>
16460         md5, sha1, sha256, sha512: support mandating use of openssl
16461         * m4/gl-openssl.m4 (gl_crypto_check): Adjust the --with-openssl
16462         description, to list the now 3 separate options.  also don't
16463         mention the default=no, since this is implicit given the option
16464         is described as --with-openssl rather than --without-openssl.
16465         If projects change the default they're free to document that.
16466         with --with-openssl[=yes] we now error out when the specified
16467         hash algorithm is not available in libcrypto.
16469 2013-12-03  Ivailo  <xakepa10@gmail.com>
16471         test-xvasprintf: (trivial) fix to disable some -Wformat-security diags
16472         * tests/test-xvasprintf.c: Disable -Wformat-zero-length and
16473         -Wformat-nonliteral checks, as these edge cases are part of the test.
16475 2013-12-03  Eric Blake  <eblake@redhat.com>
16477         regex: avoid glibc deadlock during configure
16478         * m4/regex.m4 (gl_REGEX): Avoid recursive malloc deadlock when
16479         glibc bug 15078 in turn triggers bug 16159.
16480         Reported by Michal Privoznik.
16482 2013-12-02  Pádraig Brady  <P@draigBrady.com>
16484         md5, sha1, sha256, sha512: use openssl routines if available.
16485         --with-openssl the libcrypto md5, sha1, sha224, sha256, sha384, sha256
16486         routines will be used if available, requiring apps to link @LIB_CRYPTO@
16487         * lib/gl_openssl.h: Provide wrappers for specified openssl hash.
16488         * m4/gl-openssl.m4 (gl_CRYPTO_CHECK): New function to lookup libcrypto
16489         in the standard system location.
16490         * m4/sha1.m4: Call gl_CRYPTO_CHECK() for SHA1.
16491         * m4/sha256.m4: Likewise with SHA256.
16492         * m4/sha512.m4: Likewise with SHA512.
16493         * m4/md5.m4: Likewise with MD5.
16494         * m4/gc.m4: Ensure @LIB_CRYPTO@ set for tests.
16495         * lib/sha1.h: Include wrappers if HAVE_OPENSSL_SHA1.
16496         * lib/sha256.h: Likewise with SHA256.
16497         * lib/sha512.h: Likewise with SHA512.
16498         * lib/md5.h: Likewise with MD5.
16499         * lib/sha1.c: Exlude functionality if HAVE_OPENSSL_SHA1.
16500         * lib/sha256.c: Likewise with SHA256.
16501         * lib/sha512.c: Likewise with SHA512.
16502         * lib/md5.c: Likewise with MD5.
16503         * modules/crypto/sha1 (Link:): Add the new optional lib.
16504         (Depends-on:): Add dependency on extern-inline.
16505         * modules/crypto/sha256: Likewise.
16506         * modules/crypto/sha512: Likewise.
16507         * modules/crypto/md5: Likewise.
16508         * modules/crypto/sha1-tests: Reference the lib here too.
16509         * modules/crypto/md5-tests: Likewise.
16510         * modules/crypto/gc-des-tests: Likewise.
16511         * modules/crypto/gc-hmac-md5-tests: Likewise.
16512         * modules/crypto/gc-hmac-sha1-tests: Likewise.
16513         * modules/crypto/gc-hmac-sha256-tests: Likewise.
16514         * modules/crypto/gc-hmac-sha512-tests: Likewise.
16515         * modules/crypto/gc-md5-tests: Likewise.
16516         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
16517         * modules/crypto/gc-sha1-tests: Likewise.
16518         * modules/crypto/gc-tests: Likewise.
16519         * modules/crypto/hmac-md5-tests: Likewise.
16520         * modules/crypto/hmac-sha1-tests: Likewise.
16521         * modules/crypto/hmac-sha256-tests: Likewise.
16522         * modules/crypto/hmac-sha512-tests: Likewise.
16524 2013-11-29  RV1971  <rv1971@web.de>
16526         base64: (trivial) fix compilation regression on some compilers
16527         * lib/base64.c: Don't return the void function,
16528         instead split to a separate return statement.
16530 2013-11-28  Paul Eggert  <eggert@cs.ucla.edu>
16532         ignore-value: revert previous code change
16533         * lib/ignore-value.h (ignore_value): Use __extension__ and
16534         __typeof__ only for GCC 3.4 and later.  Reported by Eric Blake in
16535         <http://lists.gnu.org/r/bug-gnulib/2013-11/msg00102.html>.
16536         Change the comment to try to explain this better.
16538 2013-11-27  Pádraig Brady  <P@draigBrady.com>
16540         selinux-h: improve stub types and add more stub functions
16542         * lib/se-selinux.in.h: Change security_context_t to a typedef
16543         rather than a define, as it's a pointer type and so is better
16544         as a typedef to avoid issues declaring multiple variables
16545         with the comma operator.  Also add stub for string_to_security_class().
16546         * lib/se-context.in.h: Add stub functions for
16547         context_{type,range,role,user}_get().
16549 2013-11-27  Paul Eggert  <eggert@cs.ucla.edu>
16551         ignore-value: prefer GCC version back through 2.0
16552         The code didn't match the comments, so I did a bit of software
16553         archaeology.  GCC 2.0 seems to support __extension__ and
16554         __typeof__, so fix both code and comments to use 2.0.
16555         * lib/ignore-value.h (ignore_value): Use __extension__ and
16556         __typeof__ for GCC 2.0 through 3.3, too.
16558 2013-11-25  Mats Erik Andersson  <gnu@gisladisker.se>
16560         pty: Activate the signature wrapper of forkpty.
16561         The intended preprocessor macro HAVE_FORKPTY is
16562         never defined, yet `lib/forkpty.c' depends on it.
16564         * m4/pty.m4 (gl_FUNC_FORKPTY): At completed analysis,
16565         apply AC_DEFINE_UNQUOTED to HAVE_FORKPTY with value
16566         $HAVE_FORKPTY for access to wrapper in `lib/forkpty.c'.
16568 2013-11-18  Jim Meyering  <meyering@fb.com>
16569         and Paul Eggert  <eggert@cs.ucla.edu>
16571         quotearg: don't attempt to store 1 << 31 into an "int"
16572         * lib/quotearg.c (quotearg_buffer_restyled): Building coreutils with
16573         gcc's new -fsanitize=undefined and running its tests triggered some
16574         new test failures due to undefined behavior, all with this diagnostic:
16575           lib/quotearg.c:629:62: runtime error: left shift of 1 by 31 places \
16576             cannot be represented in type int
16577         Rather than shifting "1" left to form a mask, shift the bits right and
16578         simply use "1" as the mask.
16580 2013-11-21  Paul Eggert  <eggert@cs.ucla.edu>
16582         error: depend on stdio
16583         Problem reported by Nikos Mavrogiannopoulos in
16584         <http://lists.gnu.org/r/bug-gnulib/2013-11/msg00084.html>
16585         * modules/error (Depends-on): Add stdio.
16587 2013-11-18  Ben Pfaff  <blp@cs.stanford.edu>
16589         * doc/relocatable-maint.texi (Supporting Relocation): Improve
16590         wording.
16591         Reported by Reuben Thomas <rrt@sc3d.org>.
16593 2013-11-13  Paul Eggert  <eggert@cs.ucla.edu>
16595         * lib/getgroups.c (posix_getgroups, getgroups) [__APPLE__]:
16596         New function and macro, to work around _DARWIN_C_SOURCE problem.
16597         Reported by Jack Howarth in <http://bugs.gnu.org/14463>.
16599 2013-11-11  Pádraig Brady  <P@draigBrady.com>
16601         base64: provide a fast path for encoding well sized buffers
16602         Avoid conditionals in the base64 encoding loop,
16603         which was seen to give 60% better throughput.
16604         * lib/base64.c (base64_encode_fast): A new function to be called
16605         when we don't want to NUL terminate, and we have enough space
16606         in the output to encode the given input.
16607         (base64_encode): Call the _fast() version when appropriate.
16608         Also remove a redundant mask with 0x3F on the first encoded byte.
16610 2013-11-08  Paul Eggert  <eggert@cs.ucla.edu>
16612         extern-inline: port better to OS X 10.9
16613         * m4/extern-inline.m4: Omit serial number; this file doesn't use them.
16614         (gl_EXTERN_INLINE): Do not suppress the use of extern inline on
16615         OS X 10.9, except for g++ where the bug is still present.
16616         See <http://trac.macports.org/ticket/41033>.
16618 2013-11-08  Eric Blake  <eblake@redhat.com>
16620         fpending: fix regression on DragonFly BSD
16621         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for declaration.
16622         * lib/fpending.h (__fpending): Don't declare twice.
16623         Reported by GW in
16624         <https://lists.gnu.org/r/bug-m4/2013-11/msg00000.html>
16626 2013-11-05  Jim Meyering  <meyering@fb.com>
16628         hash: relax license to LGPLv2+, for libguestfs
16629         * modules/hash (License): Change from GPL to LGPLv2+.
16631 2013-11-03  Paul Eggert  <eggert@cs.ucla.edu>
16633         intprops: port to Oracle Studio c99
16634         * lib/intprops.h (_GL_HAVE___TYPEOF__) [__SUNPRO_C && __STDC__]:
16635         Define to 0, to avoid diagnostics when Oracle Studio is pedantic.
16637 2013-10-31  Paul Eggert  <eggert@cs.ucla.edu>
16639         obstack: pacify HP C
16640         * lib/obstack.h (obstack_free) [!__GNUC__]: Rewrite to avoid
16641         warning "conversion from pointer to smaller integer" from HP
16642         C-ANSI-C - cc version B9007AA/B3910B A.06.26.  It's safe to assume
16643         C89 or later nowadays, so cast to void instead of int.  Privately
16644         reported by H.Merijn Brand.  Also, change header to match glibc's,
16645         to make checking against glibc easier.
16647 2013-10-29  Jim Meyering  <meyering@fb.com>
16649         maint.mk: prefer gpgv2 over gpgv
16650         * top/maint.mk (gpgv): Use gpgv2 if present, else gpgv.
16651         (gpg_key_ID): Use $(gpgv), rather than hard-coding "gpgv".
16652         Reported by Gary Vaughan.
16654 2013-10-30  Paul Eggert  <eggert@cs.ucla.edu>
16656         isnan: port to VAX
16657         Reported by John Klos for NetBSD-5/VAX in
16658         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00133.html>.
16659         * lib/isnan.c (IEEE_FLOATING_POINT): New macro, stolen from Emacs.
16660         (FUNC): Use it.
16662 2013-10-28  Jim Meyering  <meyering@fb.com>
16664         gnulib-tool: protect against CDPATH
16665         * gnulib-tool: Many "cd" built-in functions print a directory name
16666         to stdout when CDPATH is set, e.g.,
16667           $ bash -c 'CDPATH=/; cd tmp'
16668           /tmp
16669         Unset it, when possible.  Prompted by a comment from Bruce Korb.
16671         maint.mk: restore functionality removed by recent change...
16672         Sunday's change, v0.0-8062-g6b24f60, may have appeared correct from
16673         the context of a shallow-cloned gnulib repository: "git describe"
16674         would fail in such a directory.  However, that change made it so
16675         the reported gnulib revision no longer includes the version number
16676         or a commit count, even when run from a full clone.
16677         * top/maint.mk (gnulib-version): Use the full "git describe"
16678         output when possible, e.g., the form above, rather than the
16679         abbreviated, no-tag, no-commit-count string, and fall back to
16680         using a 10-byte hash, rather than the default minimal-length
16681         hash prefix, since while the minimal-length one may be fine today,
16682         it is likely not to be unique for very long.
16684 2013-10-26  Jim Meyering  <meyering@fb.com>
16686         maint.mk: fix "release" target to build _version
16687         This fixes a bug in README-release whereby following the outlined
16688         steps, one would publish a tarball whose programs would report
16689         --version output not consistent with the package version number.
16690         This bug caused grep-2.15 to produce a grep program whose
16691         --version option made it print 2.14.56-1e3d rather than 2.15.
16692         * top/maint.mk (release): Making this target build "_version"
16693         ensures that the new version number is reflected in configure.
16695 2013-10-21  Ben Pfaff  <blp@cs.stanford.edu>
16697         install-reloc: Support multi-binary installation.
16698         * build-aux/install-reloc: Support installing multiple programs in
16699         one invocation, as done by Automake starting with commit
16700         4295fe33eb23f (Multi-file install for PROGRAMS.).  From Bruno
16701         Haible <bruno@clisp.org>, archived at
16702         http://lists.debian.org/debian-bsd/2012/05/msg00032.html.
16703         Reported by Sylvain <beuc@gnu.org>.
16705 2013-10-21  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
16707         selinux-h: Really build without selinux when library is missing.
16708         * m4/selinux-selinux-h.m4: When the selinux library is missing, really
16709         continue without selinux, as already told in the warning message.
16711 2013-10-21  Jim Meyering  <meyering@fb.com>
16713         regex: also remove dependency on HAVE_WCSCOLL
16714         * lib/regex_internal.h: Remove final vestige of the wcscoll dependency.
16716 2013-10-21  Reuben Thomas  <rrt@sc3d.org>
16718         xfreopen: Fix typo. s/frepoen/freopen/
16719         * lib/xfreopen.c: Fix description.
16720         * modules/xfreopen: Likewise.
16722 2013-10-21  Jim Meyering  <meyering@fb.com>
16724         regex: don't depend on wcscoll
16725         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wcscoll.
16726         It is no longer used.
16728 2013-10-20  Jim Meyering  <meyering@fb.com>
16730         error: add the printf attribute to a static function
16731         * lib/error.c (error_tail): Add the printf attribute, to placate
16732         gcc's -Werror=suggest-attribute=format option.
16734 2013-09-30  Jim Meyering  <meyering@fb.com>
16736         fpending, obstack, strerror-override: use pure+const function attrs
16737         * lib/fpending.h (__fpending): Declare with the "pure" attribute.
16738         * lib/obstack.c (_obstack_allocated_p): Likewise.
16739         * lib/obstack.h (_obstack_memory_used): Likewise.
16740         (_obstack_memory_used): Likewise.
16741         * lib/strerror-override.h (strerror_override): Declare with
16742         the "const" attribute.
16744 2013-10-18  Eric Blake  <eblake@redhat.com>
16746         extern-inline: make safe for -Wundef usage
16747         Reported by Vladimir 'phcoder' Serbinenko in
16748         https://lists.gnu.org/r/bug-gnulib/2013-10/msg00078.html
16749         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Port to older gcc.
16751 2013-10-16  Paul Eggert  <eggert@cs.ucla.edu>
16753         mkfifo-tests, etc.: allow HP-UX 11.11 bug
16754         Problem reported by Daniel Richard G. in
16755         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00068.html>.
16756         * doc/posix-functions/mkfifo.texi (mkfifo):
16757         * doc/posix-functions/mkfifoat.texi (mkfifoat):
16758         * doc/posix-functions/mknod.texi (mknod):
16759         * doc/posix-functions/mknodat.texi (mknodat):
16760         Document the HP-UX 11.11 bug.
16761         * tests/test-mkfifo.h (test_mkfifo):
16762         Allow the HP-UX 11.11 bug.
16764 2013-10-14  Paul Eggert  <eggert@cs.ucla.edu>
16766         acl: allow cross-compilation to Gentoo
16767         Problem reported by Gabriel Marcano in
16768         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00058.html>.
16769         * m4/acl.m4 (gl_ACL_GET_FILE): When cross-compiling,
16770         test only whether it links.
16772 2013-10-13  Paul Eggert  <eggert@cs.ucla.edu>
16774         mgetgroups: remove dependency on realloc-gnu
16775         The dependency violates the comment in realloc-gnu, which
16776         says that tests can't depend on realloc-gnu; some tests depend
16777         on mgetgroups, so mgetgroups can't depend on realloc-gnu.
16778         Problem reported by Daniel Richard G. in
16779         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00056.html>.
16780         * lib/mgetgroups.c (mgetgroups): Don't call realloc (NULL, 0).
16781         * modules/mgetgroups (Depends-on): Depend on realloc-posix,
16782         not realloc-gnu.
16784 2013-10-12  Paul Eggert  <eggert@cs.ucla.edu>
16786         regex-tests: port to HP-UX 11.11
16787         Problem reported by Daniel Richard G. in
16788         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00052.html>.
16789         * modules/regex-tests (test_regex_LDADD): Add LIBTHREAD, LIB_PTHREAD.
16791 2013-10-10  Paul Eggert  <eggert@cs.ucla.edu>
16793         verify: document some 'assume' pitfalls
16794         * doc/verify.texi (Compile-time Assertions):
16795         Mention that 'assume (E)' can sometimes slow things down.
16796         Use CHAR_MAX + 1, not UCHAR_MAX + 1.
16798 2013-10-10  Eric Blake  <eblake@redhat.com>
16800         strtoumax: fix typo in previous commit.
16801         * modules/strtoumax (Depends-on): Fix typo.
16802         * modules/strtoimax (Depends-on): Likewise.
16804 2013-10-10  Paul Eggert  <eggert@cs.ucla.edu>
16806         strtoumax: port to Solaris 8
16807         This problem was introduced in the recent HP-UX patch.
16808         Reported by Tom G. Christensen in
16809         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00037.html>.
16810         * modules/strtoumax (Depends-on): Test HAVE_STRTOUMAX
16811         and REPLACE_STRTOUMAX rather than ac_cv_func_strtoumax.
16813 2013-10-09  Paul Eggert  <eggert@cs.ucla.edu>
16815         strtoimax, strtoumax: port to HP-UX 11.11
16816         Problem reported by Daniel Richard G. in
16817         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00023.html>.
16818         * lib/inttypes.in.h (strtoumax): Replace strtoumax if
16819         REPLACE_STRTOUMAX, thus treating it consistently with strtoimax.
16820         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Add default for
16821         REPLACE_STRTOUMAX.
16822         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX):
16823         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX):
16824         Replace the function if defined as a macro but not as a function.
16825         * modules/inttypes-incomplete (inttypes.h): Substitute
16826         REPLACE_STRTOUMAX.
16827         * modules/strtoumax (configure.ac): Replace strtoumax if
16828         REPLACE_STRTOUMAX.
16830 2013-10-08  Paul Eggert  <eggert@cs.ucla.edu>
16832         strtoimax: port to HP-UX 11.11
16833         Problem reported by Daniel Richard G.
16834         * lib/strtoimax.c (Strtoimax, Strtol, Strtoll): New macros.
16835         (strtoimax, strtol, strtoll) [UNSIGNED]: Remove, since
16836         they might clash with inttypes.h.
16838 2013-10-06  Paul Eggert  <eggert@cs.ucla.edu>
16840         New module 'count-trailing-zeros'.
16841         * MODULES.html.sh: Mention it.
16842         * lib/count-trailing-zeros.c, lib/count-trailing-zeros.h:
16843         * m4/count-trailing-zeros.m4, modules/count-trailing-zeros:
16844         * modules/count-trailing-zeros-tests:
16845         * tests/test-count-trailing-zeros.c:
16846         New files.
16848         count-leading-zeros: port to MSC; support types wider than 64 bits
16849         The ideas behind the MSC port are stolen from Emacs.
16850         * lib/count-leading-zeros.h:
16851         Don't include verify.h: it's no longer needed, as types wider than
16852         64 bits are now supported.
16853         (COUNT_LEADING_ZEROS): New arg MSC_BUILTIN, for better
16854         performance with MSC.  All uses changed.  Do not assume that TYPE
16855         has at most 64 bits.
16856         (count_leading_zeros_32): Assume 0 < X < 2**32, for speed.
16857         All uses changed.  Fold the subtraction from 31 into the table.
16859         count-one-bits: port to MSC; support types wider than 64 bits
16860         The ideas behind the MSC port are stolen from Emacs.
16861         * lib/count-one-bits.c (popcount_support) [_MSC_VER]: New variable.
16862         * lib/count-one-bits.h: Include limits.h, for CHAR_BIT.
16863         Don't include verify.h: it's no longer needed, as types wider than
16864         64 bits are now supported.
16865         (COUNT_ONE_BITS_GENERIC): New macro.
16866         (popcount_supported) [_MSC_VER]: New inline function.
16867         (COUNT_ONE_BITS): Use it.  New arg MSC_BUILTIN, for better
16868         performance with MSC.  All uses changed.  Do not assume that TYPE
16869         has at most 64 bits.
16870         * modules/count-one-bits (Depends-on): Do not depend on 'verify'.
16872 2013-10-06  Andrew Borodin  <aborodin@vmail.ru>
16874         mountlist: fix resource leak with MOUNTED_INTERIX_STATVFS
16875         * lib/mountlist.c (read_file_system_list): fix leak of directory
16876         streams in case of #ifdef MOUNTED_INTERIX_STATVFS.
16878 2013-10-06  Paul Eggert  <eggert@cs.ucla.edu>
16880         tests: improve diagnostic when an assertion fails
16881         * tests/macros.h (ASSERT): Report the assertion that failed.
16883 2013-10-02  Paul Eggert  <eggert@cs.ucla.edu>
16885         verify: new macro 'assume'
16886         This is taken from Emacs, and should be generally useful.
16887         * doc/verify.texi (assume): Document it.
16888         * lib/verify.h (assume): New macro.
16889         (__has_builtin): Expand to 0 if not defined.
16891 2013-09-26  Eric Blake  <eblake@redhat.com>
16893         dup2, dup3: work around another cygwin crasher
16894         * m4/dup2.m4 (gl_FUNC_DUP2): Expose the bug.
16895         * m4/dup3.m4 (gl_FUNC_DUP3): Likewise.
16896         * tests/test-dup2.c (main): Likewise.
16897         * lib/dup2.c (rpl_dup2): Use setdtablesize to avoid it.
16898         * lib/dup3.c (dup3): Likewise.
16899         * doc/posix-functions/dup2.texi (dup2): Document it.
16900         * doc/glibc-functions/dup3.texi (dup3): Likewise.
16902         getdtablesize: work around cygwin issue
16903         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Detect problem.
16904         * modules/getdtablesize (configure.ac): Build replacement.
16905         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set up a witness.
16906         * modules/unistd (Makefile.am): Expose the witness.
16907         * lib/unistd.in.h (getdtablesize): Declare replacement.
16908         * lib/getdtablesize.c (rpl_getdtablesize): Work around it.
16909         * tests/test-getdtablesize.c (main): Test it.
16910         * doc/glibc-functions/getdtablesize.texi (getdtablesize): Document it.
16912 2013-09-25  Mats Erik Andersson  <gnu@gisladisker.se>
16914         pmccabe2html: escaping of special characters
16915         Escape all '<', '>', and '&' in HTML output.
16916         * build-aux/pmccabe2html (html_fnc): Call gsub()
16917         instead of sub() to capture all '<', '>', and '&'.
16918         Neither of '<' and '>' is special in a regexp,
16919         so first arguments to gsub() are corrected. Also,
16920         in replacement strings, ampersand must be escaped.
16921         Finally, '&' must be handled first, then '<' and '>'.
16923 2013-09-24  Eric Blake  <eblake@redhat.com>
16925         manywarnings: enable nicer gcc warning messages
16926         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Older gcc requires
16927         some -f options for optimal warnings.
16929 2013-09-21  Jim Meyering  <meyering@fb.com>
16931         timespec: use the new TIMESPEC_RESOLUTION in a few more places
16932         * lib/timespec-add.c (timespec_add): Also replace 999999999
16933         with TIMESPEC_RESOLUTION - 1.
16934         * lib/timespec-sub.c (timespec_sub): Likewise.
16936 2013-09-23  Paul Eggert  <eggert@cs.ucla.edu>
16938         warnings: port --enable-gcc-warnings to Solaris Studio 12.3
16939         Problem reported by Dagobert Michelsen via Eric Blake in
16940         <http://lists.gnu.org/r/bug-gnulib/2013-09/msg00052.html>.
16941         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): Use AC_LINK_IFELSE,
16942         not AC_COMPILE_IFELSE.
16944 2013-09-23  Eric Blake  <eblake@redhat.com>
16946         configmake: support new --runstatedir option
16947         * m4/configmake.m4 (gl_CONFIGMAKE_PREP): Substitute runstatedir
16948         even if autoconf was too old to provide the command line option.
16949         * modules/configmake (Makefile.am): Propagate it to .h file.
16951 2013-09-22  Paul Eggert  <eggert@cs.ucla.edu>
16953         ctype, string: depend on extern-inline
16954         This is needed to complete the recent OS X fixes.
16955         Also, fix related documentation as suggested by Eric Blake.
16956         * doc/posix-functions/isalnum.texi, doc/posix-functions/isalpha.texi:
16957         * doc/posix-functions/isascii.texi, doc/posix-functions/iscntrl.texi:
16958         * doc/posix-functions/isdigit.texi, doc/posix-functions/isgraph.texi:
16959         * doc/posix-functions/islower.texi, doc/posix-functions/isprint.texi:
16960         * doc/posix-functions/ispunct.texi, doc/posix-functions/isspace.texi:
16961         * doc/posix-functions/isupper.texi, doc/posix-functions/isxdigit.texi:
16962         * doc/posix-functions/toascii.texi, doc/posix-functions/tolower.texi:
16963         * doc/posix-functions/toupper.texi:
16964         List the 'ctype' gnulib module.
16965         * doc/posix-functions/strcat.texi, doc/posix-functions/strcpy.texi:
16966         * doc/posix-functions/strncpy.texi:
16967         List the 'string' gnulib module.
16968         * modules/memcpy, modules/memmove, modules/memset (Depends-on):
16969         Add string.
16970         * modules/ctype, modules/string (Depends-on): Add extern-inline.
16972 2013-09-19  Pádraig Brady  <P@draigBrady.com>
16974         userspec: support optional parameters to parse_user_spec()
16975         * lib/userspec.c (parse_user_spec): If the GID param is NULL,
16976         then avoid group processing and treat the full spec as a user.
16977         (parse_with_separator): Allow the USERNAME and GROUPNAME to
16978         be optional params (NULL), in which case they're ignored.
16980 2013-09-19  Paul Eggert  <eggert@cs.ucla.edu>
16982         timespec: new function make_timespec, and new constants
16983         * lib/timespec.h: Incorporate recent changes on the Emacs trunk.
16984         (TIMESPEC_RESOLUTION, LOG10_TIMESPEC_RESOLUTION): New constants.
16985         (make_timespec): New function.
16986         * lib/dtotimespec.c (dtotimespec):
16987         * lib/timespec-add.c (timespec_add):
16988         * lib/timespec-sub.c (timespec_sub):
16989         * lib/utimens.c (validate_timespec):
16990         * lib/utimensat.c (rpl_utimensat):
16991         Use these new constants and functions.
16993         stdio: OS X port of putc_unlocked + extern inline
16994         * lib/stdio.in.h (putc_unlocked): #undef on problematic Apple platforms.
16995         * doc/posix-functions/putc_unlocked.texi:
16996         * doc/posix-functions/putchar_unlocked.texi:
16997         Document this portability problem.
16999         signal: OS X port of sigaddset etc. + extern inline
17000         * lib/signal.in.h (sigaddset, sigdelset, sigemptyset, sigfillset)
17001         (sigismember): #undef on problematic Apple platforms.
17002         * doc/posix-functions/sigaddset.texi:
17003         * doc/posix-functions/sigdelset.texi:
17004         * doc/posix-functions/sigemptyset.texi:
17005         * doc/posix-functions/sigfillset.texi:
17006         * doc/posix-functions/sigismember.texi:
17007         Document this portability problem.
17009         extern-inline: do not always suppress extern inline on OS X
17010         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Suppress the use of
17011         extern inline on Apple only if the particular compile-time
17012         configuration is known to have the problem.
17013         (_GL_EXTERN_INLINE_APPLE_BUG): New private macro, to implement this.
17014         (_GL_EXTERN_INLINE_IN_USE): New macro, intended for use by
17015         other Gnulib modules.
17017         extern-inline: document fixes for ctype and wctype macros
17018         * doc/posix-functions/isalnum.texi, doc/posix-functions/isalpha.texi:
17019         * doc/posix-functions/isascii.texi, doc/posix-functions/isblank.texi:
17020         * doc/posix-functions/iscntrl.texi, doc/posix-functions/isdigit.texi:
17021         * doc/posix-functions/isgraph.texi, doc/posix-functions/islower.texi:
17022         * doc/posix-functions/isprint.texi, doc/posix-functions/ispunct.texi:
17023         * doc/posix-functions/isspace.texi, doc/posix-functions/isupper.texi:
17024         * doc/posix-functions/iswalnum.texi, doc/posix-functions/iswalpha.texi:
17025         * doc/posix-functions/iswcntrl.texi, doc/posix-functions/iswctype.texi:
17026         * doc/posix-functions/iswdigit.texi, doc/posix-functions/iswgraph.texi:
17027         * doc/posix-functions/iswlower.texi, doc/posix-functions/iswprint.texi:
17028         * doc/posix-functions/iswpunct.texi, doc/posix-functions/iswspace.texi:
17029         * doc/posix-functions/iswupper.texi, doc/posix-functions/iswxdigit.texi:
17030         * doc/posix-functions/isxdigit.texi, doc/posix-functions/toascii.texi:
17031         * doc/posix-functions/memcpy.texi, doc/posix-functions/memmove.texi:
17032         * doc/posix-functions/memset.texi, doc/posix-functions/stpcpy.texi:
17033         * doc/posix-functions/stpncpy.texi, doc/posix-functions/strcat.texi:
17034         * doc/posix-functions/strcpy.texi, doc/posix-functions/strncat.texi:
17035         * doc/posix-functions/strncpy.texi:
17036         * doc/posix-functions/tolower.texi, doc/posix-functions/toupper.texi:
17037         * doc/posix-functions/towlower.texi, doc/posix-functions/towupper.texi:
17038         Document that Gnulib fixes portability problems with these
17039         functions on OS X 10.8 and earlier when called from plain inline
17040         or extern inline functions.
17042 2013-09-17  Kevin Cernekee  <cernekee@gmail.com>
17044         fflush, freadahead, fseeko: Fix for Android
17045         Suggested by Bruno Haible in:
17046         <http://lists.gnu.org/r/bug-gnulib/2012-01/msg00306.html>
17047         * lib/stdio-impl.h: Use local __sfileext definition.
17049 2013-09-17  Mats Erik Andersson  <gnu@gisladisker.se>
17051         pmccabe2html: Portability to other awk versions.
17052         The functions systime() and strftime() are available
17053         in Gawk only.  Properly close two HTML-tags 'style'
17054         and 'span'.
17055         * build-aux/pmccabe2html (BEGIN): Store timing
17056         strings in EPOCH_TIME and CHRONOS_TIME.  Replace
17057         systime() in HTML_COMMENT.
17058         (html_header): Correctly close tag 'style'.
17059         (END): Replace strftime() by CHRONOS_TIME.  Close
17060         tag 'span' correctly, not as 'div'.
17062 2013-09-17  Mats Erik Andersson  <gnu@gisladisker.se>  (tiny change)
17064         getgroups: statement without effect
17065         * lib/getgroups.c (rpl_getgroups) [HAVE_GETGROUPS]:
17066         Change equality conditional to expected assignment.
17068 2013-09-09  Eric Blake  <eblake@redhat.com>
17070         glob: fix compilation
17071         * lib/glob.in.h (__THROW): Fix missing line in previous commit.
17073 2013-09-07  Eric Blake  <eblake@redhat.com>
17075         glob: fix build for platforms without __THROW
17076         * lib/glob.in.h (__THROW): Add definition again.
17078 2013-09-04  Anton Ovchinnikov  <revolver112@gmail.com>  (tiny change)
17080         regex-quote: fix buffer access out of bounds
17081         http://lists.gnu.org/r/bug-gnulib/2013-09/msg00001.html
17082         * lib/regex-quote.c (regex_quote_spec_pcre):
17083         Fix typo that resulted in an out-of-bounds read.
17085 2013-09-04  Eric Blake  <eblake@redhat.com>
17087         glob: avoid -Wattribute warnings on glibc
17088         * lib/glob.c (next_brace_sub, prefix_array, collated_compare): Use
17089         __THROWNL, not __THROW, on static functions.
17090         * lib/glob.in.h (__THROW): Adjust...
17091         (__THROWNL): ...accordingly.
17093 2013-08-28  Paul Eggert  <eggert@cs.ucla.edu>
17095         headers: check that _GL_INLINE_HEADER_BEGIN is defined
17096         Suggested by Bruce Korb in:
17097         http://lists.gnu.org/r/bug-gnulib/2013-08/msg00070.html
17098         * doc/extern-inline.texi (extern inline):
17099         Suggest checking that _GL_INLINE_HEADER_BEGIN is defined.
17100         * lib/acl-internal.h, lib/argp-fmtstream.h, lib/argp.h:
17101         * lib/binary-io.h, lib/bitrotate.h, lib/count-leading-zeros.h:
17102         * lib/count-one-bits.h, lib/eealloc.h, lib/execinfo.in.h:
17103         * lib/gethrxtime.h, lib/gl_list.h, lib/gl_oset.h, lib/gl_xlist.h:
17104         * lib/gl_xoset.h, lib/gl_xsublist.h, lib/glthread/cond.h:
17105         * lib/glthread/thread.h, lib/math.in.h, lib/mbchar.h, lib/mbfile.h:
17106         * lib/mbiter.h, lib/mbuiter.h, lib/openat.h, lib/pipe-filter-aux.h:
17107         * lib/priv-set.h, lib/pthread.in.h, lib/savewd.h, lib/se-context.in.h:
17108         * lib/se-selinux.in.h, lib/sig-handler.h, lib/stat-time.h:
17109         * lib/sys_socket.in.h, lib/timespec.h, lib/u64.h, lib/unistd.in.h:
17110         * lib/utimens.h, lib/wctype.in.h, lib/xalloc.h, lib/xsize.h:
17111         * lib/xtime.h:
17112         Check that _GL_INLINE_HEADER_BEGIN is defined.
17114 2013-08-29  Pádraig Brady  <P@draigBrady.com>
17116         bootstrap: remove the --version requirement from ancillary tools
17117         * build-aux/bootstrap (check_exists): A new refactored function to
17118         determine if a command exists.
17119         (find_tool): Use the new function which does not require the
17120         --version option to be supported.
17121         (check_versions): Use the new function.
17123 2013-08-26  Simon Josefsson  <simon@josefsson.org>
17125         gc: support HMAC-SHA256 and HMAC-SHA512.
17126         * lib/gc.h: Add gc_hmac_sha256 and gc_hmac_sha512.
17127         * lib/gc-libgcrypt.c (gc_hmac_sha256, gc_hmac_sha512): New
17128         functions.
17129         (gc_hmac_md5): Use symbolic constant.
17130         * lib/gc-gnulib.c: Include hmac.h for HMAC-SHA256/512 too.
17131         (gc_hmac_sha256, gc_hmac_sha512): New functions.
17132         * lib/hmac.h: Add hmac_sha256 and hmac_sha512 prototypes.
17133         * m4/sha256.m4: Protect against empty expansion.
17134         * m4/sha512.m4: Likewise.
17135         * lib/hmac-sha256.c: New file.
17136         * lib/hmac-sha512.c: Likewise.
17137         * m4/gc-hmac-sha256.m4: Likewise.
17138         * m4/gc-hmac-sha512.m4: Likewise.
17139         * m4/gc-sha256.m4: Likewise.
17140         * m4/gc-sha512.m4: Likewise.
17141         * modules/crypto/gc-hmac-sha256: Likewise.
17142         * modules/crypto/gc-hmac-sha256-tests: Likewise.
17143         * modules/crypto/gc-hmac-sha512: Likewise.
17144         * modules/crypto/gc-hmac-sha512-tests: Likewise.
17145         * modules/crypto/hmac-sha256: Likewise.
17146         * modules/crypto/hmac-sha256-tests: Likewise.
17147         * modules/crypto/hmac-sha512: Likewise.
17148         * modules/crypto/hmac-sha512-tests: Likewise.
17149         * tests/test-gc-hmac-sha256.c: Likewise.
17150         * tests/test-gc-hmac-sha512.c: Likewise
17151         * tests/test-hmac-sha256.c: Likewise.
17152         * tests/test-hmac-sha512.c: Likewise
17154 2013-08-24  Daiki Ueno  <ueno@gnu.org>
17156         * m4/intl.m4: Update from gettext-0.18.3.1, which fixes a misuse
17157         of AC_CHECK_DECLS.
17159 2013-08-23  Paul Eggert  <eggert@cs.ucla.edu>
17161         selinux-at: omit unnecessary include
17162         * lib/selinux-at.c: Don't include dosname.h; not needed, since
17163         this source file doesn't use its macros, and subsidiary files that
17164         use the macros already include it.
17166 2013-08-21  Eric Blake  <eblake@redhat.com>
17168         d-ino: avoid false negative on symlink
17169         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use lstat.
17170         Reported by Stephane Chazelas.
17172 2013-08-12  Mike Miller  <mtmiller@ieee.org>  (tiny change)
17174         bootstrap: port to OpenBSD sed
17175         * build-aux/bootstrap (insert_if_absent): Port to OpenBSD sed which
17176         does not interpret `-' as a file argument to mean stdin.
17178 2013-08-15  Eric Blake  <eblake@redhat.com>
17180         warnings: minor optimization
17181         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): Use fewer processes.
17183         warnings: check -Wfoo rather than -Wno-foo
17184         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): If name begins with
17185         -Wno-, test if the compiler recognizes the positive form instead.
17187 2013-08-15  Karl Berry  <karl@gnu.org>
17189         * config/srclist-update: add option "doclicense" to placate
17190         pulling *.texi files from Emacs.  Write terse usage
17191         documentation at the top.
17193 2013-08-13  Paul Eggert  <eggert@cs.ucla.edu>
17195         xvasprintf-tests: port to GCC with hardening flags
17196         * tests/test-xvasprintf.c (test_xasprintf): Pass another arg to
17197         xasprintf, to pacify GCC.  Reported by Santiago Vila in:
17198         http://lists.gnu.org/r/bug-diffutils/2013-08/msg00002.html
17200 2013-08-11  Paul Eggert  <eggert@cs.ucla.edu>
17202         fpending: port to recent Cygwin change to stdio_ext.h
17203         Reported by LRN in
17204         <http://lists.gnu.org/r/bug-gnulib/2013-08/msg00028.html>.
17205         * lib/fpending.h: Don't worry about HAVE_DECL___FPENDING;
17206         just declare __fpending unless it's a macro.
17207         A duplicate decl shouldn't hurt.
17208         * m4/fpending.m4 (gl_FUNC_FPENDING): Check that an __fpending
17209         call compiles and links, instead of separately checking for
17210         decl and lib function.
17211         * modules/fpending (configure-ac):
17212         Adjust to fpending.m4's renaming of shell variable.
17214 2013-08-10  Paul Eggert  <eggert@cs.ucla.edu>
17216         sys_time: port to OpenBSD
17217         * lib/sys_time.in.h: Simply delegate to the system's header
17218         in the BSDish cases as well.  Problem reported by Mike Miller in
17219         <http://lists.gnu.org/r/bug-gnulib/2013-08/msg00016.html>.
17220         * tests/test-sys_select.c, tests/test-sys_time.c (verify_tv_sec_type):
17221         Allow platforms like 64-bit OpenBSD where timeval's tv_sec is
17222         wider than time_t.
17224 2013-08-09  Pádraig Brady  <P@draigBrady.com>
17226         bootstrap: support checksum utils having -c but not --status
17227         * build-aux/bootstrap: Only look for sha1sum if updating po files.
17228         Add sha1 to the list of supported checksum utils since it's now
17229         supported through adjustments below.
17230         (update_po_files): Remove the use of --status
17231         in a way that will suppress all error messages, but since this is
17232         only used to minimize updates, it shouldn't cause an issue.
17233         Exit early if there is a problem updating the po file checksums.
17234         (find_tool): Remove the check for --version support as this
17235         is optional as per commit 86186b17.  Don't even check for the
17236         presence of the command as if that is needed, it's supported
17237         through configuring prerequisites in bootstrap.conf.
17238         Prompt that when a tool isn't found, one can define an environment
17239         variable to add to the hardcoded search list.
17241 2013-08-05  Jim Meyering  <meyering@fb.com>
17243         regex: port to non-glibc/lock-using systems
17244         Since 29-05-2013 commit, 55ba71f4, compilation on a non-glibc
17245         system with GNULIB_LOCK would fail due to absence of the
17246         included "glthread/lock.h".  This would affect any package
17247         for which the "lock" module is used only by the regex module,
17248         and not explicitly used.
17249         * m4/regex.m4 (gl_PREREQ_REGEX): Require gl_GLIBC21.
17250         * modules/regex (Depends-on) [!GLIBC && $ac_use_included_regex]:
17251         Add a dependency on the "lock" module.
17253 2013-07-20  Daiki Ueno  <ueno@gnu.org>
17255         localecharset: make locale_charset thread-safe on Mac OS X
17256         * lib/localcharset.c (locale_charset) [DARWIN7]: Use MB_CUR_MAX_L
17257         instead of MB_CUR_MAX.
17259 2013-07-20  Daiki Ueno  <ueno@gnu.org>
17261         gettext: update to version 0.18.3
17262         * m4/intl.m4, m4/po.m4: Update from gettext-0.18.3.  In particular,
17263         require AC_PROG_SED to allow user to specify custom sed command when
17264         generating en@quot PO file.
17266 2013-07-18  Werner Lemberg  <wl@gnu.org>  (tiny change)
17268         bootstrap: use correct source when copying build-aux files
17269         * build-aux/bootstrap (gnulib_extra_files): This variable is
17270         relative to upstream gnulib layout, not downstream.
17272 2013-07-17  Paul Eggert  <eggert@cs.ucla.edu>
17274         tmpdir: fix bug in VMS port
17275         * lib/tmpdir.c (path_search) [__VMS]: Never add slash.
17276         See Steven M. Schweda in
17277         <http://lists.gnu.org/r/bug-gnulib/2013-07/msg00026.html>.
17279 2013-07-15  Paul Eggert  <eggert@cs.ucla.edu>
17281         tmpdir: port to VMS, to // != /, and to long dirs
17282         * lib/tmpdir.c (__libc_secure_getenv) [!_LIBC]: Rename from
17283         __secure_getenv, so that we're more like the glibc version.
17284         All uses changed.
17285         (path_search): Don't put slash after directory if __VMS.
17286         Problem reported by Steven M. Schweda in
17287         <http://lists.gnu.org/r/bug-gnulib/2013-07/msg00019.html>.
17288         Simplify code to add slash; no need for a loop.
17289         Do not remove trailing slash from "//".
17290         Do not assume dlen <= INT_MAX.
17292 2013-07-09  Paul Eggert  <eggert@cs.ucla.edu>
17294         regex: port to --with-included-regex --enable-gcc-warnings non-threaded
17295         * lib/regex_internal.h (lock_fini, lock_lock): Rework to avoid
17296         gcc warnings in the non-threaded case.  Reported by Charlie Brown in
17297         <http://lists.gnu.org/r/bug-gnulib/2013-07/msg00015.html>.
17299         accept4, dup3, pipe2: port to Cygwin
17300         Problem reported for Emacs by Ken Brown in <http://bugs.gnu.org/14821>.
17301         * lib/accept4.c (accept4) [O_BINARY]:
17302         * lib/dup3.c (dup3) [O_BINARY]:
17303         * lib/pipe2.c (pipe2) [O_BINARY]:
17304         Use set_binary_mode, not setmode.
17305         * lib/pipe2.c [!GNULIB_BINARY_IO]: Include binary-io.h.
17306         * modules/binary-io (Depends-on): Remove module indicator.
17307         These last two bits undo the previous change to pipe2 and binary-io.
17309 2013-07-09  Pádraig Brady  <P@draigBrady.com>
17311         mountlist: add support for deallocating returned list entries
17312         * lib/mountlist.c (free_mount_entry): A new exported function
17313         to deallocate a mount list entry.
17314         (read_file_system_list): Refactor to use the new deallocation function.
17315         Suggested by Anton Ovchinnikov.
17317 2013-07-07  Paul Eggert  <eggert@cs.ucla.edu>
17319         stdalign, verify: port to FreeBSD 9.1, to C11, and to C++11
17320         Problem reported by Ulrich Mueller in <http://bugs.gnu.org/14812>.
17321         * lib/stdalign.in.h (_Alignas, _Alignof):
17322         Port to FreeBSD 9.1, and to C11 and C++11.
17323         (_Alignas): Also support ICC.
17324         * lib/verify.h (_Static_assert): Undef if <stddef.h> defines it.
17325         * m4/stdalign.m4 (gl_STDALIGN_H): Port to ICC and to C++11.
17327 2013-07-06  Paul Eggert  <eggert@cs.ucla.edu>
17329         fnmatch: don't goto over declaration
17330         * lib/fnmatch_loop.c (FCT): Hoist local up one level, to avoid
17331         undefined behavior for goto over a declaration.
17332         Problem reported by Charlie Brown in
17333         <http://lists.gnu.org/r/bug-gnulib/2013-07/msg00009.html>.
17335         pipe2: decouple from binary-io a bit
17336         This is for Emacs, which needs pipe2 but not binary-io.
17337         * lib/pipe2.c [!GNULIB_BINARY_IO]: Don't include binary-io.h.
17338         * modules/binary-io (Depends-on): Add module indicator.
17340 2013-07-03  Eric Blake  <eblake@redhat.com>
17342         mgetgroups: relax license to LGPLv2+
17343         * modules/getugroups (License): Change from GPLv3+.
17344         * modules/mgetgroups (License): Likewise.
17345         * modules/getgroups (License): Change from LGPLv3+.
17347         xalloc-oversized: relax license to LGPLv2+
17348         * modules/xalloc-oversized (License): Change from GPLv3+.
17350         nproc: relax license to LGPLv2+
17351         * modules/nproc (License): Change from LGPLv3+.
17353         bootstrap: honor --no-git
17354         * build-aux/bootstrap: Don't even try to use git when user is
17355         pointing to a static checkout.
17357 2013-06-23  Paul Eggert  <eggert@cs.ucla.edu>
17359         ignore-value: port to gcc -pedantic
17360         * lib/ignore-value.h (ignore_value):
17361         Port to gcc -pedantic, by using __extension__.
17362         Reindent as per usual gnulib style nowadays.
17363         Simplify GCC version check.
17365 2013-06-21  Paul Eggert  <eggert@cs.ucla.edu>
17367         extern-inline: port to gcc -std=c89
17368         * m4/extern-inline.m4 (gl_EXTERN_INLINE):
17369         Do not use __gnu_inline__ if pedantic and pre-C99.
17371 2013-06-18  Paul Eggert  <eggert@cs.ucla.edu>
17373         doc: document extern-inline
17374         * doc/extern-inline.texi: New file.
17375         * doc/gnulib.texi (alloca-opt): Include it.
17376         * m4/extern-inline.m4: Move some comments to documentation,
17377         and others closer to what they describe.
17379         doc: chatter less
17380         * doc/Makefile (NEWEST_GNULIB_TEXI_FILE): New macro.
17381         (updated-stamp): Use it.  This causes 'make' to output just
17382         one file name rather than zillions.
17384         fflush, fseeko: port to musl cross-compiles
17385         * lib/fseeko.c (fseeko): Assume that fflushing stdin works if
17386         on some implementation that (1) is not known to be buggy,
17387         (2) claims conformance to POSIX.1-2008 or later, and (3) is being
17388         cross-compiled to so we can't easily check for lack of
17389         conformance.  This is for cross-compiling to musl.
17390         Reported by Rich Felker in
17391         <http://lists.gnu.org/r/bug-gnulib/2013-06/msg00043.html>.
17392         * m4/fclose.m4 (gl_FUNC_FCLOSE):
17393         * m4/fflush.m4 (gl_FUNC_FFLUSH):
17394         * m4/fseeko.m4 (gl_FUNC_FSEEKO):
17395         Adjust to above change.
17396         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): Set gl_cv_func_fflush_stdin
17397         to 'cross', not to 'no', when cross-compiling.  AC_DEFINE
17398         FUNC_FFLUSH_STDIN to 1, 0, -1 if fflushing stdin is known to work,
17399         known not to work, or unknown.
17401 2013-06-15  Paul Eggert  <eggert@cs.ucla.edu>
17403         msvc-inval: port to mingw-w64
17404         * lib/msvc-inval.c (gl_msvc_invalid_parameter_handler):
17405         Use __cdecl, not cdecl, for mingw-w64.  Reported by LRN in
17406         <http://lists.gnu.org/r/bug-gnulib/2013-06/msg00039.html>.
17408 2013-06-11  Paul Eggert  <eggert@cs.ucla.edu>
17410         getcwd-lgpl: port to Tru64
17411         * lib/getcwd-lgpl.c: Include <stdlib.h>, for malloc etc.
17412         Problem reported by Steven M. Schweda in
17413         <http://lists.gnu.org/r/bug-gzip/2013-06/msg00010.html>.
17415         tests: port large-fd POSIX spawn tests to OS X
17416         Problem reported by Daiki Ueno in
17417         <http://lists.gnu.org/r/bug-gnulib/2013-06/msg00031.html>.
17418         * tests/test-posix_spawn_file_actions_addclose.c:
17419         * tests/test-posix_spawn_file_actions_adddup2.c:
17420         * tests/test-posix_spawn_file_actions_addopen.c:
17421         Include <limits.h>, for OPEN_MAX, if available.
17422         (big_fd): New static function.
17423         (main): Use it.
17425 2013-06-04  Bernhard Voelker  <mail@bernhard-voelker.de>
17427         tests/nap.h: use an adaptive delay to avoid ctime update issues
17428         The recent change in nap.h (5191133e) decreased the probability of lost
17429         races to about a third, however such problems could still be observed
17430         in virtual machines and openSUSE's OBS.
17431         Before, nap() detected the needed time once empirically and then used
17432         that delay (together with a small correction multiplier) in further
17433         calls.  This problem has been reported and discussed several times,
17434         including guesses about possible kernel issues:
17435         https://lists.gnu.org/r/bug-gnulib/2013-04/msg00071.html
17436         http://lists.gnu.org/r/coreutils/2012-03/msg00088.html
17437         https://lists.gnu.org/r/bug-gnulib/2011-11/msg00226.html
17438         http://bugs.gnu.org/12820
17439         https://lists.gnu.org/r/bug-gnulib/2010-11/msg00113.html
17440         https://lists.gnu.org/r/bug-gnulib/2009-11/msg00007.html
17441         Now, nap() avoids the race alltogether by verifying on a reference
17442         file whether a timestamp difference has happened.
17443         * tests/nap.h (nap_fd): Define file descriptor variable for the
17444         witness file.
17445         (nap_works): Change return value to bool.  Change passing
17446         the old file's status by value instead of by reference as this function
17447         does no longer update that timestamp; rename the function argument from
17448         st to old_st.  Remove the local variables cdiff and mdiff because that
17449         function now returns true/false instead of the precise delay.
17450         (guess_delay): Remove function.
17451         (clear_tmp_file): Add new function to close and unlink the witness file.
17452         (nap): Instead of re-using the delay which has been calculated during
17453         the first call, avoid the race by actually verifying that a timestamp
17454         difference can be observed on the current file system.  Use an adaptive
17455         approach for the delay to minimize execution time.  Assert that the
17456         maximum delay is <= ~2 seconds, more precisely sum(2^n) from 0 to 30
17457         = 2^31 - 1 = 2.1s.
17458         Use atexit to call clear_tmp_file when the process terminates.
17460 2013-06-02  Paul Eggert  <eggert@cs.ucla.edu>
17462         sig2str: port to C++
17463         * lib/sig2str.h (sig2str, str2sig): Declare as extern "C".
17464         Reported by Daniel J Sebald in
17465         <http://lists.gnu.org/r/bug-gnulib/2013-06/msg00000.html>.
17467 2013-05-30  Eric Blake  <eblake@redhat.com>
17469         docs: mention cygwin shortcoming in <sys/un.h>
17470         * doc/posix-headers/sys_un.texi (sys/un.h): Mention problem.
17472         vasnprintf: silence mingw compiler warning
17473         * lib/vasnprintf.c (VASNPRINTF): Avoid unused variable warning.
17475 2013-05-29  Paul Eggert  <eggert@cs.ucla.edu>
17477         c-ctype, regex, verify: port to gcc -std=c90 -pedantic
17478         Avoid constructions that are rejected by gcc -std=c90 -pedantic.
17479         This fixes a porting bug I recently reintroduced in regex, and
17480         some other instances that I discovered while testing the fix.
17481         * lib/c-ctype.h [__STRICT_ANSI__]: Avoid ({ ... }).
17482         * lib/regcomp.c (utf8_sb_map) [__STRICT_ANSI__]: Avoid [0 ... N] = E.
17483         * lib/regex_internal.h [!_LIBC && GNULIB_LOCK]: Do not use a macro
17484         with an empty argument if this is a pedantic pre-C99 GCC.
17485         * lib/verify.h: Do not use _Static_assert if this is a pedantic
17486         pre-C11 GCC.
17488         regex: adapt to locking regime instead of depending on pthread
17489         Instead of depending on pthread, adapt to whatever thread
17490         modules are in use.  Problem reported by Ludovic Courtès in
17491         <http://lists.gnu.org/r/bug-gnulib/2013-05/msg00082.html>
17492         and by Mats Erik Andersson in
17493         <http://lists.gnu.org/r/bug-gnulib/2013-05/msg00100.html>.
17494         * lib/regex_internal.h (lock_define, lock_init, lock_fini):
17495         Support either the 'lock' module, or the 'pthread' module, or
17496         no module.
17497         (lock_lock, lock_unlock): New macros.
17498         * lib/regexec.c (regexec, re_search_stub): Use the new macros.
17499         * modules/lock, modules/pthread (configure.ac): Add module indicator.
17500         * modules/regex (Depends-on): Remove pthread.
17502 2013-05-22  Eric Blake  <eblake@redhat.com>
17504         getgroups: document portability issues
17505         * doc/glibc-functions/initgroups.texi (initgroups): Mention
17506         multithread safety.
17507         * doc/posix-functions/getpwuid.texi (getpwuid): Likewise.
17508         * doc/posix-functions/getpwuid_r.texi (getpwuid_r): Likewise.
17509         * doc/glibc-functions/getgrouplist.texi (getgrouplist): Mention
17510         getugroups.
17511         * doc/posix-functions/getgroups.texi (getgroups): Mention
17512         multithread safety and mgetgroups.
17514 2013-05-22  Bernhard Voelker  <mail@bernhard-voelker.de>
17516         test-lchown, test-chown: also skip test if chown fails with EPERM
17517         * tests/test-lchown.h (test_lchown): Add EPERM to the condition to
17518         skip this test, to handle FAT file systems.
17519         * tests/test-chown.h (test_chown): Likewise.
17521 2013-05-19  Paul Eggert  <eggert@cs.ucla.edu>
17523         regex: fix dfa race in multithreaded uses
17524         Problem reported by Ludovic Courtès in
17525         <http://lists.gnu.org/r/bug-gnulib/2013-05/msg00058.html>.
17526         * lib/regex_internal.h (lock_define, lock_init, lock_fini):
17527         New macros.  All uses of __libc_lock_define, __libc_lock_init
17528         changed to use the first two of these.
17529         (__libc_lock_lock, __libc_lock_unlock): New macros, for
17530         non-glibc platforms.
17531         (struct re_dfa_t): Define the lock unconditionally.
17532         * lib/regexec.c (regexec, re_search_stub): Remove some now-incorrect
17533         '#ifdef _LIBC"s.
17534         * modules/regex (Depends-on): Add pthread, if we use the
17535         included regex.
17537         * lib/regcomp.c: Do actions that are not needed for glibc,
17538         but may be needed elsewhere.
17539         (regfree, re_compile_internal): Destroy the lock.
17540         (re_compile_internal): Check for lock-initialization failure.
17542         malloca: port to compilers that reject size-zero arrays
17543         This fixes a bug introduced in my previous patch.
17544         * lib/malloca.c (struct preliminary_header): Use an int
17545         rather than a character array of size int; that's simpler.
17546         (struct header): Remove, replacing with ...
17547         (union header): New type.  This avoids the need for declaring a
17548         character array of size zero, which is not allowed on some platforms.
17549         All uses changed.
17551 2013-05-18  Paul Eggert  <eggert@cs.ucla.edu>
17553         parse-datetime, tests: don't use "string" + int
17554         Recent versions of 'clang' complain about C source code that
17555         uses expressions of the form '"string literal" + integer',
17556         I guess on the theory that it's confusing for readers who are
17557         used to C++.  On those grounds I suppose it's OK to make this
17558         minor style change.
17559         * lib/parse-datetime.y (parse_datetime):
17560         * tests/test-fchdir.c (main):
17561         * tests/test-snprintf-posix.h (test_function):
17562         * tests/test-snprintf.c (main):
17563         * tests/test-vasnprintf-posix.c (test_function):
17564         * tests/test-vasnprintf.c (test_function):
17565         * tests/test-vsnprintf.c (main):
17566         * tests/unistdio/test-ulc-asnprintf1.h (test_function):
17567         Rewrite '"str" + E' to '&"str"[E]'.
17569 2013-05-17  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
17571         argmatch: port to C++
17572         * lib/argmatch.h [__cplusplus]: Add extern "C".
17574         argp: typo fix
17575         * lib/argp-help.c: Typo in comment.
17577 2013-05-15  Paul Eggert  <eggert@cs.ucla.edu>
17579         manywarnings: update for GCC 4.8.0
17580         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC):
17581         Add -Waggressive-loop-optimizations, -Wreturn-local-addr, which
17582         are new to GCC 4.8.  Remove -Wformat=2, -Wmissing-format-attribute,
17583         -Wmissing-noreturn, as they are duplicates of other warnings.
17584         Remove -Wunreachable-code, as it is removed in GCC 4.8 and
17585         was documented to be flaky in earlier versions of GCC.
17587         spawn-tests, sys_socket-tests, sys_wait-tests: port to clang
17588         * tests/test-spawn.c (main):
17589         * tests/test-sys_socket.c (main):
17590         * tests/test-sys_wait.c (main):
17591         Don't have a switch value that isn't covered by a case.
17593         getaddrinfo-tests: port --enable-gcc-warnings to clang
17594         * tests/test-getaddrinfo.c (simple):
17595         Avoid casts from looser to stricter-aligned pointers.
17597         thread: port --enable-gcc-warnings to clang
17598         * lib/glthread/thread.h [__clang__ && USE_POSIX_THREADS_WEAK]:
17599         Include <signal.h>, to pacify a warning about pthread_sigmask.
17601         stdio: use __REDIRECT for fwrite, fwrite_unlocked
17602         * lib/stdio.in.h (fwrite):
17603         When working around bug 11959, use __REDIRECT rather than '#define
17604         fwrite(...) ... fwrite (...) ...'.  This is a more-targeted way to
17605         fix the -Wunused-value issue with clang, and it works with GCC too.
17606         Problem with targeting reported by Eric Blake in
17607         <http://lists.gnu.org/r/bug-gnulib/2013-05/msg00067.html>.
17608         (fwrite_unlocked): Treat like fwrite.  I ran into this issue while
17609         debugging the fwrite issue.
17611         stdio: port --enable-gcc-warnings to clang
17612         * lib/stdio.in.h (fwrite) [__clang__]: Ignore -Wunused-value entirely,
17613         since the GCC workaround for fwrite does not pacify clang.
17615         sig2str: port --enable-gcc-warnings to clang
17616         * lib/sig2str.c (sig2str): Avoid warning about unused printf argument.
17618         obstack: port --enable-gcc-warnings to clang
17619         * lib/obstack.h (obstack_ptr_grow_fast, obstack_int_grow_fast):
17620         Avoid casts from looser to stricter-aligned pointers.
17622         memchr2: port --enable-gcc-warnings to clang
17623         * lib/memchr2.c (memchr2):
17624         Avoid casts from looser to stricter-aligned pointers.
17626         mbsstr: port --enable-gcc-warnings to clang
17627         * lib/mbsstr.c (knuth_morris_pratt_multibyte):
17628         Avoid casts from looser to stricter-aligned pointers.
17630         malloca: port --enable-gcc-warnings to clang
17631         * lib/malloca.c (struct header): New member 'magic', to avoid casts.
17632         (mmalloca): Avoid casts from looser to stricter-aligned pointers.
17634         inttostr: port --enable-gcc-warnings to clang
17635         * lib/anytostr.c [__clang__]: Ignore -Wtautological-compare.
17637         warnings: port to clang
17638         Problem reported by Daniel P. Berrange via Eric Blake in
17639         <http://lists.gnu.org/r/bug-gnulib/2013-05/msg00055.html>.
17640         * m4/warnings.m4 (gl_UNKNOWN_WARNINGS_ARE_ERRORS): New macro.
17641         (gl_WARN_ADD): Use it.
17643 2013-05-11  Jim Meyering  <meyering@fb.com>
17645         quotearg: do not read beyond end of buffer
17646         * lib/quotearg.c (quotearg_buffer_restyled): Do not read beyond the
17647         end of an ARG for which no length was specified.  With an N-byte
17648         quote string, (e.g., N is 3 in the fr_FR.UTF-8 locale), this function
17649         would read N-2 bytes beyond ARG's trailing NUL.  This was triggered
17650         via coreutils' misc/sort-debug-keys.sh test and detected by running
17651         the test against a binary compiled with gcc-4.8.0's -fsanitize=address.
17652         * tests/test-quotearg-simple.c (main): Add a test to trigger the bug.
17653         * modules/quotearg-simple-tests (Files): Add tests/zerosize-ptr.h.
17654         Introduced via the 2000-01-15 commit, c4b7f3f8, "Quote multibyte
17655         characters correctly."
17657 2013-05-11  Daiki Ueno  <ueno@gnu.org>
17659         lock: work around pthread recursive mutexes bug in Mac OS X 10.6
17660         * m4/lock.m4: Don't define HAVE_PTHREAD_MUTEX_RECURSIVE if the
17661         compilation target is Mac OS X 10.6.
17662         Problem reported by parafin and Andoni Morales in
17663         <http://savannah.gnu.org/bugs/?37844> and
17664         <http://lists.gnu.org/r/bug-gettext/2013-05/msg00007.html>.
17666 2013-05-11  Paul Eggert  <eggert@cs.ucla.edu>
17668         mkdir-p: remove assumptions about umask and mode
17669         * lib/mkdir-p.c (make_dir_parents): Do not assume that the current
17670         umask is 0, or that MODE is a subset of MODE_BITS.
17672 2013-05-10  Eric Blake  <eblake@redhat.com>
17674         maint.mk: catch more abuse of HAVE_DECL in syntax-check
17675         * top/maint.mk (sc_prohibit_defined_have_decl_tests): Relax regex.
17677 2013-05-10  Stefano Lattarini  <stefano.lattarini@gmail.com>
17679         deps: require Automake >= 1.9.6 in generated Makefile fragments
17681         That is the same minimal version required in the DEPENDENCIES file.
17682         Moreover, the old code generated a requirement of Automake >= 1.5,
17683         and that is an insanely outdated version.
17685         * gnulib-tool: Bump minimal version requirement in AUTOMAKE_OPTIONS.
17686         * tests/havelib/rpathlx/Makefile.am: Likewise.
17687         * tests/havelib/rpathly/Makefile.am: Likewise.
17688         * tests/havelib/rpathlyx/Makefile.am: Likewise.
17689         * tests/havelib/rpathlz/Makefile.am: Likewise.
17690         * tests/havelib/rpathlzyx/Makefile.am: Likewise.
17691         * tests/havelib/rpathx/Makefile.am: Likewise.
17692         * tests/havelib/rpathy/Makefile.am: Likewise.
17693         * tests/havelib/rpathz/Makefile.am: Likewise.
17695 2013-05-08  Eric Blake  <eblake@redhat.com>
17697         bootstrap: AC_INIT may have more than four parameters
17698         * build-aux/bootstrap (extract_package_name): Correctly extract
17699         non-empty tarname field.  Avoid range in regex.
17700         Based on a report by Sami Kerola <kerolasa@iki.fi>.
17702 2013-05-07  Paul Eggert  <eggert@cs.ucla.edu>
17704         qacl: port to MS-Windows port of GNU Emacs
17705         * lib/acl-errno-valid.c (acl_errno_valid) [ENOTSUP == ENOSYS]:
17706         Omit the duplicate ENOTSUP case.  Needed for the MS-Windows
17707         port of GNU Emacs.  Problem reported by Eli Zaretskii in
17708         <http://bugs.gnu.org/14295#14>.
17710 2013-05-07  Mike Frysinger  <vapier@gentoo.org>
17712         acl: include quote.h
17713         * lib/copy-acl.c: Include quote.h.
17714         * lib/set-acl.c: Likewise.
17716 2013-05-06  Mike Frysinger  <vapier@gentoo.org>
17718         fchownat, renameat, unlinkat: update statat dependencies
17719         These modules use statat and lstatat, not fstatat; so depend on
17720         the statat module, which was split out recently from fstatat.
17721         * modules/fchownat, modules/unlinkat: Change fstatat to statat.
17722         * modules/renameat: Likewise.  Also delete fstat.
17723         URL: http://bugs.gentoo.org/468790
17725 2013-05-04  Stefano Lattarini  <stefano.lattarini@gmail.com>
17727         Assume gnulib is checked out from Git, not CVS
17729         In fact, access to the gnulib repository through CVS has been
17730         disabled, or more precisely, got broken and was never restored; see:
17731         <http://lists.gnu.org/r/bug-gnulib/2013-05/msg00008.html>
17733         Note that support for CVS is not removed completely and unthinkingly
17734         by this change: only support for CVS checkouts of gnulib itself is
17735         removed.  For example, the 'bootstrap' script still cater to .cvsingore
17736         files and CVS directories, for the benefit of those poor gnulib clients
17737         still stuck with CVS.  Ditto for the 'gnulib-tool' script itself.
17739         * gnulib-tool: Simplify accordingly.
17740         * posix-modules: Likewise.
17741         * MODULES.html.sh: Likewise.
17742         * doc/gnulib.texi: No longer mention the decommissioned CVS gnulib
17743         repository.
17744         * doc/gnulib-intro.texi: Likewise.
17745         * doc/gnulib-readme.texi: Likewise.
17746         * doc/gnulib-tool.texi: In the examples and explanations, refer to a
17747         sample '.gitignore' file rather than a sample '.cvsignore'.
17748         * NEWS: Update.
17749         * m4/extensions.m4: While at it, remove a comment mistakenly referring
17750         to "CVS Autoconf" rather than "git Autoconf".
17752 2013-04-30  Paul Eggert  <eggert@cs.ucla.edu>
17754         utimensat-tests, etc.: try to fix some races
17755         Problem reported by Bernhard Voelker in
17756         <http://lists.gnu.org/r/bug-gnulib/2013-04/msg00071.html>.
17757         I don't know whether this patch fixes that race condition, but it
17758         fixes *some* race conditions, so it should be a win.
17759         * modules/chown-tests (Depends-on):
17760         * modules/fchownat-tests (Depends-on):
17761         * modules/fdutimensat-tests (Depends-on):
17762         * modules/futimens-tests (Depends-on):
17763         * modules/lchown-tests (Depends-on):
17764         * modules/stat-time-tests (Depends-on):
17765         * modules/utimens-tests (Depends-on):
17766         * modules/utimensat-tests (Depends-on):
17767         Depend on nanosleep, not usleep.
17768         * modules/chown-tests (test_chown_LDADD):
17769         * modules/lchown-tests (test_lchown_LDADD):
17770         * modules/stat-time-tests (test_stat_time_LDADD):
17771         New macro.
17772         * modules/fchownat-tests (test_fchownat_LDADD):
17773         * modules/fdutimensat-tests (test_fdutimensat_LDADD):
17774         * modules/futimens-tests (test_futimens_LDADD):
17775         * modules/utimens-tests (test_utimens_LDADD):
17776         * modules/utimensat-tests (test_utimensat_LDADD):
17777         Add $(LIB_NANOSLEEP).
17778         * modules/stat-time-tests (Files): Add tests/nap.h.
17779         * tests/nap.h: Include <limits.h>, for INT_MAX.
17780         (lt_mtime): Remove.
17781         (diff_timespec): New function.
17782         (get_stat): Rename from get_mtime.  All callers changed.
17783         (nap_works): Determine the needed delay by inspecting the
17784         file system's timestamp jumps; this should be more reliable.
17785         Look at both mtime and ctime, and take the maximum of the two jumps.
17786         (nap_works, guess_delay):
17787         Return a nanosecond count, not a microsecond count.
17788         All callers changed.
17789         (nap_works, nap): Use nanosleep, not usleep.  Check for nanosleep
17790         failure.
17791         (nap): Multiply the guess by 1.125, to accommodate the case where
17792         the file system's clock is a bit slower than nanosleep's clock.
17793         * tests/test-stat-time.c (BASE): New macro.
17794         Include nap.h.
17795         (nap): Remove; nap.h now defines this.  This removes a duplicate
17796         implementation of 'nap'.
17798         utimens, utimensat: work around Solaris UTIME_OMIT bug
17799         Solaris 11.1 and Solaris 10 have the same UTIME_OMIT bug that
17800         Linux kernel 2.6.32 does.  Work around it in the same way.
17801         * doc/posix-functions/futimens.texi (futimens):
17802         * doc/posix-functions/utimensat.texi (utimensat): Document the bug.
17803         * lib/utimens.c (fdutimens, lutimens):
17804         * lib/utimensat.c (rpl_utimensat): Work around the bug.
17806         gettext: now it's your responsibility to add -I$(top_builddir)/intl
17807         Formerly, it was your responsibility to do this for all Makefile.ams
17808         other than Gnulib's.  Now it's your responsibility to do it for
17809         Gnulib's Makefile.am, too.
17810         * NEWS: Document this.
17811         * modules/gettext (AM_CPPFLAGS): Don't append -$(top_builddir)/intl.
17813         acl: include errno.h to get errno
17814         Reported by Daiki Ueno in
17815         <http://lists.gnu.org/r/bug-gnulib/2013-04/msg00073.html>.
17816         * lib/copy-acl.c, lib/set-acl.c: Include errno.h.
17818 2013-04-29  Paul Eggert  <eggert@cs.ucla.edu>
17820         tests: don't assume getdtablesize () <= 10000000
17821         * modules/cloexec-tests:
17822         * modules/dup2-tests:
17823         * modules/dup3-tests:
17824         * modules/nonblocking-tests:
17825         * modules/posix_spawn_file_actions_addclose-tests:
17826         * modules/posix_spawn_file_actions_adddup2-tests:
17827         * modules/posix_spawn_file_actions_addopen-tests:
17828         * modules/unistd-safer-tests:
17829         Depend on the getdtablesize module.
17830         * tests/test-cloexec.c:
17831         * tests/test-dup-safer.c:
17832         * tests/test-dup2.c:
17833         * tests/test-dup3.c:
17834         * tests/test-fcntl.c:
17835         * tests/test-nonblocking.c:
17836         * tests/test-posix_spawn_file_actions_addclose.c:
17837         * tests/test-posix_spawn_file_actions_adddup2.c:
17838         * tests/test-posix_spawn_file_actions_addopen.c:
17839         Don't assume getdtablesize () <= 10000000.
17841 2013-04-28  Paul Eggert  <eggert@cs.ucla.edu>
17843         extern-inline: work around bug in Sun c99
17844         * m4/extern-inline.m4 (_GL_INLINE, _GL_EXTERN_INLINE):
17845         Work around bug in Sun C 5.12 c99's implementation of 'inline'.
17847 2013-04-27  Paul Eggert  <eggert@cs.ucla.edu>
17849         qacl: new module, broken out from the acl module
17850         This is for GNU Emacs, which wants the acl functions but does
17851         not want 'error' invoked when they fail.
17852         * lib/acl-internal.h: Do not include error.h, quote.h.
17853         (ENOSYS, ENOTSUP): Remove; no longer needed.
17854         (ACL_NOT_WELL_SUPPORTED): Remove; replaced by acl_errno_valid.
17855         * lib/acl.h: Include <stdbool.h>.
17856         (acl_errno_valid): New function.
17857         * lib/copy-acl.c, lib/set-acl.c: Include errno,h, not acl-internal.h.
17858         * lib/copy-acl.c (qcopy_acl): Move to lib/qcopy-acl.c.
17859         * lib/set-acl.c: Rename from lib/set-mode-acl.c.
17860         (chmod_or_fchmod, qset_acl): Move to lib/qset-acl.c.
17861         (ACL_INTERNAL_INLINE): Remove; no longer needed.
17862         * lib/file-has-acl.c (file_has_acl):
17863         * lib/qcopy-acl.c (qcopy_acl):
17864         * lib/qset-acl.c (qset_acl):
17865         Use acl_errno_valid instead of ACL_NOT_WELL_SUPPORTED.
17866         * modules/acl (Files): Move lib/acl.h, lib/acl-internal.h,
17867         lib/acl_entries.c, lib/set-mode-acl.c (renamed to lib/set-acl.c),
17868         lib/file-has-acl.c, m4/acl.m4 to qacl module.
17869         Add lib/set-acl.c.
17870         (Depends-on): Move extern-inline, fstat, sys_stat to qacl module.
17871         Add qacl.
17872         (configure.ac): Move gl_FUNC_ACL to qacl module.
17873         (lib_SOURCES): Remove file-has-acl.c (moved to qacl module).
17874         Rename set-mode-acl.c to set-acl.c.
17875         * lib/acl-errno-valid.c: New file.
17876         * lib/qcopy-acl.c: New file, moved from the old lib/copy-acl.c; the
17877         copy_acl function remains in copy-acl.c.
17878         * lib/qcopy-acl.c, lib/qset-acl.c: Do not include gettext.h.
17879         (_): Remove; not needed.
17880         * lib/qset-acl.c: New file, moved from the old lib/set-mode-acl.c; the
17881         set_acl function remains in set-acl.c (renamed from set-mode-acl.c).
17882         * modules/qacl: New file, moved from the old modules/acl.
17883         (Files, lib_SOURCES): Add acl-errno-valid.c, qcopy-acl.c, qset-acl.c.
17884         Remove set-mode-acl.c, copy-acl.c.
17885         (Depends-on): Remove error, gettext-h, quote.  Add stdbool.
17887         alignof, intprops, malloca: port better to IBM's C compiler
17888         * lib/alignof.h (alignof_type) [__IBM_ALIGNOF__]: Use __alignof__.
17889         * lib/intprops.h (_GL_HAVE___TYPEOF__) [__IBM_TYPEOF__]: Now 1.
17890         * lib/malloca.h (sa_alignof): [__IBM_ALIGNOF__]: Use __alignof__.
17892 2013-04-25  Daiki Ueno  <ueno@gnu.org>
17894         wctype-h: fix gettext link error on mingw
17895         Reported by Josue Andrade Gomes and Takayuki Tsunakawa in
17896         <https://lists.gnu.org/r/bug-gettext/2013-03/msg00086.html>.
17897         * lib/wctype.in.h [__MINGW32__]: Include <ctype.h> before defining
17898         rpl_towupper and rpl_towupper.
17900 2013-04-11  Dmitry V. Levin  <ldv@altlinux.org>
17902         regex-tests, regex: allow glibc re_search behavior
17903         * tests/test-regex.c (main): In test for glibc bug 15078, reformat
17904         re_search input data to make the multi-character collating element
17905         in it clearly visible, and treat re_search return code 0 as valid.
17906         * m4/regex.m4 (gl_REGEX): Likewise.
17908 2013-03-30  Paul Eggert  <eggert@cs.ucla.edu>
17910         stdalign: doc fix
17911         * doc/posix-headers/stdalign.texi (stdalign.h):
17912         Gnulib doesn't support '_Alignof expr'.
17914 2013-03-29  Paul Eggert  <eggert@cs.ucla.edu>
17916         stdalign: port to stricter ISO C11
17917         ISO C11 says that _Alignof's operand must be a parenthesized type.
17918         Problem reported by Eli Zaretskii in
17919         <http://lists.gnu.org/r/emacs-devel/2013-03/msg00960.html>.
17920         * doc/posix-headers/stdalign.texi (stdalign.h): Document this.
17921         * m4/stdalign.m4 (gl_STDALIGN_H): Don't use _Alignof (expr).
17923 2013-03-21  Paul Eggert  <eggert@cs.ucla.edu>
17925         sys_select, sys_time: port 2013-01-30 Solaris 2.6 fix to Cygwin
17926         Problem reported by Marco Atzeri in
17927         <http://lists.gnu.org/r/bug-gnulib/2013-03/msg00000.html>.
17928         * lib/sys_select.in.h [HAVE_SYS_SELECT_H && _CYGWIN_SYS_TIME_H]:
17929         Simply delegate to the system <sys/select.h> in this case too.
17930         Also, pay attention to _GL_SYS_SELECT_H_REDIRECT_FROM_SYS_TIME_H only
17931         if OSF/1, since otherwise Cygwin breaks, and it doesn't seem to
17932         be needed on Solaris either.
17933         * lib/sys_time.in.h [_CYGWIN_SYS_TIME_H]:
17934         Simply delegate to the system <sys/time.h> in this case.
17936 2013-03-19  Karl Berry  <karl@gnu.org>
17938         * build-aux/gnupload: check for erroneous (with gnupload) use of
17939         ftp-upload.gnu.org, tweak help.
17941 2013-03-19  Paul Eggert  <eggert@cs.ucla.edu>
17943         copy-file, rpmatch: fix problems found by cppcheck
17944         Reported by Arno Onken in
17945         <http://lists.gnu.org/r/bug-gnulib/2013-03/msg00069.html>.
17946         * lib/rpmatch.c (try): Fix memory leak.
17947         * lib/copy-file.c: Include "ignore-value.h".
17948         (qcopy_file_preserving): Ignore chown value.
17949         * modules/copy-file (Depends-on): Add ignore-value.
17951 2013-01-27  Jim Meyering  <jim@meyering.net>
17953         prefix-gnulib-mk: give better diagnostics
17954         * build-aux/prefix-gnulib-mk: Don't just "die".
17955         Give better diagnostics upon failure.
17957 2013-03-13  Paul Eggert  <eggert@cs.ucla.edu>
17959         putenv: port to Solaris 10
17960         * lib/putenv.c (_unsetenv, putenv): Use HAVE_DECL__PUTENV, not
17961         HAVE__PUTENV.  Solaris 10 has a _putenv that's not declared and
17962         is not what is wanted here.
17963         * m4/putenv.m4 (gl_PREREQ_PUTENV): Check for _putenv's
17964         declaration, not for its existence.
17966 2013-03-12  Paul Eggert  <eggert@cs.ucla.edu>
17968         mktime: fix configure typo
17969         * m4/mktime.m4 (gl_FUNC_MKTIME): Fix typo in previous change.
17971 2013-03-12  Eric Blake  <eblake@redhat.com>
17973         regex-tests: skip UTF-8 test on mingw
17974         * modules/regex-tests (Depends-on): Add localcharset.
17975         * tests/test-regex.c (main): Use it to skip test on mingw.
17977 2013-03-11  Eric Blake  <eblake@redhat.com>
17979         tests: make it easier to bypass alarm time in debugger
17980         * tests/test-file-has-acl.c (main): Allow gdb to override alarm.
17981         * tests/test-memmem.c (main): Likewise.
17982         * tests/test-passfd.c (main): Likewise.
17983         * tests/test-ptsname.c (main): Likewise.
17984         * tests/test-ptsname_r.c (main): Likewise.
17985         * tests/test-strcasestr.c (main): Likewise.
17986         * tests/test-strstr.c (main): Likewise.
17988         regex: port to mingw's recent addition of undeclared alarm
17989         * doc/posix-functions/alarm.texi (alarm): Document that alarm
17990         exists but still doesn't work in newer mingw.
17991         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm declaration,
17992         not existence.  Ensure SIGALRM is not trapped.
17993         * m4/mktime.m4 (gl_FUNC_MKTIME): Likewise.
17994         * m4/regex.m4 (gl_REGEX): Likewise.
17995         * m4/remainderf.m4 (gl_FUNC_REMAINDERF_WORKS): Likewise.
17996         * tests/test-regex.c (main): Use correct probe for alarm.
17998         putenv: avoid compilation warning on mingw
17999         * lib/putenv.c (_unsetenv): Protect variable declaration.
18000         (putenv): Fix indentation.
18002 2013-03-11  Gary V. Vaughan  <gary@gnu.org>
18004         unistd: don't prevent Tru64 Unix from using gnulib strtod.
18005         * lib/unistd.in.h: be careful not to include un-needed system
18006         stdlib.h from here, because that prevents gnulib stdlib.h from
18007         defining rpl_strtod correctly.
18009 2013-03-09  Gary V. Vaughan  <gary@gnu.org>
18011         vasprintf-posix-tests: allow rounding 1.51 to 1, per the previous
18012         changesets, but for the 'precision 0' test.
18013         * tests/test-vasprintf-posix.c (test_function): Don't insist on
18014         round-to-even, since POSIX says rounding is implementation-defined
18015         and OS X 10.8.2 rounds 1.51 to 1 here.
18017         vasprintf-posix-tests: allow rounding 1.5 to 1, per the previous
18018         changeset.
18019         * tests/test-vasprintf-posix.c (test_function): Don't insist on
18020         round-to-even, since POSIX says rounding is implementation-defined
18021         and OS X 10.8.2 rounds 1.5 to 1 here.
18023 2013-03-08  Paul Eggert  <eggert@cs.ucla.edu>
18025         vasnprintf-posix-tests: allow rounding 1.5 to 1
18026         * tests/test-vasnprintf-posix.c (test_function): Don't insist on
18027         round-to-even, since POSIX says rounding is implementation-defined
18028         and OS X 10.8.2 rounds 1.5 to 1 here.  Reported by Gary V. Vaughan in
18029         <http://lists.gnu.org/r/bug-gnulib/2013-03/msg00019.html>.
18031         bootstrap: port to FreeBSD
18032         * build-aux/bootstrap (bootstrap_sync): Port sh -c usage to shells
18033         that treat '--' differently.  Reported by Mats Erik Andersson in
18034         <http://lists.gnu.org/r/bug-gnulib/2013-03/msg00012.html>.
18036 2013-03-08  Gary V. Vaughan  <gary@gnu.org>
18038         regex: rename remaining __attribute calls to __attribute__.
18039         2012-02-25 changed definition of __attribute, but left some uses
18040         unchanged, preventing compilation of regex module on most non-gcc
18041         environments.
18042         * lib/regcomp.c (re_set_fastmap, seek_collating_symbol_entry)
18043         (lookup_collation_sequence_value, build_range_exp)
18044         (build_collating_symbol): Set attributes with newly renamed
18045         __attribute__ decorator.
18046         * lib/regex_internal.c (re_string_peek_byte_case)
18047         (re_node_set_compare, re_node_set_contains): Likewise.
18048         * lib/regexec.c (acquire_init_state_context): Likewise.
18050 2013-03-06  Bruno Haible  <bruno@clisp.org>
18052         execute: Revert last change, but use a different condition.
18053         * lib/execute.c (nonintr_close, nonintr_open): Reintroduce, but only
18054         on Windows.
18056 2013-03-05  Eric Blake  <eblake@redhat.com>
18058         execute: drop dead code
18059         * lib/execute.c (nonintr_close, nonintr_open): Delete.
18061 2013-03-04  Paul Eggert  <eggert@cs.ucla.edu>
18063         non-recursive-gnulib-prefix-hack: port coreutils 8.21 to HP NonStop
18064         * m4/non-recursive-gnulib-prefix-hack.m4
18065         (gl_NON_RECURSIVE_GNULIB_PREFIX_HACK): Don't mess with ALLOCA.
18066         Problem reported for HP NonStop + coreutils 8.21 by Joachim Schmitz in
18067         <http://bugs.gnu.org/10305#237>.
18069 2013-03-04  Eric Blake  <eblake@redhat.com>
18071         test-getsockopt: avoid compiler warning
18072         * tests/test-getsockopt.c (includes): Ensure close is declared.
18074 2013-03-02  Bruno Haible  <bruno@clisp.org>
18076         sys_types: Avoid autoconf warning about gl_SYS_TYPES_H.
18077         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Define through AC_DEFUN_ONCE.
18079 2013-03-02  Bruno Haible  <bruno@clisp.org>
18081         gettext: Update to version 0.18.2.
18082         * m4/intl.m4, m4/po.m4: Update from gettext-0.18.2. In particular:
18083         2012-12-07  Stefano Lattarini  <stefano.lattarini@gmailcom>
18084                 * intl.m4, po.m4: Bump requirement in AC_PREREQ to 2.60.
18086 2013-02-25  Paul Eggert  <eggert@cs.ucla.edu>
18088         regex: merge patches from libc
18090         2013-02-26  Siddhesh Poyarekar  <siddhesh@redhat.com>
18091         * lib/regex_internal.h (__attribute__): Rename from __attribute.
18092         All uses changed.
18093         (bitset_not, bitset_merge, bitset_mask, re_string_char_size_at)
18094         (re_string_wchar_at, re_string_elem_size_at):
18095         Mark function as possibly unused.
18097         2013-02-12  Andreas Schwab  <schwab@suse.de>  [BZ #11561]
18098         * lib/regcomp.c (parse_bracket_exp) [_LIBC]: When looking up collating
18099         elements compare against the byte sequence of it, not its name.
18101 2013-02-21  Paul Eggert  <eggert@cs.ucla.edu>
18103         putenv: port better to native Windows
18104         * lib/putenv.c [(_WIN32 || __WIN32__) && ! __CYGWIN__]:
18105         Define WIN32_LEAN_AND_MEAN and include <windows.h>.
18106         (_unsetenv): Use _putenv if available.
18107         (putenv): Temporarily set NAME=' ' rather than NAME='x' as that's
18108         a bit less likely to cause damage.
18109         (putenv) [(_WIN32 || __WIN32__) && ! __CYGWIN__]:
18110         Fix the wrong value with SetEnvironmentVariable.
18111         (putenv) [!HAVE__PUTENV]: Simplify and match the HAVE__PUTENV
18112         code better.
18114 2013-02-20  Paul Eggert  <eggert@cs.ucla.edu>
18116         regex: ignore old-style-definition warnings
18117         * lib/regex.c: Add pragma to ignore these warnings.
18118         Problem reported for GNU tar by Pavel Raiskup.
18120 2013-02-19  Paul Eggert  <eggert@cs.ucla.edu>
18122         getcwd: support coreutils better
18123         Like strtod, getcwd incorrectly referred to HAVE_RAW_DECL_GETCWD,
18124         but this might not be correct in coreutils, which disables
18125         the raw decl checks.  Problem reported by Nagendra in
18126         <http://bugs.gnu.org/10305#192>.
18127         * lib/getcwd.c (__getcwd): Do not depend on HAVE_RAW_DECL_GETCWD.
18128         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
18129         Test the getcwd function, not any macro, since getcwd.c wants the
18130         function.
18131         * m4/getcwd.m4 (gl_FUNC_GETCWD):
18132         Don't define HAVE_MINIMALLY_WORKING_GETCWD if the code doesn't
18133         compile, as might happen if there's a macro but no function.
18135         strtod: support coreutils better
18136         * lib/strtod.c (underlying_strtod): Just invoke the underlying strtod.
18137         HAVE_RAW_DECL_STRTOD might not be correct in coreutils, which
18138         disables the raw decl checks.  This assumes there is an underlying
18139         strtod, but that's a safe assumption these days.
18140         (HAVE_RAW_DECL_STRTOD): Remove; no longer used.
18142         mountlist: port to HP NonStop
18143         Reported by Joachim Schmitz in
18144         <http://lists.gnu.org/r/bug-gnulib/2013-02/msg00084.html>.
18145         * lib/mountlist.c (hasmntopt) [!HAVE_HASMNTOPT]: New function.
18146         (MNT_IGNORE) [MNTOPT_IGNORE]: Use it.
18148 2013-02-18  Paul Eggert  <eggert@cs.ucla.edu>
18150         extern-inline: avoid compilation error with HP-UX cc
18151         Reported by Richard Lloyd in
18152         <http://lists.gnu.org/r/bug-texinfo/2013-02/msg00030.html>.
18153         * m4/extern-inline.m4 (_GL_INLINE, _GL_EXTERN_INLINE):
18154         Suppress extern inline with HP-UX cc.  This should be safe,
18155         though it may hurt performance.  Perhaps someone with some HP-UX
18156         experience can come up with a higher-performance fix.
18158 2013-02-14  Paul Eggert  <eggert@cs.ucla.edu>
18160         putenv: fix heap corruption with mixed putenv/_putenv
18161         Problem reported by Michael Goffioul in
18162         <http://lists.gnu.org/r/bug-gnulib/2013-02/msg00061.html>.
18163         * lib/putenv.c (putenv) [HAVE__PUTENV]:
18164         Rely on _putenv to allocate the new environment.
18165         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
18166         * modules/putenv (configure.ac): Use it.
18168 2013-02-11  Paul Eggert  <eggert@cs.ucla.edu>
18170         unsetenv etc.: port to Solaris 11 + GNU Emacs
18171         * lib/canonicalize-lgpl.c, lib/getaddrinfo.c, lib/getdelim.c:
18172         * lib/glob.c, lib/random_r.c, lib/setenv.c, lib/tsearch.c:
18173         * lib/unsetenv.c (_GL_ARG_NONNULL): Define before including <config.h>.
18174         GNU Emacs's <config.h> includes <stdlib.h> (which is not a great
18175         idea but is too painful to fix right now), and without this gnulib
18176         change <stdlib.h> was defining _GL_ARG_NONNULL incorrectly when
18177         compiling unsetenv.c on Solaris 11.  Fix the problem for
18178         unsetenv.c, and fix other similar occurrences.
18180 2013-02-09  Paul Eggert  <eggert@cs.ucla.edu>
18182         secure_getenv: fix C++ declaration typo
18183         * lib/stdlib.in.h (secure_getenv): Fix typo with return type
18184         in _GL_CXXALIAS_SYS macro.  Reported by John W. Eaton in
18185         <http://lists.gnu.org/r/bug-gnulib/2013-02/msg00057.html>.
18187 2013-02-08  Paul Eggert  <eggert@cs.ucla.edu>
18189         careadlinkat: stop exporting careadlinkatcwd
18190         Only Emacs used it directly, and Emacs no longer needs it.
18191         * NEWS: Document this simplification.
18192         * lib/areadlink.c (careadlinkatcwd): Move here from careadlinkat.c,
18193         and make it static.  Include <stdlib.h>, for abort, and unistd.h,
18194         for readlink.
18195         * lib/careadlinkat.c (careadlinkatcwd): Move to areadlink.c.
18196         Don't include stdlib.h; no longer needed.
18197         * lib/careadlinkat.h (careadlinkatcwd): Remove decl.
18198         * lib/relocwrapper.c: Adjust comment to match new dependencies.
18199         * modules/areadlink (Depends-on): Add readlink.
18200         (Maintainer): Add self.
18201         * modules/careadlinkat (Depends-on): Remove readlink.
18203         extensions: port better to HP-UX
18204         This is merged from git Autoconf.
18205         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
18206         On hosts that need _XOPEN_SOURCE, define it when configuring, too,
18207         so that it's compatible with the value used when compiling.
18209         openpty: fix bug where HAVE_OPENPTY is mistakenly 1
18210         Problem reported by Mats Erik Andersson in
18211         <http://lists.gnu.org/r/bug-gnulib/2013-02/msg00051.html>.
18212         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when the
18213         openpty function exists, not merely when we intend to replace it.
18214         This corrects the 2013-01-31 patch, which mistakenly defined
18215         HAVE_OPENPTY even on hosts that lacked it.
18217 2013-02-07  Paul Eggert  <eggert@cs.ucla.edu>
18219         secure_getenv: fix include typo
18220         * lib/secure_getenv.c: Include config.h.  Somehow I forgot!
18222         secure_getenv: port better to FreeBSD and Solaris
18223         * lib/secure_getenv.c [!HAVE___SECURE_GETENV]:
18224         Include unistd.h if HAVE_ISSETUGID, otherwise define a dummy issetugid.
18225         (secure_getenv) [!HAVE___SECURE_GETENV]: Use getenv if not issetugid.
18226         This works better on BSDish platforms.
18227         * m4/secure_getenv.m4 (gl_PREREQ_SECURE_GETENV):
18228         Test for issetugid if __secure_getenv is missing.
18230 2013-02-06  Paul Eggert  <eggert@cs.ucla.edu>
18232         extensions: port better to MINIX 3, HP-UX, autoheader 2.62
18233         Some of these changes are merged in from git Autoconf.
18234         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
18235         When deciding whether to define _XOPEN_SOURCE, inspect the
18236         preprocessor macro __hpux instead of the more-heavyweight
18237         operation of requiring AC_CANONICAL_HOST.  Define _NETBSD_HOST on
18238         MINIX, for MINIX 3.  Use USE_SYSTEM_EXTENSIONS, not __EXTENSIONS__,
18239         as the key for __EXTENSIONS__.
18241         unistd: avoid namespace pollution on non-glibc systems
18242         * lib/unistd.in.h: #define __need_getopt before including <getopt.h>.
18243         This avoids namespace pollution on non-glibc systems, by causing
18244         gnulib unistd.h to behave more like glibc unistd.h.  I also hope
18245         that this fixes a bug on FreeBSD, reported by Mats Erik Andersson in
18246         <http://lists.gnu.org/r/bug-gnulib/2013-02/msg00027.html>.
18248 2013-02-04  Paul Eggert  <eggert@cs.ucla.edu>
18250         tmpdir: use secure_getenv
18251         * lib/tmpdir.c (__secure_getenv) [!LIBC]:
18252         Define to secure_getenv, not getenv.
18253         * m4/tmpdir.m4 (gt_TMPDIR): Don't check for __secure_getenv,
18254         as that's now secure_getenv's job.
18255         * modules/tmpdir (Depends-on): Add secure_getenv.
18257         tempname: use secure_getenv
18258         * lib/tempname.c (__secure_getenv) [!_LIBC]:
18259         Define to secure_getenv, not getenv.
18260         * modules/tempname (Depends-on):
18261         Add secure_getenv.
18263         secure_getenv: new module
18264         * MODULES.html.sh (Extra functions based on ANSI C 89):
18265         Add secure_getenv.
18266         * doc/glibc-functions/secure_getenv.texi: New file.
18267         * doc/gnulib.texi: Include it.
18268         * lib/secure_getenv.c, m4/secure_getenv.m4, modules/secure_getenv:
18269         New files.
18270         * lib/stdlib.in.h (secure_getenv): New decl.
18271         * m4/stdlib_h.m4 (gl_STDLIB_H, gl_STDLIB_H_DEFAULTS):
18272         * modules/stdlib (stdlib.h):
18273         Add secure_getenv checks.
18275 2013-02-03  Paul Eggert  <eggert@cs.ucla.edu>
18277         getcwd: break fdopendir + save_cwd recursive loop (Bug#13516)
18278         Reported for OS X 10.8.2 by Assaf Gordon in
18279         <http://bugs.gnu.org/13516>.
18280         * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Do not define if
18281         !HAVE_OPENAT && !HAVE_FDOPENDIR.
18282         * m4/getcwd-abort-bug.m4: Reformat to match test-getcwd.c
18283         so that they can be kept in sync more easily.  Avoid PATH_MAX
18284         test on the Hurd.  Sync from test-getcwd.c for errno tests after
18285         mkdir or chdir failure.
18286         * tests/test-getcwd.c (HAVE_OPENAT_SUPPORT): New macro, from
18287         lib/getcwd.c.
18288         (test_abort_bug): Do not test for the deep directory bug unless we
18289         have openat support.  Avoid PATH_MAX test on the Hurd.
18291         regex-tests, regex: fix bug: memset undeclared
18292         * tests/test-regex.c: Don't include regex.h twice.  Include
18293         string.h, to declare memset.  Christensen's report also mentioned
18294         this issue.
18295         * m4/regex.m4 (gl_REGEX): Keep test program more in sync with
18296         test-regex.c, to avoid future problems like this.  Remove
18297         AC_INCLUDES_DEFAULT.  Include <string.h>.  Don't include <regex.h>
18298         twice.
18300         regex-tests: fix link errors on older Solaris
18301         These need to link with @LIBINTL@ to get libintl_gettext.
18302         Problem reported by Tom G. Christensen in
18303         <http://lists.gnu.org/r/bug-gnulib/2013-02/msg00003.html>.
18304         * modules/regex-tests (test_regex_LDADD): New macro.
18306 2013-01-31  Paul Eggert  <eggert@cs.ucla.edu>
18308         regex-tests: new module
18309         * modules/regex-tests, tests/test-regex.c: New files.
18311         regex: fix off-by-one error in configure test
18312         * m4/regex.m4 (gl_REGEX): Test should return 21, not 20.
18314 2013-01-31  Eric Blake  <eblake@redhat.com>
18316         regex: avoid infinite configure test
18317         * m4/regex.m4 (gl_REGEX): Add an alarm escape hatch.
18319 2013-01-31  Reuben Thomas  <rrt@sc3d.org>
18321         openpty: fix bug where HAVE_OPENPTY wasn't defined
18322         See the thread starting at:
18323         http://lists.gnu.org/r/bug-gnulib/2013-01/msg00185.html
18324         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when the
18325         openpty function exists, not merely when we intend to replace it.
18327 2013-01-30  Paul Eggert  <eggert@cs.ucla.edu>
18329         sys_time: port to Solaris 2.6
18330         There is a circularity problem on Solaris 2.6, where <time.h> includes
18331         <sys/time.h> for struct timespec.  The include nesting is gnulib
18332         <time.h>, system <time.h>, gnulib <sys/time.h>, system
18333         <sys/time.h>, gnulib <sys/types.h>, system <sys/types.h>, gnulib
18334         <sys/select.h>, gnulib <signal.h>, system <sys/signal.h>, system
18335         <sys/siginfo.h>; the last, innermost file needs struct
18336         timestruc_t, which is defined in <sys/time.h>, which has not been
18337         fully parsed.  Problem reported by Tom G. Christensen in
18338         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00113.html>.
18339         * lib/sys_select.in.h: Treat Solaris 2.6's problem with
18340         <sys/time.h> and <sys/types.h> like OSF/1's similar problem.
18341         * lib/sys_time.in.h: Redo to resemble sys_select.in.h, which
18342         uses split double-inclusion guards.
18344 2013-01-29  Paul Eggert  <eggert@cs.ucla.edu>
18346         regex: test for buffer overrun
18347         * m4/regex.m4 (gl_REGEX): Add test case, by Andreas Schwab,
18348         for the just-fixed regex bug.
18350 2013-01-29  Andreas Schwab  <schwab@suse.de>
18352         regex: fix buffer overrun in regexp matcher [BZ #15078]
18353         * lib/regexec.c (extend_buffers): Add parameter min_len.
18354         (check_matching): Pass minimum needed length.
18355         (clean_state_log_if_needed): Likewise.
18356         (get_subexp): Likewise.
18358 2013-01-28  Pádraig Brady  <P@draigBrady.com>
18360         mountlist: don't consider "devtmpfs" as dummy
18361         * lib/mountlist.c (ME_DUMMY_0): Remove "devtmpfs"
18362         as there is storage associcated with it.
18364 2013-01-27  Paul Eggert  <eggert@cs.ucla.edu>
18366         futimens-tests, utimens-tests: Depend on gettext.
18367         This works around a problem introduced in my 2013-01-12 patch,
18368         which added @LIBINTL@ to these modules.
18369         * modules/futimens-tests (Depends-on):
18370         * modules/utimens-tests (Depends-on): Add gettext.
18372 2013-01-26  Eric Blake  <eblake@redhat.com>
18374         test-getpeername: fix typo
18375         * tests/test-getpeername.c: Fix typo introduced in fd cleanup.
18377 2013-01-20  Bernhard Voelker  <mail@bernhard-voelker.de>
18379         bootstrap: remove the need for a sorted .gitignore file
18380         * build-aux/bootstrap (insert_sorted_if_absent): Adjust and
18381         rename to insert_if_absent(), so that we don't need or generate
18382         a sorted .gitignore file.  We do require a .gitignore with no
18383         existing duplicate entries and enforce that.
18384         (sort_patterns): Remove this function as we now use the simpler
18385         technigue of inserting blacklist entries at the top of the file,
18386         assuming gnulib won't be inserting !whitelist entries.
18388 2013-01-23  Paul Eggert  <eggert@cs.ucla.edu>
18390         readlinkat: don't depend on gl_FUNC_OPENAT
18391         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Don't require gl_FUNC_OPENAT.
18392         Perhaps a similar change needs to be made for linkat.m4, mkfifoat.m4,
18393         renameat.m4, symlinkat.m4; but one thing at a time.
18395         statat: new module, split out from fstatat
18396         GNU Emacs needs the POSIX-specified fstatat, but not the
18397         gnulib-specified statat and lstat.  Split the latter two into a
18398         new module 'statat'.
18399         * lib/openat.h: Depend on GNULIB_STATAT, not GNULIB_FSTATAT.
18400         * lib/openat.h, lib/statat.c (STATAT_INLINE):
18401         Rename from FSTATAT_INLINE. All uses changed.
18402         * modules/fstatat (Files): Remove lib/statat.c.
18403         (gl_MODULE_INDICATOR([fstatat])): Remove.
18404         (lib_SOURCES): Remove.
18405         (Maintainer): Add self.
18406         * modules/statat, modules/statat-tests, tests/test-statat.c: New files.
18407         * tests/test-fstatat.c (BASE): Don't define if already defined.
18408         (do_stat, do_lstat) [!TEST_STATAT]: Test fstatat instead.
18410 2013-01-22  Paul Eggert  <eggert@cs.ucla.edu>
18412         tests: don't assume fd 99 is closed
18413         * tests/test-accept.c, tests/test-accept4.c, tests/test-bind.c:
18414         * tests/test-close.c, tests/test-connect.c, tests/test-dprintf.c:
18415         * tests/test-dup.c, tests/test-dup2.c, tests/test-faccessat.c:
18416         * tests/test-fchdir.c, tests/test-fchmod.c, tests/test-fchmodat.c:
18417         * tests/test-fchown.c, tests/test-fchownat.c, tests/test-fclose.c:
18418         * tests/test-fdatasync.c, tests/test-fdopen.c, tests/test-fdopendir.c:
18419         * tests/test-fflush.c, tests/test-fgetc.c, tests/test-fputc.c:
18420         * tests/test-fread.c, tests/test-freopen.c, tests/test-fseeko4.c:
18421         * tests/test-fstat.c, tests/test-fstatat.c, tests/test-fsync.c:
18422         * tests/test-ftello4.c, tests/test-ftruncate.c, tests/test-futimens.h:
18423         * tests/test-fwrite.c, tests/test-getpeername.c:
18424         * tests/test-getsockname.c, tests/test-getsockopt.c:
18425         * tests/test-grantpt.c, tests/test-ioctl.c, tests/test-isatty.c:
18426         * tests/test-linkat.c, tests/test-listen.c, tests/test-lseek.c:
18427         * tests/test-mkdirat.c, tests/test-mkfifoat.c, tests/test-openat.c:
18428         * tests/test-pread.c, tests/test-pwrite.c, tests/test-read.c:
18429         * tests/test-readlinkat.c, tests/test-recv.c, tests/test-recvfrom.c:
18430         * tests/test-renameat.c, tests/test-select.h, tests/test-send.c:
18431         * tests/test-sendto.c, tests/test-setsockopt.c, tests/test-shutdown.c:
18432         * tests/test-symlinkat.c, tests/test-ttyname_r.c:
18433         * tests/test-unlinkat.c, tests/test-unlockpt.c:
18434         * tests/test-utimensat.c, tests/test-vdprintf.c, tests/test-write.c:
18435         Close file descriptor 99, instead of assuming it's already closed.
18437 2013-01-21  Paul Eggert  <eggert@cs.ucla.edu>
18439         stpncpy: port to OS X 10.8
18440         * lib/stpncpy.c (__stpncpy): Parenthesize name when defining function.
18441         Problem reported by Assaf Gordon in <http://bugs.gnu.org/13495>.
18443 2013-01-16  Paul Eggert  <eggert@cs.ucla.edu>
18445         unistd: port to recent mingw
18446         * lib/unistd.in.h: Remove special invocation convention for mingw,
18447         which breaks for the latest mingw version.  See John W. Eaton in
18448         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00100.html>.
18450         largefile: port better to Mac OS X 10.5
18451         This patch is backported from Autoconf git.
18452         * m4/largefile.m4 (AC_SYS_LARGEFILE): Use AC_DEFINE, not
18453         AH_VERBATIM, to define _DARWIN_USE_64_BIT_INODE, to avoid problems
18454         with ino_t size being different for configuration time versus
18455         build/run time.  Problem reported by PHO in
18456         <http://lists.gnu.org/r/bug-autoconf/2013-01/msg00040.html>.
18458 2013-01-15  Paul Eggert  <eggert@cs.ucla.edu>
18460         doc: clarify -Werror
18461         * doc/warnings.texi (warnings): -Werror is not always a bad idea;
18462         clarify that it's intended for developers, not for ordinary builds,
18463         and mention --enable-gcc-warnings as one possible use.
18465 2013-01-15  Andoni Morales Alastruey  <ylatuya@gmail.com>  (tiny change)
18467         stdint: fix build with Android's Bionic fox x86
18468         * lib/stdint.in.h: fix check to test if included-fixed/sys/types.h
18469         was already included as _SSIZE_T_DEFINED_ might also be defined
18470         in include/machine/_types.h, which is included by stdio.h
18472 2013-01-13  Paul Eggert  <eggert@cs.ucla.edu>
18474         net_if-tests: port to Solaris 7 + GCC 3.4.6
18475         Problem reported by Tom G. Christensen in
18476         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00091.html>.
18477         * tests/test-net_if.c (ni): Move to next the code that uses it,
18478         so that it's declared only if needed.
18480 2013-01-12  Paul Eggert  <eggert@cs.ucla.edu>
18482         net_if-tests: port to older Solaris
18483         Problem reported by Tom G. Christensen in
18484         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00086.html>.
18485         * modules/net_if-tests (NET_IF_LIB): New substitution.
18486         (test_net_if_LDADD): New makefile macro, which uses NET_IF_LIB.
18487         (HAVE_IF_NAMEINDEX): New C macro.
18488         * tests/test-net_if.c: Bypass most of the test if !HAVE_IF_NAMEINDEX.
18490         system-quote-tests: port to older Solaris
18491         Problem reported by Tom G. Christensen in
18492         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00086.html>.
18493         * tests/test-system-quote-child.c (fopen, fread): Undef.
18495         c-xvasprintf etc.: fix link errors on older Solaris
18496         These need to link with @LIBINTL@ to get libintl_gettext.
18497         Problem reported by Tom G. Christensen in
18498         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00086.html>.
18499         * modules/c-xvasprintf-tests (test_c_xvasprintf_LDADD):
18500         * modules/readtokens-tests (test_readtokens_LDADD): New macros.
18501         * modules/futimens-tests (test_futimens_LDADD):
18502         * modules/utimens-tests (test_utimens_LDADD): Add @LIBINTL@.
18504 2013-01-10  Paul Eggert  <eggert@cs.ucla.edu>
18506         locale: port to Solaris 2.6 and 7 + GNU gettext
18507         * lib/locale.in.h: Just include_next <locale.h> when
18508         being invoked recursively.  This prevents problems on Solaris 2.6 and 7
18509         when combining the localename module with GNU gettext 0.18.2.
18510         Problem reported by Tom G. Christensen in
18511         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00084.html>.
18513 2013-01-09  Paul Eggert  <eggert@cs.ucla.edu>
18515         stdlib: port to Solaris 2.6
18516         Also, the code worked on Solaris 7 through 9 only by accident.
18517         Problem reported by Tom G. Christensen in
18518         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00059.html>.
18519         * lib/stdlib.in.h: If __need_system_stdlib_h is defined,
18520         simply include the system stdlib.h.
18521         * lib/getopt.in.h (__need_system_stdlib_h):
18522         * lib/pthread.in.h (__need_system_stdlib_h):
18523         * lib/unistd.in.h (__need_system_stdlib_h) [!__GLIBC__]:
18524         Define when including <stdlib.h>, to avoid problems at least for
18525         the pthread case on Solaris 2.6 and 7.  These .h files can get by
18526         with the system stdlib.h.
18528 2013-01-06  Paul Eggert  <eggert@cs.ucla.edu>
18530         doc: update main copyright year
18531         * doc/gnulib.texi: Update copyright date.
18533         doc: improve ISO 8601 discussion
18534         * doc/parse-datetime.texi (Combined date and time of day items):
18535         Specify more carefully what formats are supported and what is
18536         done with excess precision.
18538 2013-01-05  Paul Eggert  <eggert@cs.ucla.edu>
18540         doc: avoid small caps
18541         * doc/parse-datetime.texi, doc/regex.texi: Don't use small caps;
18542         they're more trouble than they're worth.  Suggested by Karl Berry
18543         in <http://bugs.gnu.org/13360>.
18545         regex: conform to strict C
18546         * lib/regcomp.c (parse_bracket_exp): Add cast to conform to strict C.
18547         From Aharon Robbins.
18549         gnulib-tool: fix incompatibility with autopoint 0.18.2
18550         * gnulib-tool: Don't indent AM_GNU_GETTEXT_VERSION line.
18551         Problem reported by Tom G. Christensen in
18552         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00053.html>.
18554 2013-01-04  Paul Eggert  <eggert@cs.ucla.edu>
18556         fprintftime: bring back and reword fwrite comment
18557         * lib/strftime.c (cpy) [FPRINTFTIME]: Re-add reworded comment.
18559         stdio: remove now-unnecessary stdio.c
18560         Since stdio.in.h no longer uses inline functions, we no longer
18561         need to compile the extern versions.
18562         * lib/stdio.c: Remove.
18563         * modules/stdio (Files): Remove lib/stdio.c.
18564         (lib_SOURCES): Remove.
18566         unicodeio: depend on stdio, not ignore-value
18567         * lib/unicodeio.c: Do not include ignore-value.h.
18568         (fwrite_success_callback): Use plain fwrite, not ignore_value + fwrite.
18569         * modules/unicodeio (Depends-on): Depend on stdio, not ignore-value.
18571         fprintftime: depend on stdio, not ignore-value
18572         * lib/strftime.c [FPRINTFTIME]: Do not include ignore-value.h.
18573         (cpy) [FPRINTFTIME]: Use plain fwrite, not ignore_value of fwrite,
18574         since the stdio module arranges to silence that warning now.
18575         * modules/fprintftime (Depends-on): Depend on stdio, not ignore-value.
18577 2012-10-04  Simon Josefsson  <simon@josefsson.org>
18579         stdint-tests: Fix expanded-before-required-warning.
18580         * modules/stdint-tests (Depends-on): Use AC_REQUIRE.
18582 2013-01-03  Paul Eggert  <eggert@cs.ucla.edu>
18584         fwrite: silence __wur only for older glibc versions
18585         * lib/stdio.in.h (fwrite): Limit workaround to glibc 2.4 through 2.15.
18586         This will help us remove this workaround some time in the far future.
18588 2013-01-03  Eric Blake  <eblake@redhat.com>
18590         fwrite: silence __wur without using inline
18591         * lib/stdio.in.h (fwrite): Limit warn_unused_result workaround to
18592         just gcc, and in a way that avoids inline issues.
18593         * modules/stdio (Depends-on): Drop extern-inline.
18595 2013-01-03  Jim Meyering  <jim@meyering.net>
18597         update-copyright: avoid copyright notice date corruption
18598         Given a sequence of copyright year numbers in which the final
18599         one was a two-digit number that happened to be a substring of
18600         a preceding four-digit year number, we would mistakenly update
18601         the substring (from two- to four-digit) rather than the two-digit
18602         number at the end, which, combined with the addition of the current
18603         4-digit year number would yield two 5-digit year numbers, e.g.,
18604         here, it would convert the first "99" to "1999, 2013" rather than
18605         the final one:
18606           1991, 99
18607           11999, 20131, 1999
18608         * build-aux/update-copyright: Tighten a regexp.
18609         * tests/test-update-copyright.sh: Add a test case to trigger the bug.
18610         Reported by Joseph Myers in
18611         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/32281
18613 2013-01-01  Paul Eggert  <eggert@cs.ucla.edu>
18615         regex: omit needless signed-pointer casts
18616         * lib/regcomp.c (build_charclass, build_charclass_op):
18617         Use char *, not unsigned char *, for class name and extra.
18618         The char values are always nonnegative so there's no need to
18619         insist on unsigned char * here, and using char * removes the need
18620         for casts.  Reported by Aharon Robbins in
18621         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
18623         regex: support Gawk, which never uses alloca
18624         * lib/regex_internal.h [!_LIBC && !HAVE_ALLOCA]:
18625         Do not include in this case.  Gawk doesn't supply a substitute
18626         alloca.h and doesn't need one.
18628         regex: port __libc_lock_define usage to C89
18629         * lib/regex_internal.h (__libc_lock_define) [!_LIBC]: Remove.
18630         (struct re_dfa_t): Use #ifdef instead.  '__libc_lock_define (, lock)'
18631         does not conform to C89, as it has an empty macro argument.
18632         Reported by Aharon Robbins in
18633         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
18635 2013-01-01  Eric Blake  <eblake@redhat.com>
18637         maint: update all copyright year number ranges
18638         Run "make update-copyright".
18640         version-etc: bump copyright year reported in --version
18641         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2013.
18643 2012-12-31  Eric Blake  <eblake@redhat.com>
18645         sigprocmask-tests: skip test if pid is unexpectedly large
18646         * tests/test-sigprocmask.c (main): Add range check.
18648         git-version-gen: avoid test -z portability glitch
18649         * build-aux/git-version-gen: Prefer portable test spelling, since
18650         git-version-gen is run on more than just developer machines.
18652 2012-12-31  Peter Rosin  <peda@lysator.liu.se>  (tiny change)
18654         git-version-gen: add --fallback option to use if git is not present
18655         * build-aux/git-version-gen: Add support for the new option --fallback,
18656         which comes into play when there is no $tarball_version_file and
18657         git is not working.
18658         (scriptversion): Update.
18660         maint.mk: handle missing git with more grace
18661         * top/maint.mk (no-submodule-changes, public-submodule-commit):
18662         Quietly proceed if git is not present.
18664 2012-12-31  Eric Blake  <eblake@redhat.com>
18666         dup2: work around cygwin bug
18667         * m4/dup2.m4 (gl_FUNC_DUP2): Flush out cygwin core dump.
18668         * lib/dup2.c (rpl_dup2): Work around it.
18669         * doc/posix-functions/dup2.texi (dup2): Document it.
18671 2012-12-30  Paul Eggert  <eggert@cs.ucla.edu>
18673         regex: remove unnecessary dependency on localcharset.h
18674         * lib/regex_internal.h [!_LIBC]: Don't include localcharset.h;
18675         hasn't been needed for years.
18676         * modules/regex (Depends-on): Remove localcharset.
18678         regex: revert single-byte change
18679         * lib/regexec.c (check_node_accept_bytes): Revert previous change
18680         to this function.  This was alredy fixed in a different way, at
18681         bdb56bacd57070eced9998569ffe3f3c37ef5964 in the glibc git; see
18682         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=510219> and
18683         <http://sourceware.org/bugzilla/show_bug.cgi?id=9697>.
18685         regex: simplify based on Gawk version
18686         * lib/regex_internal.c (re_dfa_add_node): Simplify.
18687         Reported by Aharon Robbins in
18688         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
18690 2012-12-29  Paul Eggert  <eggert@cs.ucla.edu>
18692         regex: check that pattern char is single-byte
18693         Reported by Aharon Robbins in
18694         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
18695         * lib/regexec.c (check_node_accept_bytes):
18696         Return 0 if the pattern string has a multibyte character here.
18698         regex: implement rational ranges
18699         Reported by Aharon Robbins in
18700         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
18701         * lib/regcomp.c (build_range_exp) [!_LIBC]:
18702         * lib/regexec.c (check_node_accept_bytes) [!_LIBC]:
18703         Implement rational ranges.
18705         regex: avoid redefining __wctype
18706         Reported by Aharon Robbins in
18707         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
18708         * lib/regex_internal.h (__wctype, __iswctype) [!_LIBC]:
18709         #undef before defining.
18711         regex: port to hosts where malloc (0) == NULL
18712         Reported by Aharon Robbins in
18713         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
18714         * lib/regex_internal.c (re_node_set_alloc):
18715         Don't assume that malloc (0) yields nonnull.
18716         * lib/regex_internal.h (MALLOC_0_IS_NONNULL): New macro.
18717         * m4/regex.m4 (gl_PREREQ_REGEX): Require gl_EEMALLOC.
18718         * modules/regex (Files): Add m4/eealloc.m4.
18720         regex: port to C89
18721         Reported by Aharon Robbins in
18722         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
18723         * lib/regcomp.c (init_word_char): Declaration before statement.
18725         regex: merge glibc changes
18726         Also, copy the license wording from glibc.  This simplifies
18727         merging changes.  gnulib-tool will change the wording to GPL as
18728         appropriate, when importing it to other packages.  The only
18729         glibc change made since the last merge, which needs merging, is:
18730         2012-05-24 Andreas Schwab <schwab@linux-m68k.org>
18731         * lib/regex_internal.h (gettext): Remove use of INTUSE.
18733         * users.txt: Add Emacs.
18735         doc: omit mention of version when not needed
18736         * doc/gnulib-intro.texi (Portability and Application Code):
18737         * doc/gnulib.texi (Brief Overview, Legacy Function Substitutes):
18738         Don't mention particular dates or versions when not necessary, so
18739         that the documentation won't go out of date so quickly.
18741         * doc/intprops.texi (Integer Properties): Fix Texinfo typo.
18743 2012-12-28  Akim Demaille  <akim@lrde.epita.fr>
18745         bootstrap: pass --force to autoreconf.
18746         * build-aux/bootstrap (AUTORECONFFLAGS): New.
18747         Add "--force" so that Automake's ylwrap and other such tools
18748         be updated at each bootstrap invocation.
18749         Use it.
18751 2012-12-27  Paul Eggert  <eggert@cs.ucla.edu>
18753         argp: fix port of port new 'inline' approach to Sun C 5.12 + Solaris 10
18754         The earlier patch forgot to update one of the #if conditions, causing
18755         a problem on Debian testing i386 reported by Mats Erik Andersson
18756         <http://lists.gnu.org/r/bug-gnulib/2012-12/msg00124.html>.
18757         * lib/argp-fmtstream.h (__argp_fmtstream_putc, argp_fmtstream_putc)
18758         (__argp_fmtstream_puts, argp_fmtstream_puts)
18759         (__argp_fmtstream_write, argp_fmtstream_write)
18760         [!_LIBC && !__OPTIMIZE__]: Declare as ARGP_FS_EI, not as extern.
18762         * doc/gnulib-readme.texi: Minor fixups.
18763         (Portability guidelines): Modernize URLs.  Remove some repetition.
18764         (Indent with spaces not TABs): Reword to avoid too-long lines.
18765         Remove some '@ifset standalone' stuff that isn't used.
18767         * doc/gnulib-readme.texi (Portability guidelines):
18768         ctype.h, not ctime.h.
18770         Correct name of POSIX.1-2001.
18771         * doc/posix-functions/fgetc.texi (fgetc):
18772         * doc/posix-functions/fgets.texi (fgets):
18773         * doc/posix-functions/fread.texi (fread):
18774         * doc/posix-functions/fscanf.texi (fscanf):
18775         * doc/posix-functions/getc.texi (getc):
18776         * doc/posix-functions/getchar.texi (getchar):
18777         * doc/posix-functions/scanf.texi (scanf):
18778         POSIX.1-2001, not POSIX-2001.
18780         doc: move README into manual
18781         * README: Move contents to new file doc/gnulib-readme.texi.
18782         Replace with a one-line summary.
18783         * doc/gnulib.texi (Brief Overview): New section,
18784         with old intro preface.  Include gnulib-readme.texi for contents.
18785         (Philosophy): Rename from "Introduction", since this
18786         section no longer introduces the rest.  Write a new preface.
18787         * doc/gnulib-readme.texi: New file, with the old contents of
18788         README texinfo-ized.  This way, the README info appears
18789         in the online and printed manual.
18791 2012-12-25  Ben Pfaff  <blp@cs.stanford.edu>
18793         c-xvasprintf: Fix "implicit declaration of function" GCC warning.
18794         * lib/c-xvasprintf.c: Add missing #include "c-vasprintf.h", for
18795         c_vasprintf() prototype.
18797 2012-12-24  Ben Pfaff  <blp@cs.stanford.edu>
18799         c-vasprintf: Fix "empty declaration" warning reported by GCC.
18800         * lib/c-vasprintf.h: Remove stray semicolon.
18802 2012-12-23  Paul Eggert  <eggert@cs.ucla.edu>
18804         gettext: avoid obsolete macro AM_PROG_MKDIR_P
18805         It is obsolete and is planned to be removed from Automake 1.14; see
18806         <http://lists.gnu.org/r/automake/2012-12/msg00029.html>.
18807         * build-aux/po/Makefile.in.in (install-data, install-data-yes)
18808         (installdirs-data, installdirs-data-yes):
18809         Use $(MKDIR_P), not $(mkdir_p).
18810         * m4/intl.m4 (AM_INTL_SUBDIR):
18811         * m4/po.m4 (AM_PO_SUBDIRS):
18812         Require AC_PROG_MKDIR_P, not AM_PROG_MKDIR_P.
18814 2012-12-22  Paul Eggert  <eggert@cs.ucla.edu>
18816         argp: port new 'inline' approach to Sun C 5.12 + Solaris 10
18817         On this platform, we are not optimizing but we are using
18818         the substitute for extern inlines, so compile as if
18819         C99-style extern inline, or a substitute, is available.
18820         * lib/argp-fmtstream.h (argp_fmtstream_set_lmargin)
18821         (__argp_fmtstream_set_lmargin, argp_fmtstream_set_rmargin)
18822         (__argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin)
18823         (__argp_fmtstream_set_wmargin, argp_fmtstream_point)
18824         (__argp_fmtstream_point) [!_LIBC && !__OPTIMIZE__]:
18825         Declare as ARGP_FS_EI, not as extern.
18826         * lib/argp.h (argp_usage, __argp_usage, _option_is_short)
18827         (__option_is_short, _option_is_end, __option_is_end)
18828         [!_LIBC && __USE_EXTERN_INLINES]:
18829         Declare as ARGP_EI, not as extern.
18831 2012-12-21  Paul Eggert  <eggert@cs.ucla.edu>
18833         AC_PROG_MKDIR_P: port workaround to pre-2.62 Autoconf
18834         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P, AC_C_RESTRICT):
18835         Use m4_ifndef([AC_AUTOCONF_VERSION], ...), not
18836         m4_if(m4_version_compare(m4_defn([AC_AUTOCONF_VERSION]),[2.62]),[-1],
18837         ...), as the latter is fatal with older Autoconfs.
18838         Problem reported and fix suggested by Eric Blake in thread starting at
18839         <http://lists.gnu.org/r/bug-gnulib/2012-12/msg00097.html>.
18841 2012-12-20  Paul Eggert  <eggert@cs.ucla.edu>
18843         AC_PROG_MKDIR_P: don't workaround if not buggy
18844         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P):
18845         Define only for Autoconf versions before 2.62.
18846         (AC_C_RESTRICT): Use documented AC_AUTOCONF_VERSION, not
18847         undocumented m4_PACKAGE_VERSION, for consistency with the
18848         abovementioned change to AC_PROG_MKDIR_P.  This should suffice
18849         since we're checking for 2.62 or later, and AC_AUTOCONF_VERSION
18850         was introduced in 2.62.
18852 2012-12-15  Ben Pfaff  <blp@cs.stanford.edu>
18854         New 'c-*printf' modules for formatted output in C locale.
18856         New module 'c-vasnprintf'.
18857         * modules/c-vasnprintf: New file.
18858         * lib/c-vasnprintf.c: New file.
18859         * lib/c-vasnprintf.h: New file.
18861         New module 'c-snprintf'.
18862         * modules/c-snprintf: New file.
18863         * modules/c-snprintf-tests: New file.
18864         * lib/c-snprintf.c: New file.
18865         * lib/c-snprintf.h: New file.
18866         * tests/test-c-snprintf.c: New file.
18867         * tests/test-c-snprintf.sh: New file.
18869         New module 'c-vsnprintf'.
18870         * modules/c-vsnprintf: New file.
18871         * modules/c-vsnprintf-tests: New file.
18872         * lib/c-vsnprintf.c: New file.
18873         * lib/c-vsnprintf.h: New file.
18874         * tests/test-c-vsnprintf.c: New file.
18875         * tests/test-c-vsnprintf.sh: New file.
18877         New module 'c-vasprintf'.
18878         * modules/c-vasprintf: New file.
18879         * modules/c-vasprintf-tests: New file.
18880         * lib/c-asprintf.c: New file.
18881         * lib/c-vasprintf.c: New file.
18882         * lib/c-vasprintf.h: New file.
18883         * tests/test-c-vasprintf.c  +: New file.
18884         * tests/test-c-vasprintf.sh: New file.
18886         New module 'c-xvasprintf'.
18887         * modules/c-xvasprintf: New file.
18888         * modules/c-xvasprintf-tests: New file.
18889         * lib/c-xasprintf.c: New file.
18890         * lib/c-xvasprintf.c: New file.
18891         * lib/c-xvasprintf.h: New file.
18892         * tests/test-c-xvasprintf.c: New file.
18893         * tests/test-c-xvasprintf.sh: New file.
18895 2012-12-18  Paul Eggert  <eggert@cs.ucla.edu>
18897         argp: better 'inline'
18898         Use extern-inline module to declare extern inline functions.
18899         This avoids some bogus warning diagnostics.  Problem discovered
18900         when modifying GNU tar to use the manywarnings module.
18901         * lib/argp.h, lib/argp-xinl.c (ARGP_EI) [!_LIBC]:
18902         * lib/argp-fmtstream.h, lib/argp-fs-xinl.c (ARGP_FS_EI) [!_LIBC]:
18903         Define based on extern-inline.
18904         * modules/argp (Depends-on): Add extern-inline.
18906 2012-12-17  Paul Eggert  <eggert@cs.ucla.edu>
18908         filemode, sys_stat: Handle MPX files a la AIX.
18909         * lib/filemode.c (ftypelet): Report 'm' for MPX files.
18910         * lib/sys_stat.in.h (S_ISMPX): New macro.
18911         * tests/test-sys_stat.c: Add tests for MPX files.
18913 2012-12-16  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
18915         x-to-1: honor $PERL
18916         * build-aux/x-to-1.in: Run $HELP2MAN via $PERL so that the user gets
18917         a chance to use his preferred version of Perl.  This is typically
18918         required by Darwin users whose default /usr/bin/perl does not have all
18919         the libraries required by help2man, and who need to use their MacPorts
18920         installation of Perl instead.
18922 2012-12-16  Akim Demaille  <akim@lrde.epita.fr>
18924         gnu-web-doc-update: add all the new files, even in new directories
18925         See http://lists.gnu.org/r/bug-gnulib/2012-12/msg00057.html
18926         * build-aux/gnu-web-doc-update (--dry-run, $dryrun): New.
18927         Use it.
18928         (main): Don't use cvsutils to get the list of unknown files,
18929         just add all the existing files and directories.
18931 2012-12-16  Akim Demaille  <akim@lrde.epita.fr>
18933         gnu-web-doc-update: improve --help
18934         * build-aux/gnu-web-doc-update: Move comments into --help.
18936 2012-12-07  Eric Wong  <normalperson@yhbt.net>
18938         mountlist: recognize more "dummy" file systems
18939         * lib/mountlist.c (ME_DUMMY_0):
18940         Add these dummy FS names to the list:
18941         - "debugfs" virtual filesystem for kernel debugging
18942         - "devpts" PTY slave filesystem
18943         - "devtmpfs" device filesystem on top of tmpfs/ramfs
18944         - "fusectl" control filesystem for FUSE
18945         - "mqueue" enumerates POSIX message queues
18946         - "rpc_pipefs" kernel <-> userspace bridge for NFS
18947         - "sysfs" is for exporting kernel objects
18948         - "devfs" device filesystem for Linux 2.4 and FreeBSD
18950 2012-12-11  Paul Eggert  <eggert@cs.ucla.edu>
18952         extern-inline: avoid incompatibility with Darwin Libc
18953         * m4/extern-inline.m4 (_GL_INLINE, _GL_EXTERN_INLINE): Do not use
18954         extern inline if __APPLE__.  Use _GL_UNUSED in the non-inline branch.
18955         Problem reported by Akim Demaille in
18956         <http://lists.gnu.org/r/bug-gnulib/2012-12/msg00023.html>.
18958 2012-12-11  Simon Josefsson  <simon@josefsson.org>
18960         gnupload: Work with GnuPG using gpg-agent (for smartcards).
18961         * build-aux/gnupload: If GnuPG is configured to use gpg-agent,
18962         let it handle password prompting.
18964 2012-12-10  Eli Zaretskii  <eliz@gnu.org>
18966         canonicalize, canonicalize-lgpl: Microsoft Windows prefix fixes
18967         * lib/canonicalize.c (canonicalize_filename_mode):
18968         * lib/canonicalize-lgpl.c (__realpath): Recompute prefix_len after
18969         fetching the current directory.  Don't overrun the beginning of
18970         rpath if there's no slashes after the MS-Windows drive letter.
18972 2012-12-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
18974         maint.mk: avoid extra forks
18975         * top/maint.mk (_cfg_mk): The GNU make manual documents that
18976         "$(wildcard FILE)" expands to empty if FILE doesn't exist.
18977         So use that instead of "$(shell test -f FILE && echo FILE)".
18979 2012-12-07  Paul Eggert  <eggert@cs.ucla.edu>
18981         vasnprintf: fix ASCII_ONLY typo
18982         * lib/unistdio/u8-vasnprintf.c (FCHAR_T_ONLY_ASCII):
18983         * lib/unistdio/u16-vasnprintf.c (FCHAR_T_ONLY_ASCII):
18984         * lib/unistdio/u32-vasnprintf.c (FCHAR_T_ONLY_ASCII):
18985         New macro, replacing ASCII_ONLY.  This fixes a typo.  See thread at
18986         <http://lists.gnu.org/r/bug-gnulib/2012-12/msg00021.html>.
18988 2012-12-05  Paul Eggert  <eggert@cs.ucla.edu>
18990         list, oset, xlist, xoset: fix extern inline issue with C99
18991         This was introduced by my recent changes for 'inline'.
18992         Problem reported for gettext by Daiki Ueno in
18993         <http://lists.gnu.org/r/bug-gnulib/2012-12/msg00000.html>.
18994         * lib/gl_list.h (gl_list_nx_create_empty, gl_list_create)
18995         (gl_list_nx_create, gl_list_size, gl_list_node_value)
18996         (gl_list_node_set_value, gl_list_node_nx_set_value, gl_list_next_node)
18997         (gl_list_previous_node, gl_list_get_at)
18998         (gl_list_nx_set_at, gl_list_search, gl_list_search_from)
18999         (gl_list_search_from_to, gl_list_indexof, gl_list_indexof_from)
19000         (gl_list_indexof_from_to, gl_list_nx_add_first, gl_list_nx_add_last)
19001         (gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at)
19002         (gl_list_remove_node, gl_list_remove_at, gl_list_remove, gl_list_free)
19003         (gl_list_iterator, gl_list_iterator_from_to, gl_list_iterator_next)
19004         (gl_list_iterator_free, gl_sortedlist_search)
19005         (gl_sortedlist_search_from_to, gl_sortedlist_indexof)
19006         (gl_sortedlist_indexof_from_to, gl_sortedlist_add, gl_sortedlist_nx_add)
19007         (gl_sortedlist_remove):
19008         * lib/gl_oset.h (go_oset_nx_create_empty, gl_oset_size, gl_oset_search)
19009         (gl_oset_search_atleast, gl_oset_nx_add, gl_oset_remove, gl_oset_free)
19010         (gl_oset_iterator, gl_oset_iterator_next, gl_oset_iterator_free):
19011         * lib/gl_xlist.h (gl_list_create_empty, gl_list_create)
19012         (gl_list_node_set_value, gl_list_set_at, gl_list_add_first)
19013         (gl_list_add_last, gl_list_add_before, gl_list_add_after)
19014         (gl_list_add_at, gl_sortedlist_add):
19015         * lib/gl_xoset.h (gl_oset_create_empty, gl_oset_add):
19016         Wrap these extern decls inside "#if 0", because they are implemented
19017         as inline functions, and extern inline is not what's wanted here.
19018         It would simplify these .h files to remove the extern decls entirely,
19019         although a downside would be less-clear separation between
19020         specification and implementation.
19022 2012-11-29  Paul Eggert  <eggert@cs.ucla.edu>
19024         sys_stat: no 'static inline'
19025         * lib/sys_stat.in.h (rpl_mkdir): Now static, not static inline.
19026         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Do not require AC_C_INLINE.
19028         extern-inline: no 'static inline'
19029         * m4/extern-inline.m4 (gl_EXTERN_INLINE):
19030         Do not require AC_C_INLINE.
19031         (_GL_INLINE, _GL_EXTERN_INLINE): Define as 'static', not as
19032         'static inline', for older compilers.
19034         snippet/warn-on-use: no 'static inline'
19035         * build-aux/snippet/warn-on-use.h:
19036         Remove unnecessary 'inline' in comment.
19038         rbtree-list, rbtreehash-list: no 'static inline'
19039         * lib/gl_anyrbtree_list2.h (rotate_left, rotate_right):
19040         * lib/gl_anytree_list2.h (node_at):
19041         * lib/gl_anytreehash_list1.h (hash_resize_after_add)
19042         (gl_oset_first, add_nodes_to_buckets):
19043         Now static, not static inline.
19045         regex: no 'static inline'
19046         * lib/regex_internal.c (calc_state_hash):
19047         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain)
19048         (bitset_empty, bitset_set_all, bitset_copy, bitset_not, bitset_merge)
19049         (bitset_mask, re_string_char_size_at, re_string_wchar_at):
19050         Now static, not static inline.
19051         (inline) [__GNUC__ < 3 && _LIBC]:
19052         Remove macro; no longer needed.
19054         xvasprintf: no 'static inline'
19055         * lib/xvasprintf.c (xstrcat):
19056         Now static, not static inline.
19057         * m4/xvasprintf.m4 (gl_XVASPRINTF):
19058         Do not require AC_C_INLINE.
19060         parse-datetime, parse-duration: no 'static inline'
19061         * lib/parse-datetime.y (to_uchar):
19062         * lib/parse-duration.c (str_const_to_ul, str_const_to_l)
19063         (scale_n_add):
19064         Now static, not static inline.
19065         * m4/parse-datetime.m4 (gl_PARSE_DATETIME):
19066         * modules/parse-duration (configure.ac):
19067         Do not require AC_C_INLINE.
19069         getaddrinfo: no 'static inline'
19070         * lib/getaddrinfo.c (validate_family):
19071         Now static, not static inline.
19072         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO):
19073         Do not require AC_C_INLINE.
19075         ftruncate, fts, lstat, openat, raise: no 'static inline'
19076         * lib/ftruncate.c (chsize_nothrow):
19077         * lib/fts.c (opendirat, diropen):
19078         * lib/lstat.c (orig_lstat):
19079         * lib/openat.c (orig_openat):
19080         * lib/raise.c (raise_nothrow):
19081         Now static, not static inline.
19082         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE):
19083         * m4/fts.m4 (gl_FUNC_FTS_CORE):
19084         * m4/lstat.m4 (gl_PREREQ_LSTAT):
19085         * m4/openat.m4 (gl_PREREQ_OPENAT):
19086         * m4/raise.m4 (gl_PREREQ_RAISE):
19087         Do not require AC_C_INLINE.
19089         fflush, stat: no 'static inline'
19090         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
19091         (clear_ungetc_buffer, disable_seek_optimization)
19092         (restore_seek_optimization, update_fpos_cache):
19093         * lib/stat.c (orig_stat):
19094         Now static, not static inline.
19095         * lib/fflush.c (disable_seek_optimization, restore_seek_optimization)
19096         (update_fpos_cache):
19097         Define only if ! (defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1).
19098         * m4/fflush.m4 (gl_PREREQ_FFLUSH):
19099         * m4/stat.m4 (gl_PREREQ_STAT):
19100         Do not require AC_C_INLINE.
19102         error, filevercmp: no 'static inline'
19103         * lib/error.c (is_open, flush_stdout):
19104         * lib/filevercmp.c (order):
19105         Now static, not static inline.
19106         * m4/error.m4 (gl_PREREQ_ERROR):
19107         * modules/filevercmp (configure.ac):
19108         Do not require AC_C_INLINE.
19110         dup, execute, fatal-signal, etc.: no 'static inline'
19111         * lib/dup.c (dup_nothrow):
19112         * lib/execute.c (nonintr_close, nonintr_open):
19113         * lib/fatal-signal.c (uninstall_handlers, install_handlers):
19114         * lib/fopen.c (orig_fopen):
19115         * lib/freadseek.c (freadptrinc):
19116         * lib/freopen.c (orig_freopen):
19117         * lib/fstat.c (orig_fstat, fstat_nothrow):
19118         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit)
19119         (get_rusage_as_via_iterator):
19120         * lib/get-rusage-data.c (get_rusage_data_via_setrlimit):
19121         * lib/getdtablesize.c (_setmaxstdio_nothrow):
19122         * lib/isatty.c (_isatty_nothrow):
19123         * lib/open.c (orig_open):
19124         * lib/read.c (read_nothrow):
19125         * lib/sigprocmask.c (signal_nothrow):
19126         * lib/spawn-pipe.c (nonintr_close, nonintr_open):
19127         * lib/vasnprintf.c (MAX_ROOM_NEEDED):
19128         * lib/wait-process.c (unregister_slave_subprocess):
19129         * lib/write.c (write_nothrow):
19130         Now static, not static inline.
19131         * lib/spawn-pipe.c (nonintr_open): Define only if
19132         (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__.
19133         * m4/dup.m4 (gl_PREREQ_DUP):
19134         * m4/execute.m4 (gl_EXECUTE):
19135         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL):
19136         * m4/fopen.m4 (gl_PREREQ_FOPEN):
19137         * m4/freadseek.m4 (gl_FUNC_FREADSEEK):
19138         * m4/freopen.m4 (gl_PREREQ_FREOPEN):
19139         * m4/fstat.m4 (gl_PREREQ_FSTAT):
19140         * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE):
19141         * m4/isatty.m4 (gl_PREREQ_ISATTY):
19142         * m4/open.m4 (gl_PREREQ_OPEN):
19143         * m4/read.m4 (gl_PREREQ_READ):
19144         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK):
19145         * m4/spawn-pipe.m4 (gl_SPAWN_PIPE):
19146         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF):
19147         * m4/wait-process.m4 (gl_WAIT_PROCESS):
19148         * m4/write.m4 (gl_PREREQ_WRITE):
19149         * modules/get-rusage-as, modules/get-rusage-data (configure.ac):
19150         Do not require AC_C_INLINE.
19152         c-strtod, memcoll, readutmp: no 'static inline'
19153         * lib/c-strtod.c (c_locale):
19154         * lib/memcoll.c (strcoll_loop):
19155         * lib/readutmp.c (desirable_utmp_entry):
19156         Now static, not static inline.
19157         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD):
19158         * m4/memcoll.m4 (gl_MEMCOLL):
19159         * m4/readutmp.m4 (gl_READUTMP):
19160         Do not require AC_C_INLINE.
19162         arctwo, md4, md5, sha1, sha256, sha512: no 'static inline'
19163         * lib/arctwo.c (to_uchar):
19164         * lib/md4.c (set_uint32):
19165         * lib/md5.c (set_uint32):
19166         * lib/sha1.c (set_uint32):
19167         * lib/sha256.c (set_uint32):
19168         * lib/sha512.c (set_uint64):
19169         Now static, not static inline.  This is a bit simpler, and doesn't
19170         affect performance with GCC and default optimization.
19171         * m4/arctwo.m4 (gl_ARCTWO):
19172         * m4/md4.m4 (gl_MD4):
19173         * m4/md5.m4 (gl_MD5):
19174         * m4/sha1.m4 (gl_SHA1):
19175         * m4/sha256.m4 (gl_SHA256):
19176         * m4/sha512.m4 (gl_SHA512):
19177         Do not require AC_C_INLINE.
19179         cond, lock, thread: better 'inline'
19180         * lib/glthread/cond.c, lib/glthread/cond.h (_GLTHREAD_COND_INLINE):
19181         * lib/glthread/thread.c, lib/glthread/thread.h (_GLTHREAD_THREAD_INLINE):
19182         New macros.  Use them instead of static inline, for header functions.
19183         * lib/glthread/cond.c (gl_waitqueue_init, gl_waitqueue_remove)
19184         (gl_waitqueue_notify_first, gl_waitqueue_notify_all):
19185         * lib/glthread/lock.c (gl_waitqueue_init)
19186         (gl_waitqueue_notify_first, gl_waitqueue_notify_all):
19187         * lib/glthread/thread.c (get_current_thread_handle):
19188         Change 'static inline' to 'inline'.
19189         * lib/glthread/cond.h, lib/glthread/thread.h:
19190         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
19191         * m4/cond.m4 (gl_COND):
19192         * m4/lock.m4 (gl_PREREQ_LOCK):
19193         * m4/thread.m4 (gl_THREAD):
19194         Do not require AC_C_INLINE.
19195         * modules/cond, modules/thread (Depends-on): Add extern-inline.
19197         chdir-long, cycle-check, savewd: better 'inline'
19198         * lib/chdir-long.c (cdb_init, cdb_fchdir, cdb_free)
19199         (find_non_slash):
19200         * lib/cycle-check.c (is_zero_or_power_of_two):
19201         * lib/savewd.c (savewd_delegating):
19202         Change 'static inline' to 'inline'.
19203         * lib/savewd.c, lib/savewd.h (SAVEWD_INLINE): New macro.
19204         Replace all remaining uses of 'static inline' with it.
19205         * lib/savewd.h:
19206         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
19207         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG):
19208         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
19209         * m4/savewd.m4 (gl_SAVEWD):
19210         Do not require AC_C_INLINE.
19211         * modules/savewd (Depends-on): Add extern-inline.
19213         base32, base64: no need for 'inline'
19214         * lib/base32.c (to_uchar, get_8, decode_8):
19215         * lib/base64.c (to_uchar, get_4, decode_4):
19216         Change 'static inline' to 'inline'.
19217         * m4/base32.m4 (gl_PREREQ_BASE32):
19218         * m4/base64.m4 (gl_PREREQ_BASE64):
19219         Do not require AC_C_INLINE.
19221         array-oset, linkedhash-list, rbtree-oset: no need for 'inline'
19222         * lib/gl_array_oset.c (gl_array_nx_add_at):
19223         (gl_array_remove_at):
19224         * lib/gl_linkedhash_list.c (hash_resize_after_add)
19225         (add_to_bucket, remove_from_bucket):
19226         * lib/gl_rbtree_oset.c (rotate_left, rotate_right):
19227         Change 'static inline' to 'static', as it's simpler to omit
19228         'inline' unless there's a significant performance advantage.
19230         list, oset, xlist, xoset, xsublist: simplify via extern inline
19231         * lib/gl_list.h, lib/gl_list.c (GL_LIST_INLINE):
19232         * lib/gl_oset.c, lib/gl_oset.h (GL_OSET_INLINE):
19233         * lib/gl_xlist.c, lib/gl_xlist.h (GL_XLIST_INLINE):
19234         * lib/gl_xoset.c, lib/gl_xoset.h (GL_XOSET_INLINE):
19235         * lib/gl_xsublist.c, lib/gl_xsublist.h (GL_XSUBLIST_INLINE):
19236         New macro.  Replace all uses of 'static inline' with it.
19237         [HAVE_INLINE]: Implement functions as *_INLINE functions,
19238         instead of as macros FOO that are defined to static inline
19239         functions FOO_inline.
19240         * lib/gl_list.c, lib/gl_oset.c, lib/gl_xlist.c, lib/gl_xoset.c:
19241         * lib/gl_xsublist.c:
19242         Reimplement from scratch, by defining the corresponding *_INLINE
19243         macro and including the corresponding .h file.  This is simpler.
19244         * modules/list, modules/oset, modules/xlist, modules/xoset:
19245         (Files): Remove m4/gl_list.m4.
19246         (configure.ac): Remove gl_LIST.
19247         * m4/gl_list.m4: Remove.
19248         * modules/list, modules/oset, modules/xlist, modules/xoset:
19249         * modules/xsublist:
19250         (Depends-on): Depend on extern-inline, not inline.
19252         xalloc: better 'inline'
19253         * lib/xmalloc.c, lib/xalloc.h (XALLOC_INLINE):
19254         New macro.  Replace all uses of 'static inline' with it.
19255         (static_inline): Remove.
19256         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
19257         Let 'extern inline' do the work automatically, instead of doing
19258         it by hand.
19259         * m4/xalloc.m4 (gl_PREREQ_XALLOC, gl_PREREQ_XMALLOC):
19260         Remove.  All uses removed.
19261         * modules/xalloc (Depends-on): Remove 'inline'.  Add 'extern-inline'.
19263         gethrxtime: better 'inline'
19264         * lib/xtime.c: New file.
19265         * lib/gethrxtime.c, lib/gethrxtime.h (GETHRXTIME_INLINE):
19266         * lib/xtime.h (XTIME_INCLUDE):
19267         New macros.  Replace all uses of 'static inline' with them.
19268         * lib/gethrxtime.c (gethrxtime): Define only if
19269         ! (HAVE_ARITHMETIC_HRTIME_T && HAVE_DECL_GETHRTIME), since
19270         this source file is now always compiled, because of the extern inline.
19271         * lib/gethrxtime.h, lib/xtime.h:
19272         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
19273         * m4/gethrxtime.m4 (gl_GETHRXTIME): Do not check for clock macros
19274         if gethrtime works, as they're not needed in that case.
19275         (gl_XTIME): Do not require AC_C_INLINE.
19276         (gl_PREREQ_GETHRXTIME): Remove; all uses removed, as it's always
19277         compiled now.  Move the check into gl_GETHRXTIME.
19278         * modules/gethrxtime (Files, lib_SOURCES): Add lib/xtime.c.
19279         (Depends-on): Add extern-inline.
19280         (configure.ac): gethrxtime is always compiled now.
19281         (lib_SOURCES): Add gethrxtime.c.
19283         wctype-h: better 'inline'
19284         * lib/wctype-h.c: New file.
19285         * lib/wctype.in.h (_GL_WCTYPE_INLINE):
19286         New macro.  Replace all uses of 'static inline' with it.
19287         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
19288         * m4/wctype_h.m4 (gl_WCTYPE_H): Do not require AC_C_INLINE.
19289         * modules/wctype-h (Files, lib_SOURCES): Add lib/wctype-h.c.
19290         (Depends-on): Add extern-inline.
19292         unistd: better 'inline'
19293         * lib/unistd.c: New file.
19294         * lib/unistd.in.h (_GL_UNISTD_INLINE):
19295         New macro.  Replace all uses of 'static inline' with it.
19296         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
19297         * m4/unistd_h.m4 (gl_UNISTD_H): Do not require AC_C_INLINE.
19298         * modules/unistd (Files, lib_SOURCES): Add lib/unistd.c.
19299         (Depends-on): Add extern-inline.
19301         sys_socket: better 'inline'
19302         * lib/sys_socket.c: New file.
19303         * lib/sys_socket.in.h (_GL_SYS_SOCKET_INLINE):
19304         New macro.  Replace all uses of 'static inline' with it.
19305         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
19306         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Do not require AC_C_INLINE.
19307         * modules/sys_socket (Files, lib_SOURCES): Add lib/sys_socket.c.
19308         (Depends-on): Add extern-inline.
19310         stdio: better 'inline'
19311         * lib/stdio.c: New file.
19312         * lib/stdio.in.h (_GL_STDIO_INLINE):
19313         New macro.  Replace all uses of 'static inline' with it.
19314         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
19315         * m4/stdio_h.m4 (gl_STDIO_H): Do not require AC_C_INLINE.
19316         * modules/stdio (Files, lib_SOURCES): Add lib/stdio.c.
19317         (Depends-on): Add extern-inline.
19319         sigaction: better 'inline'
19320         * lib/sig-handler.c: New file.
19321         * lib/sig-handler.h (SIG_HANDLER_INLINE):
19322         New macro.  Replace all uses of 'static inline' with it.
19323         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
19324         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): Do not require AC_C_INLINE.
19325         * modules/sigaction (Files, lib_SOURCES): Add lib/sig-handler.c.
19326         (Depends-on): Add extern-inline.
19328         selinux-h: better 'inline'
19329         * lib/se-context.c, lib/se-selinux.c: New files.
19330         * lib/getfilecon.c (map_to_failure): Omit 'inline' for static function.
19331         * lib/se-context.in.h (SE_CONTEXT_INLINE):
19332         New macro.  Replace all uses of 'static inline' with it.
19333         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
19334         * lib/se-selinux.in.h (SE_SELINUX_INLINE):
19335         New macro.  Replace all uses of 'static inline' with it.
19336         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
19337         * modules/selinux-h (Files, lib_SOURCES):
19338         Add lib/se-context.c, lib/se-selinux.c.
19339         (Depends-on): Add extern-inline.
19340         (configure.ac): Do not require AC_C_INLINE.
19342         pthread: better 'inline'
19343         * lib/pthread.c: New file.
19344         * lib/pthread.in.h (_GL_PTHREAD_INLINE):
19345         New macro.  Replace all uses of 'static inline' with it.
19346         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
19347         * m4/pthread.m4 (gl_PTHREAD_CHECK):
19348         Add AC_LIBOBJ([pthread]).  Do not require AC_C_INLINE.
19349         * modules/pthread (Files): Add lib/pthread.c.
19350         (Depends-on): Add extern-inline.
19352         math: better 'inline'
19353         * lib/math.c: New file.
19354         * lib/math.in.h (_GL_MATH_INLINE):
19355         New macro.  Replace all uses of 'static inline' with it.
19356         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
19357         * m4/math_h.m4 (gl_MATH_H):
19358         Do not require AC_C_INLINE.
19359         * modules/math (Files, lib_SOURCES):
19360         Add lib/math.c.
19361         (Depends-on): Add extern-inline.
19363         count-one-bits: better 'inline'
19364         * lib/count-one-bits.c: New file.
19365         * lib/count-one-bits.h (COUNT_ONE_BITS_INLINE):
19366         New macro.  Replace all uses of 'static inline' with it.
19367         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
19368         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS):
19369         Do not require AC_C_INLINE.
19370         * modules/count-one-bits (Files, lib_SOURCES):
19371         Add lib/count-one-bits.c.
19372         (Depends-on): Add extern-inline.
19374         count-leading-zeros: better 'inline'
19375         * lib/count-leading-zeros.c: New file.
19376         * lib/count-leading-zeros.h (COUNT_LEADING_ZEROS_INLINE):
19377         New macro.  Replace all uses of 'static inline' with it.
19378         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
19379         * m4/count-leading-zeros.m4 (gl_COUNT_LEADING_ZEROS):
19380         Do not require AC_C_INLINE.
19381         * modules/count-leading-zeros (Files, lib_SOURCES):
19382         Add lib/count-leading-zeros.c.
19383         (Depends-on): Add extern-inline.
19385         bitrotate: better 'inline'
19386         * lib/bitrotate.c: New file.
19387         * lib/bitrotate.h (BITROTATE_INLINE):
19388         New macros.
19389         Replace all uses of 'static inline' with them.
19390         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
19391         * modules/bitrotate (Files, lib_SOURCES): Add lib/bitrotate.c.
19392         (Depends-on): Add extern-inline.
19393         (configure.ac): Do not require AC_C_INLINE.
19395 2012-11-20  Theophile Ranquet  <ranquet@lrde.epita.fr>
19397         maint.mk: avoid gratuitous failure
19398         Reported by Stefano Lattarini in
19399         <http://lists.gnu.org/r/bug-bison/2012-11/msg00022.html>
19400         * top/maint.mk (public-submodule-commit): Quote more safely.
19402 2012-11-20  Eli Zaretskii  <eliz@gnu.org>
19404         canonicalize, canonicalize-lgpl: support MS-Windows file names
19405         See <http://lists.gnu.org/r/bug-gnulib/2012-11/msg00074.html>
19406         for test cases, which it'd be nice to add at some point.
19407         * lib/canonicalize.c, lib/canonicalize-lgpl.c: Include dosname.h.
19408         * lib/canonicalize.c (canonicalize_filename_mode):
19409         * lib/canonicalize-lgpl.c (__realpath):
19410         Use FILE_SYSTEM_PREFIX_LEN instead of assuming that the first
19411         slash is at the beginning of the file name.  Use ISSLASH, instead
19412         of a literal '/'.  Use IS_ABSOLUTE_FILE_NAME instead of comparing
19413         the first character with '/'.  Test for
19414         DOUBLE_SLASH_IS_DISTINCT_ROOT only if the file name does not begin
19415         with a drive letter.
19416         * lib/canonicalize.c (SLASHES): New macro.
19417         (canonicalize_filename_mode): Use SLASHES instead of a literal "/".
19419 2012-11-17  Dmitry V. Levin  <ldv@altlinux.org>
19421         fts: introduce FTS_VERBATIM
19422         * lib/fts_.h (FTS_VERBATIM): New bit flag.
19423         (FTS_OPTIONMASK, FTS_NAMEONLY, FTS_STOP): Adjust.
19424         * lib/fts.c (fts_open): Honor it.
19426 2012-11-09  Pádraig Brady  <P@draigBrady.com>
19428         getlogin-tests: allow errno == ENXIO
19429         * tests/test-getlogin.c (main): Skip tests if getlogin fails
19430         with errno == ENXIO (No controlling tty).
19431         getlogin_r-tests: Likewise. Also allow errno == ENOENT
19432         * tests/test-getlogin_r.c (main): Skip tests if getlogin_r fails
19433         with errno == ENOENT.  This was reported to happen in various
19434         situations on GNU/Linux.
19436 2012-11-09  Paul Eggert  <eggert@cs.ucla.edu>
19438         getlogin-tests: allow errno == ENOENT
19439         * tests/test-getlogin.c (main): Skip tests if getlogin fails
19440         with errno == ENOENT.  This happened to me on Ubuntu 12.04.1 x86,
19441         when running a test in an Emacs shell buffer.
19443 2012-11-08  Jim Meyering  <jim@meyering.net>
19445         tests/nap.h: avoid warning about unused variable
19446         * tests/nap.h (nap_works): Remove now-unused declaration of "result".
19448         prefix-gnulib-mk: avoid overzealous "lib/"-prefix addition
19449         * build-aux/prefix-gnulib-mk (prefix): Tighten a regexp to require
19450         white space before each of the special-cased file names, to avoid
19451         adding "lib/" after $(libdir)/.  Reported by Matias A. fonzo
19452         in http://bugs.gnu.org/12830.
19454 2012-11-08  Paul Eggert  <eggert@cs.ucla.edu>
19456         fcntl-h: default O_SEARCH, O_EXEC back to O_RDONLY
19457         O_PATH doesn't work with Linux kernel 3.6.5, as fchmod (fd, ...)
19458         fails with errno == EBADF when fd is opened with O_PATH.
19459         Reported by Jim Meyering in
19460         <http://lists.gnu.org/r/bug-gnulib/2012-11/msg00026.html>.
19461         * doc/posix-headers/fcntl.texi (fcntl.h): Document this.
19462         * lib/fcntl.in.h (O_EXEC, O_SEARCH) [O_PATH]: Default back to O_RDONLY.
19464 2012-11-07  Paul Eggert  <eggert@cs.ucla.edu>
19466         test-utimens: speed up by taking shorter naps
19467         * tests/nap.h (lt_mtime, get_mtime, nap_works, guess_delay):
19468         New functions.
19469         (nap): Use them, to do a better job of guessing the delay.
19470         On Fedora 17 with ext4 atop md atop hard disks, this made
19471         test-utimens run 10x faster, because the test napped for
19472         1 ms at a time rather than 20 ms.  Reported by Stefano Lattarini in
19473         <http://bugs.gnu.org/12820#11>.
19475 2012-11-07  Jim Meyering  <jim@meyering.net>
19477         mountlist.c: fix a compilation failure
19478         * lib/mountlist.c (read_file_system_list): Fix a compilation failure
19479         I introduced while transforming commit v0.0-7683-g613bcb6
19481 2012-11-05  Paul Eggert  <eggert@cs.ucla.edu>
19483         errno: port to LynxOS 178 2.2.2
19484         Problem reported by Joel Brobecker in
19485         <http://lists.gnu.org/r/bug-gnulib/2012-10/msg00088.html>.
19486         * doc/posix-headers/errno.texi (errno.h): Document this.
19487         * lib/errno.in.h (EILSEQ, GNULIB_defined_EILSEQ) [!EILSEQ]: New macros.
19488         * lib/strerror-override.c, lib/strerror-override.h (strerror_override):
19489         Supply a string for EILSEQ.
19490         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Check for EILSEQ.
19492 2012-11-05  Paul Eggert  <eggert@cs.ucla.edu>
19494         fcntl-h: default O_SEARCH, O_EXEC to O_PATH if available
19495         Linux kernel 2.6.39 introduced O_PATH (see
19496         <http://lwn.net/Articles/433854/>) and this is a better fallback
19497         for O_SEARCH and O_EXEC than O_RDONLY, if O_PATH is available.
19498         * doc/posix-headers/fcntl.texi (fcntl.h): Document this.
19499         * lib/fcntl.in.h (O_EXEC, O_SEARCH) [O_PATH]: Default to O_PATH.
19500         * lib/fcntl.in.h (O_ACCMODE):
19501         * tests/test-fcntl-h.c (main):
19502         Do not reject O_ACCMODE merely because it has more than the
19503         minimal number of bits, as POSIX allows extensions here.
19505 2012-11-04  Andrew Warshall  <warshall@99main.com>  (tiny change)
19507         mountlist: do not classify a bind-mounted dir entry as "dummy"
19508         * lib/mountlist.c (ME_DUMMY_0): Rename from ME_DUMMY, but omit
19509         the "none"-testing clause.
19510         (ME_DUMMY) [MOUNTED_GETMNTENT1]: New macro to encapsulate the
19511         exception for bind-mounted directories.
19513 2012-11-01  Akim Demaille  <akim@lrde.epita.fr>
19515         quote: provide a means to escape strings with nul characters
19516         * lib/quote.h, lib/quotearg.c (quote_mem, quote_n_mem): New functions.
19517         (quote, quote_n): Rename formal arguments for consistency with
19518         quotearg.
19520 2012-10-30  Paul Eggert  <eggert@cs.ucla.edu>
19522         test-raise: don't assume 199 is an invalid signal
19523         * tests/test-raise.c (main): Don't assume 199 is not a signal number.
19525         sh-quote-tests: port to Solaris 9
19526         * modules/sh-quote-tests (test_sh_quote_LDADD): Add @LIBINTL@.
19527         Problem reported by Dagobert Michelsen in
19528         <http://lists.gnu.org/r/bug-gnulib/2012-10/msg00114.html>.
19530 2012-10-28  Jim Meyering  <jim@meyering.net>
19532         maint.mk: rename a new configurable variable
19533         * top/maint.mk (_gl_translatable_string_re): Rename from
19534         translation-markers: _gl_ prefix to insulate from user Makefile code,
19535         and the _re suffix to inform that it's a regular expression.
19537 2012-10-26  Eric Blake  <eblake@redhat.com>
19539         maint.mk: let packages tweak sc_po_check pattern
19540         * top/maint.mk (sc_po_check): Add translation-markers, to allow
19541         finding files with other translation markers.
19543 2012-10-16  Paul Eggert  <eggert@cs.ucla.edu>
19545         euidaccess: speed up 'configure' on GNU hosts
19546         * m4/euidaccess.m4 (gl_FUNC_NONREENTRANT_EUIDACCESS):
19547         Check for setregid here, not in gl_PREREQ_EUIDACCESS, since
19548         it's needed only in this case.  Use AC_CHECK_DECLS, not
19549         AC_CHECK_DECLS_ONCE.
19550         (gl_PREREQ_EUIDACCESS): Do not use AC_CHECK_HEADERS_ONCE libgen.h
19551         or AC_REQUIRE for AC_FUNC_GETGROUPS.
19553         * lib/regexec.c (re_search_internal): Fix grammar in comment.
19555 2012-10-15  Paul Eggert  <eggert@cs.ucla.edu>
19557         fchmodat, fchownat, fstatat: port to non-inlining compilers
19558         Problem reported for FreeBSD 9 by Jim Meyering in
19559         <http://lists.gnu.org/r/bug-gnulib/2012-10/msg00070.html>.
19560         * lib/chmodat.c, lib/chownat.c, lib/statat.c:
19561         New files, which define FCHMODAT_INLINE etc.
19562         * lib/fchmodat.c (FCHMODAT_INLINE):
19563         * lib/fchownat.c (FCHOWNAT_INLINE):
19564         * lib/fstatat.c (FSTATAT_INLINE):
19565         Remove, as chmodat.c etc. now do this.
19566         * modules/fchmodat (Files): Add lib/chmodat.c.
19567         * modules/fchownat (Files): Add lib/chownat.c.
19568         * modules/fstatat (Files): Add lib/statat.c.
19570 2012-10-15  Jim Meyering  <jim@meyering.net>
19572         fchmodat.c, fchownat.c: compile-impeding typos
19573         * lib/fchmodat.c (FCHMODAT_INLINE): Fix typo: s/#include/#define/
19574         * lib/fchownat.c (FCHOWNAT_INLINE): Likewise.
19575         Introduced in commit v0.0-7636-gd202279.
19577 2012-10-15  Paul Eggert  <eggert@cs.ucla.edu>
19579         fcntl-h: support GNU flags like O_IGNORE_CTTY
19580         * doc/posix-headers/fcntl.texi (fcntl.h): Support O_IGNORE_CTTY,
19581         O_NOLINK, and O_NOTRANS.  These flags are nonzero on GNU/Hurd
19582         systems.  Discovered when using fcntl-h with GNU Emacs, which uses
19583         O_IGNORE_CTTY.  Fix misspelling of F_SETLKW.
19584         * lib/fcntl.in.h (O_IGNORE_CTTY, O_NOLINK, O_NOTRANS):
19585         Define to 0 if not already defined.
19586         * tests/test-fcntl-h.c: Test these new flags.
19588 2012-10-14  Paul Eggert  <eggert@cs.ucla.edu>
19590         faccessat, etc.: support AT_FDCWD-only use
19591         * lib/at-func.c: If GNULIB_SUPPORT_ONLY_AT_FDCWD, then support
19592         this function only if its first argument is AT_FDCWD.
19593         Emacs wants faccessat for AT_EACCESS but not for any first-arg
19594         values other than AT_FDCWD, so it doesn't want all the openat
19595         machinery with fchdir etc.
19596         * modules/faccessat, modules/fchmodat, modules/fchownat (Files):
19597         * modules/fstatat, modules/mkdirat, modules/openat (Files):
19598         * modules/unlinkat (Files):
19599         Remove lib/openat-priv.h, as at-internal supplies this file.
19600         Removing this file here allows us to support programs like Emacs
19601         that avoid at-internal.
19603         faccessat: speed up 'configure' on mainstream hosts
19604         * m4/faccessat.m4 (gl_PREREQ_FACCESSAT):
19605         Use AT_CHECK_FUNCS for 'access', not AC_CHECK_FUNCS_ONCE,
19606         since it's only on unusual platforms that we need to check for
19607         'access', and it's better not to slow 'configure' down on all
19608         platforms.
19610         faccessat: port to Solaris 10
19611         * lib/faccessat.c: Include <fcntl.h>, for AT_EACCESS.
19612         Needed on Solaris 10, which doesn't have AT_EACCESS,
19613         so we need the Gnulib fcntl.h, which defines it.
19615 2012-10-14  Pádraig Brady  <P@draigBrady.com>
19616         canonicalize: fix C89 compilation
19617         * lib/canonicalize.c (canonicalize_filename_mode): Swap order of
19618         declarations so C89 is supported.  Also remove the comment
19619         referencing memorty allocation as the suggested feature could
19620         not be implemented as suggested.
19621         Reported by Michael Goffioul.
19623 2012-10-12  Paul Eggert  <eggert@cs.ucla.edu>
19625         group-member: omit unnecessary dependencies
19626         This is for Emacs, which has its own allocator and where we
19627         don't want to use xalloc.
19628         * lib/group-member.c: Include xalloc-oversized.h, not xalloc.h,
19629         since we no longer use xmalloc.  Do not include stdbool.h, since
19630         the changes below happen to remove the only use of bool.
19631         (GROUPBUF_SIZE): New constant.
19632         (struct group_info): Remove n_groups member.  Add groupbuf member.
19633         This lets us get the groups without using malloc, usually.
19634         (free_group_info, get_group_info): Adjust to this.
19635         (get_group_info): Return the number of groups found, or -1 on error.
19636         Use plain malloc not xmalloc, and treat its failure as if there
19637         are no groups, as the user already loses in case of error.
19638         (group_member): Simplify, based on changes to get_group_info.
19639         * modules/group-member (Depends-on): Remove dependencies on
19640         xalloc and stdbool.  Add dependency on xalloc-oversized.
19642 2012-10-08  Alexandre Duret-Lutz  <adl@lrde.epita.fr>  (tiny change)
19644         gethrxtime: port to C++
19645         * lib/gethrxtime.h, lib/xtime.h [__cplusplus]: Add extern "C".
19647 2012-10-04  Paul Eggert  <eggert@cs.ucla.edu>
19649         ptsname: fix macro-name typo
19650         * lib/stdlib.in.h (ptsname): Fix misspelling of GNULIB_NAMESPACE.
19652 2012-10-03  Simon Josefsson  <simon@josefsson.org>
19654         inttostr: Relax license.
19655         * modules/inttostr (License): Change from LGPL to LGPLv2+.
19657 2012-10-03  Eric Blake  <eblake@redhat.com>
19659         ptsname_r: support ptys returned by FreeBSD posix_openpt
19660         * lib/ptsname_r.c (__ptsname_r): Don't munge name if it already
19661         lives in /dev/pts/.
19663 2012-10-02  Eric Blake  <eblake@redhat.com>
19665         pselect: reject invalid file descriptors
19666         * m4/pselect.m4 (gl_FUNC_PSELECT): Probe for FreeBSD bug.
19667         * lib/pselect.c (rpl_pselect) [!win32]: Work around it.
19668         * modules/pselect (Depends-on): Add dup2.
19669         * doc/posix-functions/pselect.texi (pselect): Document this.
19671         select: reject invalid file descriptors
19672         * m4/select.m4 (gl_FUNC_SELECT): Probe for FreeBSD bug.
19673         * lib/select.c (rpl_select) [!win32]: Work around it.
19674         * modules/select (Depends-on): Add dup2.
19675         * doc/posix-functions/select.texi (select): Document this.
19677         select: enhance test
19678         * tests/test-select.h (do_select_bad_nfd_nowait, test_bad_nfd):
19679         New functions.
19680         (test_function): Enhance test.
19681         (do_select_bad_fd): Avoid any stale errno values.
19683         ptsname: reject invalid file descriptors
19684         http://www.austingroupbugs.net/view.php?id=503
19685         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Probe for FreeBSD bug.
19686         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add new witness.
19687         * modules/stdlib (Makefile.am): Replace witness.
19688         * lib/stdlib.in.h (ptsname): Allow for replacement.
19689         * modules/ptsname (configure.ac): Trigger replacement.
19690         * doc/posix-functions/ptsname.texi (ptsname): Document this.
19692 2012-10-02:  Nikos Mavrogiannopoulos  <nmav@gnutls.org>  (tiny change)
19694         hash-pjw-bare: new module
19695         * lib/hash-pjw-bare.c: New file, very much like hash-pjw.c.
19696         * lib/hash-pjw-bare.h: Likewise.
19697         * modules/hash-pjw-bare: New file.
19698         * MODULES.html.sh (Misc): Add it.
19700 2012-10-02  Eric Blake  <eblake@redhat.com>
19702         manywarnings: cater to more gcc infelicities
19703         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add test for
19704         -Wuninitialized without -O.
19706 2012-10-01  Ed Maste  <emaste@freebsd.org>  (tiny change)
19708         select, poll tests: Make setsockopt invocation effective.
19709         * tests/test-poll.c (open_server_socket): Move setsockopt() call before
19710         the bind() call.
19711         * tests/test-select.h (open_server_socket): Likewise.
19713 2012-09-30  Paul Eggert  <eggert@cs.ucla.edu>
19715         sockets, sys_stat: restore AC_C_INLINE
19716         This undoes the 2012-09-22 patch.
19717         * m4/sockets.m4 (gl_SOCKETS):
19718         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H):
19719         Restore AC_C_INLINE, since MSVC requires __inline or _inline
19720         and does not support plain 'inline'.  Reported by Bruno Haible in
19721         <http://lists.gnu.org/r/bug-gnulib/2012-09/msg00183.html>.
19723 2012-09-30  Bruno Haible  <bruno@clisp.org>
19725         localeconv tests: Avoid test failure on OpenIndiana.
19726         * tests/test-localeconv.c (main): On OpenIndiana (a Solaris 11 variant)
19727         skip the 'grouping' and 'mon_grouping' tests.
19728         Reported by Jim Meyering.
19730 2012-09-30  Bruno Haible  <bruno@clisp.org>
19732         havelib: Follow libtool developments.
19733         * m4/lib-ld.m4: Rebase on libtool.m4 from libtool-2.4.
19734         Suggested by Simon Josefsson.
19736 2012-09-29  Jim Meyering  <meyering@redhat.com>
19738         fstatat.c: fix a compile-impeding typo
19739         * lib/fstatat.c (FSTATAT_INLINE): Fix typo: s/#include/#define/
19740         Introduced in commit v0.0-7636-gd202279.
19741         Mats Erik Andersson reported the resulting OpenBSD compilation failure.
19743 2012-09-28  Akim Demaille  <akim@lrde.epita.fr>
19745         extern-inline: provide a -Wundef safe config.h
19746         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Protect
19747         "#if __GNUC_STDC_INLINE__" with "defined __GNUC_STDC_INLINE__"
19748         to produce a -Wundef warning free config.h.
19750 2012-09-26  Paul Eggert  <eggert@cs.ucla.edu>
19752         hash-pjw: relax license to LGPLv2+
19753         * modules/hash-pjw (License): Relax, with consent of author.
19755 2012-09-25  Akim Demaille  <akim@lrde.epita.fr>
19757         maint.mk: fix strict vs. lazy variable issues with RELEASE
19758         * top/maint.mk (_equal): New function.
19759         (member_check): Strip the result to avoid spurious spaces.
19760         (url_dir_list): Do not use ifeq, which is strict, as it will
19761         require RELEASE_TYPE to be defined.
19762         (announcement_Cc_, announcement_mail_headers_): Likewise: instead
19763         of relying on ifeq, use $(release_type) to dispatch (lazily) onto...
19764         (announcement_Cc_alpha,announcement_mail_headers_alpha)
19765         (announcement_Cc_beta,announcement_mail_headers_beta)
19766         (announcement_Cc_stable,announcement_mail_headers_stable): these.
19767         (release): Do not depend on $(release-type), as it forces its
19768         evaluation.  Bounce to it.
19770 2012-09-25  Akim Demaille  <akim@lrde.epita.fr>
19772         maint.mk: formatting changes
19773         * top/maint.mk: Indent bodies of if's.
19775 2012-09-21  Akim Demaille  <akim@lrde.epita.fr>
19777         maint.mk: factor the validation of RELEASE_TYPE
19778         With help from Jim Meyering.
19779         http://lists.gnu.org/r/bug-gnulib/2012-09/msg00132.html
19780         * top/maint.mk (_empty, _sp): Move their definition earlier.
19781         (member-check, release-type): New.
19782         Use the latter instead of $(RELEASE_TYPE).
19783         Remove now useless local checks.
19785 2012-09-20  Akim Demaille  <akim@lrde.epita.fr>
19787         maint.mk: provide "make upload" to ease uploading
19788         See
19789         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00028.html>.
19790         Do not depend simply on the current $(VERSION), as there may have been
19791         new commits since the tarball generation.  Rather, rely on $(RELEASE),
19792         as "make release-commit" already does.
19794         For consistency, add "make release RELEASE='X.Y TYPE'" as an alias for
19795         "make TYPE".
19797         * top/maint.mk (upload_command, upload, release): New.
19798         (RELEASE_TYPE): If undefined, default to the second word of $(RELEASE).
19799         (VERSION): first word of $(RELEASE) is always right.
19800         (emit_upload_commands): Adjust.
19801         * top/README-release: Update.
19803 2012-09-20  Akim Demaille  <akim@lrde.epita.fr>
19805         maint.mk: silent rules
19806         With help from Stefano Lattarini.
19807         * top/maint.mk (writable-files): Use $(AM_V_GEN).
19808         (announcement): Use $(AM_V_at).
19810 2012-09-24  Paul Eggert  <eggert@cs.ucla.edu>
19812         localename: port gl_locale_name_thread_unsafe to FreeBSD
19813         * lib/localename.c (gl_locale_name_thread_unsafe): Port to FreeBSD,
19814         and use the simpler FreeBSD implementation on Mac OS X as well.
19815         Original idea suggested by Ed Maste in
19816         <http://lists.gnu.org/r/bug-gnulib/2012-09/msg00094.html>.
19818 2012-09-22  Paul Eggert  <eggert@cs.ucla.edu>
19820         binary-io, eealloc, mbfile, mbiter, mbutil, xsize: better 'inline'
19821         * lib/binary-io.c, lib/eealloc.c, lib/mbfile.c, lib/mbiter.c:
19822         * lib/mbuiter.c, lib/xsize.c: New files.
19823         * lib/binary-io.h (BINARY_IO_INLINE):
19824         * lib/eealloc.h (EEALLOC_INLINE):
19825         * lib/mbfile.h (MBFILE_INLINE):
19826         * lib/mbiter.h (MBITER_INLINE):
19827         * lib/mbuiter.h (MBUITER_INLINE):
19828         * lib/xsize.h (XSIZE_INLINE):
19829         New macros.
19830         Replace all uses of 'static inline' with them.
19831         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
19832         * m4/eealloc.m4 (gl_EEALLOC):
19833         * m4/mbfile.m4 (gl_MBFILE):
19834         * m4/mbiter.m4 (gl_MBITER):
19835         * m4/xsize.m4 (gl_XSIZE):
19836         Do not require AC_C_INLINE.
19837         * modules/binary-io (Files, lib_SOURCES): Add lib/binary-io.c
19838         * modules/eealloc (Files, lib_SOURCES): Add lib/eealloc.c.
19839         * modules/mbfile (Files, lib_SOURCES): Add lib/mbfile.c.
19840         * modules/mbiter (Files, lib_SOURCES): Add lib/mbiter.c.
19841         * modules/mbuiter (Files, lib_SOURCES): Add lib/mbuiter.c.
19842         * modules/xsize (Files, lib_SOURCES): Add lib/xsize.c.
19843         * modules/binary-io, modules/eealloc, modules/mbfile:
19844         * modules/mbiter, modules/mbuiter:
19845         (Depends-on): Add extern-inline.
19847         pipe-filter-gi, pipe-filter-ii: better use of 'inline'
19848         * lib/pipe-filter-aux.c: New file.
19849         * lib/pipe-filter-aux.h (PIPE_FILTER_AUX_INLINE): New macro.
19850         Replace all uses of 'static inline' with it.
19851         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
19852         * lib/pipe-filter-gi.c (filter_init, filter_cleanup)
19853         (filter_retcode): No real need for inline here.
19854         * modules/pipe-filter-gi, modules/pipe-filter-ii:
19855         (Files): Add lib/pipe-filter-aux.c.
19856         (Depends-on): Add extern-inline.
19857         (configure.ac): Do not require AC_C_INLINE.
19858         (lib_SOURCES): Add pipe-filter-aux.c.
19860         fdutimensat: omit unnecessary AC_C_INLINE
19861         * modules/fdutimensat (configure.ac): Remove AC_C_INLINE.
19863         fchmodat, fchownat, fstatat: use extern-inline
19864         * lib/fchmodat.c, lib/openat.h (FCHMODAT_INLINE):
19865         * lib/fchownat.c, lib/openat.h (FCHOWNAT_INLINE):
19866         * lib/fstatat.c, lib/openat.h (FSTATAT_INLINE):
19867         New macros.
19868         * lib/openat.h:
19869         Replace all uses of 'static inline' with them.
19870         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
19871         * modules/fchmodat, modules/fchownat, modules/fstatat:
19872         * modules/openat-h:
19873         (Depends-on):
19874         Add extern-inline.
19875         (configure.ac): Remove AC_C_INLINE.
19877         acl, mbchar, priv-set: use extern-inline
19878         * lib/set-mode-acl.c, lib/acl-internal.h (ACL_INTERNAL_INLINE):
19879         * lib/mbchar.c, lib/mbchar.h (MBCHAR_INLINE):
19880         * lib/priv-set.c, lib/priv-set.h (PRIV_SET_INLINE):
19881         New macros.
19882         * lib/acl-internal.h, lib/mbchar.h, lib/priv-set.h:
19883         Replace all uses of 'static inline' with it.
19884         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
19885         * m4/acl.m4 (gl_FUNC_ACL):
19886         * m4/mbchar.m4 (gl_MBCHAR):
19887         * m4/priv-set.m4 (gl_PRIV_SET):
19888         Remove AC_C_INLINE, since 'inline' is no longer used directly.
19889         * modules/acl, modules/mbchar, modules/priv-set (Depends-on):
19890         Add extern-inline.
19892         sockets, sys_stat: remove AC_C_INLINE in MSVC-only cases
19893         * m4/sockets.m4 (gl_SOCKETS):
19894         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H):
19895         Remove AC_C_INLINE.  Here, 'inline' is used only in MSVC
19896         environments where it's already guaranteed to work, so we needn't
19897         check for it at 'configure'-time.
19899         tls-tests: omit unnecessary 'inline'
19900         * tests/test-tls.c (perhaps_yield): No longer inline.
19901         Simplicity and portability trump efficiency in test cases.
19903         utimens-tests: avoid unnecessary 'inline'
19904         * modules/fdutimensat-tests (configure.ac):
19905         * modules/futimens-tests (configure.ac):
19906         * modules/utimens-tests (configure.ac):
19907         * modules/utimensat-tests (configure.ac):
19908         Remove AC_C_INLINE.
19909         * tests/test-utimens-common.h (ctime_compare):
19910         No longer inline.  Simplicity and portability trump efficiency here.
19912         misc: don't limit commentary to inline functions
19913         * lib/binary-io.h, lib/malloca.h, lib/safe-alloc.c:
19914         * lib/xalloc-oversized.h, lib/xsize.h:
19915         Contrast macros to functions in general, not just to inline functions,
19916         when the commentary does not apply only to inline functions.
19918 2012-09-20  Jim Meyering  <meyering@redhat.com>
19920         non-recursive-gnulib-prefix-hack: new module
19921         * build-aux/prefix-gnulib-mk: Copied from coreutils, derived from
19922         the file that originated in Bison.
19923         * m4/non-recursive-gnulib-prefix-hack.m4: Likewise, this code is
19924         largely copied from a snippet that resided in bison's configure.ac.
19925         * modules/non-recursive-gnulib-prefix-hack: New file.
19926         * MODULES.html.sh (Support for maintaining and releasing projects):
19927         Add it.
19929 2012-09-18  Jim Meyering  <meyering@redhat.com>
19931         maint.mk: generalize _gl_tight_scope for non-recursive make
19932         * top/maint.mk (_gl_tight_scope): Remove a hard-coded assumption
19933         that *.h would describe additional .h files in the directory
19934         specified by $(_gl_TS_dir).  I.e., add this...
19935         (_gl_TS_other_headers): New variable.
19937         maint.mk: exempt trailing blanks found in "binary" files
19938         * top/maint.mk (sc_trailing_blank): Filter out any matches found in
19939         "binary" files, as reported by grep.  Suggested by Richard W.M. Jones
19940         in http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
19942 2012-09-17  Jim Meyering  <meyering@redhat.com>
19944         maint.mk: sc_prohibit_path_max_allocation: don't FP for UNIX_PATH_MAX
19945         * top/maint.mk (sc_prohibit_path_max_allocation): Avoid false-positive
19946         match for symbols like UNIX_PATH_MAX. Reported by Richard W.M. Jones
19947         in http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
19949 2012-09-17  Jim Meyering  <meyering@redhat.com>
19951         maint.mk: teach sc_prohibit_magic_number_exit to accept 77
19952         * top/maint.mk (sc_prohibit_magic_number_exit): Do not complain about
19953         uses like "exit (77)".  "77" is automake's "skip this test" exit code.
19954         It is not in the same category as "exit (0)" or "exit (1)", and
19955         besides, I know of no symbolic name for that 77.  Reported by
19956         Richard W.M. Jones in
19957         http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
19959 2012-09-17  Jim Meyering  <meyering@redhat.com>
19961         maint.mk: relax sc_prohibit_strcmp, to avoid a false positive
19962         * top/maint.mk (sc_prohibit_strcmp): Relax regexp, so as to match
19963         all uses of #define, not just those that start in column 1.
19964         Richard W.M. Jones reported a false positive in
19965         http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
19967 2012-09-16  Paul Eggert  <eggert@cs.ucla.edu>
19969         localcharset: work around Mac OS X bug with UTF-8 and MB_CUR_MAX
19970         * lib/localcharset.c (locale_charset) [DARWIN7]:
19971         Return "ASCII" if the system reports "UTF-8" and MB_CUR_MAX <= 1,
19972         as these two values are incompatible.  Problem reported by Max Horn.
19973         For more discussion, please see
19974         <http://lists.gnu.org/r/bug-gnulib/2012-09/msg00061.html>.
19976         doc: document sticky-EOF issue
19977         * doc/posix-functions/fgetc.texi (fgetc):
19978         * doc/posix-functions/fgets.texi (fgets):
19979         * doc/posix-functions/fread.texi (fread):
19980         * doc/posix-functions/fscanf.texi (fscanf):
19981         * doc/posix-functions/getc.texi (getc):
19982         * doc/posix-functions/getchar.texi (getchar):
19983         * doc/posix-functions/scanf.texi (scanf):
19984         Mention that glibc and default Solaris do not conform to
19985         C99 and POSIX-2001 or later, with respect to how getchar
19986         etc. behave when feof reports nonzero.
19988 2012-09-13  Joachim Schmitz  <jojo@schmitz-digital.de>  (tiny change)
19990         poll: fix poll(0, NULL, msec)
19991         * lib/poll.c: don't exit early if NULL is the 1st arg to poll(),
19992         but nfd is 0.  In that case poll should behave like select.
19994 2012-09-13  Joachim Schmitz  <jojo@schmitz-digital.de>  (tiny change)
19995             Paolo Bonzini  <bonzini@gnu.org>
19997         poll: fix for systems that can't recv() on a non-socket
19998         * lib/poll.c: if recv returns ENOTSOCK, assume the descriptor
19999         is readable.  In this case POLLHUP will not be supported.
20000         * doc/posix-functions/poll.texi: Document this.
20002 2012-09-13  Paolo Bonzini  <bonzini@gnu.org>
20004         poll/select: document portability problems not fixed by Gnulib.
20005         * doc/posix-functions/poll.texi: poll does not work well on
20006         pipes under Windows.  It has the same limitations as select on
20007         BeOS.
20008         * doc/posix-functions/select.texi: select does not work well
20009         on pipes under Windows.
20011 2012-09-10  Paul Eggert  <eggert@cs.ucla.edu>
20013         fcntl-h: check for AIX 7.1 bug with O_NOFOLLOW and O_CREAT
20014         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Check for AIX 7.1 bug
20015         that caused a GNU tar test failure.  Problem reported by Jez Wain; see
20016         <http://lists.gnu.org/r/bug-tar/2012-07/msg00018.html>.
20018 2012-09-06  Eric Blake  <eblake@redhat.com>
20020         net_if: give more details about the bug being fixed
20021         * doc/posix-headers/net_if.texi: Add clarification.
20023 2012-09-05  Eric Blake  <eblake@redhat.com>
20025         net_if: new module
20026         * modules/net_if: New module, borrowing ideas from netinet_in.
20027         * m4/net_if_h.m4: New file.
20028         * lib/net_if.in.h: Likewise.
20029         * doc/posix-headers/net_if.texi (net/if.h): Document it.
20030         * MODULES.html.sh (lacking POSIX:2008): Likewise.
20031         * tests/test-net_if.c: Make function checks conditional.
20032         Reported by Jasper Lievisse Adriaanse <jasper@humppa.nl>.
20034 2012-09-05  Mats Erik Andersson  <gnu@gisladisker.se>  (tiny change)
20036         readutmp: fix non-portable UT_PID use
20037         * lib/readutmp.c (desirable_utmp_entry) <READ_UTMP_CHECK_PIDS>:
20038         Use `UT_PID (u) > 0' as absolute condition.
20040 2012-09-04  Jim Meyering  <meyering@redhat.com>
20042         fts: reduce two or more trailing spaces to just one, usually
20043         * lib/fts.c (fts_open): Upon initialization, if a name ends in two
20044         or more slashes, trim all but the final one.  But if a name consists
20045         solely of two slashes, don't modify it.  If it consists solely of
20046         three or more slashes, strip all but one.
20048         This is part of the solution to a minor problem with rm:
20049         it would print a bogus ELOOP diagnostic when failing to remove
20050         the slash-decorated name of a symlink-to-directory:
20052             $ mkdir d && ln -s d s && env rm -r s/
20053             rm: cannot remove 's': Too many levels of symbolic links
20055         With the change below and a trivial don't-trim-trailing-slashes
20056         adjustment to remove.c, it does this:
20058             $ env rm -r s/
20059             rm: cannot remove 's/': Not a directory
20061         Improved by: Eric Blake
20063         fts: when there is no risk of overlap, use memcpy, not memmove
20064         * lib/fts.c (fts_alloc): Fix unjustified memcopy: s/memmove/memcpy/
20066 2012-08-29  Paul Eggert  <eggert@cs.ucla.edu>
20068         stdbool: be more compatible with mixed C/C++ compiles
20069         * lib/stdbool.in.h (_Bool, true, false) [__cplusplus]:
20070         Define to bool, true, false, respectively, as GCC's builtin
20071         stdbool.h does.  Problem reported by Michael Goffioul in
20072         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00143.html>.
20074 2012-08-28  Jim Meyering  <meyering@redhat.com>
20076         revert last change: it was not needed
20077         * tests/test-vc-list-files-git.sh: There's already a test for
20078         a working git, just below.
20080 2012-08-28  Jim Meyering  <meyering@redhat.com>
20082         tests: test-vc-list-files-git.sh: skip if git is not available
20083         * tests/test-vc-list-files-git.sh: Skip this test when git is
20084         not available.
20086 2012-08-26  Bruno Haible  <bruno@clisp.org>
20088         gnulib-tool: Remove no-op option --no-changelog.
20089         * gnulib-tool (func_usage): Don't mention --no-changelog.
20090         (do_changelog): Remove variable.
20091         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
20093 2012-08-24  Paul Eggert  <eggert@cs.ucla.edu>
20095         doc: remove fdl-1.2.texi
20096         It is no longer used or maintained, and its use of @acronym
20097         is problematic.  See the thread containing
20098         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00134.html>.
20099         * config/srclist.txt: Remove doc/old-licenses/fdl-1.2.texi.
20100         * doc/old-licenses/fdl-1.2.texi: Remove.
20102         execinfo: port to FreeBSD
20103         * m4/execinfo.m4 (gl_EXECINFO_H): Set LIB_EXECINFO to -lexecinfo
20104         if needed, as in FreeBSD.  Reported by Bastien Roucariès in
20105         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00113.html>.
20106         * modules/execinfo (Link): Add $(LIB_EXECINFO).
20108 2012-08-23  Jim Meyering  <meyering@redhat.com>
20110         xstrtol.h: avoid "_Noreturn is not at beginning of declaration" warning
20111         * lib/xstrtol.h: Put "_Noreturn" before "void" in declaration,
20112         to placate gcc's -Wold-style-declaration.
20114 2012-08-24  Paul Eggert  <eggert@cs.ucla.edu>
20116         doc: do not use @acronym
20117         * doc/inet_ntoa.texi (inet_ntoa):
20118         * doc/parse-datetime.texi (Seconds since the Epoch)
20119         (Specifying time zone rules):
20120         * doc/posix-functions/inet_ntoa.texi (inet_ntoa):
20121         Don't use @acronym.  Problem reported by John Darlington in
20122         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00124.html>.
20124 2012-08-23  Paul Eggert  <eggert@cs.ucla.edu>
20126         stdnoreturn: port to newer GCCs
20127         * m4/stdnoreturn.m4 (gl_STDNORETURN_H): Avoid problems with
20128         bleeding-edge GCC that complains about 'int _Noreturn foo (void);'.
20129         Problem reported by Jim Meyering in
20130         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00121.html>.
20131         Also, rename the 'test' function to a void a clash with the
20132         already-supplied 'main' function; this fixes a bug that incorrectly
20133         rejected GCC 4.7.1's <stdnoreturn.h>.
20134         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h):
20135         Document GCC problem.
20137 2012-08-22  Reuben Thomas  <rrt@sc3d.org>
20139         pipe-filter: fix comment typo
20140         * lib/pipe-filter.h: Mention correct function.
20142 2012-08-22  Paul Eggert  <eggert@cs.ucla.edu>
20144         execinfo: new module
20145         This is for Emacs.  Currently, it provides a no-effect stub
20146         on all platforms where it does not already work.
20147         It already works on glibc-based systems, and on Solaris 11.
20148         * lib/execinfo.c, lib/execinfo.in.h, m4/execinfo.m4, modules/execinfo:
20149         New files.
20150         * doc/glibc-headers/execinfo.texi (execinfo.h):
20151         * MODULES.html.sh (Misc): Document it.
20153 2012-08-20  Paul Eggert  <eggert@cs.ucla.edu>
20155         extern-inline: support old GCC 'inline'
20156         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Use pre-C99 GCC 'inline'
20157         if available.  This applies to GCC versions 2.7 through 4.2, or
20158         when newer GCC is using -fgnu89-inline.  The goal is to address
20159         some of the performance issues mentioned by Bruno Haible in
20160         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00097.html>.
20162 2012-08-20  Eric Blake  <eblake@redhat.com>
20164         maint.mk: avoid redundant file name in message
20165         * top/maint.mk (sc_prohibit_strcmp, sc_unmarked_diagnostics)
20166         (sc_prohibit_defined_have_decl_tests, sc_const_long_option)
20167         (sc_makefile_path_separator_check): Remove bogus $(ME).
20169 2012-08-20  Mike Frysinger  <vapier@gentoo.org>
20171         timer-time: fix link order when static linking on glibc
20172         * m4/timer_time.m4 (LIB_TIMER_TIME): Add -lpthread
20173         _after_ -lrt so that it's significant.
20175 2012-08-19  Paul Eggert  <eggert@cs.ucla.edu>
20177         timespec: omit unnecessary AC_C_INLINE
20178         * m4/timespec.m4 (gl_TIMESPEC): Do not require AC_C_INLINE.
20180         stat-time: omit unnecessary AC_C_INLINE
20181         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
20182         Do not require AC_C_INLINE.
20184         ignore-value: omit unnecessary AC_C_INLINE
20185         * modules/ignore-value (configure.ac): Do not require AC_C_INLINE.
20187         sys_select: avoid 'static inline'
20188         * lib/sys_select.in.h (rpl_fd_isset): Now static, not static inline.
20190         mktime: avoid 'static inline'
20191         * lib/mktime.c (leapyear, ydhms_diff): Now static, not static inline.
20192         * m4/mktime.m4 (gl_PREREQ_MKTIME): Do not require AC_C_INLINE.
20194 2012-08-19  Bruno Haible  <bruno@clisp.org>
20196         gnulib-tool: Improve coding style.
20197         * gnulib-tool (func_emit_tests_Makefile_am): Set perhapsLT, like in
20198         func_emit_lib_Makefile_am.
20199         Reported and fix suggested by Dmitriy Selyutin <ghostman.sd@gmail.com>.
20201 2012-08-19  Bruno Haible  <bruno@clisp.org>
20203         gnulib-tool: Fix indentation.
20204         * gnulib-tool (func_import): Fix indentation.
20206 2012-08-19  Bruno Haible  <bruno@clisp.org>
20208         gnulib-tool: Remove old file names from .cvsignore, .gitignore.
20209         * gnulib-tool (func_update_ignorelist): Don't use 'join -v 1' command
20210         on the list of removed files.
20212 2012-08-17  Paul Eggert  <eggert@cs.ucla.edu>
20214         test-parse-datetime: avoid glibc leap-second glitch
20215         * tests/test-parse-datetime.c (main): Set TZ to US Eastern time
20216         with the 2012 rules.  Problem reported by Bruce Dubbs in
20217         <http://bugs.gnu.org/12206>.
20219 2012-08-14  Bruno Haible  <bruno@clisp.org>
20221         gnulib-tool: Fix indentation of generated gnulib-comp.m4 file.
20222         * gnulib-tool (func_emit_autoconf_snippet): Initialize indentation
20223         from argument.
20224         Reported and fix suggested by Dmitriy Selyutin <ghostman.sd@gmail.com>.
20226 2012-08-14  Eric Blake  <eblake@redhat.com>
20228         ldexp: relax license
20229         * modules/ldexp (License): Trivial relax, since the module only
20230         provides a permissively licensed m4 file.
20232 2012-08-13  Bruno Haible  <bruno@clisp.org>
20234         gnulib-tool: Fix persistence of --witness-c-macro option.
20235         * gnulib-tool (func_import): Fix typo in emit of gl_WITNESS_C_MACRO.
20236         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
20238 2012-08-11  Eric Blake  <eblake@redhat.com>
20240         count-leading-zeros: use a lookup table on non-gcc compilers
20241         * lib/count-leading-zeros.h (count_leading_zeros_32): Use an
20242         alternate implementation, suggested by Jim Meyering.
20244 2012-08-10  Eric Blake  <eblake@redhat.com>
20246         count-leading-zeros: new module
20247         * modules/count-leading-zeros: New module.
20248         * m4/count-leading-zeros.m4: New file.
20249         * lib/count-leading-zeros.h: Likewise.
20250         * modules/count-leading-zeros-tests: New test.
20251         * tests/test-count-leading-zeros.c: New file.
20252         * MODULES.html.sh (Integer arithmetic functions): Document it.
20254 2012-08-07  Simon Josefsson  <simon@josefsson.org>
20255             Jim Meyering  <meyering@redhat.com>
20257         maintainer-makefile: Fix syntax error with dash.
20258         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): Quote arguments.
20259         (sc_vulnerable_makefile_CVE-2012-3386): Likewise.
20261 2012-08-05  Jim Meyering  <meyering@redhat.com>
20263         extern-inline: also ignore -Wmissing-declarations
20264         * m4/extern-inline.m4: Also ignore -Wmissing-declarations,
20265         required with gcc-4.8.0-to-be.
20267         maint.mk: sc_prohibit_magic_number_exit: avoid new false positives
20268         * top/maint.mk (sc_prohibit_magic_number_exit): Also filter out matches
20269         for /error ?([^,]*)/.  This avoids false-positives for strings like
20270         "Unknown error (252)", introduced via commit v0.0-7538-g92875a6.
20272 2012-08-02  Stefano Lattarini  <stefano.lattarini@gmail.com>
20274         gnumakefile: better interaction with Automake-NG
20275         * modules/gnumakefile [Makefile.am]: The makefiles generated by
20276         Automake-NG always contain a definition of VPATH, even in non-VPATH
20277         builds (its value being simply '.' in that case).  So, in the
20278         'clean-GNUmakefile' rule, to determine whether running under a
20279         VPATH setup, compare '$(srcdir)' to '.' rather than checking whether
20280         '$(VPATH)' expands to the empty string.
20282 2012-08-02  Carlo de Falco  <carlo.defalco@polimi.it>  (tiny change)
20284         base64: Use extern C scope in header file, for C++.
20285         * lib/base64.h: Add C++ namespace protection.
20287 2012-08-02  Paul Eggert  <eggert@cs.ucla.edu>
20289         stat-time, timespec, u64: support naive out-of-dir builds
20290         * lib/stat-time.c, lib/timespec.c, lib/u64.c:
20291         Use '#include "foo.h"', not '#include <foo.h>', when including
20292         one's own interface.  This works better when configuring with
20293         out-of-directory builds, since packages need not add an
20294         otherwise-unnecessary -I$(topdir_src)/lib to DEFAULT_INCLUDES.
20296 2012-08-01  Paul Eggert  <eggert@cs.ucla.edu>
20298         utimens: use extern-inline
20299         * lib/utimens.c (_GL_UTIMENS_INLINE): Define when including utimens.h.
20300         * lib/utimens.h: Add copyright notice, since this is now large enough
20301         to copyright.  Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
20302         (_GL_UTIMENS_INLINE): New macro.  Use it instead of 'static inline'.
20303         * modules/utimens (Depends-on): Add extern-inline.
20305         u64: use extern-inline
20306         * lib/u64.c: New file.
20307         * lib/u64.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
20308         (_GL_U64_INLINE): New macro.  Use it instead of 'static inline'.
20309         * modules/u64 (Files): Add lib/u64.c.
20310         (Depends-on): Add extern-inline.
20311         (configure.ac): No need to require AC_C_INLINE, since extern-inline
20312         does that now.
20313         (lib_SOURCES): Add u64.c.
20315         timespec: use extern-inline
20316         * lib/timespec.c: New file.
20317         * lib/timespec.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
20318         (_GL_TIMESPEC_INLINE): New macro.  Use it instead of 'static inline'.
20319         * modules/timespec (Files): Add lib/timespec.c.
20320         (Depends-on): Add extern-inline.
20321         (lib_SOURCES): Add timespec.c.
20323         stat-time: use extern-inline
20324         * lib/stat-time.c: New file.
20325         * lib/stat-time.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
20326         (_GL_STAT_TIME_INLINE): New macro.  Use it instead of 'static inline'.
20327         * modules/stat-time (Files): Add lib/stat-time.c.
20328         (Depends-on): Add extern-inline.
20329         (lib_SOURCES): Add stat-time.c.
20331         extern-inline: new module
20332         * modules/extern-inline, m4/extern-inline.m4: New files.
20333         This is for better support of 'extern inline' a la ISO C99,
20334         with a portable alternative on compilers that do not support
20335         C99-style 'extern inline'.  Using 'extern inline' shrinks the size
20336         of the Emacs executable, when compiled with debugging disabled,
20337         which is a typical way that Emacs is built while developing.
20339 2012-08-01  Akim Demaille  <akim@lrde.epita.fr>
20341         maint.mk: a "release-commit" wrapper to do-release-commit-and-tag
20342         * build-aux/do-release-commit-and-tag: Move variable definitions
20343         together.
20344         ($branch): Instead of defaulting to "master", default to the current
20345         branch (as gnu-web-doc-update does).
20346         (help): Display the current values of the option arguments.
20347         * top/maint.mk (release-commit): New.
20348         * top/README-release: Simplify the corresponding step.
20350 2012-07-30  Eric Blake  <eblake@redhat.com>
20352         passfd: fix comment on recvfd
20353         * lib/passfd.c (recvfd): Fix comment.
20354         Reported by Jann Horn <jannhorn@googlemail.com>.
20356 2012-07-30  Jim Meyering  <meyering@redhat.com>
20358         maint.mk: avoid a sub-shell
20359         * top/maint.mk (release-prep): Remove unneeded sub-shell.
20361 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
20363         maint.mk: use silent-rules support from Automake
20364         * top/maint.mk (news-check, vc-diff-check, announcement)
20365         (no-submodule-changes, alpha beta stable, release-prep)
20366         (web-manual, update-copyright): Use $(AM_V_GEN) and $(AM_V_at).
20368 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
20370         maint.mk: provide a web-manual-update target
20371         * top/maint.mk: here.
20372         * top/README-release: Use it to simplify the web manual update step.
20374 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
20376         README-release: shorten the circuit to post a news
20377         * top/README-release: Point directly to the news submission form.
20379 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
20381         gnu-web-doc-update: fix --help
20382         * build-aux/gnu-web-doc-update: The information "top level" was written
20383         twice.
20385 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
20387         maint.mk: absolute VPATH issue
20388         * top/maint.mk (release-prep): Help Git find .git/.
20389         From Jim Meyering.
20391 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
20393         gitlog-to-changelog: fix previous change
20394         * build-aux/gitlog-to-changelog: Fix condition.
20395         Add missing ";".
20397 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
20399         gitlog-to-changelog: don't expect .git to be in $srcdir
20400         Reported by Bruno Haible.
20401         <http://lists.gnu.org/r/bug-gnulib/2012-07/msg00265.html>
20402         * build-aux/gitlog-to-changelog (&git_dir_option): New.
20403         Use it.
20405 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
20407         maint.mk: absolute VPATH build fix
20408         * top/maint.mk (gpg_key_ID): Help git find .git when, for instance,
20409         $(srcdir) is not a parent of $(builddir).
20411 2012-07-28  John Darrington  <john@darrington.wattle.id.au>
20413         clean-temp: Fix memory leak.
20414         * lib/clean-temp.c (cleanup_temp_dir): Free also the 'subdirs' and
20415         'files' members of tmpdir.
20417 2012-07-27  Jim Meyering  <meyering@redhat.com>
20419         maint.mk: new rule: refresh-gnulib-patches
20420         I noticed that 8 of coreutils' 9 gl/**/*.diff files were stale.
20421         Use this rule to refresh them.
20422         * top/maint.mk (refresh-gnulib-patches): New rule.
20424 2012-07-24  Bruno Haible  <bruno@clisp.org>
20426         gnulib-tool: Fix handling of inctests variable.
20427         * gnulib-tool: Canonicalize $inctests also in 'update' mode.
20428         Reported by Nick Bowler <nbowler@elliptictech.com>.
20430 2012-07-22  Bruno Haible  <bruno@clisp.org>
20432         getpass: Assume AC_CHECK_DECLS_ONCE invocation, like in getpass.m4.
20433         * lib/getpass.h: Assume HAVE_DECL_GETPASS is defined.
20434         * cfg.mk (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests):
20435         Remove exemption for getpass.h.
20436         Suggested by Eric Blake.
20438 2012-07-20  Eric Blake  <eblake@redhat.com>
20440         verify: document conflict with -Wnested-externs
20441         * lib/verify.h: Give hint about usage when gcc warnings are enabled.
20443         maint.mk: forbid exit(-1)
20444         * top/maint.mk (sc_prohibit_magic_number_exit): Detect negatives.
20446 2012-07-20  Paul Eggert  <eggert@cs.ucla.edu>
20448         fsusage: port back to Solaris
20449         * lib/fsusage.c (get_fs_usage): Fix busted logic causing compile-time
20450         error (fsd not declared) on Solaris 10.  Reported privately by
20451         Andrew Borodin.
20453 2012-07-19  Akim Demaille  <akim@lrde.epita.fr>
20455         gnu-web-doc-update: fix error messages
20456         * build-aux/gnu-web-doc-update: Don't pass $ME to die.
20458         gnu-web-doc-update: check the requirements.
20459         * build-aux/gnu-web-doc-update (find_tool): Import from bootstrap.
20460         ($CVS, $CVSU, $GIT, $RSYNC, $XARGS): New.
20461         * build-aux/bootstrap (find_tool): Comment change.
20463 2012-07-17  Akim Demaille  <akim@lrde.epita.fr>
20465         maint.mk: minor simplication.
20466         * top/maint.mk (_sc_excl): Use $(or...) instead of $(if...)
20467         for default values.
20469 2012-07-15  Akim Demaille  <akim@lrde.epita.fr>
20471         gitlog-to-changelog: VPATH build issues
20472         If builddir is not a subdirectory of srcdir, running git from it will
20473         fail.
20474         * build-aux/gitlog-to-changelog (--srcdir): New option.
20476 2012-07-15  Bruno Haible  <bruno@clisp.org>
20478         fpending: Assume AC_CHECK_DECLS_ONCE invocation, like in fpending.m4.
20479         * lib/fpending.h: Assume HAVE_DECL___FPENDING is defined.
20480         * cfg.mk (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests)
20481         Remove exemption for fpending.h.
20482         Suggested by Eric Blake.
20484 2012-07-15  Paul Eggert  <eggert@cs.ucla.edu>
20486         pthread_sigmask: fix bug on FreeBSD 9
20487         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_INEFFECTIVE]:
20488         Include string.h.
20489         (pthread_sigmask) [PTHREAD_SIGMASK_INEFFECTIVE]:
20490         When calling pthread_sigmask (1729, NEW, OLD), specify non-null NEW;
20491         this avoids a bug on FreeBSD 9, where pthread_sigmask is effective
20492         but pthread_sigmask (1729, NULL, NULL) returns zero.
20493         See <http://bugs.gnu.org/11884>.
20494         Avoid the need to call pthread_sigmask (1729, ...) in most cases,
20495         by inspecting whether the main call changed the old mask.
20497 2012-07-15  Reuben Thomas  <rrt@sc3d.org>
20499         README-release: make it more legible
20500         * top/README-release: Improve typography slightly.
20502 2012-07-15  Jim Meyering  <meyering@redhat.com>
20504         maint: require that each sc_... command start with "@"
20505         * Makefile (sc_prohibit_sc_omitted_at): New rule so that
20506         "make sc_maint" helps us avoid this nit.
20508 2012-07-15  Jim Meyering  <meyering@redhat.com>
20510         maint.mk: add leading "@" to quiet new "make syntax-check" rule
20511         * top/maint.mk (sc_prohibit_defined_have_decl_tests): Add "@".
20513 2012-07-13  Eric Blake  <eblake@redhat.com>
20515         maint.mk: new syntax check for HAVE_DECL checks
20516         * top/maint.mk (sc_prohibit_defined_have_decl_tests): New rule.
20517         * cfg.mk
20518         (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests):
20519         Exempt some false positives.
20520         Based on a report by Karel Zak.
20522         argp: make HAVE_DECL usage consistent
20523         * lib/argp-parse.c (__argp_parse): Check contents of HAVE_DECL
20524         macros, not whether they are defined.
20525         * m4/argp.m4 (gl_ARGP): Always define HAVE_DECL_* macros, per
20526         convention with other declaration checks.
20527         Reported by Karel Zak, with suggestions from Paul Eggert.
20529         stat-time: relax license to LGPLv2+
20530         * modules/stat-time (License): Relax, with consent of all authors.
20532         strndup: fix m4 usage error
20533         * m4/strndup.m4 (gl_FUNC_STRNDUP): HAVE_DECL_STRNDUP is always
20534         defined, to either 0 or 1.
20535         Reported by Karel Zak.
20537 2012-07-11  Jim Meyering  <meyering@redhat.com>
20539         maint: enable the sc_avoid_if_before_free syntax-check rule
20540         * cfg.mk (local-checks-to-skip): Enable sc_avoid_if_before_free.
20541         (if_before_free_offenders_): Define.
20542         (if_before_free_basename_re_): Define.
20543         Exempt current files with useless if-before-free.
20545 2012-07-11  Paul Eggert  <eggert@cs.ucla.edu>
20547         gettext: do not assume '#define ... defined ...' behavior
20548         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS):
20549         Do not use '#define FOO ... defined BAR ...', as the C standard says
20550         it's not portable to expect that this works after macro expansion.
20551         Problem reported for gzip by Steven M. Schweda in
20552         <http://lists.gnu.org/r/bug-gzip/2012-07/msg00000.html>.
20554 2012-07-10  Paul Eggert  <eggert@cs.ucla.edu>
20556         getloadavg: clean out old Emacs and Autoconf cruft
20557         See Glenn Morris in <http://bugs.gnu.org/11905>.
20558         * lib/getloadavg.c: Include <config.h>, <stdbool.h> always.
20559         Include <sys/param.h> if HAVE_SYS_PARAM_H, not if unix or __unix.
20560         (LDAV_CVT): Remove no-longer-used LOAD_AVE_CVT hook.
20561         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Check for <sys/param.h>.
20563 2012-07-10  Akim Demaille  <akim@lrde.epita.fr>
20565         bootstrap: let warn be like tests/init.sh's warn_
20566         Reported by Jim Meyering.
20567         * build-aux/bootstrap (warn): Remove, replaced by...
20568         (warnf_, warn_): these.
20569         Adjust callers.
20570         Shorten messages that no longer fit in 80 columns.
20572 2012-07-09  Bruno Haible  <bruno@clisp.org>
20574         getopt: Simplify after Emacs changed.
20575         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Inline gl_GETOPT_IFELSE.
20576         (gl_GETOPT_IFELSE): Remove macro.
20578 2012-07-09  Jim Meyering  <meyering@redhat.com>
20580         maint.mk: add sc_vulnerable_makefile_CVE-2012-3386
20581         * top/maint.mk (sc_vulnerable_makefile_CVE-2012-3386): New rule.
20583         maint.mk: _sc_search_regexp, sc_vulnerable_makefile_CVE-2009-4029: fix
20584         Bugs in both of those conspired to make the
20585         sc_vulnerable_makefile_CVE-2009-4029 rule 99% useless.
20586         _sc_search_regexp's handling of non-empty $in_files would filter
20587         out any offending file names.  sc_vulnerable_makefile_CVE-2009-4029's
20588         choice of in_files value meant there would be no match in most
20589         projects, due to the presence of two or more Makefile.in files.
20590         * top/maint.mk (_sc_search_regexp) [in_vc_files,in_files]: Clarify.
20591         Fix a bug in how a non-empty $$in_files was processed:
20592         (sc_vulnerable_makefile_CVE-2009-4029): Fix erroneous use of in_files:
20593         in spite of the name, it's a regexp, not a list of file names.
20595 2012-07-09  Paul Eggert  <eggert@cs.ucla.edu>
20597         getloadavg, getopt: fix commentary re configure.in
20598         Autoconf is deprecating the name 'configure.in', so change it to
20599         to the new name 'configure.ac' in a couple of places.
20600         * lib/getloadavg.c: configure.in -> configure.ac, in comment.
20601         * m4/getopt.m4 (gl_GETOPT_IFELSE, gl_GETOPT_SUBSTITUTE_HEADER)
20602         (gl_PREREQ_GETOPT): Remove obsolete commentary re Emacs configure.in.
20603         Emacs has renamed it to configure.ac, and it no longer refers
20604         to these macros anyway.
20606         timespec: mark functions with const attributes
20607         * lib/timespec.h (timespec_add, timespec_sub, dtotimespec):
20608         Mark with _GL_ATTRIBUTE_CONST.
20610 2012-07-07  Ludovic Courtès  <ludo@gnu.org>
20612         canonicalize[-lgpl]: handle "guessing" values when cross-building
20613         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
20614         (gl_CANONICALIZE_LGPL): Check whether $gl_cv_func_realpath_works
20615         matches "*yes" instead of just "yes".  Regression introduced in commit
20616         e0bcf6626cde8dad4bfbdc4045c744f0cd8b9e24.
20618 2012-07-07  Ludovic Courtès  <ludo@gnu.org>
20619             Bruno Haible  <bruno@clisp.org>
20621         canonicalize: make the right guess when cross-compiling to GNU
20622         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Match also "gnu*" to
20623         determine whether cross-compiling to glibc systems, so as to
20624         include GNU/Hurd.
20626 2012-07-06  Paul Eggert  <eggert@cs.ucla.edu>
20628         timespec-sub: avoid duplicate include
20629         * lib/timespec-sub.c: Do not include <config.h> twice.
20630         Reported by Juanma Barranquero.
20632 2012-07-06  Akim Demaille  <akim@lrde.epita.fr>
20634         bootstrap: use a more consistent error reporting scheme
20635         * build-aux/bootstrap (warn, die): New.
20636         Use them.
20638 2012-07-05  Paul Eggert  <eggert@cs.ucla.edu>
20640         sys_time: allow too-wide tv_sec
20641         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Allow struct
20642         timeval even if tv_sec is wider than time_t.  This allows
20643         OpenBSD 5.1 amd64 and fixes an Emacs porting glitch with utimens.c,
20644         as without this patch gnulib replaces struct timeval
20645         and OpenBSD futimes therefore has a type mismatch.
20646         * doc/posix-headers/sys_time.texi: Mention this.
20648         pthread: check for both pthread_create and pthread_join
20649         * m4/pthread.m4 (gl_PTHREAD_CHECK): Revert previous change, but
20650         alter the check so that it tests for both pthread_create and
20651         pthread_join.  This should be more portable to hosts like OSF/1 5.1.
20652         Suggested by Bruno Haible and Richard Yao in
20653         <http://lists.gnu.org/r/bug-gnulib/2012-07/msg00048.html>.
20655         parse-datetime: doc tuneup
20656         * doc/parse-datetime.texi: Index "leap seconds" and fix minor
20657         spacing issues.
20659 2012-07-05  Akim Demaille  <akim@lrde.epita.fr>
20661         do-release-commit-and-tag: fix the previous commit
20662         * build-aux/do-release-commit-and-tag: Actually the test was right,
20663         but the comment and the error message were misleading.
20664         Fix comment, and improve error message.
20665         Perform check first, so that NEWS is not modified uselessly.
20667         do-release-commit-and-tag: fix typo
20668         * build-aux/do-release-commit-and-tag: Be sure that NEWS does
20669         _not_ start with a stub.
20671 2012-07-04  Paul Eggert  <eggert@cs.ucla.edu>
20673         pthread: check for pthread_create, not pthread_join
20674         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_create, not
20675         pthread_join.  On FreeBSD 9, pthread_create is in libpthread but
20676         pthread_join in libc.  I hope this removes the need for all the
20677         OSF/1 5.1 pthread_join business.  Reported by Richard Yao in
20678         <http://lists.gnu.org/r/bug-gnulib/2012-07/msg00042.html>.
20680 2012-07-04  Jim Meyering  <meyering@redhat.com>
20682         parse-datetime: fix failure to diagnose invalid input
20683         date -d "$(printf '\xb0')" would print 00:00:00 with today's date
20684         rather than diagnosing the invalid input.  Now it reports this:
20685         date: invalid date '\260'
20686         * lib/parse-datetime.y (to_uchar): Define.
20687         (yylex): Don't sign-extend "other" bytes.
20688         * m4/parse-datetime.m4: Require AC_C_INLINE for first use of "inline".
20689         Thanks to Bruno Haible for the patch to this file.
20690         * tests/test-parse-datetime.c (main): Add a test to trigger the bug.
20691         Peter Evans reported the bug in GNU date: http://bugs.gnu.org/11843
20693 2012-07-03  Jim Meyering  <meyering@redhat.com>
20695         bootstrap: do not require now-removed build-aux/missing
20696         Now that build-aux/missing is, er, missing, bootstrap would
20697         silently fail.
20698         * build-aux/bootstrap (gnulib_extra_files): Remove $build_aux/missing
20699         from the list, now that (since commit v0.0-7489-gd0f486f) the file is
20700         no longer part of gnulib.
20701         Diagnose the failure.
20703 2012-07-03  Paul Eggert  <eggert@cs.ucla.edu>
20705         alloca: add support for HP NonStop TNS/E native
20706         * lib/alloca.in.h (alloca): Support the new host.
20707         From a suggestion by Joachim Schmitz in
20708         <http://lists.gnu.org/r/bug-gnulib/2012-06/msg00355.html>.
20710 2012-07-02  Pádraig Brady  <P@draigBrady.com>
20712         fsusage: remove code not needed on non GNU/Linux systems.
20714         * lib/fsusage.c [STAT_STATVFS || STAT_STATVFS64]:
20715         Don't include headers no longer needed in this case.
20716         * lib/fsusage.c [STAT_STATVFS &&
20717         ! (__linux__ && (__GLIBC__||__UCLIBC__))]: Undefine
20718         STAT_STATFS2_FRSIZE to exclude code not used in this case.
20720 2012-07-02  Paul Eggert  <eggert@cs.ucla.edu>
20722         fsusage: include files needed for glibc 2.6 fallback
20723         * lib/fsusage.c [STAT_STATVFS || STAT_STATVFS64]:
20724         Include <sys/param.h>, <sys/mount.h>, <sys/vfs.h>
20725         as they are needed for the 2.6 < glibc/Linux < 2.6.36 fallback.
20726         Problem reported by Ludovic Courtès in
20727         <http://lists.gnu.org/r/bug-gnulib/2012-07/msg00005.html>.
20729         fsusage: avoid needless check on GNU/Linux
20730         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Omit STAT_STATFS3_OSF1 check
20731         on GNU/Linux systems, since it can't possibly work.
20733 2012-07-01  Bruno Haible  <bruno@clisp.org>
20735         log: Fix an autoconf >= 2.64 warning.
20736         * modules/log (configure.ac): Require, not invoke, gl_FUNC_LOG.
20737         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
20739 2012-06-28  Bruno Haible  <bruno@clisp.org>
20741         log10f: Fix possible configuration problem.
20742         * m4/log10f.m4 (gl_FUNC_LOG10F): Augment LIBS by $LOG10F_LIBM, not
20743         $LOGF_LIBM.
20744         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
20746 2012-06-28  Bruno Haible  <bruno@clisp.org>
20748         remove: No longer override on all platforms. Fixes bug from 2010-03-20.
20749         * m4/remove.m4 (gl_FUNC_REMOVE): Test gl_cv_func_unlink_honors_slashes,
20750         not gl_cv_func_unlink_works.
20751         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
20753 2012-06-27  Eric Blake  <eblake@redhat.com>
20755         config: drop scripts that automake says are not independent
20756         * config/srclist.txt: Drop elisp-comp, missing, and ylwrap.
20757         * build-aux/elisp-comp: Delete.
20758         * build-aux/missing: Likewise.
20759         * build-aux/ylwrap: Likewise.
20760         * modules/elisp-comp: Likewise.
20761         * MODULES.html.sh: Drop mention of elisp-comp.
20762         * NEWS: Mention this.
20764 2012-06-26  Paul Eggert  <eggert@cs.ucla.edu>
20766         root-uid: new module
20767         This is for portability to Tandem's NonStop Kernel.
20768         * lib/root-uid.h, modules/root-uid: New files.
20769         * lib/euidaccess.c, lib/pt_chown.c, lib/unlinkdir.c:
20770         * lib/write-any-file.c, tests/test-sethostname2.c:
20771         Include "root-uid.h".
20772         * lib/euidaccess.c (euidaccess):
20773         * lib/pt_chown.c (main):
20774         * lib/unlinkdir.c (cannot_unlink_dir):
20775         * lib/write-any-file.c (can_write_any_file):
20776         * m4/mknod.m4 (gl_FUNC_MKNOD):
20777         * tests/test-sethostname2.c (geteuid, main):
20778         Don't assume ROOT_UID == 0.
20779         * modules/euidaccess (Depends-on):
20780         * modules/pt_chown (Depends-on):
20781         * modules/sethostname-tests (Depends-on):
20782         * modules/unlinkdir (Depends-on):
20783         * modules/write-any-file (Depends-on):
20784         Add root-uid.
20786         regex: use locale-independent comparison for codeset name
20787         See Bruno Haible's comment in <http://bugs.gnu.org/10305#120>.
20788         * lib/regcomp.c (init_dfa): Use just ASCII case comparison
20789         for codeset name.
20790         * lib/regex_internal.h: Do not include <strings.h>, since we
20791         no longer use strcasecmp.
20792         * modules/regex (Depends-on): Remove strcase.
20794 2012-06-23  Bruno Haible  <bruno@clisp.org>
20796         getopt-posix: No longer guarantee that option processing is resettable.
20797         * doc/posix-functions/getopt.texi: Drop description of problem with
20798         internal state. Fix info about mingw and msvc9.
20799         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't require a resettable
20800         option processing by getopt(). Run three test programs instead of one.
20801         Simplify cross-compilation guess.
20802         * NEWS: Mention the change.
20803         Reported by Rich Felker <dalias@aerifal.cx>.
20805 2012-06-26  Bruno Haible  <bruno@clisp.org>
20807         argp, regex: Ensure strcasecmp gets declared.
20808         * lib/argp-help.c: Include <strings.h>.
20809         * lib/regex_internal.h: Likewise.
20810         Reported and suggested by Joachim Schmitz <jojo@schmitz-digital.de>.
20812 2012-06-24  Bruno Haible  <bruno@clisp.org>
20814         ptsname_r: Make it consistent with ptsname on AIX.
20815         * lib/ptsname_r.c (__ptsname_r): For AIX, use nearly the same
20816         implementation as for OSF/1.
20817         * tests/test-ptsname_r.c (main) [AIX]: Use the modern way of opening
20818         a pty master.
20820         ptsname_r: Make it consistent with ptsname on OSF/1.
20821         * lib/ptsname_r.c (__ptsname_r): Add a different implementation for
20822         OSF/1.
20824 2012-06-24  Bruno Haible  <bruno@clisp.org>
20826         ttyname_r: Fix result on OSF/1, Solaris.
20827         * lib/ttyname_r.c (ttyname_r): Produce a NUL-terminated result.
20829 2012-06-24  Bruno Haible  <bruno@clisp.org>
20831         ptsname_r: Add support for Solaris.
20832         * lib/ptsname_r.c (__ptsname_r): Add a different implementation for
20833         Solaris.
20835         ptsname_r: Fix test failure on native Windows.
20836         * modules/ptsname_r (Depends-on): Add isatty.
20838         ptsname_r: Fix test failures on IRIX, Solaris.
20839         * m4/ptsname_r.m4 (gl_PREREQ_PTSNAME_R): Test whether isatty sets
20840         errno when it fails. Define ISATTY_FAILS_WITHOUT_SETTING_ERRNO
20841         accordingly.
20842         * lib/ptsname_r.c: Include <fcntl.h>.
20843         (__ptsname_r): When isatty returned false, then on IRIX, Solaris
20844         set errno if fd is invalid.
20845         * tests/test-isatty.c (main): Update comments.
20847 2012-06-24  Bruno Haible  <bruno@clisp.org>
20849         ptsname test: Extend test.
20850         * tests/test-ptsname.c: Include <errno.h>.
20851         (main): Test behaviour with invalid file descriptor.
20853 2012-06-23  Paul Eggert  <eggert@cs.ucla.edu>
20855         time: fix obsolete comment
20856         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Remove obsolete
20857         reference to HAVE_STRUCT_TIMESPEC in comment.
20859 2012-06-23  Bruno Haible  <bruno@clisp.org>
20861         getopt-gnu: Handle suboptimal getopt_long's abbreviation handling.
20862         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): If getopt_long exists but
20863         does not handle abbreviated long options with equivalent
20864         disambiguations, set gl_replace_getopt to yes.
20865         * doc/posix-functions/getopt.texi: Mention the OpenBSD 5.0 problem.
20867 2012-06-22  Paul Eggert  <eggert@cs.ucla.edu>
20869         time_r: fix typo that always overrode localtime_r decl
20870         * m4/time_r.m4 (gl_TIME_R): Use AC_CHECK_DECLS, not
20871         AC_CHECK_DECLS_ONCE, since localtime_r is declared in <time.h>,
20872         not in a standard include.
20874 2012-06-22  Bruno Haible  <bruno@clisp.org>
20876         Write "Mac OS X" instead of "MacOS X".
20877         * README: Write "Mac OS X" instead of "MacOS X".
20878         * build-aux/bootstrap: Likewise.
20879         * build-aux/install-reloc: Likewise.
20880         * lib/acl-internal.h: Likewise.
20881         * lib/acl_entries.c: Likewise.
20882         * lib/argp-ba.c: Likewise.
20883         * lib/argp-pv.c: Likewise.
20884         * lib/config.charset: Likewise.
20885         * lib/copy-acl.c: Likewise.
20886         * lib/csharpexec.c: Likewise.
20887         * lib/euidaccess.c: Likewise.
20888         * lib/fbufmode.c: Likewise.
20889         * lib/fflush.c: Likewise.
20890         * lib/file-has-acl.c: Likewise.
20891         * lib/filemode.h: Likewise.
20892         * lib/fpurge.c: Likewise.
20893         * lib/freadable.c: Likewise.
20894         * lib/freadahead.c: Likewise.
20895         * lib/freading.c: Likewise.
20896         * lib/freadptr.c: Likewise.
20897         * lib/freadseek.c: Likewise.
20898         * lib/fseeko.c: Likewise.
20899         * lib/fseterr.c: Likewise.
20900         * lib/fsusage.c: Likewise.
20901         * lib/fwritable.c: Likewise.
20902         * lib/fwriting.c: Likewise.
20903         * lib/get-rusage-as.c: Likewise.
20904         * lib/get-rusage-data.c: Likewise.
20905         * lib/getdomainname.c: Likewise.
20906         * lib/idpriv-drop.c: Likewise.
20907         * lib/idpriv-droptemp.c: Likewise.
20908         * lib/localcharset.c: Likewise.
20909         * lib/locale.in.h: Likewise.
20910         * lib/localename.c: Likewise.
20911         * lib/mbsrtowcs-state.c: Likewise.
20912         * lib/nproc.c: Likewise.
20913         * lib/passfd.c: Likewise.
20914         * lib/posix_openpt.c: Likewise.
20915         * lib/printf-parse.c: Likewise.
20916         * lib/progreloc.c: Likewise.
20917         * lib/safe-read.h: Likewise.
20918         * lib/safe-write.h: Likewise.
20919         * lib/sched.in.h: Likewise.
20920         * lib/set-mode-acl.c: Likewise.
20921         * lib/signal.in.h: Likewise.
20922         * lib/stdint.in.h: Likewise.
20923         * lib/stdio-impl.h: Likewise.
20924         * lib/stdlib.in.h: Likewise.
20925         * lib/strtod.c: Likewise.
20926         * lib/sys_select.in.h: Likewise.
20927         * lib/tcgetsid.c: Likewise.
20928         * lib/unistd.in.h: Likewise.
20929         * lib/unlockpt.c: Likewise.
20930         * lib/vasnprintf.c: Likewise.
20931         * lib/vma-iter.c: Likewise.
20932         * lib/wcsrtombs-state.c: Likewise.
20933         * m4/acl.m4: Likewise.
20934         * m4/acosl.m4: Likewise.
20935         * m4/asinl.m4: Likewise.
20936         * m4/atanl.m4: Likewise.
20937         * m4/c-stack.m4: Likewise.
20938         * m4/cosl.m4: Likewise.
20939         * m4/expl.m4: Likewise.
20940         * m4/extensions.m4: Likewise.
20941         * m4/fdatasync.m4: Likewise.
20942         * m4/fmal.m4: Likewise.
20943         * m4/frexp.m4: Likewise.
20944         * m4/frexpf.m4: Likewise.
20945         * m4/frexpl.m4: Likewise.
20946         * m4/fsusage.m4: Likewise.
20947         * m4/getdomainname.m4: Likewise.
20948         * m4/getloadavg.m4: Likewise.
20949         * m4/getopt.m4: Likewise.
20950         * m4/gettext.m4: Likewise.
20951         * m4/gnulib-common.m4: Likewise.
20952         * m4/intdiv0.m4: Likewise.
20953         * m4/intlmacosx.m4: Likewise.
20954         * m4/largefile.m4: Likewise.
20955         * m4/ldexpl.m4: Likewise.
20956         * m4/link-follow.m4: Likewise.
20957         * m4/locale-ar.m4: Likewise.
20958         * m4/locale-fr.m4: Likewise.
20959         * m4/locale-ja.m4: Likewise.
20960         * m4/locale-tr.m4: Likewise.
20961         * m4/locale-zh.m4: Likewise.
20962         * m4/locale_h.m4: Likewise.
20963         * m4/lock.m4: Likewise.
20964         * m4/logl.m4: Likewise.
20965         * m4/mathfunc.m4: Likewise.
20966         * m4/minus-zero.m4: Likewise.
20967         * m4/mktime.m4: Likewise.
20968         * m4/mmap-anon.m4: Likewise.
20969         * m4/multiarch.m4: Likewise.
20970         * m4/nanosleep.m4: Likewise.
20971         * m4/nocrash.m4: Likewise.
20972         * m4/poll.m4: Likewise.
20973         * m4/printf-frexpl.m4: Likewise.
20974         * m4/printf.m4: Likewise.
20975         * m4/signbit.m4: Likewise.
20976         * m4/sinl.m4: Likewise.
20977         * m4/sqrtl.m4: Likewise.
20978         * m4/strerror_r.m4: Likewise.
20979         * m4/tanl.m4: Likewise.
20980         * m4/threadlib.m4: Likewise.
20981         * m4/ttyname_r.m4: Likewise.
20982         * m4/unlink.m4: Likewise.
20983         * m4/visibility.m4: Likewise.
20984         * m4/wcwidth.m4: Likewise.
20985         * tests/minus-zero.h: Likewise.
20986         * tests/test-alloca-opt.c: Likewise.
20987         * tests/test-copy-acl.sh: Likewise.
20988         * tests/test-copy-file.sh: Likewise.
20989         * tests/test-fdatasync.c: Likewise.
20990         * tests/test-file-has-acl.sh: Likewise.
20991         * tests/test-flock.c: Likewise.
20992         * tests/test-fsync.c: Likewise.
20993         * tests/test-localename.c: Likewise.
20994         * tests/test-malloca.c: Likewise.
20995         * tests/test-nonblocking-pipe.h: Likewise.
20996         * tests/test-nonblocking-socket.h: Likewise.
20997         * tests/test-openpty.c: Likewise.
20998         * tests/test-posix_openpt.c: Likewise.
20999         * tests/test-ptsname.c: Likewise.
21000         * tests/test-ptsname_r.c: Likewise.
21001         * tests/test-sameacls.c: Likewise.
21002         * tests/test-select.h: Likewise.
21003         * tests/test-set-mode-acl.sh: Likewise.
21004         * tests/test-snprintf-posix.h: Likewise.
21005         * tests/test-sprintf-posix.h: Likewise.
21006         * tests/test-strtod.c: Likewise.
21007         * tests/test-time.c: Likewise.
21008         * tests/test-vasnprintf-posix.c: Likewise.
21009         * tests/test-vasprintf-posix.c: Likewise.
21010         * doc/acl-resources.txt: Likewise.
21011         * doc/**/*.texi: Likewise.
21012         Reported by Max Horn <max@quendi.de>.
21014 2012-06-22  Bruno Haible  <bruno@clisp.org>
21016         grantpt: Relax requirement regarding invalid file descriptors.
21017         * lib/grantpt.c: Don't include <fcntl.h>.
21018         (grantpt): Don't verify the validity of the file descriptor.
21019         * modules/grantpt (Depends-on): Remove fcntl-h.
21020         * tests/test-grantpt.c (main): Allow grantpt to succeed for invalid
21021         file descriptors.
21022         * doc/posix-functions/grantpt.texi: Document more platforms on which
21023         grantpt succeeds for invalid file descriptors.
21024         Reported by Rich Felker <dalias@aerifal.cx>.
21026 2012-06-22  Bruno Haible  <bruno@clisp.org>
21028         fbufmode test: Don't test unportable behaviour.
21029         * tests/test-fbufmode.c (test_mode): New function, extracted from main.
21030         (main): Invoke it three times.
21031         Reported by Szabolcs Nagy <nsz@port70.net>
21032         and Rich Felker <dalias@aerifal.cx>.
21034 2012-06-21  Bruno Haible  <bruno@clisp.org>
21036         gnulib-tool: Refactor inctests variable.
21037         * gnulib-tool: Normalize inctests to 'true' or 'false', not ''.
21038         (func_modules_transitive_closure,
21039         func_modules_transitive_closure_separately,
21040         func_import, func_create_testdir): Update.
21042         gnulib-tool: --create-[mega]testdir, --[mega]test implies --with-tests.
21043         * gnulib-tool: Accept option --without-tests.
21044         (func_usage): Document --without-tests option. Rearrange.
21045         (inctests): Normalize according to the mode.
21046         * NEWS: Mention the change.
21047         Suggested by Simon Josefsson.
21049 2012-06-21  Bruce Korb  <bkorb@gnu.org>
21051         parse-duration test: Avoid spurious output.
21052         * tests/test-parse-duration.sh: Reindent with leading tabs.
21054 2012-06-21  Jim Meyering  <meyering@redhat.com>
21056         maint: disable the strncpy prohibition
21057         * cfg.mk: Do not prohibit strncpy here.
21059 2012-06-21  Bruno Haible  <bruno@clisp.org>
21061         nonblocking: Avoid compilation error on mingw64.
21062         * m4/stdio_h.m4 (gl_STDIO_H): Invoke gl_MODULE_INDICATOR for scanf,
21063         fscanf.
21064         * modules/vscanf (configure.ac): Invoke gl_MODULE_INDICATOR.
21065         * modules/vfscanf (configure.ac): Likewise.
21066         * lib/stdio-read.c (scanf, fscanf, vscanf, vfscanf): Enable function
21067         definition only if stdio.h has prepared it.
21068         Reported by Daniel P. Berrange <berrange@redhat.com>.
21070 2012-06-20  Bernd Jendrissek  <bernd.jendrissek@gmail.com>  (tiny change)
21072         gnulib-tool: Use readlink if it is available.
21073         * gnulib-tool (func_readlink): Choose function more appropriately.
21075 2012-06-21  Paul Eggert  <eggert@cs.ucla.edu>
21077         posixtm-tests: port to buggy compiler
21078         Problem reported by Simon Josefsson in
21079         <http://lists.gnu.org/r/bug-gnulib/2012-06/msg00246.html>.
21080         * modules/posixtm-tests (Depends-on): Add stdint.
21081         * tests/test-posixtm.c (struct posixtm_test.t_expected):
21082         Now of type int_least64_t, not int64_t, both because that's
21083         what INT64_C returns and because int_least64_t works even
21084         on 72-bit hosts.
21085         (T): Use INT64_C on constants outside the traditional int range,
21086         to work around compiler bug noted by Simon.
21088         mktime: fix integer overflow in 'configure'-time test
21089         * m4/mktime.m4 (gl_FUNC_MKTIME): Do not rely on undefined behavior
21090         after integer overflow.  Problem reported by Rich Felker in
21091         <http://lists.gnu.org/r/bug-gnulib/2012-06/msg00257.html>.
21092         Also, don't look for further instances of a bug if we've already
21093         found one instance; this helps 'configure' run faster.
21095 2012-06-20  John Darrington  <john@darrington.wattle.id.au>  (tiny change)
21097         tmpfile, clean-temp: Fix invocation of GetVersionEx.
21098         * lib/tmpfile.c (supports_delete_on_close): Initialize parameter for
21099         GetVersionEx correctly.
21100         * lib/clean-temp.c (supports_delete_on_close): Likewise.
21102 2012-06-20  Bruno Haible  <bruno@clisp.org>
21104         fdopen: Allow implementations that don't reject invalid fd arguments.
21105         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Let the test pass if fdopen(-1,...)
21106         succeeds.
21107         Reported by Rich Felker <dalias@aerifal.cx>.
21109 2012-06-20  Simon Josefsson  <simon@josefsson.org>
21111         * modules/parse-duration-tests (test_parse_duration_LDADD): Don't
21112         bring in LIBINTL.
21114 2012-06-20  Paul Eggert  <eggert@cs.ucla.edu>
21116         init.sh: do not rely on autoupated PWD
21117         This addresses symptoms of the problem reported by Nelson H.F. Beebe in
21118         <http://lists.gnu.org/r/bug-gzip/2012-06/msg00008.html>.
21119         Although Nelson's bug was not necessarily fixed by this patch,
21120         it seems wise to make the change for safety.
21121         * tests/init.sh (path_prepend_): Do not rely on PWD updating
21122         automagically after 'cd'; this is not reliable on older shells.
21123         (setup_): Fail if we cannot cd to temporary directory.
21125 2012-06-19  Bruno Haible  <bruno@clisp.org>
21127         stat, fstat: Avoid warnings on mingw64.
21128         * lib/stat.c (stat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Undefine before
21129         redefining.
21130         * lib/fstat.c (stat, fstat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Likewise.
21131         Reported by Daniel P. Berrange <berrange@redhat.com>.
21133 2012-06-19  Bruno Haible  <bruno@clisp.org>
21135         stdioext: Add support for musl libc.
21137         * m4/fbufmode.m4 (gl_FUNC_FBUFMODE): Test whether __fbufsize exists.
21138         * lib/fbufmode.c (fbufmode): Add conditional code for musl.
21140         * m4/fseterr.m4: New file.
21141         * lib/fseterr.h (fseterr): Define as an alias of __fseterr if that
21142         function exists.
21143         * modules/fseterr (Files): Add m4/fseterr.m4.
21144         (configure.ac): Invoke gl_FUNC_FSETERR. Compile fseterr.c if
21145         __fseterr does not exist.
21146         (Makefile.am): Remove fseterr.c from lib_SOURCES.
21148         * lib/freadable.h: Update comment.
21150         * lib/fwritable.h: Update comment.
21152         * lib/freading.h: Update comment.
21154         * lib/fwriting.h: Update comment.
21156         * m4/freadahead.m4: New file.
21157         * lib/freadahead.h (freadahead): Define as an alias of __freadahead if
21158         that function exists.
21159         * modules/freadahead (Files): Add m4/freadahead.m4.
21160         (configure.ac): Invoke gl_FUNC_FREADAHEAD. Compile freadahead.c if
21161         __freadahead does not exist.
21162         (Makefile.am): Remove freadahead.c from lib_SOURCES.
21164         * m4/freadptr.m4: New file.
21165         * lib/freadptr.h (freadptr): Define as an alias of __freadptr if that
21166         function exists.
21167         * modules/freadptr (Files): Add m4/freadptr.m4.
21168         (configure.ac): Invoke gl_FUNC_FREADPTR. Compile freadptr.c if
21169         __freadptr does not exist.
21170         (Makefile.am): Remove freadptr.c from lib_SOURCES.
21172         * m4/freadseek.m4: New file.
21173         * lib/freadseek.c (freadptrinc): Use __freadptrinc if that function
21174         exists.
21175         * modules/freadseek (Files): Add m4/freadseek.m4.
21176         (configure.ac): Invoke gl_FUNC_FREADSEEK.
21178         * lib/fpurge.c (fpurge): Update comment.
21180         Reported by and with help from Rich Felker <dalias@aerifal.cx>.
21182 2012-06-19  Bruno Haible  <bruno@clisp.org>
21184         *printf-posix: Put more info into config.log.
21185         * m4/printf.m4 (gl_PRINTF_ENOMEM): Emit conftest's error output and
21186         exit code into config.log.
21188 2012-06-19  Bruno Haible  <bruno@clisp.org>
21190         getopt-gnu: Fix exit code overflow in autoconf test.
21191         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Squash exit code values,
21192         to keep them below < 128.
21194 2012-06-17  Jim Meyering  <meyering@redhat.com>
21196         maint.mk: fix typo in code to derive GPG key at release time
21197         * top/maint.mk (gpg_key_ID): Fix typo: $3 -> $$3
21199 2012-06-17  Paul Eggert  <eggert@cs.ucla.edu>
21201         regex: avoid warning when pointers are not long
21202         * lib/regcomp.c (parse_dup_op, mark_opt_subexp): Cast between void *
21203         and uintptr_t, not long, for portability to hosts where pointers and
21204         long have different sizes.  Issue noted by Daniel P. Berrange in
21205         <http://lists.gnu.org/r/bug-gnulib/2012-06/msg00122.html>
21206         and fix suggested by Bruno Haible in
21207         <http://lists.gnu.org/r/bug-gnulib/2012-06/msg00128.html>.
21209 2012-06-17  Bruno Haible  <bruno@clisp.org>
21211         dummy: Relicense into the public domain.
21212         * modules/dummy (License): Set to "public domain".
21213         Suggested by Reuben Thomas.
21215 2012-06-12  Akim Demaille  <akim@lrde.epita.fr>
21217         announce-gen: VPATH issues
21218         * build-aux/announce-gen (--srcdir): New option, used to trim the
21219         $srcdir part of the path from $builddir to NEWS.
21220         * top/maint.mk (announcement): Adjust.
21222 2012-06-12  Akim Demaille  <akim@lrde.epita.fr>
21224         gnu-web-doc-update: VPATH builds
21225         * build-aux/gnu-web-doc-update (--builddir): New option.
21226         Revamp the handling of options.
21227         Prefer $(...) to `...`.
21228         Don't pass --tmpdir=. to mktemp, it is useless given that we specify
21229         the template, and it is GNU mktemp specific.
21230         Prefer set -e to long series of &&.
21231         Restore the initial git branch, not "master".
21232         Properly initialize submodules (don't rely only on bootstrap).
21233         Do not reconfigure blindly, use config.status.
21234         * top/README-release: Update instructions for gnu-web-doc-update.
21236 2012-06-11  Jim Meyering  <meyering@redhat.com>
21238         maint.mk: revert most of the previous change re "all these"
21239         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Remove that pair.
21240         For rationale, see the discussion at
21241         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30912
21243 2012-06-10  Karl Berry  <karl@gnu.org>
21245         * build-aux/gnupload: with --dry-run, do not ask for gpg pw.
21247         * build-aux/gnupload: implement --replace, ftp-upload protocol v1.2.
21249 2012-06-10  Bruce Korb  <bkorb@gnu.org>
21251         parse-duration: Relicense under LGPLv2+.
21252         * modules/parse-duration (License): Change to LGPLv2+.
21254 2012-06-10  Jim Meyering  <meyering@redhat.com>
21256         maint.mk: prohibit common grammar error: "all these"
21257         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Add "all these" to
21258         the list of prohibited word sequences.  It should be "all of these".
21259         * lib/tempname.c (__gen_tempname): Fix one of them.
21261 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
21263         do-release-commit-and-tag: support VPATH builds
21264         * build-aux/do-release-commit-and-tag: Prefer $(...) to `...`.
21265         (noteworthy): Defined earlier to factor its value.
21266         (noteworthy_stub): New.
21267         Use it to factor.
21268         (help_version): Split into...
21269         (help, version): these.
21270         Adjust the option processing part.
21271         Support "--option=value" in addition to "--option value".
21272         (builddir): New.
21273         (--builddir): New option.
21274         * top/README-release: Document this.
21275         Reword slightly so that the reader cannot understand that he
21276         has to do these steps before calling do-release-commit-and-tag.
21278 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
21280         readme-release: also require announce-gen and maintainer-makefile
21281         * modules/readme-release (Depends-on): here.
21282         * modules/announce-gen, modules/do-release-commit-and-tag,
21283         modules/gnu-web-doc-update, modules/maintainer-makefile
21284         (Description): Point to readme-release.
21286 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
21288         maint.mk: fix VPATH issues.
21289         * top/maint.mk (news-check): GNU Make understand $< very well.
21290         (release-prep): NEWS is in $(srcdir).
21292 2012-06-05  Akim Demaille  <akim@lrde.epita.fr>
21294         readme-release: require the promoted modules.
21295         * modules/readme-release (Depends-on): Add
21296         do-release-commit-and-tag, gnupload, and gnu-web-doc-update, used
21297         in this text.
21299 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
21300             Bruno Haible  <bruno@clisp.org>
21302         error, strerror-override: Support mingw64 from Fedora 17.
21303         * lib/errno.in.h (GNULIB_defined_ESTREAMS): Use a different indicator
21304         for ETXTBSY, ENODATA, ENOSR, ENOSTR, ETIME, EOTHER, compared to
21305         EINPROGRESS.
21306         * lib/strerror-override.h (strerror_override): Test it.
21307         * lib/strerror-override.c (strerror_override): Likewise.
21308         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also ETXTBSY.
21310 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
21311             Bruno Haible  <bruno@clisp.org>
21313         error, strerror-override: Support mingw64 from Fedora 17.
21314         * lib/errno.in.h (GNULIB_defined_ENOTRECOVERABLE): Use a different
21315         indicator for ENOTRECOVERABLE, compared to EOWNERDEAD.
21316         * lib/strerror-override.h (strerror_override): Test it.
21317         * lib/strerror-override.c (strerror_override): Likewise.
21319 2012-06-03  Bruno Haible  <bruno@clisp.org>
21321         error, strerror-override: Support new errno values from POSIX:2008.
21322         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also EOWNERDEAD and
21323         ENOTRECOVERABLE.
21324         * lib/errno.in.h (EOWNERDEAD, ENOTRECOVERABLE): Define on all
21325         platforms.
21326         * lib/strerror-override.c (strerror_override): Conditionalize the
21327         EOWNERDEAD, ENOTRECOVERABLE handling on GNULIB_defined_EOWNERDEAD.
21328         * lib/strerror-override.h (strerror_override): Declare also if
21329         GNULIB_defined_EOWNERDEAD is defined.
21330         * tests/test-errno.c (e130, e131): New variables.
21331         * doc/posix-headers/errno.texi: Mention the status for EOWNERDEAD,
21332         ENOTRECOVERABLE.
21333         Reported by Paolo Bonzini.
21335 2012-05-31  Jim Meyering  <meyering@redhat.com>
21337         savewd: add missing dependency on sys_wait module
21338         * modules/savewd (Depends-on): Add sys_wait, needed at least
21339         for MSVC.  Report and suggested change by Michael Goffioul.
21341 2012-05-29  Paul Eggert  <eggert@cs.ucla.edu>
21343         system-quote-tests: port to CentOS 5
21344         Problem reported by Tom G. Christensen in
21345         <http://lists.gnu.org/r/bug-gnulib/2012-05/msg00255.html>.
21346         * tests/test-system-quote-child.c (fclose, fprintf): Undef.
21348 2012-05-29  Jim Meyering  <meyering@redhat.com>
21350         maint: fix typos in comments and ChangeLog
21351         Culprits identified and fixed mostly automatically using these commands:
21352         git ls-files | misspellings -f - |grep -v '^ERROR:' |perl -pe \
21353         's/^(.*?)\[(\d+)\]: (\w+) -> "(.*?)"$/sed -i '\''${2}s!$3!$4!'\'' $1/'
21354         using http://github.com/lyda/misspell-check
21355         * ChangeLog: Fix typos.
21356         * doc/solaris-versions: Likewise.
21357         * lib/regexec.c (re_search_stub): Likewise.
21358         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
21360 2012-05-27  Paul Eggert  <eggert@cs.ucla.edu>
21362         manywarnings: remove duplicate -Wmultichar entry
21363         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Remove duplicate
21364         entry for -Wmultichar.  -Wno-multichar is in the GCC 4.7.0 manual,
21365         so keep the entry marked as documented.
21367 2012-05-27  Karl Berry  <karl@gnu.org>
21369         * config/srclist.txt (mktime.c): remove last libc sync,
21370         perhaps just temporarily.
21372 2012-05-26  Paul Eggert  <eggert@cs.ucla.edu>
21374         regex: don't assume uint64_t or uint32_t
21375         * lib/regcomp.c (init_word_char): Don't assume that the types
21376         uint64_t and uint32_t exist.  The C standard doesn't guarantee
21377         them, and on some 32-bit compilers there is no uint64_t.
21378         Problem reported by Gianluigi Tiesi in
21379         <http://lists.gnu.org/r/bug-gnulib/2012-03/msg00154.html>.
21381 2012-05-25  Jim Meyering  <meyering@redhat.com>
21383         maint.mk: add strncpy-prohibiting syntax-check rule
21384         * top/maint.mk (sc_prohibit_strncpy): New rule, from coreutils.
21386 2012-05-24  Jim Meyering  <meyering@redhat.com>
21388         maint.mk: compute $(gpg_key_ID) more portably
21389         * top/maint.mk (gpg_key_ID): Use awk in place of sed '{...;...;}'.
21390         That use of sed is not portable to some fringe systems.
21391         Reported by Paul Eggert in
21392         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30793/focus=30802
21394 2012-05-23  Paul Eggert  <eggert@cs.ucla.edu>
21396         mktime: sync from glibc
21397         * config/srclist.txt: Uncomment mktime.c.
21398         * lib/mktime.c: Sync from glibc master.  This incorporates 3 changes.
21399         First, indent with tabs, since glibc uses tabs and doesn't want to
21400         change and we'd rather be identical to glibc.  Also, two small
21401         coding changes:
21402         (isdst_differ): Use &&, not &, as && is the usual style.
21403         (__mktime_internal): Rename local var from abs_diff to approx_abs_diff
21404         for clarity.
21406 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
21408         announce-gen: du -h is more portable than du --human
21409         * build-aux/announce-gen (sizes): Invoke du with -h instead
21410         of --human.  Accept leading white space in its output.
21412 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
21414         announce-gen: Improve diagnostics.
21415         * build-aux/announce-gen: When parsing command line options,
21416         prefer "announce-gen: option --release-type requires an argument"
21417         to "Option release-type requires an argument".
21419 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
21421         maint.mk: gpg_key_ID: use sed more portably
21422         * top/maint.mk (gpg_key_ID): End sed block with a semicolon before
21423         the closing brace.
21424         (refresh-po): Fuse two sed invocations into one.
21426 2012-05-15  Akim Demaille  <akim@lrde.epita.fr>
21428         gitlog-to-changelog: support the log message format used in Bison.
21429         * build-aux/gitlog-to-changelog: Support --strip-tab and
21430         --strip-cherry-picked.
21432 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
21434         poll/select: prevent busy-waiting.  SwitchToThread() only gives away
21435         the rest of the current time slice to another thread in the current
21436         process. So if the thread that feeds the file decscriptor we're
21437         polling is not in the current process, we get busy-waiting.
21438         * lib/poll.c: Use SleepEx(1, TRUE) instead of SwitchToThread().
21439         Patch from Theodore Leblond.
21440         * lib/select.c: Split polling out of the loop that sets the output
21441         fd_sets.  Check for zero result and loop if the wait timeout is
21442         infinite.
21444 2012-05-21  Simon Josefsson  <simon@josefsson.org>
21446         select: Fix build error on IRIX 6.5.
21447         * lib/select.c: Include stddef.h for NULL.
21449 2012-05-21  Simon Josefsson  <simon@josefsson.org>
21451         gc: fix libgcrypt detection on older machines.
21452         * m4/gc.m4: Reject libgcrypt earlier than 1.4.4.  Collapse
21453         copyright years because the file has been distributed every year
21454         since it was created.
21456 2012-05-18  Paul Eggert  <eggert@cs.ucla.edu>
21458         crypto: fix bug in large buffer handling
21459         Problem reported by Serge Belyshev for glibc in
21460         <http://sourceware.org/bugzilla/show_bug.cgi?id=14090> and for gnulib in
21461         <http://lists.gnu.org/r/bug-gnulib/2012-05/msg00226.html>.
21462         * lib/md4.c (md4_process_block):
21463         * lib/md5.c (md5_process_block):
21464         * lib/sha1.c (sha1_process_block):
21465         * lib/sha256.c (sha256_process_block):
21466         Don't assume the buffer length is less than 2**32.
21467         * lib/sha512.c (sha512_process_block): Likewise.
21468         Here, the bug is present only in the rare case where the host does
21469         not support uint64_t or where size_t is wider than 64 bits.
21470         Use u64size to work around the problems.
21471         * lib/u64.h (u64size): New macro.
21473 2012-05-15  Pádraig Brady  <P@draigBrady.com>
21475         fsusage: fix block size returned on older Linux 2.6
21477         * lib/fsusage.c: Fall back to (struct statfs).f_frsize
21478         which is available since Linux 2.6.
21479         * m4/fsusage.m4 (STAT_STATFS2_FRSIZE): Always define
21480         when the member is available so it can be used as a fallback.
21481         * doc/posix-functions/statvfs.texi: Mention the hang issue
21482         on Linux < 2.6.36.
21484 2012-05-14  Paul Eggert  <eggert@cs.ucla.edu>
21486         bootstrap: suppress stderr chatter
21487         * build-aux/bootstrap (insert_sorted_if_absent, main program):
21488         Omit unnecessary chatter to stderr.  The main program chatter
21489         was there only inadvertantly.
21491         bootstrap: .gitignore files created by autopoint, libtool
21492         I ran into this problem when bootstrapping the latest diffutils.
21493         After './bootstrap', 'git status' reported lots of untracked files
21494         m4/codeset.m4, m4/gettext.m4, etc.  These files were created by
21495         autopoint and do not need to be version-controlled.
21496         * build-aux/bootstrap: Put into .gitignore the files that
21497         autopoint and libtool create, by keeping track of files that exist
21498         after but not before these programs are run.
21499         (version_controlled_file): Move up.  2nd arg is now full file
21500         name, not base name; this is more convenient.  Put CVS at the end,
21501         as it's now somewhat deprecated.
21503 2012-05-14  Jim Meyering  <meyering@redhat.com>
21505         ignore-value.h: remove unused _GL_ATTRIBUTE_DEPRECATED definition
21506         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Remove now-unused
21507         definition.  Reported by Bruno Haible.
21509 2012-05-13  Bruno Haible  <bruno@clisp.org>
21510             Paul Eggert  <eggert@cs.ucla.edu>
21512         binary-io: Define set_binary_mode function.
21513         * lib/binary-io.h (set_binary_mode): New function.
21514         (SET_BINARY): Define in terms of set_binary_mode.
21515         * modules/binary-io (configure.ac): Require AC_C_INLINE.
21516         * tests/test-binary-io.c (main): Accept an argument, and test either
21517         set_binary_mode or SET_BINARY depending on the argument.
21518         * tests/test-binary-io.sh: Invoke test-binary-io twice, with an
21519         argument. Clean up also t-bin-out0.tmp.
21521 2012-05-13  Stefano Lattarini  <stefano.lattarini@gmail.com>
21523         bootstrap: take advantage of POSIX shell features
21525         The 'bootstrap' script offered by Gnulib script already uses POSIX
21526         shell features (like $((...)) arithmetic expansions) that are not
21527         supported by legacy Bourne shells like Solaris 10 /bin/sh.  This
21528         means that bootstrap must already be run using a proper POSIX shell,
21529         which will thus provide more features, like ${var#pattern} parameter
21530         expansion or inversion of a command exit status with '!'.  We can
21531         thus use these features to improve the clarity and the performances
21532         of the bootstrap script.
21534         Suggested by Eric Blake.
21536         * build-aux/bootstrap: Prefer xpg4 parameter expansions over use
21537         of sed/expr plus command substitutions, to save some forks.  While
21538         we are at it, prefer the POSIX $(...) form of command substitution,
21539         rather than the legacy form `...` (since the former is visually
21540         clearer and interacts better with quoting), and prefer the idiom:
21541           "if ! CMD; then ACTION ..."
21542         over the idiom:
21543           "if CMD; then :; else ACTION ..."
21544         which was required by legacy Bourne shells not supporting '!'.
21546 2012-05-12  Bruno Haible  <bruno@clisp.org>
21548         system-quote: Add more comments.
21549         * lib/system-quote.h: Add more comments about wilcards and limitations.
21550         Suggested by Eli Zaretskii <eliz@gnu.org>.
21552         sh-quote, system-quote: Add comments about wildcards.
21553         * lib/sh-quote.h: Clarify what happens with wildcard characters.
21554         * lib/system-quote.h: Likewise.
21555         Reported by Eli Zaretskii <eliz@gnu.org>.
21557 2012-05-11  Paul Eggert  <eggert@cs.ucla.edu>
21559         fsusage: check for GNU/Linux statvfs problem dynamically
21560         * lib/fsusage.c [STAT_STATVFS && __linux__ && (__GLIBC__||__UCLIBC__)]:
21561         Define STAT_STATFS2_BSIZE too, since in this case the code now
21562         checks dynamically whether statvfs is reliable, falling back on
21563         Linux-style statfs otherwise.
21564         (statvfs_works): New function, for dynamically testing statvfs.
21565         (get_fs_usage) [STAT_STATVFS]: Use it.
21566         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Remove static check for
21567         statvfs on GNU/Linux hosts, since it's now done dynamically.
21569 2012-05-10  Bruno Haible  <bruno@clisp.org>
21571         system-quote, execute, spawn-pipe: Escape '?' on Windows.
21572         * lib/system-quote.c (SHELL_SPECIAL_CHARS, CMD_SPECIAL_CHARS): Add the
21573         '?' character.
21574         * lib/w32spawn.h (SHELL_SPECIAL_CHARS): Likewise.
21575         * tests/test-system-quote-main.c (check_all): Check also strings like
21576         "??????????".
21577         Reported by Eli Zaretskii <eliz@gnu.org>.
21579 2012-05-10  Paul Eggert  <eggert@cs.ucla.edu>
21581         _Noreturn: port config.h to gcc -Wundef
21582         * m4/gnulib-common.m4 (gl_COMMON_BODY): Check that __STDC_VERSION__ is
21583         defined before using it, for gcc -Wundef.  Reported by Akim Demaille in
21584         <http://lists.gnu.org/r/bug-gnulib/2012-05/msg00147.html>.
21586 2012-05-10  Bruno Haible  <bruno@clisp.org>
21588         system-quote: Refactor.
21589         * lib/system-quote.h (system_quote_copy): Fix comment.
21590         * lib/system-quote.c (windows_createprocess_quote, windows_cmd_quote):
21591         New functions, extracted from system_quote_copy.
21592         (system_quote_length, system_quote_copy): Use these functions.
21593         Reported by Paul Eggert.
21595 2012-05-08  Bruno Haible  <bruno@clisp.org>
21597         execute, spawn-pipe: Escape '*' characters in arguments on Windows.
21598         * lib/w32spawn.h (SHELL_SPECIAL_CHARS): Add the '*' character.
21600 2012-05-08  Bruno Haible  <bruno@clisp.org>
21602         Tests for module 'system-quote'.
21603         * modules/system-quote-tests: New file.
21604         * tests/test-system-quote.sh: New file.
21605         * tests/test-system-quote-main.c: New file.
21606         * tests/test-system-quote-child.c: New file.
21608         New module 'system-quote'.
21609         * lib/system-quote.h: New file.
21610         * lib/system-quote.c: New file.
21611         * modules/system-quote: New file.
21613 2012-05-08  Bruno Haible  <bruno@clisp.org>
21615         sh-quote: Make C++ safe and allow multiple inclusion.
21616         * lib/sh-quote.h: Add double-inclusion guard. For C++, wrap function
21617         declarations in extern "C".
21619 2012-05-08  Bruno Haible  <bruno@clisp.org>
21621         sh-quote tests: Make tests stricter.
21622         * tests/test-sh-quote.c (check_one): Check the return value of
21623         shell_quote_copy.
21624         (main): Check a string with a CR character. Check a string that
21625         contains UCHAR_MAX.
21627 2012-05-08  Akim Demaille  <akim@lrde.epita.fr>
21629         warnings.m4: provide a means to specify the program to compile.
21630         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): New, extracted from...
21631         (gl_WARN_ADD): here.
21632         Use gl_AS_VAR_APPEND.
21633         Support an argument to specify the program to compile.
21634         (gl_WARN_ADD): Accept an argument to specify the program to compile.
21635         AC_SUBST the WARN_CFLAGS when they are used.
21636         * modules/warnings (configure.ac): Don't AC_SUBST WARN_CFLAGS,
21637         leave this to gl_WARN_ADD.
21639 2012-05-08  Eric Blake  <eblake@redhat.com>
21641         doc: recommendations on gettext version
21642         * doc/gnulib-tool.texi (gettextize and autopoint): Document the
21643         choice between versions.
21644         * DEPENDENCIES (gettext): Cover both approaches.
21646 2012-05-08  Jim Meyering  <meyering@redhat.com>
21648         init.sh: explain why EXEEXT support uses aliases rather than functions
21649         * tests/init.sh: Add a comment.
21651         init.sh: don't let bash aliases interfere with tests
21652         * tests/init.sh: Undefine any pre-defined aliases if the selected shell
21653         is bash.  This avoids problems for those who alias standard commands to
21654         non-conforming uses, like those reported in http://bugs.gnu.org/11256.
21655         Suggested by Tim Mooney <Tim.Mooney@ndsu.edu>.
21657 2012-05-07  Paul Eggert  <eggert@cs.ucla.edu>
21659         stdint: be more consistent with glibc, SunOS libc
21660         * lib/stdint.in.h (gl_int_fast8_t, gl_uint_fast8_t)
21661         (gl_int_fast16_t, gl_uint_fast16_t)
21662         (gl_int_fast32_t, gl_uint_fast32_t)
21663         (INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX)
21664         (INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX)
21665         (INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
21666         Be consistent with glibc by default, and with SunOS 5.10 and later
21667         if __sun is defined.  This lessens the likelihood of clashes if
21668         code compiled for older hosts is combined with code compiled for
21669         newer ones.  Problem reported by Niels Möller in
21670         <http://lists.gnu.org/r/bug-gnulib/2012-05/msg00074.html>.
21672 2012-05-07  Eric Blake  <eblake@redhat.com>
21674         isatty: relax license to LGPLv2+
21675         * modules/isatty (License): Relax license.
21677 2012-05-06  Paul Eggert  <eggert@cs.ucla.edu>
21679         stat-size: comment fix
21680         * lib/stat-size.h: Remove obsolete comment about indenting.
21682 2012-05-06  Bruno Haible  <bruno@clisp.org>
21684         Tests for module 'sh-quote'.
21685         * modules/sh-quote-tests: New file.
21686         * tests/test-sh-quote.c: New file.
21688 2012-05-06  Bruno Haible  <bruno@clisp.org>
21690         sh-quote: Improve shell_quote_argv's signature.
21691         * lib/sh-quote.h (shell_quote_argv): Make argument array a 'const *'.
21692         * lib/sh-quote.c (shell_quote_argv): Likewise.
21694 2012-05-06  Paul Eggert  <eggert@cs.ucla.edu>
21696         stdint: document issues with int_fast8_t etc.
21697         * doc/posix-headers/stdint.texi (stdint.h): Say that other
21698         stdint.h substitutes may define these types differently.  See
21699         <http://lists.gnu.org/r/bug-gnulib/2012-05/msg00071.html>.
21701 2012-05-05  Bruno Haible  <bruno@clisp.org>
21703         nanosleep: Avoid guessing wrong when cross-compiling to Linux.
21704         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require AC_CANONICAL_HOST. When
21705         cross-compiling, set gl_cv_func_nanosleep to either 'guessing no'
21706         or 'guessing no (mishandles large arguments)'.
21708 2012-05-05  Bruno Haible  <bruno@clisp.org>
21710         link-follow: Avoid guessing wrong when cross-compiling to glibc/Linux.
21711         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Require
21712         AC_CANONICAL_HOST. When cross-compiling to a glibc/Linux platform,
21713         set gl_cv_func_link_follows_symlink to "guessing no".
21715 2012-05-05  Bruno Haible  <bruno@clisp.org>
21717         tzset: Avoid guessing wrong when cross-compiling to glibc systems.
21718         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require AC_CANONICAL_HOST. When
21719         cross-compiling to a glibc platform, set gl_cv_func_tzset_clobber to
21720         "guessing no".
21721         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Update.
21723 2012-05-05  Bruno Haible  <bruno@clisp.org>
21725         d-ino: Avoid guessing "no" when cross-compiling to glibc/Linux systems.
21726         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Require
21727         AC_CANONICAL_HOST. When cross-compiling to a glibc/Linux platform,
21728         set gl_cv_struct_dirent_d_ino to "guessing yes".
21730 2012-05-05  Bruno Haible  <bruno@clisp.org>
21732         fseeko-tests, ftello-tests: Avoid "guessing no" when cross-compiling.
21733         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Require AC_CANONICAL_HOST. When
21734         cross-compiling to a glibc platform, set gl_cv_func_ungetc_works to
21735         "guessing yes".
21737 2012-05-05  Bruno Haible  <bruno@clisp.org>
21739         signbit: Avoid "guessing no" when cross-compiling to glibc systems.
21740         * m4/signbit.m4 (gl_SIGNBIT): Require AC_CANONICAL_HOST. When cross-
21741         compiling to a glibc system, set gl_cv_func_signbit and
21742         gl_cv_func_signbit_gcc to "guessing yes".
21744 2012-05-05  Bruno Haible  <bruno@clisp.org>
21746         strerror: Avoid "guessing no" when cross-compiling to glibc systems.
21747         * m4/strerror.m4 (gl_FUNC_STRERROR): Require AC_CANONICAL_HOST. When
21748         cross-compiling to a glibc platform, set gl_cv_func_working_strerror
21749         to "guessing yes".
21750         (gl_FUNC_STRERROR_0): Require AC_CANONICAL_HOST. When cross-compiling
21751         to a glibc platform, set gl_cv_func_strerror_0_works to "guessing yes".
21753 2012-05-05  Bruno Haible  <bruno@clisp.org>
21755         canonicalize[-lgpl]: Avoid "guessing no" when cross-compiling to glibc.
21756         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Require
21757         AC_CANONICAL_HOST. When cross-compiling to a glibc system, set
21758         gl_cv_func_realpath_works to "guessing yes".
21760 2012-05-05  Bruno Haible  <bruno@clisp.org>
21762         gettimeofday: Avoid bad guess when cross-compiling to glibc systems.
21763         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY_CLOBBER): Require
21764         AC_CANONICAL_HOST. When cross-compiling, guess no on glibc platforms.
21766 2012-05-04  Bruno Haible  <bruno@clisp.org>
21768         Tweak last commit.
21769         * m4/off_t.m4 (gl_TYPE_OFF_T): Tweak comments.
21770         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
21772 2012-05-04  Paul Eggert  <eggert@cs.ucla.edu>
21774         unistd_h: make it easier to avoid sys_types_h
21775         This is useful for Emacs, which has its own method of porting to
21776         Windows, and which therefore does not need the sys_types_h module.
21777         * m4/off_t.m4: New file, defining gl_TYPE_OFF_T, which contains
21778         code moved here from gl_SYS_TYPES_H.
21779         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Require it instead of
21780         using the code directly.
21781         * m4/unistd_h.m4 (gl_UNISTD_H): Require gl_TYPE_OFF_T, not
21782         gl_SYS_TYPES_H.
21783         * modules/sys_types (Files):
21784         * modules/unistd (Files): Add m4/off_t.m4.
21786 2012-05-03  Bruno Haible  <bruno@clisp.org>
21788         lstat: Avoid "guessing no" when cross-compiling to glibc systems.
21789         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): When cross-
21790         compiling, set gl_cv_func_lstat_dereferences_slashed_symlink to
21791         "guessing yes" or "guessing no".
21792         (gl_FUNC_LSTAT): Update.
21793         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Update.
21794         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
21795         * m4/unlinkat.m4 (gl_FUNC_UNLINKAT): Update.
21797 2012-05-03  Bruno Haible  <bruno@clisp.org>
21799         *alloc-gnu, eealloc: Avoid "guessing no" when cross-compiling to glibc.
21800         * m4/malloc.m4 (_AC_FUNC_MALLOC_IF): Override in autoconf < 2.70.
21801         * m4/realloc.m4 (_AC_FUNC_REALLOC_IF): Override in autoconf < 2.70.
21802         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Require AC_CANONICAL_HOST. When
21803         cross-compiling, choose the first alternative on glibc systems.
21804         * modules/eealloc (Files): Add m4/malloc.m4, m4/realloc.m4.
21806 2012-05-03  Bruno Haible  <bruno@clisp.org>
21808         getgroups: Avoid "guessing no" when cross-compiling to glibc systems.
21809         * m4/getgroups.m4 (AC_FUNC_GETGROUPS): Override in autoconf < 2.70.
21810         (gl_FUNC_GETGROUPS): Adapt to change of ac_cv_func_getgroups_works.
21812 2012-05-03  Bruno Haible  <bruno@clisp.org>
21814         chown: Avoid "guessing no" when cross-compiling to glibc systems.
21815         * m4/chown.m4 (AC_FUNC_CHOWN): Override in autoconf < 2.70.
21817 2012-05-03  Bruno Haible  <bruno@clisp.org>
21819         Avoid "guessing no" guesses when cross-compiling to glibc systems.
21820         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Require AC_CANONICAL_HOST. When cross-
21821         compiling to glibc systems, set gl_cv_func_cbrtl_ieee to "guessing yes".
21822         * m4/ceil.m4 (gl_FUNC_CEIL): Require AC_CANONICAL_HOST. When cross-
21823         compiling to glibc systems, set gl_cv_func_ceil_ieee to "guessing yes".
21824         * m4/ceilf.m4 (gl_FUNC_CEILF): Require AC_CANONICAL_HOST. When cross-
21825         compiling to glibc systems, set gl_cv_func_ceilf_ieee to "guessing yes".
21826         * m4/ceill.m4 (gl_FUNC_CEILL): Require AC_CANONICAL_HOST. When cross-
21827         compiling to glibc systems, set gl_cv_func_ceill_ieee to "guessing yes".
21828         * m4/chown.m4 (gl_FUNC_CHOWN): Require AC_CANONICAL_HOST. When cross-
21829         compiling to glibc systems, set gl_cv_func_chown_slash_works,
21830         gl_cv_func_chown_ctime_works to "guessing yes".
21831         * m4/lchown.m4 (gl_FUNC_LCHOWN): Update.
21832         * m4/exp2l.m4 (gl_FUNC_EXP2L): Require AC_CANONICAL_HOST. When cross-
21833         compiling to glibc systems, set gl_cv_func_exp2l_ieee to "guessing yes".
21834         * m4/expm1.m4 (gl_FUNC_EXPM1): Require AC_CANONICAL_HOST. When cross-
21835         compiling to glibc systems, set gl_cv_func_expm1_ieee to "guessing yes".
21836         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require AC_CANONICAL_HOST. When cross-
21837         compiling to glibc systems, set gl_cv_func_open_directory_works to
21838         "guessing yes".
21839         * m4/fstat.m4 (gl_FUNC_FSTAT): Update.
21840         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require AC_CANONICAL_HOST. When
21841         cross-compiling to glibc systems, set gl_cv_func_fdopendir_works to
21842         "guessing yes".
21843         * m4/floor.m4 (gl_FUNC_FLOOR): Require AC_CANONICAL_HOST. When cross-
21844         compiling to glibc systems, set gl_cv_func_floor_ieee to "guessing yes".
21845         * m4/floorf.m4 (gl_FUNC_FLOORF): Require AC_CANONICAL_HOST. When cross-
21846         compiling to glibc systems, set gl_cv_func_floorf_ieee to
21847         "guessing yes".
21848         * m4/fmod.m4 (gl_FUNC_FMOD): Require AC_CANONICAL_HOST. When cross-
21849         compiling to glibc systems, set gl_cv_func_fmod_ieee to "guessing yes".
21850         * m4/fmodf.m4 (gl_FUNC_FMODF): Require AC_CANONICAL_HOST. When cross-
21851         compiling to glibc systems, set gl_cv_func_fmodf_ieee to "guessing yes".
21852         * m4/fmodl.m4 (gl_FUNC_FMODL): Require AC_CANONICAL_HOST. When cross-
21853         compiling to glibc systems, set gl_cv_func_fmodl_ieee to "guessing yes".
21854         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Require AC_CANONICAL_HOST. When
21855         cross-compiling to glibc systems, set gl_cv_func_getgroups_works to
21856         "guessing yes".
21857         * m4/hypot.m4 (gl_FUNC_HYPOT): Require AC_CANONICAL_HOST. When cross-
21858         compiling to glibc systems, set gl_cv_func_hypot_ieee to "guessing yes".
21859         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Require AC_CANONICAL_HOST. When cross-
21860         compiling to glibc systems, set gl_cv_func_hypotf_ieee to
21861         "guessing yes".
21862         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Require AC_CANONICAL_HOST. When cross-
21863         compiling to glibc systems, set gl_cv_func_hypotl_ieee to
21864         "guessing yes".
21865         * m4/link.m4 (gl_FUNC_LINK): Require AC_CANONICAL_HOST. When cross-
21866         compiling to glibc systems, set gl_cv_func_link_works to "guessing yes".
21867         * m4/log.m4 (gl_FUNC_LOG): Require AC_CANONICAL_HOST. When cross-
21868         compiling to glibc systems, set gl_cv_func_log_ieee to "guessing yes".
21869         * m4/logf.m4 (gl_FUNC_LOGF): Require AC_CANONICAL_HOST. When cross-
21870         compiling to glibc systems, set gl_cv_func_logf_ieee to "guessing yes".
21871         * m4/log10.m4 (gl_FUNC_LOG10): Require AC_CANONICAL_HOST. When cross-
21872         compiling to glibc systems, set gl_cv_func_log10_ieee to "guessing yes".
21873         * m4/log10f.m4 (gl_FUNC_LOG10F): Require AC_CANONICAL_HOST. When cross-
21874         compiling to glibc systems, set gl_cv_func_log10f_ieee to
21875         "guessing yes".
21876         * m4/log1p.m4 (gl_FUNC_LOG1P): Require AC_CANONICAL_HOST. When cross-
21877         compiling to glibc systems, set gl_cv_func_log1p_ieee to "guessing yes".
21878         * m4/log1pf.m4 (gl_FUNC_LOG1PF): Require AC_CANONICAL_HOST. When cross-
21879         compiling to glibc systems, set gl_cv_func_log1pf_ieee to
21880         "guessing yes".
21881         * m4/log1pl.m4 (gl_FUNC_LOG1PL): Require AC_CANONICAL_HOST. When cross-
21882         compiling to glibc systems, set gl_cv_func_log1pl_ieee to
21883         "guessing yes".
21884         * m4/log2.m4 (gl_FUNC_LOG2): Require AC_CANONICAL_HOST. When cross-
21885         compiling to glibc systems, set gl_cv_func_log2_ieee to "guessing yes".
21886         * m4/log2f.m4 (gl_FUNC_LOG2F): Require AC_CANONICAL_HOST. When cross-
21887         compiling to glibc systems, set gl_cv_func_log2f_ieee to "guessing yes".
21888         * m4/mkdir.m4 (gl_FUNC_MKDIR): Require AC_CANONICAL_HOST. When cross-
21889         compiling to glibc systems, set gl_cv_func_mkdir_trailing_slash_works,
21890         gl_cv_func_mkdir_trailing_dot_works to "guessing yes".
21891         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Require AC_CANONICAL_HOST. When cross-
21892         compiling to glibc systems, set gl_cv_func_mkfifo_works to
21893         "guessing yes".
21894         * m4/mknod.m4 (gl_FUNC_MKNOD): Require AC_CANONICAL_HOST. When cross-
21895         compiling to glibc systems, set gl_cv_func_mknod_works to
21896         "guessing yes".
21897         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_CANONICAL_HOST. When
21898         cross-compiling to glibc systems, set gl_cv_func_working_mkstemp to
21899         "guessing yes".
21900         * m4/modf.m4 (gl_FUNC_MODF): Require AC_CANONICAL_HOST. When cross-
21901         compiling to glibc systems, set gl_cv_func_modf_ieee to "guessing yes".
21902         * m4/modff.m4 (gl_FUNC_MODFF): Require AC_CANONICAL_HOST. When cross-
21903         compiling to glibc systems, set gl_cv_func_modff_ieee to "guessing yes".
21904         * m4/modfl.m4 (gl_FUNC_MODFL): Require AC_CANONICAL_HOST. When cross-
21905         compiling to glibc systems, set gl_cv_func_modfl_ieee to "guessing yes".
21906         * m4/putenv.m4 (gl_FUNC_PUTENV): Require AC_CANONICAL_HOST. When cross-
21907         compiling to glibc systems, set gl_cv_func_svid_putenv to
21908         "guessing yes".
21909         * m4/readlink.m4 (gl_FUNC_READLINK): Require AC_CANONICAL_HOST. When
21910         cross-compiling to glibc systems, set gl_cv_func_readlink_works to
21911         "guessing yes".
21912         * m4/remainder.m4 (gl_FUNC_REMAINDER): Require AC_CANONICAL_HOST. When
21913         cross-compiling to glibc systems, set gl_cv_func_remainder_ieee to
21914         "guessing yes".
21915         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Require AC_CANONICAL_HOST.
21916         When cross-compiling to glibc systems, set gl_cv_func_remainderf_ieee
21917         to "guessing yes".
21918         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Require AC_CANONICAL_HOST.
21919         When cross-compiling to glibc systems, set gl_cv_func_remainderl_ieee
21920         to "guessing yes".
21921         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require AC_CANONICAL_HOST. When cross-
21922         compiling to glibc systems, set gl_cv_func_rmdir_works to
21923         "guessing yes".
21924         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. When cross-
21925         compiling to glibc systems, set gl_cv_func_unlink_honors_slashes,
21926         gl_cv_func_unlink_parent_fails to "guessing yes".
21927         * m4/remove.m4 (gl_FUNC_REMOVE): Update.
21928         * m4/rename.m4 (gl_FUNC_RENAME): Require AC_CANONICAL_HOST. When cross-
21929         compiling to glibc systems, set gl_cv_func_rename_slash_dst_works,
21930         gl_cv_func_rename_slash_src_works, gl_cv_func_rename_link_works,
21931         gl_cv_func_rename_dest_works to "guessing yes".
21932         * m4/round.m4 (gl_FUNC_ROUND): Require AC_CANONICAL_HOST. When cross-
21933         compiling to glibc systems, set gl_cv_func_round_ieee to "guessing yes".
21934         * m4/roundf.m4 (gl_FUNC_ROUNDF): Require AC_CANONICAL_HOST. When cross-
21935         compiling to glibc systems, set gl_cv_func_roundf_ieee to
21936         "guessing yes".
21937         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require AC_CANONICAL_HOST. When cross-
21938         compiling to glibc systems, set gl_cv_func_roundl_ieee to
21939         "guessing yes".
21940         * m4/setenv.m4 (gl_FUNC_SETENV): Require AC_CANONICAL_HOST. When cross-
21941         compiling to glibc systems, set gl_cv_func_setenv_works to
21942         "guessing yes".
21943         (gl_FUNC_UNSETENV): Require AC_CANONICAL_HOST. When cross-
21944         compiling to glibc systems, set gl_cv_func_unsetenv_works to
21945         "guessing yes".
21946         * m4/sleep.m4 (gl_FUNC_SLEEP): Require AC_CANONICAL_HOST. When cross-
21947         compiling to glibc systems, set gl_cv_func_sleep_works to
21948         "guessing yes".
21949         * m4/stat.m4 (gl_FUNC_STAT): Require AC_CANONICAL_HOST. When cross-
21950         compiling to glibc systems, set gl_cv_func_stat_file_slash to
21951         "guessing yes".
21952         * m4/symlink.m4 (gl_FUNC_SYMLINK): Require AC_CANONICAL_HOST. When
21953         cross-compiling to glibc systems, set gl_cv_func_symlink_works to
21954         "guessing yes".
21955         * m4/trunc.m4 (gl_FUNC_TRUNC): Require AC_CANONICAL_HOST. When cross-
21956         compiling to glibc systems, set gl_cv_func_trunc_ieee to "guessing yes".
21957         * m4/truncf.m4 (gl_FUNC_TRUNCF): Require AC_CANONICAL_HOST. When cross-
21958         compiling to glibc systems, set gl_cv_func_truncf_ieee to
21959         "guessing yes".
21960         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require AC_CANONICAL_HOST. When cross-
21961         compiling to glibc systems, set gl_cv_func_truncl_ieee to
21962         "guessing yes".
21963         * m4/usleep.m4 (gl_FUNC_USLEEP): Require AC_CANONICAL_HOST. When cross-
21964         compiling to glibc systems, set gl_cv_func_usleep_works to
21965         "guessing yes".
21966         * m4/utimens.m4 (gl_UTIMENS): Require AC_CANONICAL_HOST. When cross-
21967         compiling to glibc systems, set gl_cv_func_futimesat_works to
21968         "guessing yes".
21970 2012-05-03  Bruno Haible  <bruno@clisp.org>
21972         Say "guessing yes" or "guessing no" when cross-compiling.
21973         * m4/dup2.m4 (gl_FUNC_DUP2): When cross-compiling, set
21974         gl_cv_func_dup2_works to "guessing yes" or "guessing no".
21975         * m4/getdelim.m4 (gl_FUNC_GETDELIM): When cross-compiling, set
21976         gl_cv_func_working_getdelim to "guessing yes" or "guessing no".
21977         * m4/getline.m4 (gl_FUNC_GETLINE): When cross-compiling, set
21978         am_cv_func_working_getline to "guessing yes" or "guessing no".
21979         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, set
21980         gl_cv_func_memmem_works_always to "guessing yes" or "guessing no".
21981         (gl_FUNC_MEMMEM): When cross-compiling, set
21982         gl_cv_func_memmem_works_fast to "guessing yes" or "guessing no".
21983         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): When cross-compiling, set
21984         gl_cv_func_stpncpy to "guessing yes" or "guessing no".
21985         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): When cross-compiling,
21986         set gl_cv_func_strcasestr_works_always to "guessing yes" or
21987         "guessing no".
21988         (gl_FUNC_STRCASESTR): When cross-compiling, set
21989         gl_cv_func_strcasestr_linear to "guessing yes" or "guessing no".
21990         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): When cross-compiling, set
21991         gl_cv_func_strstr_works_always to "guessing yes" or "guessing no".
21992         (gl_FUNC_STRSTR): When cross-compiling, set
21993         gl_cv_func_strstr_linear to "guessing yes" or "guessing no".
21994         * m4/strtod.m4 (gl_FUNC_STRTOD): When cross-compiling, set
21995         gl_cv_func_strtod_works to "guessing yes" or "guessing no".
21996         * m4/wctype_h.m4 (gl_WCTYPE_H): When cross-compiling, set
21997         gl_cv_func_iswcntrl_works to "guessing yes" or "guessing no".
21999 2012-05-01  Bruno Haible  <bruno@clisp.org>
22001         relocatable-prog: Enable ELF ORIGIN trick also on GNU/kFreeBSD.
22002         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Treat kFreeBSD like Linux.
22003         * build-aux/reloc-ldflags: Likewise.
22004         Suggested by Steven Chamberlain <steven@pyro.eu.org>.
22006 2012-05-01  Bruno Haible  <bruno@clisp.org>
22008         gnulib-tool: Remove transitional code.
22009         * gnulib-tool: Don't warn about --import with 0 arguments any more.
22010         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
22012 2012-05-01  Bruno Haible  <bruno@clisp.org>
22014         getcwd: Fix misindentation.
22015         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Fix indentation.
22017 2012-04-29  Paul Eggert  <eggert@cs.ucla.edu>
22019         exclude: process exclude and include directives in order
22020         This restores the pre-2009 behavior, and is part of a fix of a
22021         grep bug reported by Quentin Arce in
22022         <http://lists.gnu.org/r/bug-grep/2012-04/msg00056.html>.
22023         * lib/exclude.c (struct exclude): Remove 'tail' member.
22024         (new_exclude_segment): Prepend the new segment instead of appending.
22025         Return void, since that's now more convenient.
22026         (file_pattern_matches): Renamed from excluded_file_pattern_p.
22027         (file_name_matches): Renamed from excluded_file_name_p.
22028         (file_pattern_matches, file_name_matches):
22029         Return true if the pattern matches, not if it excludes.
22030         All callers changed.
22031         (excluded_file_name): Process the list in reverse order;
22032         since the list is now reversed this restores the pre-2009 behavior.
22033         (add_exclude): Adjust to new reversed-order list.  Use local var
22034         rather than macro, for clarity.
22035         * tests/test-exclude7.sh: Adjust to corrected behavior.
22037         exclude: handle wildcards with FNM_NOESCAPE and with trailing \
22038         * lib/exclude.c (unescape_pattern): Don't worry about unescaped [;
22039         it's not possible here.  Handle the case of \ at end of pattern
22040         without dumping core.
22041         (add_exclude): Do not unescape the pattern if FNM_NOESCAPE is used.
22043         _Noreturn: future-proof non-GNU and non-MSVC compilers
22044         * build-aux/snippet/_Noreturn.h (_Noreturn):
22045         * m4/gnulib-common.m4 (gl_COMMON_BODY):
22046         Do not define _Noreturn if __STDC_VERSION__ indicates this is
22047         C11 or later.  This is more likely to work with random future C
22048         compilers that are neither GNUish nor MSVCish.  See Vincent Lefevre in
22049         <http://lists.gnu.org/r/bug-gnulib/2012-04/msg00195.html>.
22051         exclude: handle wildcards with FNM_EXTMATCH
22052         * lib/exclude.c (fnmatch_pattern_has_wildcards): Also treat '+(',
22053         '+@', '!(' as wildcards, if FNM_EXTMATCH.  Make it clear in a
22054         comment that "has wildcards" really means "has or may have
22055         wildcards".  Simplify by avoiding the need to call strcspn.
22057 2012-04-29  Bruno Haible  <bruno@clisp.org>
22059         gnulib-tool: Fix list of authors.
22060         * gnulib-tool (func_version): Add Paul Eggert to list of authors.
22062 2012-04-26  Stefano Lattarini  <stefano.lattarini@gmail.com>
22064         bootstrap: support Automake-NG in $buildreq
22065         * bootstrap (check_versions): Handle automake and aclocal from
22066         Automake-NG specially.  They can be specified as respectively
22067         the "automake-ng" and "aclocal-ng" requirements.
22069 2012-04-25  Eric Blake  <eblake@redhat.com>
22071         bootstrap: only force latest Makefile.in.in for gettext module
22072         * build-aux/bootstrap (with_gettext): Only install latest
22073         Makefile.in.in for projects requesting bleeding edge gettext.
22075 2012-04-22  Bruno Haible  <bruno@clisp.org>
22077         doc: Mention reason for replacement on glibc/Linux systems.
22078         * doc/posix-functions/dprintf.texi: Mention the problem with special
22079         'long double' values.
22080         * doc/posix-functions/fprintf.texi: Likewise.
22081         * doc/posix-functions/printf.texi: Likewise.
22082         * doc/posix-functions/snprintf.texi: Likewise.
22083         * doc/posix-functions/sprintf.texi: Likewise.
22084         * doc/posix-functions/vdprintf.texi: Likewise.
22085         * doc/posix-functions/vfprintf.texi: Likewise.
22086         * doc/posix-functions/vprintf.texi: Likewise.
22087         * doc/posix-functions/vsnprintf.texi: Likewise.
22088         * doc/posix-functions/vsprintf.texi: Likewise.
22089         * doc/posix-functions/fcntl.texi: Add glibc/Linux to the list of
22090         platforms with F_DUPFD_CLOEXEC problems.
22091         * doc/posix-functions/glob.texi: Mention which platforms are affected
22092         by the problem with symbolic links.
22093         * doc/posix-functions/linkat.texi: Mention the problem with
22094         AT_SYMLINK_FOLLOW on Linux.
22096 2012-04-22  Bruno Haible  <bruno@clisp.org>
22098         pwrite: Don't replace on all platforms.
22099         * m4/pwrite.m4 (gl_FUNC_PWRITE): Fix syntax error in test program.
22101 2012-04-22  Bruno Haible  <bruno@clisp.org>
22103         rint* tests: Avoid gcc warnings.
22104         * tests/test-rint.c (INFINITY, NAN): Undefine before redefining.
22105         * tests/test-rintf.c (INFINITY, NAN): Likewise.
22106         * tests/test-rintl.c (INFINITY, NAN): Likewise.
22108 2012-04-21  Bruno Haible  <bruno@clisp.org>
22110         users.txt: Update.
22111         * users.txt: Add freedink, wdiff. Update URLs for projects that have
22112         switched from CVS to git, bzr, or svn.
22114 2012-04-21  Bruno Haible  <bruno@clisp.org>
22116         Large File Support for native Windows platforms.
22118         * m4/largefile.m4 (gl_LARGEFILE): New macro.
22119         * modules/largefile (configure.ac): Require gl_LARGEFILE.
22121         * lib/sys_types.in.h (off_t) [WINDOWS_64_BIT_OFF_T]: Define to a 64-bit
22122         type.
22123         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Set WINDOWS_64_BIT_OFF_T.
22124         * modules/sys_types (Makefile.am): Substitute WINDOWS_64_BIT_OFF_T.
22125         * doc/posix-headers/sys_types.texi: Mention the effect of the
22126         'largefile' module.
22128         * lib/fcntl.in.h: Add comments about off_t.
22129         * modules/fcntl-h (Depends-on): Add sys_types.
22131         * lib/unistd.in.h [WINDOWS_64_BIT_OFF_T]: Include <sys/types.h>.
22132         (ftruncate): Replace it if REPLACE_FTRUNCATE is 1.
22133         * m4/unistd_h.m4 (gl_UNISTD_H): Require gl_SYS_TYPES_H.
22134         (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_FTRUNCATE.
22135         * modules/unistd (Depends-on): Add sys_types.
22136         (Makefile.am): Substitute WINDOWS_64_BIT_OFF_T, REPLACE_FTRUNCATE.
22138         * lib/lseek.c (rpl_lseek) [_GL_WINDOWS_64_BIT_OFF_T]: Use _lseeki64
22139         instead of lseek.
22140         * m4/lseek.m4 (gl_FUNC_LSEEK): Require gl_SYS_TYPES_H. Set
22141         REPLACE_LSEEK if WINDOWS_64_BIT_OFF_T is 1.
22142         * modules/lseek (Depends-on): Add sys_types.
22144         * lib/ftruncate.c: Put under GPLv3+. Include <windows.h>,
22145         msvc-nothrow.h.
22146         (SetFileSize): New function.
22147         (ftruncate) [_GL_WINDOWS_64_BIT_OFF_T]: New implementation.
22148         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Set REPLACE_FTRUNCATE on Windows
22149         if Large File Support is requested.
22150         * modules/ftruncate (configure.ac): Consider REPLACE_FTRUNCATE.
22151         (Depends-on): Add sys_types, msvc-nothrow. Update conditions.
22153         * lib/stdio.in.h: Add comments about off_t.
22154         * modules/stdio (Depends-on): Add sys_types.
22156         * lib/ftello.c [_GL_WINDOWS_64_BIT_OFF_T]: Use _ftelli64 or ftello64
22157         instead of ftello.
22158         * m4/ftello.m4 (gl_FUNC_FTELLO): Require gl_SYS_TYPES_H. Set
22159         REPLACE_FTELLO if WINDOWS_64_BIT_OFF_T is 1.
22160         (gl_PREREQ_FTELLO): New macro.
22161         * modules/ftello (Depends-on): Add sys_types.
22162         (configure.ac): Incoke gl_PREREQ_FTELLO.
22164         * lib/fseeko.c [_GL_WINDOWS_64_BIT_OFF_T]: Use _fseeki64 or fseeko64
22165         instead of fseeko.
22166         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require gl_SYS_TYPES_H. Set
22167         REPLACE_FSEEKO if WINDOWS_64_BIT_OFF_T is 1.
22168         (gl_PREREQ_FSEEKO): New macro.
22169         * modules/fseeko (Depends-on): Add sys_types.
22170         (configure.ac): Invoke gl_PREREQ_FSEEKO.
22172         * lib/sys_stat.in.h: Add comments about off_t.
22173         (stat, fstat) [WINDOWS_64_BIT_ST_SIZE]: Define to variants that use a
22174         64-bit integer for st_size in 'struct stat'.
22175         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Set WINDOWS_64_BIT_ST_SIZE.
22176         Define _GL_WINDOWS_64_BIT_ST_SIZE.
22177         * modules/sys_stat (Depends-on): Add sys_types.
22178         (Makefile.am): Substitute WINDOWS_64_BIT_ST_SIZE.
22180         * lib/stat.c (stat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Define to _stati64
22181         instead of stat or _stat.
22183         * lib/fstat.c [_GL_WINDOWS_64_BIT_ST_SIZE]: Use _fstati64 and
22184         'struct _stati64' instead of fstat and 'struct stat'.
22185         * m4/fstat.m4 (gl_FUNC_FSTAT): Require gl_HEADER_SYS_STAT_H. Set
22186         REPLACE_FSTAT if WINDOWS_64_BIT_ST_SIZE is 1.
22188         Reported by Ray Satiro <raysatiro@yahoo.com>.
22190 2012-04-19  Eric Blake  <eblake@redhat.com>
22192         bootstrap: accommodate older libtool
22193         * build-aux/bootstrap (use_libtool): Cater to libtool 1.5.22.
22194         Reported by Daniel P. Berrange.
22196 2012-04-19  Jim Meyering  <meyering@redhat.com>
22198         announce-gen: avoid failure due to lack of Digest::SHA1
22199         Even with the preferred Digest::SHA available, this script
22200         would fail when the backup module, Digest::SHA1, was not installed.
22201         * build-aux/announce-gen: Quote the conditional use of "use".
22202         Reported by Reuben Thomas in:
22203         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30444
22205         bootstrap: don't let a user's CDPATH setting affect this script
22206         When CDPATH is set, cd will sometimes generate output.
22207         When "cd" is run in a subshell whose output matters, that
22208         surprising-to-some output can cause malfunction.
22209         Unsetting CDPATH turns off this shell "feature."
22210         * build-aux/bootstrap (CDPATH): Unset.
22211         Reported by Reuben Thomas in:
22212         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30435
22213         and inspired by his patch here:
22214         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30440
22216 2012-04-16  Akim Demaille  <akim@lrde.epita.fr>
22217         and Jim Meyering  <meyering@redhat.com>
22219         maint.mk: catch "see @xref{}" and similar
22220         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Also
22221         prohibit "See also @xref{", "Also see @pxref{", and similar.
22223 2012-04-16  Jim Meyering  <meyering@redhat.com>
22225         bootstrap: really use gnulib's po/Makefile.in.in
22226         * build-aux/bootstrap: Correct the source file name in previous change.
22227         Reported by Akim Demaille.
22229         configmake: correct minor inconsistency in Makefile rule
22230         * modules/configmake (Makefile.am): All other rules like this one
22231         run the final "mv -f ..." in the same backslash-continued command
22232         as the one that does everything else.  This one put the mv -f ...
22233         command on a separate, non-backslash-continued line.
22234         Make it like the others.
22236         bootstrap: use gnulib's po/Makefile.in.in, not the one from gettext
22237         * build-aux/bootstrap: Use gnulib's po/Makefile.in.in, not
22238         the one from gettext.  Reported by Akim Demaille.
22240 2012-04-16  Joel E. Denny  <joeldenny@joeldenny.org>
22242         Fix recursion of install-* into po directories.
22243         Bison's install-pdf bug reported by Hans Aberg at
22244         <http://lists.gnu.org/r/bug-bison/2011-05/msg00008.html>.
22245         * build-aux/po/Makefile.in.in (install-dvi, install-html)
22246         (install-info, install-pdf, install-ps): New targets.
22248 2012-04-16  Jim Meyering  <meyering@redhat.com>
22250         maint: avoid spurious "make sc_maint" failure
22251         * cfg.mk (exclude_file_name_regexp--sc_trailing_blank): Also
22252         exempt all *.class file names, for lib/javaversion.class.
22254 2012-04-15  Bruno Haible  <bruno@clisp.org>
22256         lseek: Make configure test independent of environment.
22257         * m4/lseek.m4 (gl_FUNC_LSEEK): Require AC_CANONICAL_HOST. On native
22258         Windows, we know that lseek() on pipes is broken; skip the runtime
22259         test.
22261 2012-04-14  Bruno Haible  <bruno@clisp.org>
22263         stat: Bypass buggy override in mingw64.
22264         * m4/stat.m4 (gl_FUNC_STAT): Update comments.
22265         * lib/stat.c (stat) [mingw64]: Define to _stat.
22266         * doc/posix-functions/stat.texi: Mention mingw64 bug.
22268 2012-04-14  Bruno Haible  <bruno@clisp.org>
22270         pathmax: Fix compilation error on MSVC 9.
22271         * modules/pathmax (Depends-on): Add unistd.
22273 2012-04-12  Paul Eggert  <eggert@cs.ucla.edu>
22275         README: document pointer comparison assumption
22276         * README (Portability guidelines): Document assumption about
22277         pointer comparisons, in response to a recent bug-gnulib comment by
22278         Jeffrey Kegler.
22280 2012-04-12  Bruno Haible  <bruno@clisp.org>
22282         Tests for module 'getrusage'.
22283         * modules/getrusage-tests: New file.
22284         * tests/test-getrusage.c: New file.
22286         New module 'getrusage'.
22287         * lib/sys_resource.in.h: Include arg-nonnull.h, c++defs.h,
22288         warn-on-use.h.
22289         (getrusage): New declaration.
22290         * lib/getrusage.c: New file.
22291         * m4/getrusage.m4: New file.
22292         * m4/sys_resource_h.m4 (gl_HEADER_SYS_RESOURCE): Test whether getrusage
22293         is declared.
22294         (gl_SYS_RESOURCE_H_DEFAULTS): Initialize GNULIB_GETRUSAGE,
22295         HAVE_GETRUSAGE.
22296         * modules/sys_resource (Depends-on): Add snippet/arg-nonnull,
22297         snippet/c++defs, snippet/warn-on-use.
22298         (Makefile.am): Update generation of sys/resource.h. Substitute
22299         GNULIB_GETRUSAGE, HAVE_GETRUSAGE.
22300         * modules/getrusage: New file.
22301         * doc/posix-functions/getrusage.texi: Mention the new module.
22303 2012-04-12  Bruno Haible  <bruno@clisp.org>
22305         Tests for module 'sys_resource'.
22306         * modules/sys_resource-tests: New file.
22307         * tests/test-sys_resource.c: New file.
22309         New module 'sys_resource'.
22310         * lib/sys_resource.in.h: New file.
22311         * m4/sys_resource_h.m4: New file.
22312         * modules/sys_resource: New file.
22313         * doc/posix-headers/sys_resource.texi: Mention the new module.
22315 2012-04-12  LRN  <lrn1986@gmail.com>  (tiny change)
22317         ioctl: Fix compilation error on mingw.
22318         * lib/ioctl.c: Include <windows.h>.
22319         Also reported by Ray Satiro <raysatiro@yahoo.com>.
22321 2012-04-04  Jim Meyering  <meyering@redhat.com>
22323         regex: correct #pragma guard expression
22324         * lib/regex.c: -Wsuggest-attribute=pure was introduced in gcc-4.6,
22325         not 4.3.  Correct its cpp guard expression.
22327 2012-04-04  Paul Eggert  <eggert@cs.ucla.edu>
22329         regex: remove unnecessary type punning
22330         Problem reported by Vladimir Serbinenko in
22331         <http://lists.gnu.org/r/bug-gnulib/2012-04/msg00006.html>.
22332         * lib/regex.h (struct re_pattern_buffer): Change the type of
22333         __REPB_PREFIX(buffer) from unsigned char * to struct re_dfa_t *.
22334         Fix comment to match code.
22335         * lib/regcomp.c (re_compile_fastmap, re_compile_fastmap_iter, regfree)
22336         (re_compile_internal, free_workarea_compile, analyze, lower_subexp)
22337         (parse, parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
22338         * lib/regexec.c (regexec, re_search_stub, re_search_internal)
22339         (set_regs):
22340         Omit no-longer-necessary casts.
22342 2012-04-03  Bruno Haible  <bruno@clisp.org>
22344         Tests for module 'ilogbl'.
22345         * modules/ilogbl-tests: New file.
22346         * tests/test-ilogbl.c: New file.
22348         New module 'ilogbl'.
22349         * lib/math.in.h (ilogbl): New declaration.
22350         * lib/ilogbl.c: New file.
22351         * m4/ilogbl.m4: New file.
22352         * m4/math_h.m4 (gl_MATH_H): Test whether ilogbl is declared.
22353         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGBL, HAVE_ILOGBL.
22354         * modules/math (Makefile.am): Substitute GNULIB_ILOGBL, HAVE_ILOGBL.
22355         Split sed invocation, to avoid the limit of 100 substitutions of
22356         HP-UX 'sed'.
22357         * modules/ilogbl: New file.
22358         * tests/test-math-c++.cc: Check the declaration of ilogbl.
22359         * doc/posix-functions/ilogbl.texi: Mention the new module.
22361 2012-04-03  Bruno Haible  <bruno@clisp.org>
22363         Tests for module 'ilogbf'.
22364         * modules/ilogbf-tests: New file.
22365         * tests/test-ilogbf.c: New file.
22367         New module 'ilogbf'.
22368         * lib/math.in.h (ilogbf): New declaration.
22369         * lib/ilogbf.c: New file.
22370         * m4/ilogbf.m4: New file.
22371         * m4/math_h.m4 (gl_MATH_H): Test whether ilogbf is declared.
22372         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGBF, HAVE_ILOGBF,
22373         REPLACE_ILOGBF.
22374         * modules/math (Makefile.am): Substitute GNULIB_ILOGBF, HAVE_ILOGBF,
22375         REPLACE_ILOGBF.
22376         * modules/ilogbf: New file.
22377         * tests/test-math-c++.cc: Check the declaration of ilogbf.
22378         * doc/posix-functions/ilogbf.texi: Mention the new module.
22380 2012-04-03  Bruno Haible  <bruno@clisp.org>
22382         Tests for module 'ilogb'.
22383         * modules/ilogb-tests: New file.
22384         * tests/test-ilogb.c: New file.
22385         * tests/test-ilogb.h: New file, based on tests/test-logb.h and
22386         tests/test-logb-ieee.h.
22388         New module 'ilogb'.
22389         * lib/math.in.h (ilogb): New declaration.
22390         * lib/ilogb.c: New file.
22391         * m4/ilogb.m4: New file.
22392         * m4/math_h.m4 (gl_MATH_H): Test whether ilogb is declared.
22393         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGB, HAVE_ILOGB,
22394         REPLACE_ILOGB.
22395         * modules/math (Makefile.am): Substitute GNULIB_ILOGB, HAVE_ILOGB,
22396         REPLACE_ILOGB.
22397         * modules/ilogb: New file.
22398         * tests/test-math-c++.cc: Check the declaration of ilogb.
22399         * doc/posix-functions/ilogb.texi: Mention the new module.
22401 2012-04-03  Bruno Haible  <bruno@clisp.org>
22403         math: Provide FP_ILOGB0 and FP_ILOGBNAN.
22404         * lib/math.in.h (FP_ILOGB0, FP_ILOGBNAN): Define fallback.
22405         * tests/test-math.c: Check that FP_ILOGB0, FP_ILOGBNAN are defined.
22406         (main): Check their values.
22407         * doc/posix-headers/math.texi: Mention the FP_ILOGB0, FP_ILOGBNAN
22408         problem.
22410 2012-04-03  Bruno Haible  <bruno@clisp.org>
22412         Tests for module 'logbl-ieee'.
22413         * modules/logbl-ieee-tests: New file.
22414         * tests/test-logbl-ieee.c: New file.
22416         New module 'logbl-ieee'.
22417         * modules/logbl-ieee: New file.
22419         Tests for module 'logb-ieee'.
22420         * modules/logb-ieee-tests: New file.
22421         * tests/test-logb-ieee.c: New file.
22423         New module 'logb-ieee'.
22424         * modules/logb-ieee: New file.
22426         Tests for module 'logbf-ieee'.
22427         * modules/logbf-ieee-tests: New file.
22428         * tests/test-logbf-ieee.c: New file.
22429         * tests/test-logb-ieee.h: New file.
22431         New module 'logbf-ieee'.
22432         * modules/logbf-ieee: New file.
22434 2012-04-03  Bruno Haible  <bruno@clisp.org>
22436         Tests for module 'logbl'.
22437         * modules/logbl-tests: New file.
22438         * tests/test-logbl.c: New file.
22440         New module 'logbl'.
22441         * lib/math.in.h (logbl): New declaration.
22442         * lib/logbl.c: New file.
22443         * m4/logbl.m4: New file.
22444         * m4/math_h.m4 (gl_MATH_H): Test whether logbl is declared.
22445         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGBL, HAVE_LOGBL,
22446         REPLACE_LOGBL.
22447         * modules/math (Makefile.am): Substitute GNULIB_LOGBL, HAVE_LOGBL,
22448         REPLACE_LOGBL.
22449         * modules/logbl: New file.
22450         * tests/test-math-c++.cc: Check the declaration of logbl.
22451         * doc/posix-functions/logbl.texi: Mention the new module.
22453 2012-04-02  Bruno Haible  <bruno@clisp.org>
22455         Tests for module 'logbf'.
22456         * modules/logbf-tests: New file.
22457         * tests/test-logbf.c: New file.
22459         New module 'logbf'.
22460         * lib/math.in.h (logbf): New declaration.
22461         * lib/logbf.c: New file.
22462         * m4/logbf.m4: New file.
22463         * m4/math_h.m4 (gl_MATH_H): Test whether logbf is declared.
22464         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGBF, HAVE_LOGBF,
22465         REPLACE_LOGBF.
22466         * modules/math (Makefile.am): Substitute GNULIB_LOGBF, HAVE_LOGBF,
22467         REPLACE_LOGBF.
22468         * modules/logbf: New file.
22469         * tests/test-math-c++.cc: Check the declaration of logbf.
22470         * doc/posix-functions/logbf.texi: Mention the new module.
22472 2012-04-02  Bruno Haible  <bruno@clisp.org>
22474         logb tests: More tests.
22475         * tests/test-logb.h: New file, based on tests/test-logb.c and
22476         tests/test-frexp.h.
22477         * tests/test-logb.c: Include minus-zero.h, test-logb.h.
22478         (main): Just invoke test_function.
22479         * modules/logb-tests (Files): Add tests/test-logb.h,
22480         tests/minus-zero.h, tests/randomd.c.
22481         (Makefile.am): Add randomd.c to test_logb_SOURCES.
22483         logb: Provide replacement and workarounds.
22484         * lib/math.in.h (logb): Ensure declaration. Replace if REPLACE_LOGB
22485         is 1.
22486         * lib/logb.c: New file.
22487         * m4/logb.m4 (gl_FUNC_LOGB_WORKS): New macro.
22488         (gl_FUNC_LOGB): Invoke it. Set HAVE_LOGB, REPLACE_LOGB.
22489         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGB.
22490         * modules/math (Makefile.am): Substitute REPLACE_LOGB.
22491         * modules/logb (Files): Add lib/logb.c.
22492         (Depends-on): Add isfinite, frexp, isnand.
22493         (configure.ac): Compile the replacement code logb.c if needed.
22494         * tests/test-math-c++.cc: Check the declaration of logb.
22495         * doc/posix-functions/logb.texi: Mention the replacement and the bug
22496         with subnormal numbers.
22498 2012-04-02  Bruno Haible  <bruno@clisp.org>
22500         log10* tests: Speed up.
22501         * tests/test-log10.h (test_function): Reduce amount of random numbers
22502         to test.
22504 2012-04-01  Bruno Haible  <bruno@clisp.org>
22506         logf-ieee: Fix test whether logf works.
22507         * m4/logf.m4 (gl_FUNC_LOGF): Fix typo in test program.
22509 2012-04-01  Bruno Haible  <bruno@clisp.org>
22511         log10l: Work around log10l-ieee test failure on IRIX 6.5.
22512         * lib/log10l.c: Include <float.h>
22513         (log10l): On IRIX, normalize the +Infinity value.
22514         * modules/log10l (Depends-on): Add 'float'.
22515         * doc/posix-functions/log10l.texi: Mention the IRIX problem with
22516         +Infinity.
22518         log10f-ieee: Work around test failure on NetBSD 5.1.
22519         * m4/log10f-ieee.m4: New file.
22520         * m4/log10f.m4 (gl_FUNC_LOG10F): If gl_FUNC_LOG10F_IEEE is present,
22521         test whether log10f works with a negative argument. Replace it if not.
22522         * lib/log10f.c (log10f): For negative arguments, return NaN.
22523         * modules/log10f-ieee (Files): Add m4/log10f-ieee.m4.
22524         (configure.ac): Invoke gl_FUNC_LOG10F_IEEE.
22525         * doc/posix-functions/log10f.texi: Mention the log10f-ieee module.
22527         log10f-ieee: Work around test failure on Solaris 9.
22528         * modules/log10f-ieee (Depends-on): Add log10-ieee.
22529         (configure.ac): Require gl_FUNC_LOG10F.
22531         log10-ieee: Work around test failure on NetBSD 5.1 and Solaris 11.
22532         * m4/log10-ieee.m4: New file.
22533         * m4/log10.m4 (gl_FUNC_LOG10): If gl_FUNC_LOG10_IEEE is present, test
22534         whether log10 works with a negative argument. Replace it if not.
22535         * lib/log10.c (log10): For negative arguments, return NaN.
22536         * modules/log10-ieee (Files): Add m4/log10-ieee.m4.
22537         (configure.ac): Invoke gl_FUNC_LOG10_IEEE.
22538         * doc/posix-functions/log10.texi: Mention the log10-ieee module.
22540         Tests for module 'log10l-ieee'.
22541         * modules/log10l-ieee-tests: New file.
22542         * tests/test-log10l-ieee.c: New file.
22544         New module 'log10l-ieee'.
22545         * modules/log10l-ieee: New file.
22547         Tests for module 'log10-ieee'.
22548         * modules/log10-ieee-tests: New file.
22549         * tests/test-log10-ieee.c: New file.
22551         New module 'log10-ieee'.
22552         * modules/log10-ieee: New file.
22554         Tests for module 'log10f-ieee'.
22555         * modules/log10f-ieee-tests: New file.
22556         * tests/test-log10f-ieee.c: New file.
22557         * tests/test-log10-ieee.h: New file.
22559         New module 'log10f-ieee'.
22560         * modules/log10f-ieee: New file.
22562 2012-04-01  Bruno Haible  <bruno@clisp.org>
22564         log10l: Work around AIX 5.1, IRIX 6.5, OSF/1 5.1 bug.
22565         * lib/math.in.h (log10l): Override if REPLACE_LOG10L is 1.
22566         * lib/log10l.c (log10l): If log10l exists, use it and provide just the
22567         workaround.
22568         * m4/log10l.m4 (gl_FUNC_LOG10L_WORKS): New macro.
22569         (gl_FUNC_LOG10L): Invoke it. Set REPLACE_LOG10L.
22570         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG10L.
22571         * modules/math (Makefile.am): Substitute REPLACE_LOG10L.
22572         * modules/log10l (configure.ac): Consider REPLACE_LOG10L.
22573         (Depends-on): Update conditions.
22574         * doc/posix-functions/log10l.texi: Mention the MSVC9, AIX 5.1,
22575         IRIX 6.5, OSF/1 5.1 problems.
22577 2012-04-01  Bruno Haible  <bruno@clisp.org>
22579         log10f: Work around OSF/1 5.1 bug.
22580         * lib/math.in.h (log10f): Override if REPLACE_LOG10F is 1.
22581         * lib/log10f.c (log10f): If logf exists, use it and provide just the
22582         workaround.
22583         * m4/log10f.m4 (gl_FUNC_LOG10F_WORKS): New macro.
22584         (gl_FUNC_LOG10F): Invoke it. Set REPLACE_LOG10F.
22585         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG10F.
22586         * modules/math (Makefile.am): Substitute REPLACE_LOG10F.
22587         * modules/log10f (configure.ac): Consider REPLACE_LOG10F.
22588         (Depends-on): Update conditions.
22589         * doc/posix-functions/log10f.texi: Mention the OSF/1 5.1 problem.
22591 2012-04-01  Bruno Haible  <bruno@clisp.org>
22593         log10: Work around OSF/1 5.1 bug.
22594         * lib/math.in.h (log10): New declaration.
22595         * lib/log10.c: New file.
22596         * m4/log10.m4 (gl_FUNC_LOG10_WORKS): New macro.
22597         (gl_FUNC_LOG10): Invoke it. Set REPLACE_LOG10.
22598         * m4/math_h.m4 (gl_MATH_H): Test whether log10 is declared.
22599         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10, REPLACE_LOG10.
22600         * modules/math (Makefile.am): Substitute GNULIB_LOG10, REPLACE_LOG10.
22601         * modules/log10 (Files): Add lib/log10.c.
22602         (Depends-on): Add math.
22603         (configure.ac): If REPLACE_LOG10 is 1, compile an override.
22604         * tests/test-math-c++.cc: Check the declaration of log10.
22605         * doc/posix-functions/log10.texi: Mention the OSF/1 5.1 problem.
22607 2012-03-31  Bruno Haible  <bruno@clisp.org>
22609         log10l tests: More tests.
22610         * modules/log10l-tests (Files): Add tests/test-log10l.h,
22611         tests/minus-zero.h, tests/randoml.c.
22612         (Makefile.am): Add randoml.c to test_log10l_SOURCES.
22613         * tests/test-log10l.c: Include <float.h>, minus-zero.h, test-log10l.h.
22614         (main): Invoke test_function.
22616         log10f tests: More tests.
22617         * modules/log10f-tests (Files): Add tests/test-log10.h,
22618         tests/minus-zero.h, tests/randomf.c.
22619         (Makefile.am): Add randomf.c to test_log10f_SOURCES.
22620         * tests/test-log10f.c: Include <float.h>, minus-zero.h, test-log10.h.
22621         (main): Invoke test_function.
22623         log10 tests: More tests.
22624         * tests/test-log10.h: New file.
22625         * modules/log10-tests (Files): Add tests/test-log10.h,
22626         tests/minus-zero.h, tests/randomd.c.
22627         (Makefile.am): Add randomd.c to test_log10_SOURCES.
22628         * tests/test-log10.c: Include <float.h>, minus-zero.h, test-log10.h.
22629         (main): Invoke test_function.
22631 2012-03-31  Simon Josefsson  <simon@josefsson.org>
22633         fflush: Fix syntax error.
22634         * lib/fflush.c: Include unused-parameter.h, needed for
22635         _GL_UNUSED_PARAMETER.
22636         * modules/fflush (Depends-on): Add snippet/unused-parameter.
22638 2012-03-30  Paul Eggert  <eggert@cs.ucla.edu>
22640         regex: pacify GCC when compiling GRUB
22641         * lib/regcomp.c (init_dfa): Make a pointer 'const', to avoid
22642         a diagnostic.  Reported by Vladimir Serbinenko in
22643         <http://lists.gnu.org/r/bug-gnulib/2012-03/msg00163.html>.
22645 2012-03-29  Eric Blake  <eblake@redhat.com>
22647         stdio: don't assume gets any more
22648         * m4/stdio_h.m4 (gl_STDIO_H, gl_STDIO_H_DEFAULTS): Drop gets
22649         support.
22650         * modules/stdio (Makefile.am): Likewise.
22651         * lib/stdio-read.c (gets): Likewise.
22652         * tests/test-stdio-c++.cc: Likewise.
22653         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix comment.
22654         * lib/stdio.in.h (gets): Make warning occur in more places.
22655         * doc/posix-functions/gets.texi (gets): Update documentation.
22656         Reported by Christer Solskogen.
22658         maint.mk: fix syntax checks without exclusions
22659         * top/maint.mk (_sc_search_regexp): Allow for empty variable.
22660         Reported by Daniel P. Berrange.
22662         strerror_r: avoid compiler warning
22663         * lib/strerror_r.c (strerror_r): Hoist extern declaration to top
22664         level.
22666         fflush: avoid compiler warning
22667         * lib/fflush.c (update_fpos_cache): Mark variables that are
22668         potentially unused.
22670 2012-03-25  Bruno Haible  <bruno@clisp.org>
22672         Tests for module 'localeconv'.
22673         * modules/localeconv-tests: New file.
22674         * tests/test-localeconv.c: New file.
22676         New module 'localeconv'.
22677         * lib/locale.in.h (localeconv): New declaration.
22678         * lib/localeconv.c: New file.
22679         * m4/localeconv.m4: New file.
22680         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_LOCALECONV,
22681         REPLACE_LOCALECONV.
22682         * modules/locale (Makefile.am): Substitute GNULIB_LOCALECONV,
22683         REPLACE_LOCALECONV.
22684         * modules/localeconv: New file.
22685         * modules/nl_langinfo (Depends-on): Add localeconv.
22686         * modules/human (Depends-on): Likewise.
22687         * doc/posix-functions/localeconv.texi: Mention the new module.
22689 2012-03-25  Bruno Haible  <bruno@clisp.org>
22691         locale: Provide a complete 'struct lconv'.
22692         * m4/locale_h.m4 (gl_LOCALE_H): Set REPLACE_STRUCT_LCONV to 1 if
22693         'struct lconv' does not contain int_p_cs_precedes.
22694         * tests/test-locale.c (main): Check that 'struct lconv' is complete.
22695         * doc/posix-headers/locale.texi: Update.
22697         locale: Provide a complete 'struct lconv' on Solaris 10, 11.
22698         * m4/locale_h.m4 (gl_LOCALE_H): On Solaris, define _LCONV_C99.
22699         * doc/posix-headers/locale.texi: Update.
22701         locale: Provide a working 'struct lconv'.
22702         * lib/locale.in.h (lconv): Override if REPLACE_STRUCT_LCONV is 1.
22703         * m4/locale_h.m4 (gl_LOCALE_H): Set REPLACE_STRUCT_LCONV to 1 if
22704         'struct lconv' does not even contain decimal_point.
22705         (gl_LOCALE_H_DEFAULTS): Initialize REPLACE_STRUCT_LCONV.
22706         * modules/locale (Makefile.am): Substitute REPLACE_STRUCT_LCONV.
22707         * tests/test-locale.c (main): Check that 'struct lconv' is complete.
22708         * doc/posix-headers/locale.texi: Mention the problems with
22709         'struct lconv'.
22710         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
22712 2012-03-24  Bruno Haible  <bruno@clisp.org>
22714         Enable common subexpression optimization in GCC.
22715         * lib/unitypes.in.h (_UC_ATTRIBUTE_CONST, _UC_ATTRIBUTE_PURE): New
22716         macros.
22717         * lib/unicase.in.h (uc_toupper, uc_tolower, uc_totitle): Declare with
22718         GCC attribute 'const'.
22719         (uc_locale_language): Declare with GCC attribute 'pure'.
22720         * lib/unicase/caseprop.h (uc_is_cased, uc_is_case_ignorable): Declare
22721         with GCC attribute 'const'.
22722         * lib/unictype.in.h (uc_is_general_category_withtable,
22723         uc_combining_class, uc_combining_class_name,
22724         uc_combining_class_long_name, uc_bidi_class_name,
22725         uc_bidi_category_name, uc_bidi_class_long_name, uc_bidi_class,
22726         uc_bidi_category, uc_is_bidi_class, uc_is_bidi_category,
22727         uc_decimal_value, uc_digit_value, uc_numeric_value,
22728         uc_joining_type_name, uc_joining_type_long_name, uc_joining_type,
22729         uc_joining_group_name, uc_joining_group, uc_is_property_*, uc_script,
22730         uc_block, uc_is_c_whitespace, uc_is_java_whitespace,
22731         uc_c_ident_category, uc_java_ident_category, uc_is_alnum, uc_is_alpha,
22732         uc_is_cntrl, uc_is_digit, uc_is_graph, uc_is_lower, uc_is_print,
22733         uc_is_punct, uc_is_space, uc_is_upper, uc_is_xdigit, uc_is_blank):
22734         Declare with GCC attribute 'const'.
22735         (uc_general_category_name, uc_general_category_long_name,
22736         uc_general_category_byname, uc_general_category,
22737         uc_is_general_category, uc_combining_class_byname,
22738         uc_bidi_class_byname, uc_bidi_category_byname, uc_joining_type_byname,
22739         uc_joining_group_byname, uc_script_byname, uc_is_script, uc_is_block):
22740         Declare with GCC attribute 'pure'.
22741         * lib/unigbrk.in.h (uc_graphemeclusterbreak_property,
22742         uc_is_grapheme_break, u8_grapheme_next, u16_grapheme_next,
22743         u32_grapheme_next, u8_grapheme_prev, u16_grapheme_prev,
22744         u32_grapheme_prev, lib/uniname.in.h (unicode_name_character): Declare
22745         with GCC attribute 'pure'.
22746         * lib/uninorm.in.h (uc_composition): Declare with GCC attribute
22747         'const'.
22748         (uninorm_decomposing_form): Declare with GCC attribute 'pure'.
22749         * lib/unistr.in.h (): Declare with GCC attribute 'const'.
22750         (u8_check, u16_check, u32_check, u8_mblen, u16_mblen, u32_mblen,
22751         u8_cmp, u16_cmp, u32_cmp, u8_cmp2, u16_cmp2, u32_cmp2, u8_chr, u16_chr,
22752         u32_chr, u8_mbsnlen, u16_mbsnlen, u32_mbsnlen, u8_strmblen,
22753         u16_strmblen, u32_strmblen, u8_strlen, u16_strlen, u32_strlen,
22754         u8_strnlen, u16_strnlen, u32_strnlen, u8_strcmp_gnu, u8_strcmp,
22755         u16_strcmp, u32_strcmp, u8_strncmp, u16_strncmp, u32_strncmp,
22756         u8_strchr, u16_strchr, u32_strchr, u8_strrchr, u16_strrchr,
22757         u32_strrchr, u8_strcspn, u16_strcspn, u32_strcspn, u8_strspn,
22758         u16_strspn, u32_strspn, u8_strpbrk, u16_strpbrk, u32_strpbrk,
22759         u8_strstr, u16_strstr, u32_strstr, u8_startswith, u16_startswith,
22760         u32_startswith, u8_endswith, u16_endswith, u32_endswith): Declare with
22761         GCC attribute 'pure'.
22762         * lib/uniwbrk.in.h (uc_wordbreak_property): Declare with GCC attribute
22763         'const'.
22764         * lib/uniwidth.in.h (uc_width): Simplify declaration.
22765         (u8_width, u16_width, u32_width, u8_strwidth, u16_strwidth,
22766         u32_strwidth): Declare with GCC attribute 'pure'.
22768         Enable common subexpression optimization in GCC.
22769         * lib/dirent.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
22770         (alphasort): Declare with GCC attribute 'pure'.
22771         * lib/stdlib.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
22772         (atoll): Declare with GCC attribute 'pure'.
22773         * lib/string.in.h (mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
22774         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
22775         mbsspn, strverscmp): Declare with GCC attribute 'pure'.
22776         * lib/wchar.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
22777         (btowc, wctob, wcwidth, wmemchr, wmemcmp, wcslen, wcsnlen, wcscmp,
22778         wcsncmp, wcscasecmp, wcsncasecmp, wcschr, wcsrchr, wcscspn, wcsspn,
22779         wcspbrk, wcsstr, wcswidth): Declare with GCC attribute 'pure'.
22781 2012-03-24  Bruno Haible  <bruno@clisp.org>
22783         gnulib-tool: Avoid unintended error output from 'cmp'.
22784         * gnulib-tool (func_add_file, func_update_file, func_import): Use
22785         "cmp -s", not "cmp > /dev/null".
22787 2012-03-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
22789         gnulib-tool: fix imprecise comments w.r.t. an automake bug
22791         It's not just Automake versions < 1.9b that creates an empty
22792         pkgdatadir at installation time if pkgdata_DATA is specified
22793         to empty; modern automake versions do this as well, at least
22794         until automake 1.11.4 (not yet released at the moment of writing,
22795         but soon to appear).  That behaviour was generally considered a
22796         feature rather than a bug, at least until this discussion:
22797         <http://lists.gnu.org/r/automake/2012-03/msg00014.html>
22799         See also automake bugs #10997 and #11030.
22801         * gnulib-tool (func_emit_lib_Makefile_am): Adjust comments.  Add
22802         reference to relevant automake bug numbers.
22803         (func_emit_tests_Makefile_am): Likewise.
22805 2012-03-20  Reuben Thomas  <rrt@sc3d.org>
22807         announce-gen: use Digest::SHA when possible
22808         * build-aux/announce-gen: Use Digest::SHA when possible, falling
22809         back to Digest::SHA1 if necessary.
22811 2012-03-20  Jim Meyering  <meyering@redhat.com>
22813         tests: avoid gcc warnings about argv vs. const initializers
22814         * tests/test-posix_spawn1.c (main): Cast to "(char *)" to avoid two
22815         warnings about discarding 'const' qualifier from pointer target type.
22816         * tests/test-posix_spawn2.c (main): Likewise.
22818 2012-03-20  Reuben Thomas  <rrt@sc3d.org>
22820         README-release: simplify slightly
22821         * top/README-release: Run "git checkout master" only once.
22823 2012-03-15  Mark Wielaard  <mark@klomp.org>
22825         git-merge-changelog: add specific example on how to use with hg.
22826         * lib/git-merge-changelog.c: Add example on how to use in .hgrc.
22828 2012-03-18  Mark Wielaard  <mark@klomp.org>
22830         lib/git-merge-changelog.c (status): Report bugs to bug-gnulib@gnu.org.
22832 2012-03-18  Andreas Oberritter  <obi@opendreambox.org>
22834         git-version-gen: don't let "prefix" envvar cause trouble
22835         * build-aux/git-version-gen (prefix): Initialize properly,
22836         so as not to use a value specified via the environment.
22837         Details here: http://thread.gmane.org/gmane.comp.gnu.parted.bugs/10810
22839 2012-03-16  Paul Eggert  <eggert@cs.ucla.edu>
22841         regex: diagnose too-large repeat counts in EREs
22842         Previously, the code did not diagnose the too-large repeat count
22843         in EREs like 'b{1000000000}'; instead, it silently treated the ERE
22844         as if it were 'b\{1000000000}', which is unexpected.
22845         * lib/regcomp.c (parse_dup_op): Fail with REG_ESIZE if a repeat count
22846         is too large.  REG_ESIZE is used nowhere else, and the diagnostic
22847         is a reasonable one for this problem.  Another option would be to
22848         create a new REG_OVERFLOW error for repeat counts that are too large.
22849         (fetch_number): Return RE_DUP_MAX + 1, not REG_ERROR, if the repeat
22850         count is too large, so that the caller can distinguish the two cases.
22851         * lib/regex.h (_REG_ESIZE): Document that this is now a generic
22852         "Too large" return code, and that repeat counts are one example of this.
22854 2012-03-16  Paul Eggert  <eggert@cs.ucla.edu>
22856         doc: some glibc x32 integer width issues
22857         * doc/posix-headers/sys_types.texi (sys/types.h):
22858         * doc/posix-headers/time.texi (time.h):
22859         Mention that glibc x32 does not conform to POSIX in a couple of
22860         areas related to integer widths.
22862 2012-03-15  Bruno Haible  <bruno@clisp.org>
22864         fmal: Avoid test failure on OpenBSD 5.1/SPARC64.
22865         * lib/fma.c (VOLATILE): New macro.
22866         (FUNC): Use it to work around a GCC compiler bug.
22868 2012-03-13  Bruno Haible  <bruno@clisp.org>
22870         hypotl: Bypass broken implementation in OpenBSD 5.1/SPARC.
22871         * m4/hypotl.m4 (gl_FUNC_HYPOTL_WORKS): New macro.
22872         (gl_FUNC_HYPOTL): Invoke it. If the function does not work, set
22873         REPLACE_HYPOTL to 1.
22874         * doc/posix-functions/hypotl.texi: Mention the OpenBSD 5.1/SPARC bug.
22876 2012-03-13  Bruno Haible  <bruno@clisp.org>
22878         remainderl: Bypass broken implementation in OpenBSD 5.1/SPARC.
22879         * m4/remainderl.m4 (gl_FUNC_REMAINDERL_WORKS): New macro.
22880         (gl_FUNC_REMAINDERL): Invoke it. If the function does not work, set
22881         REPLACE_REMAINDERL to 1.
22882         * doc/posix-functions/remainderl.texi: Mention the OpenBSD 5.1/SPARC
22883         bug.
22885 2012-03-13  Bruno Haible  <bruno@clisp.org>
22887         sqrtl: Bypass broken implementation in OpenBSD 5.1/SPARC.
22888         * lib/math.in.h (sqrtl): Replace it if REPLACE_SQRTL is 1.
22889         * m4/sqrtl.m4 (gl_FUNC_SQRTL_WORKS): New macro.
22890         (gl_FUNC_SQRTL): Invoke it. Set REPLACE_SQRTL to 1 if sqrtl() produces
22891         too big rounding errors.
22892         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_SQRTL.
22893         * modules/math (Makefile.am): Substitute REPLACE_SQRTL.
22894         * modules/sqrtl (configure.ac): Consider REPLACE_SQRTL.
22895         (Depends-on): Update conditions.
22896         * tests/test-sqrtl.c (my_ldexpl): New function.
22897         (main): Add test of a particular value.
22898         * doc/posix-functions/sqrtl.texi: Mention the OpenBSD 5.1/SPARC bug.
22900 2012-03-13  Pádraig Brady  <P@draigBrady.com>
22902         doc: Update timer_* platform portability notes.
22903         * doc/posix-functions/timer_create.texi: Add platforms (OpenBSD 4.9)
22904         that always return ENOSYS.
22905         * doc/posix-functions/timer_delete.texi: Likewise.
22906         * doc/posix-functions/timer_gettime.texi: Likewise.
22907         * doc/posix-functions/timer_settime.texi: Likewise.
22909 2012-03-13  Bruno Haible  <bruno@clisp.org>
22911         cbrtl: Bypass broken implementation in OpenBSD 5.1/SPARC.
22912         * m4/cbrtl.m4 (gl_FUNC_CBRTL_WORKS): New macro.
22913         (gl_FUNC_CBRTL): Invoke it. If the function does not work, set
22914         REPLACE_CBRTL to 1.
22915         * doc/posix-functions/cbrtl.texi: Mention the OpenBSD 5.1/SPARC bug.
22917 2012-03-13  Bruno Haible  <bruno@clisp.org>
22919         remainderl: Avoid compilation error on AIX >= 5.2.
22920         * lib/math.in.h (remainderl): Undefine macro from the system header.
22922 2012-03-13  Bruno Haible  <bruno@clisp.org>
22924         Avoid compilation errors with MSVC option -fp:strict.
22925         * lib/cbrt.c: Use MSVC specific pragma fenv_access.
22926         * lib/cbrtf.c: Likewise.
22927         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
22929 2012-03-12  Bruno Haible  <bruno@clisp.org>
22931         uninorm: Don't crash in out-of-memory conditions.
22932         * lib/uninorm/u-normalize-internal.h (FUNC): Handle malloc() failure
22933         gracefully.
22934         * lib/uninorm/uninorm-filter.c (uninorm_filter_write): Likewise.
22935         Based on a report and patch by Stephen Gallagher <sgallagh@redhat.com>.
22937 2012-03-13  Akim Demaille  <akim@lrde.epita.fr>
22939         quote: fix syntax-check
22940         * top/maint.mk (sc_prohibit_quote_without_use): quote.h
22941         also exports quote_quoting_options.
22943 2012-03-12  Simon Josefsson  <simon@josefsson.org>
22945         Collapse list of copyright years to ranges.  See
22946         <https://lists.gnu.org/r/bug-gnulib/2012-03/msg00051.html>.
22947         * build-aux/bootstrap.conf, build-aux/csharpcomp.sh.in,
22948         build-aux/csharpexec.sh.in, build-aux/gnupload,
22949         build-aux/install-reloc, build-aux/javacomp.sh.in,
22950         build-aux/javaexec.sh.in, build-aux/ldd.sh.in,
22951         build-aux/move-if-change, build-aux/reloc-ldflags,
22952         build-aux/relocatable.sh.in, build-aux/x-to-1.in: Fix copyright.
22954 2012-03-11  Bruno Haible  <bruno@clisp.org>
22956         log2f-ieee: Work around test failure on NetBSD 5.1 and Solaris 10.
22957         * m4/log2f-ieee.m4: New file.
22958         * m4/log2f.m4 (gl_FUNC_LOG2F): If gl_FUNC_LOG2F_IEEE is present, test
22959         whether log2f works with a minus zero argument. Replace it if not.
22960         * modules/log2f-ieee (Files): Add m4/log2f-ieee.m4.
22961         (Depends-on): Add log2-ieee.
22962         (configure.ac): Invoke gl_FUNC_LOG2F_IEEE.
22963         * doc/posix-functions/log2f.texi: Mention the log2f-ieee module.
22965         log2-ieee: Work around test failure on NetBSD 5.1 and Solaris 10.
22966         * m4/log2-ieee.m4: New file.
22967         * m4/log2.m4 (gl_FUNC_LOG2): If gl_FUNC_LOG2_IEEE is present, test
22968         whether log2 works with a minus zero argument. Replace it if not.
22969         * modules/log2-ieee (Files): Add m4/log2-ieee.m4.
22970         (configure.ac): Invoke gl_FUNC_LOG2_IEEE.
22971         * doc/posix-functions/log2.texi: Mention the log2-ieee module.
22973         Tests for module 'log2l-ieee'.
22974         * modules/log2l-ieee-tests: New file.
22975         * tests/test-log2l-ieee.c: New file.
22977         New module 'log2l-ieee'.
22978         * modules/log2l-ieee: New file.
22980         Tests for module 'log2-ieee'.
22981         * modules/log2-ieee-tests: New file.
22982         * tests/test-log2-ieee.c: New file.
22984         New module 'log2-ieee'.
22985         * modules/log2-ieee: New file.
22987         Tests for module 'log2f-ieee'.
22988         * modules/log2f-ieee-tests: New file.
22989         * tests/test-log2f-ieee.c: New file.
22990         * tests/test-log2-ieee.h: New file.
22992         New module 'log2f-ieee'.
22993         * modules/log2f-ieee: New file.
22995 2012-03-11  Bruno Haible  <bruno@clisp.org>
22997         Tests for module 'log2l'.
22998         * modules/log2l-tests: New file.
22999         * tests/test-log2l.c: New file.
23001         New module 'log2l'.
23002         * lib/math.in.h (log2l): New declaration.
23003         * lib/log2l.c: New file.
23004         * m4/log2l.m4: New file.
23005         * m4/math_h.m4 (gl_MATH_H): Test whether log2l is declared.
23006         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2L, HAVE_DECL_LOG2L,
23007         REPLACE_LOG2L.
23008         * modules/math (Makefile.am): Substitute GNULIB_LOG2L, HAVE_DECL_LOG2L,
23009         REPLACE_LOG2L.
23010         * modules/log2l: New file.
23011         * tests/test-math-c++.cc: Check the declaration of log2l.
23012         * doc/posix-functions/log2l.texi: Mention the new module and the IRIX
23013         and OSF/1 problems.
23015 2012-03-11  Bruno Haible  <bruno@clisp.org>
23017         Tests for module 'log2f'.
23018         * modules/log2f-tests: New file.
23019         * tests/test-log2f.c: New file.
23021         New module 'log2f'.
23022         * lib/math.in.h (log2f): New declaration.
23023         * lib/log2f.c: New file.
23024         * m4/log2f.m4: New file.
23025         * m4/math_h.m4 (gl_MATH_H): Test whether log2f is declared.
23026         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2F, HAVE_DECL_LOG2F,
23027         REPLACE_LOG2F.
23028         * modules/math (Makefile.am): Substitute GNULIB_LOG2F, HAVE_DECL_LOG2F,
23029         REPLACE_LOG2F.
23030         * modules/log2f: New file.
23031         * tests/test-math-c++.cc: Check the declaration of log2f.
23032         * doc/posix-functions/log2f.texi: Mention the new module and the IRIX
23033         and OSF/1 and Cygwin problems.
23035 2012-03-11  Bruno Haible  <bruno@clisp.org>
23037         Tests for module 'log2'.
23038         * modules/log2-tests: New file.
23039         * tests/test-log2.c: New file.
23040         * tests/test-log2.h: New file.
23042         New module 'log2'.
23043         * lib/math.in.h (log2): New declaration.
23044         * lib/log2.c: New file.
23045         * m4/log2.m4: New file.
23046         * m4/math_h.m4 (gl_MATH_H): Test whether log2 is declared.
23047         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2, HAVE_DECL_LOG2,
23048         REPLACE_LOG2.
23049         * modules/math (Makefile.am): Substitute GNULIB_LOG2, HAVE_DECL_LOG2,
23050         REPLACE_LOG2.
23051         * modules/log2: New file.
23052         * tests/test-math-c++.cc: Check the declaration of log2.
23053         * doc/posix-functions/log2.texi: Mention the new module and the IRIX
23054         and OSF/1 and Cygwin problems.
23056 2012-03-11  Bruno Haible  <bruno@clisp.org>
23058         exp2* tests: More tests.
23059         * tests/test-exp2.h (test_function): Test all integral arguments that
23060         don't need to overflow or denormalized numbers.
23061         * tests/test-exp2.c (MAX_EXP, MIN_EXP): New macros.
23062         * tests/test-exp2f.c (MAX_EXP, MIN_EXP): Likewise.
23063         * tests/test-exp2l.c (MAX_EXP, MIN_EXP): Likewise.
23065 2012-03-10  Bruno Haible  <bruno@clisp.org>
23067         log1pl-ieee: Work around test failure on AIX 7.1.
23068         * modules/log1pl-ieee (Depends-on): Add log1p-ieee.
23070         log1pl-ieee: Work around test failure on IRIX 6.5.
23071         * m4/log1pl-ieee.m4: New file.
23072         * m4/log1pl.m4 (gl_FUNC_LOG1PL): If gl_FUNC_LOG1PL_IEEE is present,
23073         test whether log1pl works with a minus zero argument. Replace it if
23074         not.
23075         * lib/math.in.h (log1pl): Override if REPLACE_LOG1PL is 1.
23076         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG1PL.
23077         * modules/math (Makefile.am): Substitute REPLACE_LOG1PL.
23078         * modules/log1pl (configure.ac): Consider REPLACE_LOG1PL.
23079         (Depends-on): Update conditions.
23080         * modules/log1pl-ieee (Files): Add m4/log1p-ieee.m4, m4/minus-zero.m4,
23081         m4/signbit.m4.
23082         (configure.ac): Invoke gl_FUNC_LOG1PL_IEEE.
23083         * doc/posix-functions/log1pl.texi: Mention the log1pl-ieee module.
23085         log1pf-ieee: Work around test failure on OpenBSD 4.9 and AIX 7.1.
23086         * m4/log1pf-ieee.m4: New file.
23087         * m4/log1pf.m4 (gl_FUNC_LOG1PF): If gl_FUNC_LOG1PF_IEEE is present,
23088         test whether log1pf works with a minus zero argument. Replace it if
23089         not.
23090         * modules/log1pf-ieee (Files): Add m4/log1pf-ieee.m4, m4/minus-zero.m4,
23091         m4/signbit.m4.
23092         (configure.ac): Invoke gl_FUNC_LOG1PF_IEEE.
23093         * doc/posix-functions/log1pf.texi: Mention the log1pf-ieee module.
23095         log1pf-ieee: Work around test failure on AIX 5.1 and HP-UX 11.
23096         * modules/log1pf-ieee (Depends-on): Add log1p-ieee.
23097         (configure.ac): Require gl_FUNC_LOG1PF.
23099         log1p-ieee: Work around test failure on AIX 7.1 and HP-UX 11.
23100         * m4/log1p-ieee.m4: New file.
23101         * m4/log1p.m4 (gl_FUNC_LOG1P): If gl_FUNC_LOG1P_IEEE is present, test
23102         whether log1p works with a minus zero argument. Replace it if not.
23103         * lib/math.in.h (log1p): Override if REPLACE_LOG1P is 1.
23104         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG1P.
23105         * modules/math (Makefile.am): Substitute REPLACE_LOG1P.
23106         * modules/log1p (configure.ac): Consider REPLACE_LOG1P.
23107         (Depends-on): Update conditions.
23108         * modules/log1p-ieee (Files): Add m4/log1p-ieee.m4, m4/minus-zero.m4,
23109         m4/signbit.m4.
23110         (configure.ac): Invoke gl_FUNC_LOG1P_IEEE.
23111         * doc/posix-functions/log1p.texi: Mention the log1p-ieee module.
23113         Tests for module 'log1pl-ieee'.
23114         * modules/log1pl-ieee-tests: New file.
23115         * tests/test-log1pl-ieee.c: New file.
23117         New module 'log1pl-ieee'.
23118         * modules/log1pl-ieee: New file.
23120         Tests for module 'log1p-ieee'.
23121         * modules/log1p-ieee-tests: New file.
23122         * tests/test-log1p-ieee.c: New file.
23124         New module 'log1p-ieee'.
23125         * modules/log1p-ieee: New file.
23127         Tests for module 'log1pf-ieee'.
23128         * modules/log1pf-ieee-tests: New file.
23129         * tests/test-log1pf-ieee.c: New file.
23130         * tests/test-log1p-ieee.h: New file.
23132         New module 'log1pf-ieee'.
23133         * modules/log1pf-ieee: New file.
23135 2012-03-10  Bruno Haible  <bruno@clisp.org>
23137         Tests for module 'log1pl'.
23138         * modules/log1pl-tests: New file.
23139         * tests/test-log1pl.c: New file.
23141         New module 'log1pl'.
23142         * lib/math.in.h (log1pl): New declaration.
23143         * lib/log1pl.c: New file.
23144         * m4/log1pl.m4: New file.
23145         * m4/math_h.m4 (gl_MATH_H): Test whether log1pl is declared.
23146         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PL, HAVE_LOG1PL.
23147         * modules/math (Makefile.am): Substitute GNULIB_LOG1PL, HAVE_LOG1PL.
23148         * modules/log1pl: New file.
23149         * tests/test-math-c++.cc: Check the declaration of log1pl.
23150         * doc/posix-functions/log1pl.texi: Mention the new module.
23152 2012-03-10  Bruno Haible  <bruno@clisp.org>
23154         Tests for module 'log1pf'.
23155         * modules/log1pf-tests: New file.
23156         * tests/test-log1pf.c: New file.
23158         New module 'log1pf'.
23159         * lib/math.in.h (log1pf): New declaration.
23160         * lib/log1pf.c: New file.
23161         * m4/log1pf.m4: New file.
23162         * m4/math_h.m4 (gl_MATH_H): Test whether log1pf is declared.
23163         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PF, HAVE_LOG1PF,
23164         REPLACE_LOG1PF.
23165         * modules/math (Makefile.am): Substitute GNULIB_LOG1PF, HAVE_LOG1PF,
23166         REPLACE_LOG1PF.
23167         * modules/log1pf: New file.
23168         * tests/test-math-c++.cc: Check the declaration of log1pf.
23169         * doc/posix-functions/log1pf.texi: Mention the new module.
23171 2012-03-10  Bruno Haible  <bruno@clisp.org>
23173         log1p tests: More tests.
23174         * tests/test-log1p.h: New file.
23175         * modules/log1p-tests (Files): Add tests/test-log1p.h, tests/randomd.c.
23176         (Makefile.am): Add randomd.c to test_log1p_SOURCES.
23177         * tests/test-log1p.c: Include <float.h> and test-log1p.h.
23178         (main): Invoke test_function.
23180         log1p: Provide replacement for Minix and MSVC.
23181         * lib/math.in.h (log1p): New declaration.
23182         * lib/log1p.c: New file.
23183         * m4/log1p.m4: New file.
23184         * m4/math_h.m4 (gl_MATH_H): Test whether log1p is declared.
23185         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1P, HAVE_LOG1P.
23186         * modules/math (Makefile.am): Substitute GNULIB_LOG1P, HAVE_LOG1P.
23187         * modules/log1p (Files): Add lib/log1p.c, m4/log1p.m4.
23188         (Depends-on): Add math, isnand, log, round.
23189         (configure.ac): Invoke gl_FUNC_LOG1P. Arrange to compile replacement if
23190         HAVE_LOG1P is 0.
23191         * tests/test-math-c++.cc: Check the declaration of log1p.
23192         * doc/posix-functions/log1p.texi: Mention the replacement.
23194 2012-03-10  Bruno Haible  <bruno@clisp.org>
23196         math tests: Small simplification.
23197         * tests/test-exp.h (test_function): Use the same err_bound for
23198         'double' on platforms with sizeof (long double) == sizeof (double)
23199         than on platforms with sizeof (long double) > sizeof (double).
23200         * tests/test-exp2.h (test_function): Likewise.
23201         * tests/test-expm1.h (test_function): Likewise.
23202         * tests/test-log.h (test_function): Likewise.
23204 2012-03-10  Bruno Haible  <bruno@clisp.org>
23206         Fix some comments.
23207         * lib/expl.c: Fix an ambiguous comment.
23208         * lib/expm1.c: Likewise.
23209         * lib/expm1l.c: Likewise.
23210         * lib/exp2.c: Likewise.
23211         * lib/exp2l.c: Likewise.
23213 2012-03-10  Paul Eggert  <eggert@cs.ucla.edu>
23215         regex: allow inclusion of <regex.h> before <limits.h>
23216         Without this patch, portable programs had to include <limits.h> before
23217         <regex.h> if they wanted a consistent value for RE_DUP_MAX.
23218         I ran into this problem with a test version of GNU grep on Solaris 8.
23219         * lib/regex.h: Include <limits.h> if _REGEX_INCLUDE_LIMITS_H.
23220         This is done conditionally so that this change can be merged
23221         back to glibc.
23222         * m4/regex.m4 (gl_REGEX): Define _REGEX_INCLUDE_LIMITS_H if
23223         using the included regex.
23225         fts: depend on fdopendir
23226         * modules/fts (Depends-on): Depend on fdopendir.  This is needed
23227         on Solaris 8, at least, since it lacks fdopendir.  Evidently the
23228         problem was introduced when fdopendir was split out.
23230 2012-03-10  Bruno Haible  <bruno@clisp.org>
23232         Remove unused variables.
23233         * m4/fmodf.m4 (gl_FUNC_FMODF): Remove unused variable 'i'.
23234         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
23236 2012-03-10  Bruno Haible  <bruno@clisp.org>
23238         isnanf-nolibm: Fix last commit.
23239         * lib/isnanf-nolibm.h [IRIX]: Don't include <ieeefp.h>. Declare isnanf.
23241         isnanf-nolibm: Make it work on IRIX 6.5 with cc.
23242         * lib/isnanf-nolibm.h [IRIX]: Include <ieeefp.h>.
23244 2012-03-10  Bruno Haible  <bruno@clisp.org>
23246         logf-ieee: Work around test failure on NetBSD 5.1.
23247         * m4/logf-ieee.m4: New file.
23248         * m4/logf.m4 (gl_FUNC_LOGF): If gl_FUNC_LOGF_IEEE is present, test
23249         whether logf works with a negative argument. Replace it if not.
23250         * lib/logf.c (logf): For negative arguments, return NaN.
23251         * modules/logf-ieee (Files): Add m4/logf-ieee.m4.
23252         (configure.ac): Invoke gl_FUNC_LOGF_IEEE.
23253         * doc/posix-functions/logf.texi: Mention the logf-ieee module.
23255         logf-ieee: Work around test failure on Solaris 9.
23256         * modules/logf-ieee (Depends-on): Add log-ieee.
23257         (configure.ac): Require gl_FUNC_LOGF.
23259         log-ieee: Work around test failure on NetBSD 5.1 and Solaris 11.
23260         * m4/log-ieee.m4: New file.
23261         * m4/log.m4 (gl_FUNC_LOG): If gl_FUNC_LOG_IEEE is present, test whether
23262         log works with a negative argument. Replace it if not.
23263         * lib/log.c (log): For negative arguments, return NaN.
23264         * modules/log-ieee (Files): Add m4/log-ieee.m4.
23265         (configure.ac): Invoke gl_FUNC_LOG_IEEE.
23266         * doc/posix-functions/log.texi: Mention the log-ieee module.
23268         Tests for module 'logl-ieee'.
23269         * modules/logl-ieee-tests: New file.
23270         * tests/test-logl-ieee.c: New file.
23272         New module 'logl-ieee'.
23273         * modules/logl-ieee: New file.
23275         Tests for module 'log-ieee'.
23276         * modules/log-ieee-tests: New file.
23277         * tests/test-log-ieee.c: New file.
23279         New module 'log-ieee'.
23280         * modules/log-ieee: New file.
23282         Tests for module 'logf-ieee'.
23283         * modules/logf-ieee-tests: New file.
23284         * tests/test-logf-ieee.c: New file.
23285         * tests/test-log-ieee.h: New file.
23287         New module 'logf-ieee'.
23288         * modules/logf-ieee: New file.
23290 2012-03-10  Bruno Haible  <bruno@clisp.org>
23292         log: Fix bug introduced on 2012-03-09.
23293         * m4/log.m4 (gl_FUNC_LOG): Require gl_MATH_H_DEFAULTS.
23295 2012-03-10  Pádraig Brady  <P@draigBrady.com>
23297         timer-time: link explicitly with pthreads on glibc
23298         * m4/timer_time.m4 (LIB_TIMER_TIME): Add -lpthread
23299         to support static linking, when newer glibc is
23300         detected, as that contains pthread emulation of
23301         POSIX timer functions where required.
23302         * modules/timer-time: Depend on threadlib to
23303         pull in the appropriate library to link.
23305 2012-03-10  Bruno Haible  <bruno@clisp.org>
23307         log* tests: More tests.
23308         * tests/test-log.h: New file.
23309         * tests/test-log.c: Include <float.h>, minus-zero.h, test-log.h.
23310         (main): Invoke test_function.
23311         * tests/test-logf.c: Include <float.h>, minus-zero.h, test-log.h.
23312         (main): Invoke test_function.
23313         * tests/test-logl.c: Include <float.h>, minus-zero.h, test-log.h.
23314         (main): Invoke test_function.
23315         * modules/log-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
23316         tests/randomd.c.
23317         (Makefile.am): Add randomd.c to test_log_SOURCES.
23318         * modules/logf-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
23319         tests/randomf.c.
23320         (Makefile.am): Add randomf.c to test_logf_SOURCES.
23321         * modules/logl-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
23322         tests/randoml.c.
23323         (Depends-on): Add 'float'.
23324         (Makefile.am): Add randoml.c to test_logl_SOURCES.
23326 2012-03-09  Bruno Haible  <bruno@clisp.org>
23328         logl: Work around OSF/1 5.1 bug.
23329         * lib/math.in.h (logl): Override if REPLACE_LOGL is 1.
23330         * lib/logl.c (logl): If logl exists, use it and provide just the
23331         workaround.
23332         * m4/logl.m4 (gl_FUNC_LOGL_WORKS): New macro.
23333         (gl_FUNC_LOGL): Invoke it. Set REPLACE_LOGL.
23334         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGL.
23335         * modules/math (Makefile.am): Substitute REPLACE_LOGL.
23336         * modules/logl (configure.ac): Consider REPLACE_LOGL.
23337         (Depends-on): Update conditions.
23338         * doc/posix-functions/logl.texi: Mention the OSF/1 5.1 problem.
23340 2012-03-09  Bruno Haible  <bruno@clisp.org>
23342         logf: Work around OSF/1 5.1 bug.
23343         * lib/math.in.h (logf): Override if REPLACE_LOGF is 1.
23344         * lib/logf.c (logf): If logf exists, use it and provide just the
23345         workaround.
23346         * m4/logf.m4 (gl_FUNC_LOGF_WORKS): New macro.
23347         (gl_FUNC_LOGF): Invoke it. Set REPLACE_LOGF.
23348         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGF.
23349         * modules/math (Makefile.am): Substitute REPLACE_LOGF.
23350         * modules/logf (configure.ac): Consider REPLACE_LOGF.
23351         (Depends-on): Update conditions.
23352         * doc/posix-functions/logf.texi: Mention the OSF/1 5.1 problem.
23354 2012-03-09  Bruno Haible  <bruno@clisp.org>
23356         log: Work around OSF/1 5.1 bug.
23357         * lib/math.in.h (log): New declaration.
23358         * lib/log.c: New file.
23359         * m4/log.m4 (gl_FUNC_LOG_WORKS): New macro.
23360         (gl_FUNC_LOG): Invoke it. Set REPLACE_LOG.
23361         * m4/math_h.m4 (gl_MATH_H): Test whether log is declared.
23362         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG, REPLACE_LOG.
23363         * modules/math (Makefile.am): Substitute GNULIB_LOG, REPLACE_LOG.
23364         * modules/log (Files): Add lib/log.c.
23365         (Depends-on): Add math.
23366         (configure.ac): If REPLACE_LOG is 1, compile an override.
23367         * tests/test-math-c++.cc: Check the declaration of log.
23368         * doc/posix-functions/log.texi: Mention the OSF/1 5.1 problem.
23370 2012-03-09  Jim Meyering  <meyering@redhat.com>
23372         readtokens.c: adjust wording in a comment
23373         * lib/readtokens.c: Insert omitted "that" in a comment.
23375 2012-03-08  Paul Eggert  <eggert@cs.ucla.edu>
23377         modechange: add notations +40, 00440, etc.
23378         * lib/modechange.c (mode_compile): Support new notations
23379         +40, -40, =440, 00440.  See <http://debbugs.gnu.org/8391>.
23381 2012-03-08  Bruno Haible  <bruno@clisp.org>
23383         exp2l-ieee: Work around test failure on OpenBSD 4.9 and IRIX 6.5.
23384         * m4/exp2l-ieee.m4: New file.
23385         * m4/exp2l.m4 (gl_FUNC_EXP2L): If gl_FUNC_EXP2L_IEEE is present,
23386         test whether exp2l works with a NaN argument and with a negative
23387         infinity argument. Replace it if not.
23388         * lib/math.in.h (exp2l): Override if REPLACE_EXP2L is 1.
23389         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXP2L.
23390         * modules/math (Makefile.am): Substitute REPLACE_EXP2L.
23391         * modules/exp2l (configure.ac): Consider REPLACE_EXP2L.
23392         (Depends-on): Update conditions.
23393         * modules/exp2l-ieee (Files): Add m4/exp2l-ieee.m4.
23394         (configure.ac): Invoke gl_FUNC_EXP2L_IEEE.
23395         * doc/posix-functions/exp2l.texi: Mention the exp2l-ieee module.
23397         Tests for module 'exp2l-ieee'.
23398         * modules/exp2l-ieee-tests: New file.
23399         * tests/test-exp2l-ieee.c: New file.
23401         New module 'exp2l-ieee'.
23402         * modules/exp2l-ieee: New file.
23404         Tests for module 'exp2-ieee'.
23405         * modules/exp2-ieee-tests: New file.
23406         * tests/test-exp2-ieee.c: New file.
23408         New module 'exp2-ieee'.
23409         * modules/exp2-ieee: New file.
23411         Tests for module 'exp2f-ieee'.
23412         * modules/exp2f-ieee-tests: New file.
23413         * tests/test-exp2f-ieee.c: New file.
23414         * tests/test-exp2-ieee.h: New file.
23416         New module 'exp2f-ieee'.
23417         * modules/exp2f-ieee: New file.
23419 2012-03-08  Bruno Haible  <bruno@clisp.org>
23421         Tests for module 'exp2l'.
23422         * modules/exp2l-tests: New file.
23423         * tests/test-exp2l.c: New file.
23425         New module 'exp2l'.
23426         * lib/math.in.h (exp2l): New declaration.
23427         * lib/exp2l.c: New file.
23428         * lib/expl-table.c: New file, extracted from lib/expl.c.
23429         * lib/expl.c (gl_expl_table): New declaration.
23430         (expl): Remove expl_table. Update reference.
23431         * m4/exp2l.m4: New file.
23432         * m4/math_h.m4 (gl_MATH_H): Test whether exp2l is declared.
23433         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2L, HAVE_DECL_EXP2L.
23434         * modules/math (Makefile.am): Substitute GNULIB_EXP2L, HAVE_DECL_EXP2L.
23435         * modules/exp2l: New file.
23436         * modules/expl (Files): Add lib/expl-table.c.
23437         (configure.ac): Compile also expl-table.c.
23438         * tests/test-math-c++.cc: Check the declaration of exp2l.
23439         * doc/posix-functions/exp2l.texi: Mention the new module and the IRIX
23440         problem.
23442 2012-03-08  Bruno Haible  <bruno@clisp.org>
23444         Tests for module 'exp2f'.
23445         * modules/exp2f-tests: New file.
23446         * tests/test-exp2f.c: New file.
23448         New module 'exp2f'.
23449         * lib/math.in.h (exp2f): New declaration.
23450         * lib/exp2f.c: New file.
23451         * m4/exp2f.m4: New file.
23452         * m4/math_h.m4 (gl_MATH_H): Test whether exp2f is declared.
23453         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2F, HAVE_DECL_EXP2F.
23454         * modules/math (Makefile.am): Substitute GNULIB_EXP2F, HAVE_DECL_EXP2F.
23455         * modules/exp2f: New file.
23456         * tests/test-math-c++.cc: Check the declaration of exp2f.
23457         * doc/posix-functions/exp2f.texi: Mention the new module and the
23458         IRIX problem.
23460 2012-03-08  Bruno Haible  <bruno@clisp.org>
23462         Tests for module 'exp2'.
23463         * modules/exp2-tests: New file.
23464         * tests/test-exp2.c: New file.
23465         * tests/test-exp2.h: New file.
23467         New module 'exp2'.
23468         * lib/math.in.h (exp2): New declaration.
23469         * lib/exp2.c: New file.
23470         * m4/exp2.m4: New file.
23471         * m4/math_h.m4 (gl_MATH_H): Test whether exp2 is declared.
23472         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2, HAVE_DECL_EXP2,
23473         REPLACE_EXP2.
23474         * modules/math (Makefile.am): Substitute GNULIB_EXP2, HAVE_DECL_EXP2,
23475         REPLACE_EXP2.
23476         * modules/exp2: New file.
23477         * tests/test-math-c++.cc: Check the declaration of exp2.
23478         * doc/posix-functions/exp2.texi: Mention the new module and the IRIX
23479         and OpenBSD problems.
23481 2012-03-08  Paul Eggert  <eggert@cs.ucla.edu>
23483         savedir: fix comment typo
23484         * lib/savedir.c (savedirstream): Fix typo in comment.
23486 2012-03-08  Bruno Haible  <bruno@clisp.org>
23488         test-readtokens.c: use const; remove unwarranted cast
23489         * tests/test-readtokens.c: Declare delim to be const, to avoid a cast.
23491 2012-03-08  Bruno Haible  <bruno@clisp.org>
23493         fmal: Avoid compilation error on AIX.
23494         * lib/math.in.h (fmal): Undefine macro before declaration. Needed on
23495         AIX 5.2..7.1.
23497 2012-03-08  Bruno Haible  <bruno@clisp.org>
23499         fma, fmaf, fmal: Override undeclared system functions on IRIX 6.5.
23500         * m4/fma.m4 (gl_FUNC_FMA): If fma() exists but is not declared,
23501         arrange to set REPLACE_FMA=1, not HAVE_FMA=0.
23502         * m4/fmaf.m4 (gl_FUNC_FMAF): If fmaf() exists but is not declared,
23503         arrange to set REPLACE_FMAF=1, not HAVE_FMAF=0.
23504         * m4/fmal.m4 (gl_FUNC_FMAL): If fmal() exists but is not declared,
23505         arrange to set REPLACE_FMAL=1, not HAVE_FMAL=0.
23507 2012-03-08  Bruno Haible  <bruno@clisp.org>
23509         remainderf: Override buggy system function on IRIX 6.5.
23510         * m4/remainderf.m4 (gl_FUNC_REMAINDERF_WORKS): New macro.
23511         (gl_FUNC_REMAINDERF): Invoke it. Don't assume remainderf() is declared
23512         when it exists.
23513         * doc/posix-functions/remainderf.texi: Mention the IRIX problems.
23515 2012-03-08  Jim Meyering  <meyering@redhat.com>
23517         test-readtokens.c: avoid const-related compilation warnings
23518         * tests/test-readtokens.c: Avoid const-related compilation warnings.
23520 2012-03-07  Jim Meyering  <meyering@redhat.com>
23521             Bruno Haible  <bruno@clisp.org>
23523         frexp-nolibm, frexpl-nolibm tests: Fix bug introduced on 2012-03-03.
23524         * modules/frexp-nolibm-tests (Files): Add tests/test-frexp.h,
23525         tests/randomd.c.
23526         (Makefile.am): Add randomd.c to test_frexp_nolibm_SOURCES.
23527         * modules/frexpl-nolibm-tests (Files): Add tests/test-frexp.h,
23528         tests/randoml.c.
23529         (Makefile.am): Add randoml.c to test_frexpl_nolibm_SOURCES.
23531 2012-03-07  Bruno Haible  <bruno@clisp.org>
23533         expm1l: Avoid compilation error on AIX.
23534         * lib/math.in.h (expm1l): Undefine macro before declaration. Needed on
23535         AIX 5.2..7.1.
23537 2012-03-07  Bruno Haible  <bruno@clisp.org>
23539         expm1l: Don't override undeclared system function on IRIX 6.5.
23540         * lib/math.in.h (expm1l): Test HAVE_DECL_EXPM1L, not HAVE_EXPM1L.
23541         * m4/expm1l.m4 (gl_FUNC_EXPM1L): Don't assume expm1l() is declared when
23542         it exists. Set HAVE_DECL_EXPM1L.
23543         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_EXPM1L, not
23544         HAVE_EXPM1L.
23545         * modules/math (Makefile.am): Substitute HAVE_DECL_EXPM1L, not
23546         HAVE_EXPM1L.
23547         * doc/posix-functions/expm1l.texi: Mention missing declaration problem.
23549 2012-03-07  Bruno Haible  <bruno@clisp.org>
23551         remainderl: Don't override undeclared system function on IRIX 6.5.
23552         * lib/math.in.h (remainderl): Test HAVE_DECL_REMAINDERL, not
23553         HAVE_REMAINDERL.
23554         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Don't assume remainderl() is
23555         declared when it exists. Set HAVE_DECL_REMAINDERL.
23556         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_REMAINDERL,
23557         not HAVE_REMAINDERL.
23558         * modules/math (Makefile.am): Substitute HAVE_DECL_REMAINDERL, not
23559         HAVE_REMAINDERL.
23560         * doc/posix-functions/remainderl.texi: Mention missing declaration
23561         problem.
23563 2012-03-07  Bruno Haible  <bruno@clisp.org>
23565         rintf: Don't override undeclared system function on IRIX 6.5.
23566         * lib/math.in.h (rintf): Test HAVE_DECL_RINTF, not HAVE_RINTF.
23567         * m4/rintf.m4 (gl_FUNC_RINTF): Don't assume rintf() is declared when it
23568         exists. Set HAVE_DECL_RINTF.
23569         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_RINTF, not
23570         HAVE_RINTF.
23571         * modules/math (Makefile.am): Substitute HAVE_DECL_RINTF, not
23572         HAVE_RINTF.
23573         * doc/posix-functions/rintf.texi: Mention missing declaration problem.
23575 2012-03-07  Bruno Haible  <bruno@clisp.org>
23577         roundl: Avoid compilation error on AIX.
23578         * lib/math.in.h (roundl): Undefine macro before declaration. Needed on
23579         AIX 5.2..7.1.
23581 2012-03-07  Bruno Haible  <bruno@clisp.org>
23583         roundl: Don't override undeclared system function on IRIX 6.5.
23584         * m4/roundl.m4 (gl_FUNC_ROUNDL): Search for roundl() in the libraries
23585         also when it is not declared. Set HAVE_ROUNDL. For replacement code,
23586         test HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
23587         * modules/roundl (configure.ac): For replacement code, test
23588         HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
23589         (Depends-on): Update conditions.
23590         * doc/posix-functions/roundl.texi: Mention the IRIX problem.
23592 2012-03-07  Bruno Haible  <bruno@clisp.org>
23594         roundf: Don't override undeclared system function on IRIX 6.5.
23595         * m4/roundf.m4 (gl_FUNC_ROUNDF): Search for roundf() in the libraries
23596         also when it is not declared. Set HAVE_ROUNDF. For replacement code,
23597         test HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
23598         * modules/roundf (configure.ac): For replacement code, test
23599         HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
23600         (Depends-on): Update conditions.
23601         * modules/roundf-ieee (Depends-on): Update conditions.
23602         * doc/posix-functions/roundf.texi: Mention the IRIX problem.
23604 2012-03-07  Bruno Haible  <bruno@clisp.org>
23606         round: Don't override undeclared system function on IRIX 6.5.
23607         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Accept an optional third
23608         argument.
23609         * m4/round.m4 (gl_FUNC_ROUND): Search for round() in the libraries
23610         also when it is not declared. Set HAVE_ROUND. For replacement code,
23611         test HAVE_ROUND, not HAVE_DECL_ROUND.
23612         * modules/round (configure.ac): For replacement code, test HAVE_ROUND,
23613         not HAVE_DECL_ROUND.
23614         (Depends-on): Update conditions.
23615         * modules/round-ieee (Depends-on): Update conditions.
23616         * doc/posix-functions/round.texi: Mention the IRIX problem.
23618 2012-03-07  Bruno Haible  <bruno@clisp.org>
23620         copysignf: Don't override undeclared system function on IRIX 6.5.
23621         * lib/math.in.h (copysignf): Test HAVE_DECL_COPYSIGNF, not
23622         HAVE_COPYSIGNF.
23623         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Don't assume copysignf() is
23624         declared when it exists. Set HAVE_DECL_COPYSIGNF.
23625         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_COPYSIGNF,
23626         not HAVE_COPYSIGNF.
23627         * modules/math (Makefile.am): Substitute HAVE_DECL_COPYSIGNF, not
23628         HAVE_COPYSIGNF.
23629         * doc/posix-functions/copysignf.texi: Mention missing declaration
23630         problem.
23632 2012-03-07  Jim Meyering  <meyering@redhat.com>
23634         readtokens: add tests
23635         * modules/readtokens-tests: New file.
23636         * tests/test-readtokens.c: New file.
23638 2012-03-07  Jim Meyering  <meyering@redhat.com>
23640         quotearg: the module must now include quote.h
23641         With commit v0.0-7133-g6417476, quotearg.c includes "quote.h".
23642         So must the module.
23643         * modules/quotearg (Files): Add quote.h.
23645 2012-03-06  Paul Eggert  <eggert@cs.ucla.edu>
23647         readtokens: avoid core dumps with unusual calling patterns
23648         Reported by Xu Zhongxing in <http://debbugs.gnu.org/10953>.
23649         * lib/readtokens.c: Include limits.h.
23650         (word, bits_per_word, get_nth_bit, set_nth_bit): New.
23651         (readtoken): Don't cache the delimiters; the cache code was buggy
23652         if !delim && saved_delim, or if the new n_delim differs from the old.
23653         Also, it wasn't thread-safe.
23655 2012-03-07  Bruno Haible  <bruno@clisp.org>
23657         quote: Adhere to common module description layout.
23658         * modules/quote (Makefile.am): Add back empty section.
23660 2012-03-06  Akim Demaille  <demaille@gostai.com>
23662         quote: fuse into quotearg
23663         This patch is made for the benefit of Bison.
23664         quote does not leave the choice of the quoting style to the user.
23665         quoting_style provides poor customizability, yet quoting_options,
23666         which is very rich, is hidden inside quotearg.c.  So in order to
23667         allow quote customization, move its implementation to quotearg.c.
23668         * lib/quote.c: Remove.
23669         * modules/quote: Adjust.
23670         * lib/quotearg.c (quoting_options_from_style): Fix a compiler
23671         warning: provide all the members of literal structs.
23672         (quote_quoting_options): New.
23673         (quote, quote_n): Import implementation from quote.c.
23674         * lib/quote.h: Import the comments from quote.c.
23675         (quote_quoting_options): New.
23677 2012-03-06  Bruno Haible  <bruno@clisp.org>
23679         Tests for module 'expm1l-ieee'.
23680         * modules/expm1l-ieee-tests: New file.
23681         * tests/test-expm1l-ieee.c: New file.
23683         New module 'expm1l-ieee'.
23684         * modules/expm1l-ieee: New file.
23686         Tests for module 'expm1f-ieee'.
23687         * modules/expm1f-ieee-tests: New file.
23688         * tests/test-expm1f-ieee.c: New file.
23690         New module 'expm1f-ieee'.
23691         * modules/expm1f-ieee: New file.
23693         Tests for module 'expm1-ieee'.
23694         * modules/expm1-ieee-tests: New file.
23695         * tests/test-expm1-ieee.c: New file.
23696         * tests/test-expm1-ieee.h: New file.
23698         New module 'expm1-ieee'.
23699         * modules/expm1-ieee: New file.
23700         * m4/expm1-ieee.m4: New file.
23701         * m4/expm1.m4 (gl_FUNC_EXPM1): If gl_FUNC_EXPM1_IEEE is present, test
23702         whether expm1 works with a minus zero argument. Replace it if not.
23703         * lib/math.in.h (expm1): Override if REPLACE_EXPM1 is 1.
23704         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1.
23705         * modules/math (Makefile.am): Substitute REPLACE_EXPM1.
23706         * modules/expm1 (configure.ac): Consider REPLACE_EXPM1.
23707         (Depends-on): Update conditions.
23708         * doc/posix-functions/expm1.texi: Mention the expm1-ieee module and the
23709         AIX problem.
23711 2012-03-06  Bruno Haible  <bruno@clisp.org>
23713         Work around expm1f bug on IRIX 6.5.
23714         * lib/math.in.h (expm1f): Override if REPLACE_EXPM1F is 1.
23715         * m4/expm1f.m4 (gl_FUNC_EXPM1F_WORKS): New macro.
23716         (gl_FUNC_EXPM1F): Invoke it. Set REPLACE_EXPM1F to 1 if expm1f() does
23717         not work.
23718         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1F.
23719         * modules/math (Makefile.am): Substitute REPLACE_EXPM1F.
23720         * modules/expm1f (configure.ac): Consider REPLACE_EXPM1F.
23721         (Depends-on): Update conditions.
23722         * doc/posix-functions/expm1f.texi: Mention the IRIX 6.5 bug.
23724 2012-03-06  Bruno Haible  <bruno@clisp.org>
23726         Tests for module 'expm1l'.
23727         * modules/expm1l-tests: New file.
23728         * tests/test-expm1l.c: New file.
23730         New module 'expm1l'.
23731         * lib/math.in.h (expm1l): New declaration.
23732         * lib/expm1l.c: New file.
23733         * m4/expm1l.m4: New file.
23734         * m4/math_h.m4 (gl_MATH_H): Test whether expm1l is declared.
23735         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1L, HAVE_EXPM1L.
23736         * modules/math (Makefile.am): Substitute GNULIB_EXPM1L, HAVE_EXPM1L.
23737         * modules/expm1l: New file.
23738         * tests/test-math-c++.cc: Check the declaration of expm1l.
23739         * doc/posix-functions/expm1l.texi: Mention the new module.
23741 2012-03-06  Bruno Haible  <bruno@clisp.org>
23743         Tests for module 'expm1f'.
23744         * modules/expm1f-tests: New file.
23745         * tests/test-expm1f.c: New file.
23747         New module 'expm1f'.
23748         * lib/math.in.h (expm1f): New declaration.
23749         * lib/expm1f.c: New file.
23750         * m4/expm1f.m4: New file.
23751         * m4/math_h.m4 (gl_MATH_H): Test whether expm1f is declared.
23752         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1F, HAVE_EXPM1F.
23753         * modules/math (Makefile.am): Substitute GNULIB_EXPM1F, HAVE_EXPM1F.
23754         * modules/expm1f: New file.
23755         * tests/test-math-c++.cc: Check the declaration of expm1f.
23756         * doc/posix-functions/expm1f.texi: Mention the new module.
23758 2012-03-06  Bruno Haible  <bruno@clisp.org>
23760         Tests for module 'expm1'.
23761         * modules/expm1-tests: New file.
23762         * tests/test-expm1.c: New file.
23763         * tests/test-expm1.h: New file.
23765         New module 'expm1'.
23766         * lib/math.in.h (expm1): New declaration.
23767         * lib/expm1.c: New file.
23768         * m4/expm1.m4: New file.
23769         * m4/math_h.m4 (gl_MATH_H): Test whether expm1 is declared.
23770         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1, HAVE_EXPM1.
23771         * modules/math (Makefile.am): Substitute GNULIB_EXPM1, HAVE_EXPM1.
23772         * modules/expm1: New file.
23773         * tests/test-math-c++.cc: Check the declaration of expm1.
23774         * doc/posix-functions/expm1.texi: Mention the new module.
23776 2012-03-06  Bruno Haible  <bruno@clisp.org>
23778         math: Ensure declarations of math functions.
23779         * modules/acosf (Depends-on): Add 'extensions'.
23780         * modules/asinf (Depends-on): Likewise.
23781         * modules/atan2f (Depends-on): Likewise.
23782         * modules/atanf (Depends-on): Likewise.
23783         * modules/cbrt (Depends-on): Likewise.
23784         * modules/cbrtf (Depends-on): Likewise.
23785         * modules/cbrtl (Depends-on): Likewise.
23786         * modules/copysignf (Depends-on): Likewise.
23787         * modules/copysignl (Depends-on): Likewise.
23788         * modules/cosf (Depends-on): Likewise.
23789         * modules/coshf (Depends-on): Likewise.
23790         * modules/expf (Depends-on): Likewise.
23791         * modules/fabsf (Depends-on): Likewise.
23792         * modules/fabsl (Depends-on): Likewise.
23793         * modules/fmaf (Depends-on): Likewise.
23794         * modules/fmal (Depends-on): Likewise.
23795         * modules/fmodf (Depends-on): Likewise.
23796         * modules/fmodl (Depends-on): Likewise.
23797         * modules/frexpf (Depends-on): Likewise.
23798         * modules/frexpl (Depends-on): Likewise.
23799         * modules/hypot (Depends-on): Likewise.
23800         * modules/hypotf (Depends-on): Likewise.
23801         * modules/hypotl (Depends-on): Likewise.
23802         * modules/ldexpf (Depends-on): Likewise.
23803         * modules/ldexpl (Depends-on): Likewise.
23804         * modules/log10f (Depends-on): Likewise.
23805         * modules/log10l (Depends-on): Likewise.
23806         * modules/log1p (Depends-on): Likewise.
23807         * modules/logb (Depends-on): Likewise.
23808         * modules/logf (Depends-on): Likewise.
23809         * modules/modff (Depends-on): Likewise.
23810         * modules/modfl (Depends-on): Likewise.
23811         * modules/powf (Depends-on): Likewise.
23812         * modules/remainderf (Depends-on): Likewise.
23813         * modules/remainderl (Depends-on): Likewise.
23814         * modules/rintf (Depends-on): Likewise.
23815         * modules/rintl (Depends-on): Likewise.
23816         * modules/sinf (Depends-on): Likewise.
23817         * modules/sinhf (Depends-on): Likewise.
23818         * modules/sqrtf (Depends-on): Likewise.
23819         * modules/tanf (Depends-on): Likewise.
23820         * modules/tanhf (Depends-on): Likewise.
23821         * m4/acosf.m4 (gl_FUNC_ACOSF): Require gl_USE_SYSTEM_EXTENSIONS.
23822         * m4/asinf.m4 (gl_FUNC_ASINF): Likewise.
23823         * m4/atan2f.m4 (gl_FUNC_ATAN2F): Likewise.
23824         * m4/atanf.m4 (gl_FUNC_ATANF): Likewise.
23825         * m4/cbrt.m4 (gl_FUNC_CBRT): Likewise.
23826         * m4/cbrtf.m4 (gl_FUNC_CBRTF): Likewise.
23827         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Likewise.
23828         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Likewise.
23829         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Likewise.
23830         * m4/cosf.m4 (gl_FUNC_COSF): Likewise.
23831         * m4/coshf.m4 (gl_FUNC_COSHF): Likewise.
23832         * m4/expf.m4 (gl_FUNC_EXPF): Likewise.
23833         * m4/fabsf.m4 (gl_FUNC_FABSF): Likewise.
23834         * m4/fabsl.m4 (gl_FUNC_FABSL): Likewise.
23835         * m4/fmaf.m4 (gl_FUNC_FMAF): Likewise.
23836         * m4/fmal.m4 (gl_FUNC_FMAL): Likewise.
23837         * m4/fmodf.m4 (gl_FUNC_FMODF): Likewise.
23838         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
23839         * m4/frexpf.m4 (gl_FUNC_FREXPF): Likewise.
23840         * m4/frexpl.m4 (gl_FUNC_FREXPL): Likewise.
23841         * m4/hypot.m4 (gl_FUNC_HYPOT): Likewise.
23842         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Likewise.
23843         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Likewise.
23844         * m4/ldexpf.m4 (gl_FUNC_LDEXPF): Likewise.
23845         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
23846         * m4/log10f.m4 (gl_FUNC_LOG10F): Likewise.
23847         * m4/log10l.m4 (gl_FUNC_LOF10L): Likewise.
23848         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
23849         * m4/logf.m4 (gl_FUNC_LOGF): Likewise.
23850         * m4/modff.m4 (gl_FUNC_MODFF): Likewise.
23851         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
23852         * m4/powf.m4 (gl_FUNC_POWF): Likewise.
23853         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
23854         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
23855         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
23856         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
23857         * m4/sinf.m4 (gl_FUNC_SINF): Likewise.
23858         * m4/sinhf.m4 (gl_FUNC_SINHF): Likewise.
23859         * m4/sqrtf.m4 (gl_FUNC_SQRTF): Likewise.
23860         * m4/tanf.m4 (gl_FUNC_TANF): Likewise.
23861         * m4/tanhf.m4 (gl_FUNC_TANHF): Likewise.
23863 2012-03-06  Bruno Haible  <bruno@clisp.org>
23865         math: Update module names in warnings.
23866         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
23867         tanl): Use specific module name in warn-on-use warning.
23869 2012-03-06  Bruno Haible  <bruno@clisp.org>
23871         expl: Simplify computation.
23872         * lib/expl.c (expl): Simplify computation of exp_y. Fix comment.
23874 2012-03-05  Bruno Haible  <bruno@clisp.org>
23876         exp* tests: More tests.
23877         * tests/test-exp.h: New file.
23878         * tests/test-exp.c: Include <float.h> and test-exp.h.
23879         (main): Invoke test_function.
23880         * tests/test-expf.c: Include <float.h> and test-exp.h.
23881         (main): Invoke test_function.
23882         * tests/test-expl.c: Include <float.h> and test-exp.h.
23883         (main): Invoke test_function.
23884         * modules/exp-tests (Files): Add tests/test-exp.h, tests/randomd.c.
23885         (Makefile.am): Add randomd.c to test_exp_SOURCES.
23886         * modules/expf-tests (Files): Add tests/test-exp.h, tests/randomf.c.
23887         (Makefile.am): Add randomf.c to test_expf_SOURCES.
23888         * modules/expl-tests (Files): Add tests/test-exp.h, tests/randoml.c.
23889         (Depends-on): Add 'float'.
23890         (Makefile.am): Add randoml.c to test_expl_SOURCES.
23892         expl: Fix precision of computed result.
23893         * lib/expl.c: Completely rewritten.
23894         * modules/expl (Depends-on): Add isnanl, roundl, ldexpl. Remove floorl.
23895         (Maintainer): Add me.
23896         * m4/expl.m4 (gl_FUNC_EXPL): Update computation of EXPL_LIBM.
23898 2012-03-05  Bruno Haible  <bruno@clisp.org>
23900         cbrt* tests: More tests.
23901         * tests/test-cbrt.h: New file.
23902         * tests/test-cbrt.c: Include <float.h> and test-cbrt.h.
23903         (main): Invoke test_function.
23904         * tests/test-cbrtf.c: Include <float.h> and test-cbrt.h.
23905         (main): Invoke test_function.
23906         * tests/test-cbrtl.c: Include <float.h> and test-cbrt.h.
23907         (main): Invoke test_function.
23908         * modules/cbrt-tests (Files): Add tests/test-cbrt.h, tests/randomd.c.
23909         (Makefile.am): Add randomd.c to test_cbrt_SOURCES.
23910         * modules/cbrtf-tests (Files): Add tests/test-cbrt.h, tests/randomf.c.
23911         (Makefile.am): Add randomf.c to test_cbrtf_SOURCES.
23912         * modules/cbrtl-tests (Files): Add tests/test-cbrt.h, tests/randoml.c.
23913         (Depends-on): Add 'float'.
23914         (Makefile.am): Add randoml.c to test_cbrtl_SOURCES.
23916 2012-03-05  Bruno Haible  <bruno@clisp.org>
23918         hypot* tests: More tests.
23919         * tests/test-hypot.h: New file, partially extracted from
23920         tests/test-hypotl.c.
23921         * tests/test-hypot.c: Include test-hypot.h.
23922         (main): Invoke test_function.
23923         * tests/test-hypotf.c: Include test-hypot.h.
23924         (main): Invoke test_function.
23925         * tests/test-hypotl.c: Include fpucw.h and test-hypot.h.
23926         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING and test_function.
23927         * modules/hypot-tests (Files): Add tests/test-hypot.h, tests/randomd.c.
23928         (Makefile.am): Add randomd.c to test_hypot_SOURCES.
23929         * modules/hypotf-tests (Files): Add tests/test-hypot.h,
23930         tests/randomf.c.
23931         (Makefile.am): Add randomf.c to test_hypotf_SOURCES.
23932         * modules/hypotl-tests (Files): Add tests/test-hypot.h,
23933         tests/randoml.c.
23934         (Depends-on): Add 'fpucw', 'float'.
23935         (Makefile.am): Add randoml.c to test_hypotl_SOURCES.
23937 2012-03-05  Bruno Haible  <bruno@clisp.org>
23939         fpucw: Doc about FreeBSD.
23940         * lib/fpucw.h: Mention FreeBSD in comments.
23942 2012-03-04  Bruno Haible  <bruno@clisp.org>
23944         sqrt* tests: More tests.
23945         * tests/test-sqrt.h: New file.
23946         * tests/test-sqrt.c: Include <float.h> and test-sqrt.h.
23947         (main): Invoke test_function.
23948         * tests/test-sqrtf.c: Include <float.h> and test-sqrt.h.
23949         (main): Invoke test_function.
23950         * tests/test-sqrtl.c: Include <float.h> and test-sqrt.h.
23951         (main): Invoke test_function.
23952         * modules/sqrt-tests (Files): Add tests/test-sqrt.h, tests/randomd.c.
23953         (Makefile.am): Add randomd.c to test_sqrt_SOURCES.
23954         * modules/sqrtf-tests (Files): Add tests/test-sqrt.h, tests/randomf.c.
23955         (Makefile.am): Add randomf.c to test_sqrtf_SOURCES.
23956         * modules/sqrtl-tests (Files): Add tests/test-sqrt.h, tests/randoml.c.
23957         (Depends-on): Add 'float'.
23958         (Makefile.am): Add randoml.c to test_sqrtl_SOURCES.
23960 2012-03-04  Bruno Haible  <bruno@clisp.org>
23962         remainder* tests: More tests.
23963         * tests/test-remainder.h: New file, based on tests/test-fmod.h.
23964         * tests/test-remainder.c: Include <float.h> and test-remainder.h.
23965         (main): Invoke test_function.
23966         * tests/test-remainderf.c: Include <float.h> and test-remainder.h.
23967         (main): Invoke test_function.
23968         * tests/test-remainderl.c: Include <float.h> and test-remainder.h.
23969         (main): Invoke test_function.
23970         * modules/remainder-tests (Files): Add tests/test-remainder.h,
23971         tests/randomd.c.
23972         (Makefile.am): Add randomd.c to test_remainder_SOURCES.
23973         * modules/remainderf-tests (Files): Add tests/test-remainder.h,
23974         tests/randomf.c.
23975         (Makefile.am): Add randomf.c to test_remainderf_SOURCES.
23976         * modules/remainderl-tests (Files): Add tests/test-remainder.h,
23977         tests/randoml.c.
23978         (Depends-on): Add 'float'.
23979         (Makefile.am): Add randoml.c to test_remainderl_SOURCES.
23981 2012-03-04  Bruno Haible  <bruno@clisp.org>
23983         remainder, remainderf, remainderl: Fix computation for large quotients.
23984         * lib/remainder.c: Completely rewritten.
23985         * lib/remainderf.c (remainderf): Use implementation of remainder.c with
23986         USE_FLOAT.
23987         * lib/remainderl.c (remainderl): Use implementation of remainder.c with
23988         USE_LONG_DOUBLE.
23989         * modules/remainder (Depends-on): Add isfinite, signbit, fabs, fmod,
23990         isnand, isinf. Remove round, fma.
23991         * modules/remainderf (Files): Add lib/remainder.c.
23992         (Depends-on): Add isfinite, signbit, fabsf, fmodf, isnanf, isinf.
23993         Remove roundf, fmaf.
23994         * modules/remainderl (Files): Add lib/remainder.c.
23995         (Depends-on): Add float, isfinite, signbit, fabsl, fmodl, isnanl,
23996         isinf. Remove roundl, fmal.
23997         * m4/remainder.m4 (gl_FUNC_REMAINDER): Update computation of
23998         REMAINDER_LIBM.
23999         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Update computation of
24000         REMAINDERF_LIBM.
24001         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Update computation of
24002         REMAINDERL_LIBM.
24004 2012-03-04  Bruno Haible  <bruno@clisp.org>
24006         fmod* tests: More tests.
24007         * tests/test-fmod.h (my_ldexp): New function.
24008         (test_function): Reduce amount of random numbers to test. Add tests
24009         of very large quotients x / y.
24010         * tests/test-fmod.c (MAX_EXP): New macro.
24011         * tests/test-fmodf.c (MAX_EXP): Likewise.
24012         * tests/test-fmodl.c (MAX_EXP): Likewise.
24014 2012-03-04  Bruno Haible  <bruno@clisp.org>
24016         fmod, fmodl: Fix computation for large quotients x / y.
24017         * lib/fmod.c: Completely rewritten.
24018         * lib/fmodl.c (fmodl): Use implementation of fmod.c with
24019         USE_LONG_DOUBLE.
24020         * modules/fmod (Depends-on): Add isfinite, signbit, fabs, frexp, ldexp,
24021         isnand. Remove fma.
24022         * modules/fmodl (Files): Add lib/fmod.c.
24023         (Depends-on): Add float, isfinite, signbit, fabsl,
24024         frexpl, ldexpl, isnanl. Remove fma.
24025         * m4/fmod.m4 (gl_FUNC_FMOD): Update computation of FMOD_LIBM.
24026         * m4/fmodl.m4 (gl_FUNC_FMODL): Update computation of FMODL_LIBM.
24028 2012-03-03  Bruno Haible  <bruno@clisp.org>
24030         fmod* tests: More tests.
24031         * tests/test-fmod.h: New file.
24032         * tests/test-fmod.c: Include <float.h> and test-fmod.h.
24033         (main): Invoke test_function.
24034         * tests/test-fmodf.c: Include <float.h> and test-fmod.h.
24035         (main): Invoke test_function.
24036         * tests/test-fmodl.c: Include <float.h> and test-fmod.h.
24037         (main): Invoke test_function.
24038         * modules/fmod-tests (Files): Add tests/test-fmod.h, tests/randomd.c.
24039         (Makefile.am): Add randomd.c to test_fmod_SOURCES.
24040         * modules/fmodf-tests (Files): Add tests/test-fmod.h, tests/randomf.c.
24041         (Makefile.am): Add randomf.c to test_fmodf_SOURCES.
24042         * modules/fmodl-tests (Files): Add tests/test-fmod.h, tests/randoml.c.
24043         (Depends-on): Add 'float'.
24044         (Makefile.am): Add randoml.c to test_fmodl_SOURCES.
24046 2012-03-03  Bruno Haible  <bruno@clisp.org>
24048         rint* tests: More tests.
24049         * tests/test-rint.h: New file, partially extracted from
24050         tests/test-rintl.c.
24051         * tests/test-rint.c: Include test-rint.h.
24052         (main): Invoke test_function.
24053         * tests/test-rintf.c: Include test-rint.h.
24054         (main): Invoke test_function.
24055         * tests/test-rintl.c: Include test-rint.h.
24056         (main): Invoke test_function.
24057         * modules/rint-tests (Files): Add tests/test-rint.h, tests/randomd.c.
24058         (Makefile.am): Add randomd.c to test_rint_SOURCES.
24059         * modules/rintf-tests (Files): Add tests/test-rint.h, tests/randomf.c.
24060         (Makefile.am): Add randomf.c to test_rintf_SOURCES.
24061         * modules/rintl-tests (Files): Add tests/test-rint.h, tests/randoml.c.
24062         (Makefile.am): Add randoml.c to test_rintl_SOURCES.
24064 2012-03-03  Bruno Haible  <bruno@clisp.org>
24066         modf* tests: More tests.
24067         * tests/test-modf.h: New file.
24068         * tests/test-modf.c: Include <float.h> and test-modf.h.
24069         (main): Invoke test_function.
24070         * tests/test-modff.c: Include <float.h> and test-modf.h.
24071         (main): Invoke test_function.
24072         * tests/test-modfl.c: Include <float.h> and test-modf.h.
24073         (main): Invoke test_function.
24074         * modules/modf-tests (Files): Add tests/test-modf.h, tests/randomd.c.
24075         (Makefile.am): Add randomd.c to test_modf_SOURCES.
24076         * modules/modff-tests (Files): Add tests/test-modf.h, tests/randomf.c.
24077         (Makefile.am): Add randomf.c to test_modff_SOURCES.
24078         * modules/modfl-tests (Files): Add tests/test-modf.h, tests/randoml.c.
24079         (Depends-on): Add 'float'.
24080         (Makefile.am): Add randoml.c to test_modfl_SOURCES.
24082 2012-03-03  Bruno Haible  <bruno@clisp.org>
24084         fabs* tests: More tests.
24085         * tests/test-fabs.h: New file, partially extracted from
24086         tests/test-fabsl.c.
24087         * tests/test-fabs.c (RANDOM): New macro.
24088         * tests/test-fabsf.c (RANDOM): New macro.
24089         * tests/test-fabsl.c (RANDOM): New macro.
24090         * modules/fabs-tests (Files): Add tests/randomd.c.
24091         (Makefile.am): Add randomd.c to test_fabs_SOURCES.
24092         * modules/fabsf-tests (Files): Add tests/randomf.c.
24093         (Makefile.am): Add randomf.c to test_fabsf_SOURCES.
24094         * modules/fabsl-tests (Files): Add tests/randoml.c.
24095         (Makefile.am): Add randoml.c to test_fabsl_SOURCES.
24097 2012-03-03  Bruno Haible  <bruno@clisp.org>
24099         ldexp* tests: More tests.
24100         * tests/test-ldexp.h (test_function): Add some pseudo-randomized tests.
24101         * tests/test-ldexp.c (RANDOM): New macro.
24102         * tests/test-ldexpf.c (RANDOM): New macro.
24103         * tests/test-ldexpl.c (RANDOM): New macro.
24104         * modules/ldexp-tests (Files): Add tests/randomd.c.
24105         (Makefile.am): Add randomd.c to test_ldexp_SOURCES.
24106         * modules/ldexpf-tests (Files): Add tests/randomf.c.
24107         (Makefile.am): Add randomf.c to test_ldexpf_SOURCES.
24108         * modules/ldexpl-tests (Files): Add tests/randoml.c.
24109         (Makefile.am): Add randoml.c to test_ldexpl_SOURCES.
24111 2012-03-03  Bruno Haible  <bruno@clisp.org>
24113         frexp* tests: More tests.
24114         * tests/test-frexp.h (test_function): Add some pseudo-randomized tests.
24115         * tests/test-frexp.c (RANDOM): New macro.
24116         * tests/test-frexpf.c (RANDOM): New macro.
24117         * tests/test-frexpl.c (RANDOM): New macro.
24118         * modules/frexp-tests (Files): Add tests/randomd.c.
24119         (Makefile.am): Add randomd.c to test_frexp_SOURCES.
24120         * modules/frexpf-tests (Files): Add tests/randomf.c.
24121         (Makefile.am): Add randomf.c to test_frexpf_SOURCES.
24122         * modules/frexpl-tests (Files): Add tests/randoml.c.
24123         (Makefile.am): Add randoml.c to test_frexpl_SOURCES.
24125 2012-03-03  Bruno Haible  <bruno@clisp.org>
24127         Support for pseudo-random numbers in tests.
24128         * tests/randomf.c: New file.
24129         * tests/randomd.c: New file.
24130         * tests/randoml.c: New file.
24131         * tests/macros.h (randomf, randomd, randoml): New declarations.
24133 2012-03-03  Bruno Haible  <bruno@clisp.org>
24135         frexp* tests: Refactor.
24136         * tests/test-frexp.h: New file, extracted from tests/test-frexpl.c.
24137         * tests/test-frexp.c: Include and use it.
24138         * tests/test-frexpf.c: Likewise.
24139         * tests/test-frexpl.c: Likewise.
24140         * modules/frexp-tests (Files): Add tests/test-frexp.h.
24141         * modules/frexpf-tests (Files): Likewise.
24142         * modules/frexpl-tests (Files): Likewise.
24144 2012-03-02  Jim Meyering  <meyering@redhat.com>
24146         maint: don't specify XZ_OPT=-9ev in dist-related rule
24147         Using xz's -9 option is warranted only if you have a very large
24148         tarball (see xz's documentation for the sizes vs. presets), and
24149         requires 64MiB of memory at decompression time.
24150         * top/maint.mk (alpha beta stable): Don't specify XZ_OPT=-9ev.
24151         Automake's default of just "-e" is fine.  Override on a
24152         per-package basis by setting XZ_OPT e.g., in cfg.mk.
24154 2012-03-01  Eric Blake  <eblake@redhat.com>
24156         maint.mk: allow announcement for non-gnulib project
24157         * maint.mk (announcement): Skip gnulib version if not used.
24159 2012-03-01  Jim Meyering  <meyering@redhat.com>
24161         maint.mk: avoid spurious failure of _sc_search_regexp-using tests
24162         * top/maint.mk: Initialize _sc_search_regexp parameters, so that
24163         envvar settings cannot interfere.  Otherwise, setting envvars like
24164         prohibit=foo require=bar, etc. would cause spurious test failures.
24166 2012-03-01  Eric Blake  <eblake@redhat.com>
24168         maint.mk: add per-line exclusions to prohibitions
24169         * maint.mk (_sc_search_regexp): Add $exclude parameter.
24170         (sc_prohibit_strcmp, sc_unmarked_diagnostics)
24171         (sc_const_long_option): Use it.
24173 2012-03-01  Bruno Haible  <bruno@clisp.org>
24175         Tests for module 'expl-ieee'.
24176         * modules/expl-ieee-tests: New file.
24177         * tests/test-expl-ieee.c: New file.
24179         New module 'expl-ieee'.
24180         * modules/expl-ieee: New file.
24182         Tests for module 'exp-ieee'.
24183         * modules/exp-ieee-tests: New file.
24184         * tests/test-exp-ieee.c: New file.
24186         New module 'exp-ieee'.
24187         * modules/exp-ieee: New file.
24189         Tests for module 'expf-ieee'.
24190         * modules/expf-ieee-tests: New file.
24191         * tests/test-expf-ieee.c: New file.
24192         * tests/test-exp-ieee.h: New file.
24194         New module 'expf-ieee'.
24195         * modules/expf-ieee: New file.
24197 2012-02-29  Bruno Haible  <bruno@clisp.org>
24199         cbrtl-ieee: Work around test failure on IRIX 6.5.
24200         * m4/cbrtl-ieee.m4: New file.
24201         * m4/cbrtl.m4 (gl_FUNC_CBRTL): If gl_FUNC_CBRTL_IEEE is present,
24202         test whether cbrtl works with a minus zero argument. Replace it if not.
24203         * lib/math.in.h (cbrtl): Override if REPLACE_CBRTL is 1.
24204         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTL.
24205         * modules/math (Makefile.am): Substitute REPLACE_CBRTL.
24206         * modules/cbrtl (configure.ac): Consider REPLACE_CBRTL.
24207         (Depends-on): Update conditions.
24208         * modules/cbrtl-ieee (Files): Add m4/cbrtl-ieee.m4, m4/minus-zero.m4,
24209         m4/signbit.m4.
24210         (configure.ac): Invoke gl_FUNC_CBRTL_IEEE.
24211         * lib/cbrtl.c (cbrtl) [IRIX]: Avoid an unnecessary addition.
24212         * doc/posix-functions/cbrtl.texi: Mention the cbrtl-ieee module.
24214         Tests for module 'cbrtl-ieee'.
24215         * modules/cbrtl-ieee-tests: New file.
24216         * tests/test-cbrtl-ieee.c: New file.
24218         New module 'cbrtl-ieee'.
24219         * modules/cbrtl-ieee: New file.
24221         Tests for module 'cbrt-ieee'.
24222         * modules/cbrt-ieee-tests: New file.
24223         * tests/test-cbrt-ieee.c: New file.
24225         New module 'cbrt-ieee'.
24226         * modules/cbrt-ieee: New file.
24228         Tests for module 'cbrtf-ieee'.
24229         * modules/cbrtf-ieee-tests: New file.
24230         * tests/test-cbrtf-ieee.c: New file.
24231         * tests/test-cbrt-ieee.h: New file.
24233         New module 'cbrtf-ieee'.
24234         * modules/cbrtf-ieee: New file.
24236 2012-02-29  Bruno Haible  <bruno@clisp.org>
24238         cbrtf: Work around bug in IRIX 6.5 system function.
24239         * lib/math.in.h (cbrtf): Override if REPLACE_CBRTF is 1.
24240         * m4/cbrtf.m4 (gl_FUNC_CBRTF_WORKS): New macro.
24241         (gl_FUNC_CBRTF): Invoke it. Set REPLACE_CBRTF to 1 if cbrtf() does not
24242         work.
24243         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTF.
24244         * modules/math (Makefile.am): Substitute REPLACE_CBRTF.
24245         * modules/cbrtf (configure.ac): Consider REPLACE_CBRTF.
24246         (Depends-on): Update conditions.
24247         * doc/posix-functions/cbrtf.texi: Mention the IRIX 6.5 problem.
24249 2012-02-29  Bruno Haible  <bruno@clisp.org>
24251         Tests for module 'cbrtl'.
24252         * modules/cbrtl-tests: New file.
24253         * tests/test-cbrtl.c: New file.
24255         New module 'cbrtl'.
24256         * lib/math.in.h (cbrtl): New declaration.
24257         * lib/cbrtl.c: New file.
24258         * m4/cbrtl.m4: New file.
24259         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtl is declared.
24260         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTL, HAVE_CBRTL,
24261         HAVE_DECL_CBRTL.
24262         * modules/math (Makefile.am): Substitute GNULIB_CBRTL, HAVE_CBRTL,
24263         HAVE_DECL_CBRTL.
24264         * modules/cbrtl: New file.
24265         * tests/test-math-c++.cc: Check the declaration of cbrtl.
24266         * doc/posix-functions/cbrtl.texi: Mention the new module.
24268 2012-02-29  Bruno Haible  <bruno@clisp.org>
24270         Tests for module 'cbrtf'.
24271         * modules/cbrtf-tests: New file.
24272         * tests/test-cbrtf.c: New file.
24274         New module 'cbrtf'.
24275         * lib/math.in.h (cbrtf): New declaration.
24276         * lib/cbrtf.c: New file.
24277         * m4/cbrtf.m4: New file.
24278         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtf is declared.
24279         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTF, HAVE_CBRTF,
24280         HAVE_DECL_CBRTF.
24281         * modules/math (Makefile.am): Substitute GNULIB_CBRTF, HAVE_CBRTF,
24282         HAVE_DECL_CBRTF.
24283         * modules/cbrtf: New file.
24284         * tests/test-math-c++.cc: Check the declaration of cbrtf.
24285         * doc/posix-functions/cbrtf.texi: Mention the new module.
24287 2012-02-29  Bruno Haible  <bruno@clisp.org>
24289         cbrt: Provide replacement on MSVC and Minix.
24290         * lib/math.in.h (cbrt): New declaration.
24291         * lib/cbrt.c: New file.
24292         * m4/cbrt.m4: New file.
24293         * m4/math_h.m4 (gl_MATH_H): Test whether cbrt is declared.
24294         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRT, HAVE_CBRT.
24295         * modules/math (Makefile.am): Substitute GNULIB_CBRT, HAVE_CBRT.
24296         * modules/cbrt (Files): Add lib/cbrt.c, m4/cbrt.m4.
24297         (Depends-on): Add dependencies.
24298         (configure.ac): Arrange to compile replacement if HAVE_CBRT is 0.
24299         * tests/test-math-c++.cc: Check the declaration of cbrt.
24300         * doc/posix-functions/cbrt.texi: Mention that the module provides a
24301         replacement.
24303 2012-02-29  Bruno Haible  <bruno@clisp.org>
24305         hypotl-ieee: Work around test failure on OSF/1 and native Windows.
24306         * m4/hypotl-ieee.m4: New file.
24307         * m4/hypotl.m4 (gl_FUNC_HYPOTL): If gl_FUNC_HYPOTL_IEEE is present,
24308         test whether hypotl works with mixed NaN and Infinity arguments.
24309         Replace it if not.
24310         * lib/math.in.h (hypotl): Override if REPLACE_HYPOTL is 1.
24311         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_HYPOTL.
24312         * modules/math (Makefile.am): Substitute REPLACE_HYPOTL.
24313         * modules/hypotl (configure.ac): Consider REPLACE_HYPOTL.
24314         (Depends-on): Update conditions.
24315         * modules/hypotl-ieee (Files): Add m4/hypotl-ieee.m4.
24316         (Depends-on): Add hypot-ieee.
24317         (configure.ac): Invoke gl_FUNC_HYPOTL_IEEE.
24318         * doc/posix-functions/hypotl.texi: Mention the hypotl-ieee module.
24320         hypotf-ieee: Work around test failure on OSF/1 and native Windows.
24321         * m4/hypotf-ieee.m4: New file.
24322         * m4/hypotf.m4 (gl_FUNC_HYPOTF): If gl_FUNC_HYPOTF_IEEE is present,
24323         test whether hypotf works with mixed NaN and Infinity arguments.
24324         Replace it if not.
24325         * modules/hypotf-ieee (Files): Add m4/hypotf-ieee.m4.
24326         (Depends-on): Add hypot-ieee.
24327         (configure.ac): Invoke gl_FUNC_HYPOTF_IEEE.
24328         * doc/posix-functions/hypotf.texi: Mention the hypotf-ieee module.
24330         hypot-ieee: Work around test failure on OSF/1 and native Windows.
24331         * lib/math.in.h (hypot): New declaration.
24332         * lib/hypot.c: New file.
24333         * m4/hypot-ieee.m4: New file.
24334         * m4/hypot.m4 (gl_FUNC_HYPOT): If gl_FUNC_HYPOT_IEEE is present, test
24335         whether hypot works with mixed NaN and Infinity arguments. Replace it
24336         if not.
24337         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOT,
24338         REPLACE_HYPOT.
24339         * modules/math (Makefile.am): Substitute GNULIB_HYPOT, REPLACE_HYPOT.
24340         * modules/hypot (Files): Add lib/hypot.c.
24341         (Depends-on): Add dependencies.
24342         (configure.ac): Arrange to compile replacement if REPLACE_HYPOT is 1.
24343         * modules/hypot-ieee (Files): Add m4/hypot-ieee.m4.
24344         (configure.ac): Invoke gl_FUNC_HYPOT_IEEE.
24345         * tests/test-math-c++.cc: Check the declaration of hypot.
24346         * doc/posix-functions/hypot.texi: Mention the hypot-ieee module.
24348         Tests for module 'hypotl-ieee'.
24349         * modules/hypotl-ieee-tests: New file.
24350         * tests/test-hypotl-ieee.c: New file.
24352         New module 'hypotl-ieee'.
24353         * modules/hypotl-ieee: New file.
24355         Tests for module 'hypot-ieee'.
24356         * modules/hypot-ieee-tests: New file.
24357         * tests/test-hypot-ieee.c: New file.
24359         New module 'hypot-ieee'.
24360         * modules/hypot-ieee: New file.
24362         Tests for module 'hypotf-ieee'.
24363         * modules/hypotf-ieee-tests: New file.
24364         * tests/test-hypotf-ieee.c: New file.
24365         * tests/test-hypot-ieee.h: New file.
24367         New module 'hypotf-ieee'.
24368         * modules/hypotf-ieee: New file.
24370 2012-02-29  Bruno Haible  <bruno@clisp.org>
24372         Remove unused variables.
24373         * m4/fmod.m4 (gl_FUNC_FMOD): Remove unused variable 'i'.
24374         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
24375         * m4/remainder.m4 (gl_FUNC_REMAINDER): Likewise.
24376         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
24378 2012-02-29  Eric Blake  <eblake@redhat.com>
24380         termios: fix pid_t always, not just for tcgetsid
24381         * doc/posix-headers/termios.texi (termios.h): Mention problem.
24382         * lib/termios.in.h (include): Ensure pid_t on all platforms, not
24383         just when building tcgetsid.
24385 2012-02-29  Bruno Haible  <bruno@clisp.org>
24387         Tests for module 'hypotl'.
24388         * modules/hypotl-tests: New file.
24389         * tests/test-hypotl.c: New file.
24391         New module 'hypotl'.
24392         * lib/math.in.h (hypotl): New declaration.
24393         * lib/hypotl.c: New file.
24394         * m4/hypotl.m4: New file.
24395         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
24396         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTL, HAVE_HYPOTL.
24397         * modules/math (Makefile.am): Substitute GNULIB_HYPOTL, HAVE_HYPOTL.
24398         * modules/hypotl: New file.
24399         * tests/test-math-c++.cc: Check the hypotl declaration.
24400         * doc/posix-functions/hypotl.texi: Mention the new module.
24402 2012-02-29  Eric Blake  <eblake@redhat.com>
24404         tcgetsid: fix cygwin header bug
24405         * lib/termios.in.h (includes) [Cygwin]: Ensure pid_t is defined.
24407         docs: update cygwin progress
24408         * doc/posix-functions/llround.texi (llround): Added in cygwin
24409         1.7.8.
24410         * doc/posix-functions/llroundf.texi (llroundf): Likewise.
24411         * doc/glibc-functions/program_invocation_name.texi
24412         (program_invocation_name): Likewise.
24413         * doc/glibc-functions/program_invocation_short_name.texi
24414         (program_invocation_short_name): Likewise.
24415         * doc/glibc-functions/madvise.texi (madvise): Likewise.
24416         * doc/glibc-functions/pthread_yield.texi (pthread_yield):
24417         Likewise.
24418         * doc/posix-functions/pthread_spin_destroy.texi
24419         (pthread_spin_destroy): Added in cygwin 1.7.10.
24420         * doc/posix-functions/pthread_spin_init.texi (pthread_spin_init):
24421         Likewise.
24422         * doc/posix-functions/pthread_spin_lock.texi (pthread_spin_lock):
24423         Likewise.
24424         * doc/posix-functions/pthread_spin_trylock.texi
24425         (pthread_spin_trylock): Likewise.
24426         * doc/posix-functions/pthread_spin_unlock.texi
24427         (pthread_spin_unlock): Likewise.
24428         * doc/posix-functions/pthread_setschedprio.texi
24429         (pthread_setschedprio): Likewise.
24430         * doc/posix-functions/pthread_attr_getstack.texi
24431         (pthread_attr_getstack): Likewise.
24432         * doc/pastposix-functions/pthread_attr_getstackaddr.texi
24433         (pthread_attr_getstackaddr): Likewise.
24434         * doc/glibc-functions/pthread_getattr_np.texi
24435         (pthread_getattr_np): Likewise.
24436         * doc/glibc-functions/sys_siglist.texi (sys_siglist): Likewise.
24437         * doc/glibc-functions/sysinfo.texi (sysinfo): Likewise.
24438         * doc/posix-functions/clock_settime.texi (clock_settime):
24439         Likewise.
24440         * doc/posix-functions/pthread_attr_getguardsize.texi
24441         (pthread_attr_getguardsize): Likewise.
24442         * doc/posix-functions/pthread_attr_setguardsize.texi
24443         (pthread_attr_setguardsize): Likewise.
24444         * doc/posix-functions/pthread_attr_setstack.texi
24445         (pthread_attr_setstack): Likewise.
24446         * doc/pastposix-functions/pthread_attr_setstackaddr.texi
24447         (pthread_attr_setstackaddr): Likewise.
24448         * doc/posix-functions/clock_getcpuclockid.texi
24449         (clock_getcpuclockid): Likewise.
24450         * doc/posix-functions/pthread_getcpuclockid.texi
24451         (pthread_getcpuclockid): Likewise.
24452         * doc/glibc-functions/error.texi (error): Likewise.
24453         * doc/glibc-functions/error_at_line.texi (error_at_line):
24454         Likewise.
24455         * doc/glibc-functions/error_message_count.texi
24456         (error_message_count): Likewise.
24457         * doc/glibc-functions/error_one_per_line.texi
24458         (error_one_per_line): Likewise.
24459         * doc/glibc-functions/error_print_progname.texi
24460         (error_print_progname): Likewise.
24461         * doc/posix-functions/pthread_condattr_getclock.texi
24462         (pthread_condattr_getclock): Likewise.
24463         * doc/posix-functions/pthread_condattr_setclock.texi
24464         (pthread_condattr_setclock): Likewise.
24465         * doc/posix-functions/clock_nanosleep.texi (clock_nanosleep):
24466         Likewise.
24467         * doc/glibc-functions/getgrouplist.texi (getgrouplist): Likewise.
24468         * doc/glibc-functions/getpt.texi (getpt): Likewise.
24469         * doc/glibc-functions/get_current_dir_name.texi
24470         (get_current_dir_name): Likewise.
24471         * doc/glibc-functions/pthread_sigqueue.texi (pthread_sigqueue):
24472         Likewise.
24473         * doc/posix-functions/tcgetsid.texi (tcgetsid): Likewise, but with
24474         wrong return type.
24475         * doc/glibc-functions/scandirat.texi (scandirat): Added in cygwin
24476         1.7.11.
24478 2012-02-29  Bruno Haible  <bruno@clisp.org>
24480         Tests for module 'hypotf'.
24481         * modules/hypotf-tests: New file.
24482         * tests/test-hypotf.c: New file.
24484         New module 'hypotf'.
24485         * lib/math.in.h (hypotf): New declaration.
24486         * lib/hypotf.c: New file.
24487         * m4/hypotf.m4: New file.
24488         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
24489         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTF, HAVE_HYPOTF,
24490         REPLACE_HYPOTF.
24491         * modules/math (Makefile.am): Substitute GNULIB_HYPOTF, HAVE_HYPOTF,
24492         REPLACE_HYPOTF.
24493         * modules/hypotf: New file.
24494         * tests/test-math-c++.cc: Check the hypotf declaration.
24495         * doc/posix-functions/hypotf.texi: Mention the new module.
24497         hypot: Prepare for hypotf module.
24498         * m4/hypot.m4: New file.
24499         * modules/hypot (Files): Add m4/hypot.m4.
24500         (configure.ac): Invoke gl_FUNC_HYPOT.
24502 2012-02-29  Bruno Haible  <bruno@clisp.org>
24504         hypot tests: More tests.
24505         * tests/test-hypot.c: Include <float.h>.
24506         (main): Add tests about overflow and underflow.
24508 2012-02-29  Bruno Haible  <bruno@clisp.org>
24510         math code: Add comments.
24511         * lib/acosl.c: Add comment about related glibc source files.
24512         * lib/asinl.c: Likewise.
24513         * lib/atanl.c: Likewise.
24514         * lib/expl.c: Likewise.
24515         * lib/logl.c: Likewise.
24516         * lib/sincosl.c: Likewise.
24517         * lib/sinl.c: Likewise.
24518         * lib/tanl.c: Likewise.
24519         * lib/trigl.c: Likewise.
24520         * lib/cosl.c: Likewise. Fix comments.
24522 2012-02-28  Bruno Haible  <bruno@clisp.org>
24524         math: Ensure HUGE_VAL, HUGE_VALF, HUGE_VALL are defined.
24525         * lib/math.in.h (HUGE_VAL, HUGE_VALF, HUGE_VALL): Define fallbacks.
24526         * tests/test-math.c: Include macros.h. Check that HUGE_VAL, HUGE_VALF,
24527         HUGE_VALL are defined.
24528         (numeric_equald): Renamed from numeric_equal.
24529         (numeric_equalf, numeric_equall): New functions.
24530         (main): Check also HUGE_VALF, HUGE_VALL.
24531         * modules/math-tests (Files): Add tests/macros.h.
24532         * doc/posix-headers/math.texi: Document the problems with HUGE_VALF and
24533         HUGE_VALL.
24535 2012-02-28  Bruno Haible  <bruno@clisp.org>
24537         doc: Move ISO C11 feature notes into POSIX chapters.
24538         * doc/posix-functions/aligned_alloc.texi: Renamed from
24539         doc/glibc-functions/aligned_alloc.texi.
24540         * doc/posix-functions/quick_exit.texi: Renamed from
24541         doc/glibc-functions/quick_exit.texi.
24542         * doc/posix-headers/uchar.texi: Renamed from
24543         doc/glibc-headers/uchar.texi.
24544         * doc/posix-functions/c16rtomb.texi: Renamed from
24545         doc/glibc-functions/c16rtomb.texi.
24546         * doc/posix-functions/c32rtomb.texi: Renamed from
24547         doc/glibc-functions/c32rtomb.texi.
24548         * doc/posix-functions/mbrtoc16.texi: Renamed from
24549         doc/glibc-functions/mbrtoc16.texi.
24550         * doc/posix-functions/mbrtoc32.texi: Renamed from
24551         doc/glibc-functions/mbrtoc32.texi.
24552         * doc/gnulib.texi: Update.
24553         (Glibc uchar.h): Remove section.
24554         Suggested by Eric Blake.
24556 2012-02-29  Paul Eggert  <eggert@cs.ucla.edu>
24558         stdnoreturn: port to MSVC better
24559         MSVC standard headers use __declspec(noreturn), so #define noreturn
24560         to empty on that platform.  Reported by Bruno Haible in
24561         <http://lists.gnu.org/r/bug-gnulib/2012-02/msg00152.html>.
24562         * lib/stdnoreturn.in.h (noreturn): Define to empty on MSVC.
24563         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h): Document this.
24565 2012-02-28  Bruno Haible  <bruno@clisp.org>
24567         doc: Mention new glibc headers and functions.
24568         * doc/glibc-headers/uchar.texi: New file.
24569         * doc/glibc-functions/aligned_alloc.texi: New file.
24570         * doc/glibc-functions/c16rtomb.texi: New file.
24571         * doc/glibc-functions/c32rtomb.texi: New file.
24572         * doc/glibc-functions/clock_adjtime.texi: New file.
24573         * doc/glibc-functions/fanotify_init.texi: New file.
24574         * doc/glibc-functions/fanotify_mark.texi: New file.
24575         * doc/glibc-functions/inet6_opt_append.texi: New file.
24576         * doc/glibc-functions/inet6_opt_find.texi: New file.
24577         * doc/glibc-functions/inet6_opt_finish.texi: New file.
24578         * doc/glibc-functions/inet6_opt_get_val.texi: New file.
24579         * doc/glibc-functions/inet6_opt_init.texi: New file.
24580         * doc/glibc-functions/inet6_opt_next.texi: New file.
24581         * doc/glibc-functions/inet6_opt_set_val.texi: New file.
24582         * doc/glibc-functions/inet6_rth_add.texi: New file.
24583         * doc/glibc-functions/inet6_rth_getaddr.texi: New file.
24584         * doc/glibc-functions/inet6_rth_init.texi: New file.
24585         * doc/glibc-functions/inet6_rth_reverse.texi: New file.
24586         * doc/glibc-functions/inet6_rth_segments.texi: New file.
24587         * doc/glibc-functions/inet6_rth_space.texi: New file.
24588         * doc/glibc-functions/login.texi: New file.
24589         * doc/glibc-functions/mbrtoc16.texi: New file.
24590         * doc/glibc-functions/mbrtoc32.texi: New file.
24591         * doc/glibc-functions/name_to_handle_at.texi: New file.
24592         * doc/glibc-functions/ntp_gettimex.texi: New file.
24593         * doc/glibc-functions/open_by_handle_at.texi: New file.
24594         * doc/glibc-functions/prlimit.texi: New file.
24595         * doc/glibc-functions/process_vm_readv.texi: New file.
24596         * doc/glibc-functions/process_vm_writev.texi: New file.
24597         * doc/glibc-functions/recvmmsg.texi: New file.
24598         * doc/glibc-functions/scandirat.texi: New file.
24599         * doc/glibc-functions/sendmmsg.texi: New file.
24600         * doc/glibc-functions/setns.texi: New file.
24601         * doc/glibc-functions/timespec_get.texi: New file.
24602         * doc/gnulib.texi: Include them.
24603         (Glibc sys/fanotify.h, Glibc sys/resource.h, Glibc uchar.h): New
24604         sections.
24605         Reported by Eric Blake.
24607 2012-02-28  Bruno Haible  <bruno@clisp.org>
24609         Avoid compilation errors with MSVC option -fp:strict.
24610         * lib/floor.c: Use MSVC specific pragma fenv_access.
24611         * lib/ceil.c: Likewise.
24612         * lib/trunc.c: Likewise.
24613         * lib/round.c: Likewise.
24614         * lib/rint.c: Likewise.
24615         * lib/fma.c: Likewise.
24616         * lib/integer_length.c: Likewise.
24617         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
24618         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
24619         * tests/test-floor2.c: Likewise.
24620         * tests/test-floorf2.c: Likewise.
24621         * tests/test-ceil2.c: Likewise.
24622         * tests/test-ceilf2.c: Likewise.
24623         * tests/test-trunc2.c: Likewise.
24624         * tests/test-truncf2.c: Likewise.
24625         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
24627 2012-02-27  Bruno Haible  <bruno@clisp.org>
24629         Tests for module 'sqrtl-ieee'.
24630         * modules/sqrtl-ieee-tests: New file.
24631         * tests/test-sqrtl-ieee.c: New file.
24633         New module 'sqrtl-ieee'.
24634         * modules/sqrtl-ieee: New file.
24636         Tests for module 'sqrt-ieee'.
24637         * modules/sqrt-ieee-tests: New file.
24638         * tests/test-sqrt-ieee.c: New file.
24640         New module 'sqrt-ieee'.
24641         * modules/sqrt-ieee: New file.
24643         Tests for module 'sqrtf-ieee'.
24644         * modules/sqrtf-ieee-tests: New file.
24645         * tests/test-sqrtf-ieee.c: New file.
24646         * tests/test-sqrt-ieee.h: New file.
24648         New module 'sqrtf-ieee'.
24649         * modules/sqrtf-ieee: New file.
24651 2012-02-27  Bruno Haible  <bruno@clisp.org>
24653         remainderl-ieee: Work around test failure on OSF/1.
24654         * m4/remainderl-ieee.m4: New file.
24655         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): If gl_FUNC_REMAINDERL_IEEE is
24656         present, test whether remainderl works with a zero second argument.
24657         Replace it if not.
24658         * lib/math.in.h (remainderl): Override if REPLACE_REMAINDERL is 1.
24659         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERL.
24660         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERL.
24661         * modules/remainderl (configure.ac): Consider REPLACE_REMAINDERL.
24662         (Depends-on): Update conditions.
24663         * modules/remainderl-ieee (Files): Add m4/remainderl-ieee.m4.
24664         (Depends-on): Add remainder-ieee.
24665         (configure.ac): Invoke gl_FUNC_REMAINDERL_IEEE.
24666         * doc/posix-functions/remainderl.texi: Mention the remainderl-ieee
24667         module.
24669         remainderf-ieee: Work around test failure on OSF/1.
24670         * m4/remainderf-ieee.m4: New file.
24671         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): If gl_FUNC_REMAINDERF_IEEE is
24672         present, test whether remainderf works with a zero second argument.
24673         Replace it if not.
24674         * lib/math.in.h (remainderf): Override if REPLACE_REMAINDERF is 1.
24675         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERF.
24676         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERF.
24677         * modules/remainderf (configure.ac): Consider REPLACE_REMAINDERF.
24678         (Depends-on): Update conditions.
24679         * modules/remainderf-ieee (Files): Add m4/remainderf-ieee.m4.
24680         (Depends-on): Add remainder-ieee.
24681         (configure.ac): Invoke gl_FUNC_REMAINDERF_IEEE.
24682         * doc/posix-functions/remainderf.texi: Mention the remainderf-ieee
24683         module.
24685         remainder-ieee: Work around test failure on OSF/1.
24686         * m4/remainder-ieee.m4: New file.
24687         * m4/remainder.m4 (gl_FUNC_REMAINDER): If gl_FUNC_REMAINDER_IEEE is
24688         present, test whether remainder works with a zero second argument.
24689         Replace it if not.
24690         * lib/math.in.h (remainder): Override if REPLACE_REMAINDER is 1.
24691         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDER.
24692         * modules/math (Makefile.am): Substitute REPLACE_REMAINDER.
24693         * modules/remainder (configure.ac): Consider REPLACE_REMAINDER.
24694         (Depends-on): Update dependencies.
24695         * modules/remainder-ieee (Files): Add m4/remainder-ieee.m4.
24696         (configure.ac): Invoke gl_FUNC_REMAINDER_IEEE.
24697         * doc/posix-functions/remainder.texi: Mention the remainder-ieee module.
24699         Tests for module 'remainderl-ieee'.
24700         * modules/remainderl-ieee-tests: New file.
24701         * tests/test-remainderl-ieee.c: New file.
24703         New module 'remainderl-ieee'.
24704         * modules/remainderl-ieee: New file.
24706         Tests for module 'remainder-ieee'.
24707         * modules/remainder-ieee-tests: New file.
24708         * tests/test-remainder-ieee.c: New file.
24710         New module 'remainder-ieee'.
24711         * modules/remainder-ieee: New file.
24713         Tests for module 'remainderf-ieee'.
24714         * modules/remainderf-ieee-tests: New file.
24715         * tests/test-remainderf-ieee.c: New file.
24716         * tests/test-remainder-ieee.h: New file.
24718         New module 'remainderf-ieee'.
24719         * modules/remainderf-ieee: New file.
24721 2012-02-27  Bruno Haible  <bruno@clisp.org>
24723         modff, modfl: Fix configure syntax error.
24724         * m4/modff.m4 (gl_FUNC_MODFF): Insert ':' command in 'if'.
24725         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
24727 2012-02-27  Bruno Haible  <bruno@clisp.org>
24729         fmodl-ieee: Work around test failures on OSF/1, MSVC 9.
24730         * m4/fmodl-ieee.m4: New file.
24731         * m4/fmodl.m4 (gl_FUNC_FMODL): If gl_FUNC_FMODL_IEEE is present, test
24732         whether fmodl works with zero arguments. Replace it if not.
24733         * modules/fmodl-ieee (Files): Add m4/fmodl-ieee.m4.
24734         (Depends-on): Add fmod-ieee.
24735         (configure.ac): Invoke gl_FUNC_FMODL_IEEE.
24736         * doc/posix-functions/fmodl.texi: Mention the fmodl-ieee module.
24738         fmodf-ieee: Work around test failure on OSF/1.
24739         * m4/fmodf-ieee.m4: New file.
24740         * m4/fmodf.m4 (gl_FUNC_FMODF): If gl_FUNC_FMODF_IEEE is present, test
24741         whether fmodf works with zero arguments. Replace it if not.
24742         * lib/math.in.h (fmodf): Override if REPLACE_FMODF is 1.
24743         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FMODF.
24744         * modules/math (Makefile.am): Substitute REPLACE_FMODF.
24745         * modules/fmodf (configure.ac): Consider REPLACE_FMODF.
24746         (Depends-on): Update dependencies.
24747         * modules/fmodf-ieee (Files): Add m4/fmodf-ieee.m4.
24748         (configure.ac): Invoke gl_FUNC_FMODF_IEEE.
24749         * doc/posix-functions/fmodf.texi: Mention the problem on OSF/1.
24751         fmodf-ieee: Work around test failure on MSVC 9.
24752         * modules/fmodf-ieee (Depends-on): Add fmod-ieee.
24753         * doc/posix-functions/fmodf.texi: Mention the fmodf-ieee module.
24755         fmod-ieee: Work around test failures on OSF/1, mingw.
24756         * m4/fmod-ieee.m4: New file.
24757         * m4/fmod.m4 (gl_FUNC_FMOD): If gl_FUNC_FMOD_IEEE is present, test
24758         whether fmod works with zero arguments. Replace it if not.
24759         * lib/math.in.h (fmod): New declaration.
24760         * lib/fmod.c: New file.
24761         * m4/math_h.m4 (gl_MATH_H): Test whether fmod is declared.
24762         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMOD, REPLACE_FMOD.
24763         * modules/math (Makefile.am): Substitute GNULIB_FMOD, REPLACE_FMOD.
24764         * modules/fmod (Files): Add lib/fmod.c.
24765         (Depends-on): Add math, isinf, trunc, fma.
24766         (configure.ac): Arrange to compile lib/fmod.c if needed.
24767         * modules/fmod-ieee (Files): Add m4/fmod-ieee.m4, m4/minus-zero.m4,
24768         m4/signbit.m4.
24769         (configure.ac): Invoke gl_FUNC_FMOD_IEEE.
24770         * tests/test-math-c++.cc: Check the declaration of fmod.
24771         * doc/posix-functions/fmod.texi: Mention the fmod-ieee module.
24773         fmodl-ieee: Fix test failures.
24774         * lib/fmodl.c (fmodl): Treat Inf specially.
24775         * modules/fmodl (Depends-on): Add isinf.
24777         Tests for module 'fmodl-ieee'.
24778         * modules/fmodl-ieee-tests: New file.
24779         * tests/test-fmodl-ieee.c: New file.
24781         New module 'fmodl-ieee'.
24782         * modules/fmodl-ieee: New file.
24784         Tests for module 'fmod-ieee'.
24785         * modules/fmod-ieee-tests: New file.
24786         * tests/test-fmod-ieee.c: New file.
24788         New module 'fmod-ieee'.
24789         * modules/fmod-ieee: New file.
24791         Tests for module 'fmodf-ieee'.
24792         * modules/fmodf-ieee-tests: New file.
24793         * tests/test-fmodf-ieee.c: New file.
24794         * tests/test-fmod-ieee.h: New file.
24796         New module 'fmodf-ieee'.
24797         * modules/fmodf-ieee: New file.
24799 2012-02-27  Bruno Haible  <bruno@clisp.org>
24801         Tests for module 'rintl-ieee'.
24802         * modules/rintl-ieee-tests: New file.
24803         * tests/test-rintl-ieee.c: New file.
24805         New module 'rintl-ieee'.
24806         * modules/rintl-ieee: New file.
24808         Tests for module 'rint-ieee'.
24809         * modules/rint-ieee-tests: New file.
24810         * tests/test-rint-ieee.c: New file.
24812         New module 'rint-ieee'.
24813         * modules/rint-ieee: New file.
24815         Tests for module 'rintf-ieee'.
24816         * modules/rintf-ieee-tests: New file.
24817         * tests/test-rintf-ieee.c: New file.
24818         * tests/test-rint-ieee.h: New file.
24820         New module 'rintf-ieee'.
24821         * modules/rintf-ieee: New file.
24823 2012-02-26  Paul Eggert  <eggert@cs.ucla.edu>
24825         regex: re_search etc. should return -2 when memory exhausted
24826         This bug was uncovered when testing 'grep'.  Without the fix,
24827         re_search and friends return -1 when memory is exhausted, but -1
24828         means no match, and this causes grep to falsely report no-match
24829         instead of memory-exhaustion.  See
24830         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=13762>.
24831         * lib/regexec.c (re_search_stub): Return -2 (not -1) if there is
24832         trouble; this can occur if re_search_internal ran out of memory.
24834 2012-02-26  Bruno Haible  <bruno@clisp.org>
24836         modfl-ieee: Work around test failures on IRIX, OSF/1, mingw.
24837         * m4/modfl-ieee.m4: New file.
24838         * m4/modfl.m4 (gl_FUNC_MODFL): If gl_FUNC_MODFL_IEEE is present, test
24839         whether modfl works with Inf. Replace it if not.
24840         * lib/math.in.h (modfl): Override if REPLACE_MODFF is 1.
24841         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFL.
24842         * modules/math (Makefile.am): Substitute REPLACE_MODFL.
24843         * modules/modfl (configure.ac): Consider REPLACE_MODFL.
24844         (Depends-on): Update dependencies.
24845         * modules/modfl-ieee (Files): Add m4/modfl-ieee.m4, m4/minus-zero.m4,
24846         m4/signbit.m4.
24847         (configure.ac): Invoke gl_FUNC_MODFL_IEEE.
24848         * doc/posix-functions/modfl.texi: Mention the modfl-ieee module.
24850         modfl-ieee: Fix dependencies.
24851         * modules/modfl-ieee (Depends-on): Add modf-ieee.
24853         modfl-ieee: Fix test failures.
24854         * lib/modfl.c (modfl): Treat NaN and Inf specially.
24855         * modules/modfl (Depends-on): Add isfinite, isinf.
24857         modff-ieee: Work around test failures on *BSD, IRIX, OSF/1, etc.
24858         * m4/modff-ieee.m4: New file.
24859         * m4/modff.m4 (gl_FUNC_MODFF): If gl_FUNC_MODFF_IEEE is present, test
24860         whether modff works with NaN and Inf. Replace it if not.
24861         * lib/math.in.h (modff): Override if REPLACE_MODFF is 1.
24862         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFF.
24863         * modules/math (Makefile.am): Substitute REPLACE_MODFF.
24864         * modules/modff (configure.ac): Consider REPLACE_MODFF.
24865         (Depends-on): Update dependencies.
24866         * modules/modff-ieee (Files): Add m4/modff-ieee.m4, m4/minus-zero.m4,
24867         m4/signbit.m4.
24868         (Depends-on): Add modf-ieee.
24869         (configure.ac): Invoke gl_FUNC_MODFF_IEEE.
24870         * doc/posix-functions/modff.texi: Mention the modff-ieee module.
24872         modf-ieee: Work around test failures on *BSD, IRIX, OSF/1, Cygwin.
24873         * m4/modf-ieee.m4: New file.
24874         * m4/modf.m4 (gl_FUNC_MODF): If gl_FUNC_MODF_IEEE is present, test
24875         whether modf works with NaN and Inf. Replace it if not.
24876         * lib/math.in.h (modf): New declaration.
24877         * lib/modf.c: New file.
24878         * m4/math_h.m4 (gl_MATH_H): Test whether modf is declared.
24879         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODF, REPLACE_MODF.
24880         * modules/math (Makefile.am): Substitute GNULIB_MODF, REPLACE_MODF.
24881         * modules/modf (Files): Add lib/modf.c.
24882         (Depends-on): Add math, isfinite, trunc, isinf.
24883         (configure.ac): Addrange to compile lib/modf.c if needed.
24884         * modules/modf-ieee (Files): Add m4/modf-ieee.m4, m4/minus-zero.m4,
24885         m4/signbit.m4.
24886         (configure.ac): Invoke gl_FUNC_MODF_IEEE.
24887         * tests/test-math-c++.cc: Check the declaration of modf.
24888         * doc/posix-functions/modf.texi: Mention the modf-ieee module.
24890         Tests for module 'modfl-ieee'.
24891         * modules/modfl-ieee-tests: New file.
24892         * tests/test-modfl-ieee.c: New file.
24894         New module 'modfl-ieee'.
24895         * modules/modfl-ieee: New file.
24897         Tests for module 'modf-ieee'.
24898         * modules/modf-ieee-tests: New file.
24899         * tests/test-modf-ieee.c: New file.
24901         New module 'modf-ieee'.
24902         * modules/modf-ieee: New file.
24904         Tests for module 'modff-ieee'.
24905         * modules/modff-ieee-tests: New file.
24906         * tests/test-modff-ieee.c: New file.
24907         * tests/test-modf-ieee.h: New file.
24909         New module 'modff-ieee'.
24910         * modules/modff-ieee: New file.
24912 2012-02-26  Bruno Haible  <bruno@clisp.org>
24914         Tests for module 'fabsl-ieee'.
24915         * modules/fabsl-ieee-tests: New file.
24916         * tests/test-fabsl-ieee.c: New file.
24918         New module 'fabsl-ieee'.
24919         * modules/fabsl-ieee: New file.
24921         Tests for module 'fabs-ieee'.
24922         * modules/fabs-ieee-tests: New file.
24923         * tests/test-fabs-ieee.c: New file.
24925         New module 'fabs-ieee'.
24926         * modules/fabs-ieee: New file.
24928         Tests for module 'fabsf-ieee'.
24929         * modules/fabsf-ieee-tests: New file.
24930         * tests/test-fabsf-ieee.c: New file.
24931         * tests/test-fabs-ieee.h: New file.
24933         New module 'fabsf-ieee'.
24934         * modules/fabsf-ieee: New file.
24936 2012-02-26  Bruno Haible  <bruno@clisp.org>
24938         Tests for module 'fmal-ieee'.
24939         * modules/fmal-ieee-tests: New file.
24940         * tests/test-fmal-ieee.c: New file.
24942         New module 'fmal-ieee'.
24943         * modules/fmal-ieee: New file.
24945         Tests for module 'fma-ieee'.
24946         * modules/fma-ieee-tests: New file.
24947         * tests/test-fma-ieee.c: New file.
24949         New module 'fma-ieee'.
24950         * modules/fma-ieee: New file.
24952         Tests for module 'fmaf-ieee'.
24953         * modules/fmaf-ieee-tests: New file.
24954         * tests/test-fmaf-ieee.c: New file.
24955         * tests/test-fma-ieee.h: New file.
24957         New module 'fmaf-ieee'.
24958         * modules/fmaf-ieee: New file.
24960 2012-02-26  Bruno Haible  <bruno@clisp.org>
24962         Tests for module 'ldexpl-ieee'.
24963         * modules/ldexpl-ieee-tests: New file.
24964         * tests/test-ldexpl-ieee.c: New file.
24966         New module 'ldexpl-ieee'.
24967         * modules/ldexpl-ieee: New file.
24969         Tests for module 'ldexp-ieee'.
24970         * modules/ldexp-ieee-tests: New file.
24971         * tests/test-ldexp-ieee.c: New file.
24973         New module 'ldexp-ieee'.
24974         * modules/ldexp-ieee: New file.
24976         Tests for module 'ldexpf-ieee'.
24977         * modules/ldexpf-ieee-tests: New file.
24978         * tests/test-ldexpf-ieee.c: New file.
24979         * tests/test-ldexp-ieee.h: New file.
24981         New module 'ldexpf-ieee'.
24982         * modules/ldexpf-ieee: New file.
24984 2012-02-26  Bruno Haible  <bruno@clisp.org>
24986         Refactor frexp*-ieee tests.
24987         * tests/test-frexp-ieee.h: New file.
24988         * tests/test-frexpf-ieee.c: Include test-frexp-ieee.h.
24989         (main): Just call test_function.
24990         * tests/test-frexp-ieee.c: Include test-frexp-ieee.h.
24991         (main): Just call test_function.
24992         * tests/test-frexpl-ieee.c: Include test-frexp-ieee.h.
24993         (main): Just call test_function.
24994         * modules/frexpf-ieee-tests (Files): Add tests/test-frexp-ieee.h.
24995         * modules/frexp-ieee-tests (Files): Likewise.
24996         * modules/frexpl-ieee-tests (Files): Likewise.
24998         Tests for module 'frexpl-ieee'.
24999         * modules/frexpl-ieee-tests: New file.
25000         * tests/test-frexpl-ieee.c: New file.
25002         New module 'frexpl-ieee'.
25003         * modules/frexpl-ieee: New file.
25005         Tests for module 'frexp-ieee'.
25006         * modules/frexp-ieee-tests: New file.
25007         * tests/test-frexp-ieee.c: New file.
25009         New module 'frexp-ieee'.
25010         * modules/frexp-ieee: New file.
25012         Tests for module 'frexpf-ieee'.
25013         * modules/frexpf-ieee-tests: New file.
25014         * tests/test-frexpf-ieee.c: New file.
25016         New module 'frexpf-ieee'.
25017         * modules/frexpf-ieee: New file.
25019 2012-02-26  Bruno Haible  <bruno@clisp.org>
25021         roundl-ieee tests: More tests.
25022         * tests/test-roundl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
25023         (main): Add tests for [MX] shaded specification in POSIX.
25024         * modules/roundl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
25025         (Depends-on): Add isnanl-nolibm.
25027         round-ieee tests: More tests.
25028         * tests/test-round-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
25029         (main): Add tests for [MX] shaded specification in POSIX.
25030         * modules/round-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
25031         (Depends-on): Add isnand-nolibm.
25033         roundf-ieee tests: More tests.
25034         * tests/test-roundf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
25035         (main): Add tests for [MX] shaded specification in POSIX.
25036         * modules/roundf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
25037         (Depends-on): Add isnanf-nolibm.
25039         truncl-ieee tests: More tests.
25040         * tests/test-truncl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
25041         (main): Add tests for [MX] shaded specification in POSIX.
25042         * modules/truncl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
25043         (Depends-on): Add isnanl-nolibm.
25045         trunc-ieee tests: More tests.
25046         * tests/test-trunc-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
25047         (main): Add tests for [MX] shaded specification in POSIX.
25048         * modules/trunc-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
25049         (Depends-on): Add isnand-nolibm.
25051         truncf-ieee tests: More tests.
25052         * tests/test-truncf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
25053         (main): Add tests for [MX] shaded specification in POSIX.
25054         * modules/truncf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
25055         (Depends-on): Add isnanf-nolibm.
25057         ceill-ieee tests: More tests.
25058         * tests/test-ceill-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
25059         (main): Add tests for [MX] shaded specification in POSIX.
25060         * modules/ceill-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
25061         (Depends-on): Add isnanl-nolibm.
25063         ceil-ieee tests: More tests.
25064         * tests/test-ceil-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
25065         (main): Add tests for [MX] shaded specification in POSIX.
25066         * modules/ceil-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
25067         (Depends-on): Add isnand-nolibm.
25069         ceilf-ieee tests: More tests.
25070         * tests/test-ceilf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
25071         (main): Add tests for [MX] shaded specification in POSIX.
25072         * modules/ceilf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
25073         (Depends-on): Add isnanf-nolibm.
25075         floorl-ieee tests: More tests.
25076         * tests/test-floorl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
25077         (main): Add tests for [MX] shaded specification in POSIX.
25078         * modules/floorl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
25079         (Depends-on): Add isnanl-nolibm.
25081         floor-ieee tests: More tests.
25082         * tests/test-floor-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
25083         (main): Add tests for [MX] shaded specification in POSIX.
25084         * modules/floor-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
25085         (Depends-on): Add isnand-nolibm.
25087         floorf-ieee tests: More tests.
25088         * tests/test-floorf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
25089         (main): Add tests for [MX] shaded specification in POSIX.
25090         * modules/floorf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
25091         (Depends-on): Add isnanf-nolibm.
25093 2012-02-26  Bruno Haible  <bruno@clisp.org>
25095         fpieee: More comments.
25096         * m4/fpieee.m4 (gl_FP_IEEE): Add more comments.
25098 2012-02-25  Bruno Haible  <bruno@clisp.org>
25100         Tests for module 'log10l'.
25101         * modules/log10l-tests: New file.
25102         * tests/test-log10l.c: New file.
25103         * tests/test-math-c++.cc: Check the declaration of log10l.
25105         New module 'log10l'.
25106         * lib/math.in.h (log10l): New declaration.
25107         * lib/log10l.c: New file.
25108         * m4/log10l.m4: New file.
25109         * modules/log10l: New file.
25110         * m4/math_h.m4 (gl_MATH_H): Test whether log10l is declared.
25111         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10L, HAVE_LOG10L,
25112         HAVE_DECL_LOG10L.
25113         * modules/math (Makefile.am): Substitute GNULIB_LOG10L, HAVE_LOG10L,
25114         HAVE_DECL_LOG10L.
25115         * doc/posix-functions/log10l.texi: Mention the new module.
25117 2012-02-25  Bruno Haible  <bruno@clisp.org>
25119         fmodl, remainder*: Avoid wrong results due to rounding errors.
25120         * lib/fmodl.c (fmodl): Correct the result if it is not within the
25121         expected bounds.
25122         * lib/remainderf.c (remainderf): Likewise.
25123         * lib/remainder.c (remainder): Likewise.
25124         * lib/remainderl.c (remainderl): Likewise.
25126 2012-02-25  Bruno Haible  <bruno@clisp.org>
25128         Tests for module 'remainderl'.
25129         * modules/remainderl-tests: New file.
25130         * tests/test-remainderl.c: New file.
25131         * tests/test-math-c++.cc: Check the declaration of remainderl.
25133         New module 'remainderl'.
25134         * lib/math.in.h (remainderl): New declaration.
25135         * lib/remainderl.c: New file.
25136         * m4/remainderl.m4: New file.
25137         * modules/remainderl: New file.
25138         * m4/math_h.m4 (gl_MATH_H): Test whether remainderl is declared.
25139         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERL, HAVE_REMAINDERL.
25140         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERL,
25141         HAVE_REMAINDERL.
25142         * doc/posix-functions/remainderl.texi: Mention the new module.
25144 2012-02-25  Bruno Haible  <bruno@clisp.org>
25146         Tests for module 'remainderf'.
25147         * modules/remainderf-tests: New file.
25148         * tests/test-remainderf.c: New file.
25149         * tests/test-math-c++.cc: Check the declaration of remainderf.
25151         New module 'remainderf'.
25152         * lib/math.in.h (remainderf): New declaration.
25153         * lib/remainderf.c: New file.
25154         * m4/remainderf.m4: New file.
25155         * modules/remainderf: New file.
25156         * m4/math_h.m4 (gl_MATH_H): Test whether remainderf is declared.
25157         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERF, HAVE_REMAINDERF.
25158         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERF,
25159         HAVE_REMAINDERF.
25160         * doc/posix-functions/remainderf.texi: Mention the new module.
25162 2012-02-25  Bruno Haible  <bruno@clisp.org>
25164         remainder: Support for MSVC.
25165         * lib/math.in.h (remainder): New declaration.
25166         * lib/remainder.c: New file.
25167         * m4/remainder.m4: New file.
25168         * modules/remainder (Files): Add lib/remainder.c, m4/remainder.m4.
25169         (Depends-on): Add math, round, fma.
25170         (configure.ac): Use results of gl_FUNC_REMAINDER.
25171         * m4/math_h.m4 (gl_MATH_H): Test whether remainder is declared.
25172         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDER, HAVE_REMAINDER,
25173         HAVE_DECL_REMAINDER.
25174         * modules/math (Makefile.am): Substitute GNULIB_REMAINDER,
25175         HAVE_REMAINDER, HAVE_DECL_REMAINDER.
25176         * tests/test-math-c++.cc: Check the declaration of remainder.
25177         * doc/posix-functions/remainder.texi: Mention that the MSVC and IRIX 5
25178         problems are fixed.
25180 2012-02-25  Bruno Haible  <bruno@clisp.org>
25182         Tests for module 'fmodl'.
25183         * modules/fmodl-tests: New file.
25184         * tests/test-fmodl.c: New file.
25185         * tests/test-math-c++.cc: Check the declaration of fmodl.
25187         New module 'fmodl'.
25188         * lib/math.in.h (fmodl): New declaration.
25189         * lib/fmodl.c: New file.
25190         * m4/fmodl.m4: New file.
25191         * m4/math_h.m4 (gl_MATH_H): Test whether fmodl is declared.
25192         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODL, HAVE_FMODL,
25193         REPLACE_FMODL.
25194         * modules/math (Makefile.am): Substitute GNULIB_FMODL, HAVE_FMODL,
25195         REPLACE_FMODL.
25196         * modules/fmodl: New file.
25197         * doc/posix-functions/fmodl.texi: Mention the new module.
25199 2012-02-25  Bruno Haible  <bruno@clisp.org>
25201         Tests for module 'modfl'.
25202         * modules/modfl-tests: New file.
25203         * tests/test-modfl.c: New file.
25204         * tests/test-math-c++.cc: Check the declaration of modfl.
25206         New module 'modfl'.
25207         * lib/math.in.h (modfl): New declaration.
25208         * lib/modfl.c: New file.
25209         * m4/modfl.m4: New file.
25210         * m4/math_h.m4 (gl_MATH_H): Test whether modfl is declared.
25211         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFL, HAVE_MODFL.
25212         * modules/math (Makefile.am): Substitute GNULIB_MODFL, HAVE_MODFL.
25213         * modules/modfl: New file.
25214         * doc/posix-functions/modfl.texi: Mention the new module.
25216 2012-02-25  Bruno Haible  <bruno@clisp.org>
25218         Tests for module 'fabsl'.
25219         * modules/fabsl-tests: New file.
25220         * tests/test-fabsl.c: New file.
25221         * tests/test-math-c++.cc: Check the declaration of fabsl.
25223         New module 'fabsl'.
25224         * lib/math.in.h (fabsl): New declaration.
25225         * lib/fabsl.c: New file.
25226         * m4/fabsl.m4: New file.
25227         * m4/math_h.m4 (gl_MATH_H): Test whether fabsl is declared.
25228         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSL, HAVE_FABSL,
25229         REPLACE_FABSL.
25230         * modules/math (Makefile.am): Substitute GNULIB_FABSL, HAVE_FABSL,
25231         REPLACE_FABSL.
25232         * modules/fabsl: New file.
25233         * doc/posix-functions/fabsl.texi: Mention the new module.
25235 2012-02-25  Bruno Haible  <bruno@clisp.org>
25237         fabs tests: More tests.
25238         * tests/test-fabs.c: Include <string.h>, minus-zero.h.
25239         (zero): New variable.
25240         (main): Add tests for signed zero.
25241         * modules/fabs-tests (Files): Add tests/minus-zero.h.
25243         fabsf tests: More tests.
25244         * tests/test-fabsf.c: Include <string.h>, minus-zero.h.
25245         (zero): New variable.
25246         (main): Add tests for signed zero.
25247         * modules/fabsf-tests (Files): Add tests/minus-zero.h.
25249 2012-02-24  Bruno Haible  <bruno@clisp.org>
25251         atanl: Provide function definition on MSVC.
25252         * m4/atanl.m4 (gl_FUNC_ATANL): Test also whether atanl can be used as a
25253         function pointer.
25254         * lib/math.in.h (atanl): Undefine if it does not exist as a function.
25256 2012-02-24  Bruno Haible  <bruno@clisp.org>
25258         acosl: Provide function definition on MSVC.
25259         * m4/acosl.m4 (gl_FUNC_ACOSL): Test also whether acosl can be used as a
25260         function pointer.
25261         * lib/math.in.h (acosl): Undefine if it does not exist as a function.
25263 2012-02-24  Bruno Haible  <bruno@clisp.org>
25265         asinl: Provide function definition on MSVC.
25266         * m4/asinl.m4 (gl_FUNC_ASINL): Test also whether asinl can be used as a
25267         function pointer.
25268         * lib/math.in.h (asinl): Undefine if it does not exist as a function.
25270 2012-02-24  Bruno Haible  <bruno@clisp.org>
25272         tanl: Provide function definition on MSVC.
25273         * m4/tanl.m4 (gl_FUNC_TANL): Test also whether tanl can be used as a
25274         function pointer.
25275         * lib/math.in.h (tanl): Undefine if it does not exist as a function.
25277 2012-02-24  Bruno Haible  <bruno@clisp.org>
25279         cosl: Provide function definition on MSVC.
25280         * m4/cosl.m4 (gl_FUNC_COSL): Test also whether cosl can be used as a
25281         function pointer.
25282         * lib/math.in.h (cosl): Undefine if it does not exist as a function.
25284 2012-02-24  Bruno Haible  <bruno@clisp.org>
25286         sinl: Provide function definition on MSVC.
25287         * m4/sinl.m4 (gl_FUNC_SINL): Test also whether sinl can be used as a
25288         function pointer.
25289         * lib/math.in.h (sinl): Undefine if it does not exist as a function.
25291 2012-02-24  Bruno Haible  <bruno@clisp.org>
25293         logl: Provide function definition on MSVC.
25294         * m4/logl.m4 (gl_FUNC_LOGL): Test also whether logl can be used as a
25295         function pointer.
25296         * lib/math.in.h (logl): Undefine if it does not exist as a function.
25298 2012-02-24  Bruno Haible  <bruno@clisp.org>
25300         expl: Provide function definition on MSVC.
25301         * m4/expl.m4 (gl_FUNC_EXPL): Test also whether expl can be used as a
25302         function pointer.
25303         * lib/math.in.h (expl): Undefine if it does not exist as a function.
25305 2012-02-24  Bruno Haible  <bruno@clisp.org>
25307         sqrtl: Provide function definition on MSVC.
25308         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Test also whether sqrtl can be used as
25309         a function pointer.
25310         * lib/math.in.h (sqrtl): Undefine if it does not exist as a function.
25312 2012-02-24  Bruno Haible  <bruno@clisp.org>
25314         ceill: Provide function definition on MSVC.
25315         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Test also whether ceill can be
25316         used as a function pointer.
25317         * lib/math.in.h (ceill): Undefine if it is not declared as a function.
25319 2012-02-24  Bruno Haible  <bruno@clisp.org>
25321         floorl: Provide function definition on MSVC.
25322         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Test also whether floorl can be
25323         used as a function pointer.
25324         * lib/math.in.h (floorl): Undefine if it is not declared as a function.
25326 2012-02-24  Bruno Haible  <bruno@clisp.org>
25328         ceilf: Provide function definition on MSVC.
25329         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Test also whether ceilf can be
25330         used as a function pointer.
25331         * lib/math.in.h (ceilf): Undefine if it is not declared as a function.
25333 2012-02-24  Bruno Haible  <bruno@clisp.org>
25335         floorf: Provide function definition on MSVC.
25336         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Test also whether floorf can be
25337         used as a function pointer.
25338         * lib/math.in.h (floorf): Undefine if it is not declared as a function.
25340 2012-02-24  Paul Eggert  <eggert@cs.ucla.edu>
25342         stdnoreturn: new module
25343         This implements a replacement for C11's <stdnoreturn.h>.
25344         * doc/gnulib.texi (Header File Substitutes): Add stdnoreturn.
25345         * doc/posix-headers/stdnoreturn.texi, lib/stdnoreturn.in.h:
25346         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
25347         * tests/test-stdnoreturn.c: New files.
25349 2012-02-24  Stanislav Brabec  <sbrabec@suse.cz>  (tiny change)
25351         regex: fix false multibyte matches in some regular expressions
25352         See <http://sourceware.org/bugzilla/show_bug.cgi?id=13637>
25353         and <http://sourceware.org/ml/libc-alpha/2012-02/msg00521.html>.
25354         * lib/regex_internal.c (re_string_skip_chars):
25355         Fix miscomputation of remain_len that may cause incomplete
25356         multi-byte character and false match.
25358 2012-02-24  Jim Meyering  <meyering@redhat.com>
25360         maint.mk: tell sc_prohibit_strcmp to ding "0 == strcmp (...)", too
25361         * top/maint.mk (sc_prohibit_strcmp): Also prohibit uses of strcmp
25362         uses with "==" *before* the call, e.g., 0 == strcmp (...)
25363         Remove now-unnecessary str''cmp obfuscation.
25364         Suggested by Akim Demaille.
25366 2012-02-24  Bruno Haible  <bruno@clisp.org>
25368         streq: Rename macro.
25369         * lib/streq.h (STREQ_OPT): Renamed from STREQ.
25370         * NEWS: Mention the change.
25371         * lib/mbrtowc.c (mbrtowc): Update.
25372         * lib/uniwidth/cjk.h (is_cjk_encoding): Update.
25373         * lib/wcwidth.c (wcwidth): Update.
25374         Suggested by Akim Demaille and Jim Meyering.
25376 2012-02-20  Paul Eggert  <eggert@cs.ucla.edu>
25378         regex: fix typo in definition of MIN
25379         * lib/regex_internal.h (MIN): Fix typo.  Problem reported by Thomas
25380         Schwinge in <http://sourceware.org/bugzilla/show_bug.cgi?id=11638#c4>.
25382 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
25383             Bruno Haible  <bruno@clisp.org>
25385         acl: Don't use ACL_CNT and similar ops, since they are unreliable.
25386         * lib/file-has-acl.c (file_has_acl) [HP-UX, NonStop Kernel]: Read the
25387         entries into a stack-allocated buffer directly.
25388         * lib/copy-acl.c (qcopy_acl) [HP-UX, NonStop Kernel]: Likewise.
25390 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
25391             Bruno Haible  <bruno@clisp.org>
25393         acl: Don't use GETACLCNT and similar ops, since they are unreliable.
25395          - There were several instances of this pattern:
25397              for (;;) {
25398                n = acl (f, GETACLCNT, 0, NULL);
25399                [ allocate an array A of size N ]
25400                if (acl (f, GETACL, n, a) == n)
25401                  break;
25402              }
25404            This loop might never terminate if some other process is constantly
25405            manipulating the file's ACL.  The loop should be rewritten to
25406            terminate.
25408          - The acl (... GETACLNT ...) call is merely an optimization; its value
25409            is merely a hint as to how big to make the array.  A better
25410            optimization is to avoid the acl (... GETACLNT ...)  call entirely,
25411            and just guess a reasonably-big size, growing the size and trying
25412            again if it's not large enough.  This guarantees termination, and
25413            saves a system call.
25415         * lib/acl-internal.h: Include <limits.h>.
25416         (MIN, SIZE_MAX): New macros.
25417         * lib/file-has-acl.c (file_has_acl) [Solaris]: Read the entries into
25418         a stack-allocated buffer, and use malloc if it does not fit. Don't
25419         use GETACLCNT.
25420         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
25422 2012-02-19  Bruno Haible  <bruno@clisp.org>
25424         acl: Fix endless loop on Solaris with vxfs.
25425         * lib/file-has-acl.c (file_has_acl) [Solaris]: Treat a failing
25426         acl()/facl() call for ACE_GETACL like a failing call for ACE_GETACLCNT.
25427         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
25428         * lib/copy-acl.c (qcopy_acl)[Solaris]: Likewise.
25429         * tests/test-sameacls.c (main)[Solaris]: Likewise.
25430         Reported by Bill Jones in
25431         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10639>, via Paul Eggert.
25433 2012-02-19  Bruno Haible  <bruno@clisp.org>
25435         acl: Fix copy-acl test failure on Solaris 11.0.
25436         * lib/file-has-acl.c (NEW_ACE_WRITEA_DATA): New macro.
25437         (acl_ace_nontrivial): Relax the restrictions on access_masks[] so
25438         that this function returns 0 in some more cases.
25440 2012-02-19  Bruno Haible  <bruno@clisp.org>
25442         acl: Update doc references.
25443         * doc/acl-resources.txt: Update links to Solaris documentation.
25445 2012-02-19  Bruno Haible  <bruno@clisp.org>
25447         Fix test failure in many locales on Solaris 11.
25448         * tests/test-pipe-filter-gi1.c (main): Don't use range expression in
25449         'tr' arguments.
25450         * tests/test-pipe-filter-ii1.c (main): Likewise.
25451         * build-aux/bootstrap (check_versions): Run 'tr' command with range
25452         expressions in the C locale.
25453         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
25454         * m4/host-os.m4 (gl_HOST_OS): Likewise.
25456 2012-02-19  Bruno Haible  <bruno@clisp.org>
25458         gnulib-tool: Improve usage message.
25459         * gnulib-tool (func_usage): Move doc of --help and --version to the
25460         section "Operation modes".
25462 2012-02-18  Reuben Thomas  <rrt@sc3d.org>
25464         README-release: make it easier to execute commands
25465         * top/README-release: break commands out on to separate lines.
25467 2012-02-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
25469         GNUmakefile: simplify detection of unconfigured trees
25470         * top/GNUmakefile: Use $(wildcard) instead of $(shell) to determine
25471         whether the tree make is being run from is already configured or
25472         not.  Related simplifications.
25474 2012-02-13  Simon Josefsson  <simon@josefsson.org>
25476         * gnulib-tool (func_usage): Document --help and --version.
25478 2012-02-11  Jim Meyering  <meyering@redhat.com>
25480         bootstrap: don't exit 0 upon gnulib-tool failure
25481         * build-aux/bootstrap (gnulib_tool): If gnulib-tool fails, exit with
25482         its exit status, not 0.
25484 2011-12-19  Reuben Thomas  <rrt@sc3d.org>
25486         README-release: various improvements
25487         * top/README-release: Give a command to push changes for the
25488         release.  Add "distcheck" to list of other pre-release checks.
25489         Fix instance of "make stable" which should be "make TYPE".
25491 2012-02-09  Paul Eggert  <eggert@cs.ucla.edu>
25493         maint: replace FSF snail-mail addresses with URLs
25494         * config/argz.mk, lib/accept4.c, lib/alignof.h, lib/alloca.in.h:
25495         * lib/alphasort.c, lib/arcfour.c, lib/arcfour.h, lib/arctwo.c:
25496         * lib/arctwo.h, lib/argz.c, lib/arpa_inet.in.h, lib/asnprintf.c:
25497         * lib/asprintf.c, lib/assert.in.h, lib/base32.c, lib/base32.h:
25498         * lib/base64.c, lib/base64.h, lib/c-ctype.c, lib/c-ctype.h:
25499         * lib/c-strcase.h, lib/c-strcasecmp.c, lib/c-strncasecmp.c:
25500         * lib/check-version.c, lib/check-version.h, lib/config.charset:
25501         * lib/ctype.in.h, lib/des.c, lib/des.h, lib/dup3.c, lib/errno.in.h:
25502         * lib/float+.h, lib/fnmatch.c, lib/fnmatch.in.h, lib/fnmatch_loop.c:
25503         * lib/fseeko.c, lib/gai_strerror.c, lib/gc-gnulib.c:
25504         * lib/gc-libgcrypt.c, lib/gc-pbkdf2-sha1.c, lib/gc.h:
25505         * lib/getaddrinfo.c, lib/getdelim.c, lib/getfilecon.c, lib/getline.c:
25506         * lib/getlogin_r.c, lib/getpass.c, lib/getpass.h, lib/gettext.h:
25507         * lib/gettimeofday.c, lib/glob.in.h, lib/glthread/cond.c:
25508         * lib/glthread/cond.h, lib/glthread/lock.c, lib/glthread/lock.h:
25509         * lib/glthread/thread.c, lib/glthread/thread.h:
25510         * lib/glthread/threadlib.c, lib/glthread/yield.h, lib/hmac-md5.c:
25511         * lib/hmac-sha1.c, lib/hmac.h, lib/iconv.c, lib/iconv.in.h:
25512         * lib/iconv_close.c, lib/iconv_open.c, lib/inet_ntop.c, lib/isfinite.c:
25513         * lib/isinf.c, lib/iswblank.c, lib/langinfo.in.h, lib/link.c:
25514         * lib/localcharset.c, lib/localcharset.h, lib/lseek.c, lib/malloc.c:
25515         * lib/malloca.c, lib/malloca.h, lib/md2.c, lib/md2.h, lib/md4.c:
25516         * lib/md4.h, lib/md5.c, lib/md5.h, lib/memmem.c, lib/mempcpy.c:
25517         * lib/memset.c, lib/memxor.c, lib/memxor.h, lib/minmax.h, lib/mktime.c:
25518         * lib/msvc-inval.c, lib/msvc-inval.h, lib/msvc-nothrow.c:
25519         * lib/msvc-nothrow.h, lib/netdb.in.h, lib/netinet_in.in.h, lib/nproc.c:
25520         * lib/nproc.h, lib/obstack_printf.c, lib/pathmax.h, lib/pipe.c:
25521         * lib/pipe2.c, lib/poll.c, lib/poll.in.h, lib/printf-args.c:
25522         * lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h:
25523         * lib/pselect.c, lib/pthread.in.h, lib/pty-private.h, lib/pty.in.h:
25524         * lib/read-file.c, lib/read-file.h, lib/ref-add.sin, lib/ref-del.sin:
25525         * lib/regcomp.c, lib/regex.c, lib/regex.h, lib/regex_internal.c:
25526         * lib/regex_internal.h, lib/regexec.c, lib/rijndael-alg-fst.c:
25527         * lib/rijndael-alg-fst.h, lib/rijndael-api-fst.c:
25528         * lib/rijndael-api-fst.h, lib/rint.c, lib/rintf.c, lib/rintl.c:
25529         * lib/round.c, lib/roundf.c, lib/roundl.c, lib/scandir.c, lib/select.c:
25530         * lib/sha1.c, lib/sha1.h, lib/size_max.h, lib/snprintf.c:
25531         * lib/stdalign.in.h, lib/stdarg.in.h, lib/stdbool.in.h:
25532         * lib/stddef.in.h, lib/stdint.in.h, lib/stdio.in.h, lib/str-kmp.h:
25533         * lib/str-two-way.h, lib/strcasecmp.c, lib/strcasestr.c, lib/strdup.c:
25534         * lib/striconv.c, lib/striconv.h, lib/string.in.h, lib/strings.in.h:
25535         * lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c, lib/strpbrk.c:
25536         * lib/strptime.c, lib/strsep.c, lib/strstr.c, lib/strverscmp.c:
25537         * lib/sys_file.in.h, lib/sys_ioctl.in.h, lib/sys_select.in.h:
25538         * lib/sys_socket.in.h, lib/sys_stat.in.h, lib/sys_time.in.h:
25539         * lib/sys_times.in.h, lib/sys_types.in.h, lib/sys_uio.in.h:
25540         * lib/sys_utsname.in.h, lib/sys_wait.in.h, lib/tcgetsid.c:
25541         * lib/termios.in.h, lib/time.in.h, lib/time_r.c, lib/timegm.c:
25542         * lib/times.c, lib/unictype/3level.h, lib/unictype/3levelbit.h:
25543         * lib/unistd.in.h, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c:
25544         * lib/vsnprintf.c, lib/waitpid.c, lib/wchar.in.h, lib/wctype.in.h:
25545         * lib/xsize.h, tests/test-closein.c, tests/test-des.c:
25546         * tests/test-fclose.c, tests/test-fgetc.c, tests/test-filevercmp.c:
25547         * tests/test-fputc.c, tests/test-fread.c, tests/test-fwrite.c:
25548         * tests/test-gc-arcfour.c, tests/test-gc-arctwo.c, tests/test-gc-des.c:
25549         * tests/test-gc-hmac-md5.c, tests/test-gc-hmac-sha1.c:
25550         * tests/test-gc-md2.c, tests/test-gc-md4.c, tests/test-gc-md5.c:
25551         * tests/test-gc-pbkdf2-sha1.c, tests/test-gc-rijndael.c:
25552         * tests/test-gc-sha1.c, tests/test-gc.c, tests/test-getdelim.c:
25553         * tests/test-getline.c, tests/test-getndelim2.c, tests/test-md2.c:
25554         * tests/test-md4.c, tests/test-parse-datetime.c, tests/test-perror.c:
25555         * tests/test-perror2.c, tests/test-pipe.c, tests/test-pipe2.c:
25556         * tests/test-poll.c, tests/test-quotearg-simple.c:
25557         * tests/test-quotearg.c, tests/test-quotearg.h:
25558         * tests/test-round-ieee.c, tests/test-round1.c:
25559         * tests/test-roundf-ieee.c, tests/test-roundf1.c:
25560         * tests/test-roundl-ieee.c, tests/test-roundl.c:
25561         * tests/test-safe-alloc.c, tests/test-sigpipe.c:
25562         * tests/test-spawn-pipe-child.c, tests/test-spawn-pipe-main.c:
25563         * tests/test-strerror.c, tests/test-strerror_r.c:
25564         * tests/test-strsignal.c, tests/test-strverscmp.c:
25565         * tests/test-xmemdup0.c:
25566         Replace FSF snail mail addresses with URLs, as per GNU coding
25567         standards.  See glibc bug
25568         <http://sourceware.org/bugzilla/show_bug.cgi?id=13673>.
25570 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
25572         README-release: capitalize a word and split a line
25573         * top/README-release: Fix punctuation and spacing.
25575 2012-02-08  Akim Demaille  <demaille@gostai.com>
25577         fatal-signal: use C prototypes (with explicit void).
25578         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
25579         (init_fatal_signal_set, block_fatal_signals): Fix signatures.
25581 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
25583         regex: spelling fix
25584         * lib/regexec.c: spelling fix
25586         regex: rely on stdint.h for SIZE_MAX
25587         * lib/regex_internal.h (SIZE_MAX): Remove; stdint.h supplies this now.
25589 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
25591         regex: merge glibc changes
25593         * lib/regcomp.c (init_dfa): Tighten overflow checks to test
25594         for IDX_MAX too, since IDX_MAX can be much less than SIZE_MAX.
25595         (init_word_char): Work even if bitset words are not exactly 32 or
25596         64 bits wide.  Don't assume there are no padding bits.
25597         * lib/regex.c [_LIBC]: Do not include <config.h>.
25598         [!_LIBC]: Add pragmas to ignore -Wsuggest-attributes=pure
25599         and -Wtype-limits.
25600         * lib/regex.h (__USE_GNU): Renamed from __USE_GNU_REGEX, to avoid
25601         needless disagreement with glibc.  All uses changed.  Define it to
25602         1 only if _GNU_SOURCE, to match glibc.
25603         (_REG_RM_NAME): Remove; no longer needed, since the names in
25604         question are now all protected by __USE_GNU.
25605         (_REG_RE_NAME): Remove; replaced by glibc's __REPB_PREFIX.
25606         (REG_TRANSLATE_TYPE): Remove; replaced by glibc's __RE_TRANSLATE_TYPE.
25607         * lib/regex_internal.h (MIN): New macro.
25609         2012-01-03 Ulrich Drepper <drepper@gmail.com>
25610         * lib/regcomp.c (init_word_char): Optimize regex a bit.
25612         2011-12-30 Jakub Jelinek <jakub@redhat.com>
25613         * lib/regex_internal.c (re_string_fetch_byte_case):
25614         Fix up regcomp/regexec.  The problem is that parse_bracket_symbol
25615         is miscompiled, and it turns out it is because of an incorrect
25616         attribute on re_string_fetch_byte_case.  Unlike
25617         re_string_peek_byte_case, this one is really not pure, it modifies
25618         memory (increments pstr->cur_idx), and with the pure attribute GCC
25619         assumed it doesn't and it cached the presumed value of
25620         regexp->cur_idx in a variable across the
25621          for (;; ++i)
25622            {
25623              if (i >= BRACKET_NAME_BUF_SIZE)
25624                return REG_EBRACK;
25625              if (token->type == OP_OPEN_CHAR_CLASS)
25626                ch = re_string_fetch_byte_case (regexp);
25627              else
25628                ch = re_string_fetch_byte (regexp);
25629              if (re_string_eoi(regexp))
25630                return REG_EBRACK;
25631              if (ch == delim && re_string_peek_byte (regexp, 0) == ']')
25632                break;
25633              elem->opr.name[i] = ch;
25634            }
25636         2011-11-29 Andreas Schwab <schwab@redhat.com>
25637         * lib/regcomp.c (build_equiv_class):
25638         Fix access after end of search string in regex matcher.
25640         2011-11-12 Ulrich Drepper <drepper@redhat.com>
25641         * lib/regex_internal.c, lib/regex_internal.h: Fix warnings in regex.
25643         2011-10-12 Ulrich Drepper <drepper@redhat.com>
25644         * lib/regcomp.c (parse_branch): One more regex memory leak fixed.
25646         2011-10-11 Ulrich Drepper <drepper@redhat.com>
25647         * lib/regcomp.c (parse_branch, parse_sub_exp):
25648         More regex memory leak fixes and tests.
25649         (parse_sub_exp, parse_bracket_exp):
25650         Fix memory leak for some invalid regular expressions.
25652         2011-05-28 Ulrich Drepper <drepper@gmail.com>
25653         * lib/regex_internal.c, lib/regexec.c:
25654         Fix unnecessary overallocation due to incomplete character.  When
25655         incomplete characters are found at the end of a string the code
25656         ran amok and allocated lots of memory.  Stricter limits are now in
25657         place.
25659         2011-05-20 Reuben Thomas <rrt@sc3d.org>
25660         * lib/regex.h: Update documentation.
25662         2011-05-16 Aharon Robbins <arnold@skeeve.com>
25663         * lib/regex.h: Update RE_SYNTAX*_AWK constants.
25665         2010-05-05 Andreas Schwab <schwab@redhat.com>
25666         * lib/regexec.c (find_collation_sequence_value):
25667         Fix lookup of collation sequence value during regexp matching.
25669         2010-01-22 Ulrich Drepper <drepper@redhat.com>
25670         * lib/regex_internal.c (re_dfa_add_node): Extend overflow detection.
25672         2008-01-16 Ulrich Drepper <drepper@redhat.com>
25673         * lib/regex.h: Cleanup namespace.
25675         2007-11-26 Ulrich Drepper <drepper@redhat.com>
25676         * lib/regex.h (REG_ENOSYS): Define REG_ENOSYS also for __USE_XOPEN2K.
25678         2007-08-26 Ulrich Drepper <drepper@redhat.com>
25679         * lib/regex_internal.h: Prevent some declarations and definitions
25680         to be seen when used in tests.
25682         2005-05-06 Ulrich Drepper <drepper@redhat.com>
25683         * lib/regex_internal.h: Include bits/libc-lock.h or define dummy
25684         __libc_lock_* macros if not _LIBC.
25685         (struct re_dfa_t): Add lock.
25687 2012-02-07  Eric Blake  <eblake@redhat.com>
25689         maint.mk: also prohibit lower-case @var@
25690         * top/maint.mk (sc_makefile_at_at_check): Enhance check to cover
25691         lower case, like @top_srcdir@.
25693 2012-02-04  Eric Blake  <eblake@redhat.com>
25695         canonicalize: avoid uninitialized memory use
25696         * lib/canonicalize-lgpl.c (__realpath): Avoid possibility of
25697         random '/' left in dest.
25698         * lib/canonicalize.c (canonicalize_filename_mode): Likewise.
25700 2012-02-04  Bruno Haible  <bruno@clisp.org>
25702         isatty: Fix test failure of ptsname_r on native Windows.
25703         * lib/isatty.c (_isatty_nothrow): Upon exception, return 0, not -1,
25704         and don't set errno.
25705         (isatty): Test first whether fd is valid. Set errno when returning 0.
25707 2012-02-04  Bruno Haible  <bruno@clisp.org>
25709         spawn-pipe tests: Fix a NULL program name in a diagnostic.
25710         * tests/test-spawn-pipe-main.c: Include progname.h.
25711         (main): Invoke set_program_name.
25712         * modules/spawn-pipe-tests (Depends-on): Add progname.
25714         nonblocking-socket tests: Fix a NULL program name in a diagnostic.
25715         * tests/test-nonblocking-socket-main.c: Include progname.h.
25716         (main): Invoke set_program_name.
25717         * modules/nonblocking-socket-tests (Depends-on): Add progname.
25719         nonblocking-pipe tests: Fix a NULL program name in a diagnostic.
25720         * tests/test-nonblocking-pipe-main.c: Include progname.h.
25721         (main): Invoke set_program_name.
25722         * modules/nonblocking-pipe-tests (Depends-on): Add progname.
25724 2012-02-04  Eric Blake  <eblake@redhat.com>
25726         canonicalize-lgpl: fix // handling
25727         * lib/canonicalize-lgpl.c (__realpath): Don't convert /// to //.
25729         canonicalize: fix // handling
25730         * lib/canonicalize.c (canonicalize_filename_mode): Don't convert
25731         /// to //, since only // is special.
25733 2012-02-04  Bruno Haible  <bruno@clisp.org>
25735         ioctl: Fix test failure on native Windows.
25736         * lib/ioctl.c: Include msvc-nothrow.h.
25737         (primary_ioctl): If fd is not a valid handle, set errno to EBADF.
25739 2012-02-04  Bruno Haible  <bruno@clisp.org>
25741         fsync: Avoid test failure on native Windows.
25742         * lib/fsync.c (fsync) [Windows]: Don't fail if the handle is merely
25743         read-only.
25745 2012-02-04  Bruno Haible  <bruno@clisp.org>
25747         sys_select: Avoid syntax error on OpenBSD 5.0.
25748         * lib/sys_select.in.h [OpenBSD]: When /usr/include/pthread.h is
25749         currently being included, just include the system's <sys/select.h>.
25751 2012-02-04  Bruno Haible  <bruno@clisp.org>
25753         sys_select: Avoid syntax error on OpenBSD 5.0.
25754         * lib/sys_select.in.h: Include <signal.h> only after the include_next
25755         <sys/select.h>, not before.
25756         Reported by Jiri B <jirib@devio.us>.
25758 2012-02-04  Bruno Haible  <bruno@clisp.org>
25760         get-rusage-as, get-rusage-data tests: Avoid test failure with gcc-4.7.
25761         * tests/test-get-rusage-as.c (main): Assign the malloc() results to
25762         global variables.
25763         * tests/test-get-rusage-data.c (main): Likewise.
25764         Reported by Jim Meyering.
25766 2012-02-04  Bruno Haible  <bruno@clisp.org>
25768         stdioext: Fix last commit.
25769         * lib/fwritable.c [EPLAN9]: Include <fcntl.h>.
25771 2012-02-03  Bruno Haible  <bruno@clisp.org>
25773         stdioext: Add tentative support for Plan9.
25774         * lib/stdio-impl.h: Include <errno.h>.
25775         * lib/fseterr.c (fseterr) [EPLAN9]: Add conditional code.
25776         * lib/freadable.c (freadable): Likewise.
25777         * lib/fwritable.c (fwritable): Likewise.
25778         * lib/fbufmode.c (fbufmode): Likewise.
25779         * lib/freading.c (freading): Likewise.
25780         * lib/fwriting.c (fwriting): Likewise.
25781         * lib/freadptr.c (freadptr): Likewise.
25782         * lib/freadseek.c (freadptrinc): Likewise.
25783         * lib/freadahead.c (freadahead): Likewise.
25784         * lib/fpurge.c (fpurge): Likewise.
25785         * lib/fseeko.c (rpl_fseeko): Likewise.
25786         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Plan9.
25787         Reported by Jens Staal <staal1978@gmail.com>.
25789 2012-02-02  Jim Meyering  <meyering@redhat.com>
25791         file-has-acl: suppress a warning from gcc -Wsuggest-attribute=const
25792         * lib/file-has-acl.c (file_has_acl): This function (for some #ifdefs)
25793         would evoke a new gcc warning.  Given all of the #ifdefs, it is better
25794         not even to try to add the attribute.  Instead, add a pragma to suppress
25795         the suggestion/warning.
25797 2012-01-31  Karl Berry  <karl@gnu.org>
25799         setstate doc: typo.
25800         * doc/posix-functions/setstate.texi (setstate): { not (.
25802 2012-01-31  Bruno Haible  <bruno@clisp.org>
25804         popen: Make more robust on Windows.
25805         * lib/popen.c: On native Windows, use the _popen based code even if
25806         HAVE_POPEN is set.
25807         * doc/posix-functions/popen.texi: Mention necessity of COMSPEC
25808         environment variable on native Windows.
25810 2012-01-30  Bruno Haible  <bruno@clisp.org>
25812         pclose: Fix typo.
25813         * lib/stdio.in.h (pclose): Fix typo in warning message.
25815 2012-01-30  Bruno Haible  <bruno@clisp.org>
25817         doc about getlogin_r, setstate.
25818         * doc/posix-functions/getlogin_r.texi: List the incompatible
25819         declaration problem under "not fixed by gnulib".
25820         * doc/posix-functions/setstate.texi: Mention incompatible declaration
25821         problem on Solaris 11 and other platforms.
25823 2012-01-30  Chuanchang Jia  <chuanchang.jia@gmail.com>  (tiny change)
25824             Bruno Haible  <bruno@clisp.org>
25826         poll tests: Make test more robust.
25827         * tests/test-poll.c: Include macros.h.
25828         (test_accept_first, test_pair, test_socket_pair, test_pipe): Verify
25829         return value of various I/O operations.
25830         * modules/poll-tests (Files): Add tests/macros.h.
25832 2012-01-30  Bruno Haible  <bruno@clisp.org>
25834         sys_stat: Fix support for mingw64 and MSVC.
25835         * lib/sys_stat.in.h (stat) [AIX]: Don't redefine 'stat' if the system
25836         header files already do it.
25837         (stat) [mingw, msvc]: Redefine the symbol to which stat is defined, not
25838         stat itself.
25839         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
25841 2012-01-30  Bruno Haible  <bruno@clisp.org>
25843         wcwidth: Work around bug in UTF-8 locale on OpenBSD 5.0.
25844         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test also wcwidth of U+05B0.
25845         * doc/posix-functions/wcwidth.texi: Mention the OpenBSD 5.0 bug.
25847 2012-01-29  Bruno Haible  <bruno@clisp.org>
25849         quotearg: Fix test failure on MacOS X 10.5.
25850         * tests/test-quotearg-simple.c: Include localcharset.h.
25851         (main): If the locale encoding is not ASCII, bypass the tests of
25852         locale_quoting_style and clocale_quoting_style.
25853         * modules/quotearg-tests (Depends-on): Add 'localcharset'.
25855 2012-01-29  Jim Meyering  <meyering@redhat.com>
25857         maint.mk: sc_prohibit_canonicalize_without_use: avoid false positive
25858         * top/maint.mk (sc_prohibit_canonicalize_without_use): Also
25859         detect uses of canonicalize_file_name.
25861 2012-01-28  Bruno Haible  <bruno@clisp.org>
25863         test-framework-sh: Fix test failure with AIX 7.1 diff.
25864         * tests/init.sh (compare_): Don't use 'diff -u' if it inserts a space
25865         in column 1, like 'diff -c' does.
25866         * tests/test-init.sh (test_compare): Don't repeat the test from init.sh
25867         whether 'diff -u' is used. Instead, test whether the output contains
25868         some '@' character.
25870 2012-01-28  Paul Eggert  <eggert@cs.ucla.edu>
25872         strtoimax: eliminate need for stdint.h, inttypes.h checks
25873         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't use
25874         gl_AC_HEADER_STDINT_H or gl_AC_HEADER_INTTYPES_H.  This reduces
25875         the prerequisites for a recently-introduced strtoimax test.
25876         I guess this might cause strtoimax to be replaced when not
25877         strictly necessary on older hosts, but this shouldn't introduce
25878         any bugs and it should make Emacs 'configure' faster on typical
25879         modern hosts.  Problem discovered when importing the latest gnulib
25880         to an Emacs test version.
25881         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4.
25883 2012-01-28  Bruno Haible  <bruno@clisp.org>
25885         sys_time: Override 'struct timeval' on some native Windows platforms.
25886         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Test whether tv_sec
25887         has the right type. Set REPLACE_STRUCT_TIMEVAL if not.
25888         (gl_HEADER_SYS_TIME_H_DEFAULTS): Initialize REPLACE_STRUCT_TIMEVAL.
25889         * lib/sys_time.in.h: Include <winsock2.h> also when 'struct timeval'
25890         needs to be overridden.
25891         (timeval): Override if REPLACE_STRUCT_TIMEVAL is set.
25892         * modules/sys_time (Makefile.am): Substitute REPLACE_STRUCT_TIMEVAL.
25893         * tests/test-sys_select.c: Check that the tv_sec member has the same
25894         size as a 'time_t'.
25895         * tests/test-sys_time.c: Likewise.
25896         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): If REPLACE_STRUCT_TIMEVAL
25897         is set, set also REPLACE_GETTIMEOFDAY.
25898         * lib/gettimeofday.c (gettimeofday): If 'struct timeval' is overridden,
25899         convert the resulting 'struct timeval' before returning.
25900         * lib/select.c: Include <sys/time.h>.
25901         (select, timeval): Undefine at the right place.
25902         * modules/select (Depends-on): Add sys_time.
25903         * doc/posix-headers/sys_time.texi: Mention the problem with tv_sec on
25904         some Windows platforms.
25905         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
25907 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
25909         accept4, fcntl, socket modules: Avoid warnings on x86_64 mingw64.
25910         * lib/accept4.c (accept4): Use intptr_t to convert handle pointer to
25911         an integer.
25912         * lib/fcntl.c (dupfd): Likewise.
25913         * lib/w32sock.h (SOCKET_TO_FD): Likewise.
25915 2012-01-28  Bruno Haible  <bruno@clisp.org>
25917         fcntl: Avoid compilation error on native Windows.
25918         * modules/fcntl (Depends-on): Add 'close'.
25920 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
25922         select, poll, isatty: Avoid warnings on x86_64 mingw64.
25923         * lib/select.c (IsConsoleHandle): Use intptr_t to convert handle
25924         pointer to an integer.
25925         * lib/poll.c (IsConsoleHandle): Likewise.
25926         * lib/isatty.c (IsConsoleHandle): Likewise.
25928 2012-01-28  Jim Meyering  <meyering@redhat.com>
25930         doc: clarify README-release
25931         * top/README-release: Clarify: you should make a point to have
25932         the latest stable versions of build tools in your PATH, and the
25933         reference to buildreq is solely for its list of tool names, not
25934         for its minimal-functional version numbers.
25935         Prompted by discussion with Reuben Thomas and Gary V. Vaughan.
25937         maint.mk: use more readable (yet functionally equivalent) quoting
25938         It is common to quote a single quote in a single quoted string like
25939         this:  '...'\''...'.  Unless you know the idiom, that looks like
25940         gibberish, so prefer to double-quote the string when possible.
25941         Then you can use a more readable, lone single quote: "...'..."
25942         * top/maint.mk (sc_cast_of_argument_to_free): Quoting like this
25943         "don't" is more readable than the equivalent 'don'\''t'.
25944         (sc_cast_of_x_alloc_return_value): Likewise.
25945         (sc_cast_of_alloca_return_value): Likewise.
25946         (sc_makefile_path_separator_check): Similar: use ":" in '...',
25947         rather than '\'':'\''.
25949 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
25951         stdalign: relax _Alignof and tighten _Alignas test
25952         * m4/stdalign.m4 (gl_STDALIGN_H): Relax the _Alignof test,
25953         as it was too strict: alignof must divide offsetof, but it need
25954         not equal offsetof.  Inspired by Joseph S. Myers's comment
25955         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52023#c10>.
25956         Conversely, tighten the _Alignas test a bit, as the resulting
25957         alignment must be exactly 8.
25959 2012-01-27  Bruno Haible  <bruno@clisp.org>
25961         stdalign: Document the last change.
25962         * doc/posix-headers/stdalign.texi: Mention GCC bug 52023.
25964 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
25966         stdalign: check that alignof and offsetof are consistent
25967         * m4/stdalign.m4 (gl_STDALIGN_H): Check for GCC bug 52023.
25968         Problem reported for gnulib by Richard W.M. Jones in
25969         <http://lists.gnu.org/r/bug-gnulib/2012-01/msg00340.html>.
25971 2012-01-27  Jim Meyering  <meyering@redhat.com>
25973         update-copyright: accept new option: UPDATE_COPYRIGHT_USE_INTERVALS=2
25974         * build-aux/update-copyright: When UPDATE_COPYRIGHT_USE_INTERVALS=2,
25975         convert a sequence with gaps to the minimal containing range.
25976         For example, convert 2000, 2004-2007, 2009 to 2000-2009.
25977         * tests/test-update-copyright.sh: Test for this.
25978         The FSF confirmed it is ok to do this, assuming there is at
25979         least one significant change per year in the affected range:
25980         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29554/focus=29860
25982 2012-01-26  Bruno Haible  <bruno@clisp.org>
25984         pipe2: refine doc about thread-safety
25985         * doc/glibc-functions/pipe2.texi: Clarify the extent of the
25986         multithread-safety problem.
25987         * doc/glibc-functions/accept4.texi: Likewise.
25989 2012-01-26  Bruno Haible  <bruno@clisp.org>
25991         posix_spawn_file_actions_addopen: Fix 2012-01-08 commit.
25992         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN):
25993         In the test program, include <fcntl.h>, for O_RDONLY.
25995 2012-01-26  Eric Blake  <eblake@redhat.com>
25997         pipe2: document lack of thread-safety in replacement
25998         * doc/glibc-functions/pipe2.texi (pipe2): Mention thread safety
25999         issue in replacement.
26000         * doc/glibc-functions/accept4.texi (accept4): Likewise.
26001         Based on a report by Eric Wong.
26003 2012-01-24  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
26004             Bruno Haible  <bruno@clisp.org>
26006         malloca: Avoid warnings on x86_64 mingw64.
26007         * lib/malloca.c: Include <stdint.h>.
26008         (mmalloca, freea): Use uintptr_t to convert pointers to integers.
26009         * modules/malloca (Depends-on): Add stdint.
26010         * modules/relocatable-prog-wrapper (Depends-on): Likewise.
26012 2012-01-25  Paul Eggert  <eggert@cs.ucla.edu>
26014         obstack: remove __STDC__ conditionals
26015         * lib/obstack.h: Remove __STDC__ conditionals, as suggested by Joseph
26016         S. Myers in <http://cygwin.com/ml/libc-alpha/2012-01/msg00104.html>.
26017         This leaves lib/localcharset.c, m4/iconv.m4, and a confusing comment in
26018         m4/include_next.m4 as the only gnulib-maintained places that still
26019         refer to __STDC__.
26021 2012-01-24  Bruno Haible  <bruno@clisp.org>
26023         havelib: Modern quoting.
26024         * build-aux/config.rpath: Quote 'like this', not `like this', as per
26025         the recent change to the GNU coding standards.
26027 2012-01-24  Bruno Haible  <bruno@clisp.org>
26029         stdint: Improve support for Android.
26030         * lib/stdint.in.h: Test __ANDROID__, not __BIONIC__.
26031         Reported by Simon Josefsson <simon@josefsson.org>.
26033 2012-01-23  Paul Eggert  <eggert@cs.ucla.edu>
26035         doc: omit trailing empty lines from INSTALL etc.
26036         * doc/Makefile (INSTALL): Omit trailing empty lines.
26037         (INSTALL.ISO, INSTALL.UTF-8): Build from INSTALL, so that these also
26038         omit trailing empty lines.  This simplifies the build procedure.
26040 2012-01-23  Jim Meyering  <meyering@redhat.com>
26042         tests: avoid spurious warnings about gl_sockets_startup
26043         Fedora rawhide's gcc version 4.7.0 20120119 with -Wunused-value
26044         would warn about every use of "gl_sockets_startup (SOCKETS_1_1);"
26045         reporting a "statement with no effect".
26046         * tests/test-accept.c (main): Mark as "(void)".
26047         * tests/test-accept4.c (main): Likewise.
26048         * tests/test-bind.c (main): Likewise.
26049         * tests/test-connect.c (main): Likewise.
26050         * tests/test-getpeername.c (main): Likewise.
26051         * tests/test-getsockname.c (main): Likewise.
26052         * tests/test-getsockopt.c (main): Likewise.
26053         * tests/test-listen.c (main): Likewise.
26054         * tests/test-recv.c (main): Likewise.
26055         * tests/test-recvfrom.c (main): Likewise.
26056         * tests/test-send.c (main): Likewise.
26057         * tests/test-sendto.c (main): Likewise.
26058         * tests/test-setsockopt.c (main): Likewise.
26059         * tests/test-shutdown.c (main): Likewise.
26061 2012-01-21  Bruno Haible  <bruno@clisp.org>
26063         locale-fr.m4: Fix for Android.
26064         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Avoid compilation
26065         failure of the test program on Bionic libc.
26067 2012-01-21  Jim Meyering  <meyering@redhat.com>
26069         bootstrap: fail when bootstrap_post_import_hook fails
26070         Otherwise, it's far too easy to miss diagnostics emitted
26071         between gnulib-tool's output and that of running configure.
26072         * build-aux/bootstrap: Fail when bootstrap_post_import_hook fails.
26074 2012-01-17  Jim Meyering  <meyering@redhat.com>
26076         maint: enable sc_trailing_blank
26077         * build-aux/pmccabe.css: Remove trailing blanks.
26078         * doc/acl-cygwin.txt: Likewise.
26079         * doc/gnu-oids.texi: Likewise
26080         * cfg.mk: Enable sc_trailing_blank.
26081         Exempt build-aux/texinfo.tex and doc/Copyright/assign.future.manual.
26083 2012-01-17  Jim Meyering  <meyering@redhat.com>
26085         maint: enable sc_prohibit_openat_without_use
26086         * cfg.mk: Enable sc_prohibit_openat_without_use.
26087         Exempt lib/selinux-at.c.
26089 2012-01-17  Jim Meyering  <meyering@redhat.com>
26091         maint: enable sc_prohibit_cloexec_without_use
26092         * cfg.mk: Enable sc_prohibit_cloexec_without_use.
26093         * lib/dup-safer-flag.c: Don't include "cloexec.h".  Not needed.
26095 2012-01-17  Jim Meyering  <meyering@redhat.com>
26097         maint: enable sc_prohibit_intprops_without_use
26098         * cfg.mk: Enable sc_prohibit_intprops_without_use
26099         * tests/test-nanosleep.c: Don't include "intprops.h".  Not needed.
26101 2012-01-17  Jim Meyering  <meyering@redhat.com>
26103         maint: enable sc_prohibit_hash_pjw_without_use
26104         * cfg.mk: Enable sc_prohibit_hash_pjw_without_use.
26105         * top/maint.mk (sc_prohibit_hash_pjw_without_use): Adjust regexp
26106         to match any use of \<hash_pjw\>, i.e., not necessarily with a
26107         following " (".
26109 2012-01-17  Jim Meyering  <meyering@redhat.com>
26111         maint: enable double-word-prohibiting rule
26112         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_doubled_word.
26113         Exempt three files.
26115 2012-01-17  Jim Meyering  <meyering@redhat.com>
26117         maint: remove empty lines at EOF, but excluding modules/*
26118         Apply syntax rules at home as well as abroad.  Most changes
26119         were induced by running this:
26120           make srcdir=. _build-aux=build-aux -f top/maint.mk \
26121             sc_prohibit_empty_lines_at_EOF | grep -v modules/ \
26122             | xargs perl -pi -0777 -e 's/\n\n+$/\n/'
26123         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_empty_lines_at_EOF.
26124         Exempt modules/* and two binary files.
26125         Also exempt doc/INSTALL*, per request from Bruno Haible.
26126         * doc/regexprops-generic.texi: *Add* a newline at EOF.  There was none.
26127         * doc/Copyright/assign.translation.manual: Remove empty lines at EOF.
26128         * doc/Copyright/request-assign.future: Likewise.
26129         * doc/Copyright/request-disclaim.changes: Likewise.
26130         * doc/INSTALL: Likewise.
26131         * doc/INSTALL.ISO: Likewise.
26132         * doc/INSTALL.UTF-8: Likewise.
26133         * doc/acl-cygwin.txt: Likewise.
26134         * doc/acl-resources.txt: Likewise.
26135         * doc/fdl-1.2.texi: Likewise.
26136         * doc/fdl-1.3.texi: Likewise.
26137         * doc/fdl.texi: Likewise.
26138         * lib/argp-pin.c: Likewise.
26139         * lib/round.c: Likewise.
26140         * lib/unicase/u16-totitle.c: Likewise.
26141         * lib/unictype/block_test.c: Likewise.
26142         * lib/uninorm/canonical-decomposition.c: Likewise.
26143         * m4/README: Likewise.
26144         * m4/relocatable-lib.m4: Likewise.
26145         * tests/test-isnand-nolibm.c: Likewise.
26146         * tests/test-isnand.c: Likewise.
26147         * tests/uninorm/NormalizationTest.txt: Likewise.
26149 2012-01-17  Jim Meyering  <meyering@redhat.com>
26151         maint: add framework to run syntax-check rules against gnulib sources
26152         * cfg.mk: New file, to disable all currently-failing tests.
26153         We'll enable them one by one, as they are made to pass.
26154         * Makefile (sc_maint): New rule.
26156 2012-01-21  Bruno Haible  <bruno@clisp.org>
26158         stdint: Add support for Android.
26159         * lib/stdint.in.h: When included from Bionic <sys/types.h>, just
26160         include the system's <stdint.h>.
26161         Reported by Simon Josefsson <simon@josefsson.org>.
26163 2012-01-19  Jim Meyering  <meyering@redhat.com>
26165         bootstrap: add bootstrap_post_import_hook
26166         Bison does still need something like the gnulib_mk_hook whose
26167         invocation I had to remove along with slurp in commit 767ccd40.
26168         Technically, we could get along without it, but doing so would
26169         have required living with a warning and a mandatory post-bootstrap
26170         automake rerun.
26171         * build-aux/bootstrap (gnulib_mk_hook): Remove definition, too.
26172         (bootstrap_post_import_hook): New function.
26173         Invoke it after gnulib-tool --import and before autoreconf.
26175 2012-01-18  Jim Meyering  <meyering@redhat.com>
26177         gitlog-to-changelog: don't use "no_"-prefixed variable name
26178         * build-aux/gitlog-to-changelog (main): Use getopt's "!" attribute
26179         to enable both --cluster and --no-cluster.  Change variable name,
26180         s/\$no_cluster/$cluster/, and reverse usage to match.
26182         gitlog-to-changelog: use "||", not "or" in expressions
26183         * build-aux/gitlog-to-changelog (main): Use "||", not "or" in
26184         expressions.
26186 2012-01-17  Joel E. Denny  <joeldenny@joeldenny.org>
26188         gitlog-to-changelog: new option --no-cluster
26189         * build-aux/gitlog-to-changelog: New option --no-cluster, disables
26190         clustering of adjacent commit messages.
26192 2012-01-17  Jim Meyering  <meyering@redhat.com>
26194         maint: spell file systems with two words, not one
26195         * m4/ls-mntd-fs.m4 (MOUNTED_INTERIX_STATVFS): Spell file systems with
26196         two words, not one.
26198 2012-01-16  Jim Meyering  <meyering@redhat.com>
26200         bootstrap: add a FIXME comment to ensure we eventually remove the hack
26201         * build-aux/bootstrap (gnulib_tool_options): Add comment.
26203 2012-01-16  Eric Blake  <eblake@redhat.com>
26205         bootstrap: cater to autoconf 2.59
26206         * build-aux/bootstrap (AUTORECONF): Work even when --no-recursive
26207         is not available.
26209         bootstrap: properly check for libtool
26210         * build-aux/bootstrap (libtoolize): Also run libtool when older
26211         usage is detected.
26213 2012-01-15  Bruno Haible  <bruno@clisp.org>
26215         Improve support for MSVC 9.
26216         * lib/unistd.in.h: Include <io.h> when needed to avoid redefinition
26217         clashes on MSVC.
26218         * lib/fcntl.in.h: Likewise.
26219         * lib/stdlib.in.h: Likewise.
26220         * lib/sys_stat.in.h: Likewise.
26222 2011-01-15  Stefano Lattarini  <stefano.lattarini@gmail.com>
26224         gnupload: we hold the master copy of this script now
26225         For motivation and more information, see:
26226         <http://lists.gnu.org/r/bug-gnulib/2012-01/msg00222.html>
26227         * build-aux/gnupload: Make it clear in the heading comments that the
26228         master copy of this file is maintained by gnulib.  Since we are at
26229         it, bump its copyright year and ...
26230         ($scriptversion): ... the date in its version.
26231         ($usage): Patches and bug reports should be sent to the gnulib list,
26232         not the automake one.
26233         * config/srclist.txt: Don't try to sync 'gnupload' from automake
26234         anymore.
26236 2012-01-15  Bruno Haible  <bruno@clisp.org>
26238         Fix module 'random'.
26239         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether random, srandom,
26240         initstate, setstate are declared.
26242 2012-01-14  Bruno Haible  <bruno@clisp.org>
26244         Tests for module 'random'.
26245         * modules/random-tests: New file.
26246         * tests/test-random.c: New file, based on tests/test-random_r.c.
26248         New module 'random'.
26249         * lib/stdlib.in.h (random, srandom, initstate, setstate): New
26250         declarations.
26251         * lib/random.c: New file, based on glibc/stdlib/random.c.
26252         * m4/random.m4: New file.
26253         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RANDOM,
26254         HAVE_RANDOM.
26255         * modules/stdlib (Makefile.am): Substitute GNULIB_RANDOM, HAVE_RANDOM.
26256         * modules/random: New file.
26257         * config/srclist.txt: Add an entry for random.c.
26258         * doc/posix-functions/random.texi: Mention the 'random' module.
26259         * doc/posix-functions/initstate.texi: Likewise.
26260         * doc/posix-functions/setstate.texi: Likewise.
26261         * doc/posix-functions/srandom.texi: Likewise.
26263 2012-01-12  Bruno Haible  <bruno@clisp.org>
26265         random_r: Use common idioms.
26266         * lib/random_r.c: Include <stdlib.h> first.
26268         random_r: Override incompatible API on AIX, OSF/1.
26269         * lib/stdlib.in.h (random_r, srandom_r, initstate_r, setstate_r):
26270         Override the system function if REPLACE_RANDOM_R is 1.
26271         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Require AC_CANONICAL_HOST. On AIX
26272         and OSF/1, set REPLACE_RANDOM_R.
26273         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_RANDOM_R.
26274         * modules/stdlib (Makefile.am): Substitute REPLACE_RANDOM_R.
26275         * modules/random_r (configure.ac): Test REPLACE_RANDOM_R.
26276         * doc/glibc-functions/initstate_r.texi: Mention the AIX, OSF/1 problem.
26277         * doc/glibc-functions/random_r.texi: Likewise.
26278         * doc/glibc-functions/setstate_r.texi: Likewise.
26280         random_r: Support for MSVC 9.
26281         * lib/random_r.c: Include stdint.h, not inttypes.h.
26283 2012-01-12  Eric Blake  <eblake@redhat.com>
26285         inet_ntop: guard extra work by IF_LINT
26286         * lib/inet_ntop.c (inet_ntop6): Mark spurious initialization, for
26287         better code generation when not checking for warnings.
26288         Suggested by Paul Eggert and Jim Meyering.
26290         strptime: fix regression on mingw
26291         * lib/strptime.c (__strptime_internal) [!_LIBC && !HAVE_TM_GMTOFF]:
26292         Fix regression.  Reported by Bruno Haible.
26294 2012-01-11  Reuben Thomas  <rrt@sc3d.org>
26295             Bruno Haible  <bruno@clisp.org>
26297         copy-file: add error-code-returning variant.
26298         * lib/copy-file.h (GL_COPY_ERR_*): New enumeration items.
26299         (qcopy_file_preserving): New declaration.
26300         * lib/copy-file.c (qcopy_file_preserving): Renamed from
26301         copy_file_preserving. Change return type to 'int'. Don't emit an error
26302         message here.
26303         (copy_file_preserving): New function.
26304         * tests/test-copy-file.c: Include <stdlib.h>.
26305         (main): Test qcopy_file_preserving if the environment variable
26306         NO_STDERR_OUTPUT is set.
26307         * tests/test-copy-file-1.sh: Invoke test-copy-file.sh a second time,
26308         with NO_STDERR_OUTPUT
26309         * tests/test-copy-file-2.sh: Likewise.
26311 2012-01-10  Bruno Haible  <bruno@clisp.org>
26313         copy-file: Use 'quote' module consistently.
26314         * lib/copy-file.c (copy_file_preserving): Use quote().
26316         copy-file: Refactor.
26317         * lib/copy-file.c: Include quote.h.
26318         (copy_file_preserving): Call qcopy_acl instead of copy_acl. Emit error
26319         message here.
26320         * modules/copy-file (Depends-on): Add quote.
26322         acl: Export qcopy_acl.
26323         * lib/acl.h (qcopy_acl): New declaration.
26324         * lib/copy-acl.c (qcopy_acl): Make non-static.
26326         acl: Rename a local variable.
26327         * lib/set-mode-acl.c (set_acl): Use same variable name as in copy_acl.
26329         acl: Align return values of copy_acl and qcopy_acl.
26330         * lib/copy-acl.c (copy_acl): Return the same value as qcopy_acl,
26331         maybe < -1.
26333 2012-01-11  Eric Blake  <eblake@redhat.com>
26335         strptime: silence gcc warnings
26336         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT],
26337         [!_LIBC && !HAVE_TM_GMTOFF]: Avoid unused variables.
26338         Reported by Daniel P. Berrange.
26340         inet_ntop: silence gcc warning
26341         * lib/inet_ntop.c (inet_ntop6): Initialize best.base.
26342         Reported by Daniel P. Berrange.
26344 2012-01-11  Dmitry V. Levin  <ldv@altlinux.org>
26346         getloadavg test: skip the test on GNU/Linux without /proc mounted
26347         GNU libc implements getloadavg(3) on Linux by parsing /proc/loadavg
26348         file.  When /proc is not mounted, it always fails with ENOENT.
26349         * tests/test-getloadavg.c (main): Treat ENOENT return code from
26350         getloadavg(3) the same way as ENOSYS and ENOTSUP.
26352 2012-01-10  Bruno Haible  <bruno@clisp.org>
26354         regex: Avoid link error on MSVC 9.
26355         * modules/regex (Depends-on): Add wctype.
26357 2012-01-10  Bruno Haible  <bruno@clisp.org>
26359         doc: Mention --with-tests option.
26360         * gnulib-tool (func_usage): Suggest --with-tests for --test etc.
26361         * doc/gnulib.texi (Extra tests modules): Mention the need to pass
26362         --with-tests.
26363         Reported by Reuben Thomas.
26365 2012-01-10  Reuben Thomas  <rrt@sc3d.org>
26367         users.txt: order package names lexicographically.
26368         * users.txt: Order package names lexicographically.
26370 2012-01-10  Jim Meyering  <meyering@redhat.com>
26372         maint.mk: fix description in comment
26373         * top/maint.mk (require_exactly_one_NL_at_EOF_): Fix comment.
26375         ignore-value: remove deprecated ignore_ptr function
26376         * lib/ignore-value.h (ignore_ptr): Remove deprecated function.
26377         * NEWS: Note this.
26379 2012-01-09  Jim Meyering  <meyering@redhat.com>
26381         test-init.sh: avoid a subshell
26382         * tests/test-init.sh: Remove protective subshell.
26383         Suggested by Bernhard Voelker.  While a subshell is normally
26384         required to protect against older shells (Solaris, FreeBSD) that
26385         warn about a missing program before performing redirection, the
26386         shell-selection tests performed by init.sh probably exclude any
26387         offending shell.
26389 2012-01-08  Bruno Haible  <bruno@clisp.org>
26391         setlocale tests: Avoid test failure on Solaris 11.0.
26392         * tests/test-setlocale2.sh: Use 'env' to set the LC_ALL environment
26393         variable.
26395 2012-01-08  Bruno Haible  <bruno@clisp.org>
26397         posix_spawn_file_actions_addopen: Work around Solaris 11.0 bug.
26398         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
26399         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
26400         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN): New
26401         macro.
26402         * lib/spawn.in.h (posix_spawn_file_actions_addopen): Test
26403         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
26404         * lib/spawn_faction_addopen.c: Add workaround implementation if
26405         HAVE_WORKING_POSIX_SPAWN.
26406         * modules/spawn (Makefile): Substitute
26407         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
26408         * modules/posix_spawn_file_actions_addopen (configure.ac): Invoke
26409         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN. Test
26410         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
26411         (Depends-on): Update conditions.
26412         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
26413         the Solaris 11 bug.
26415 2012-01-08  Bruno Haible  <bruno@clisp.org>
26417         posix_spawn_file_actions_adddup2: Work around Solaris 11.0 bug.
26418         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
26419         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
26420         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2): New
26421         macro.
26422         * lib/spawn.in.h (posix_spawn_file_actions_adddup2): Test
26423         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
26424         * lib/spawn_faction_adddup2.c: Add workaround implementation if
26425         HAVE_WORKING_POSIX_SPAWN.
26426         * modules/spawn (Makefile): Substitute
26427         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
26428         * modules/posix_spawn_file_actions_adddup2 (configure.ac): Invoke
26429         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2. Test
26430         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
26431         (Depends-on): Update conditions.
26432         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
26433         the Solaris 11 bug.
26435 2012-01-08  Bruno Haible  <bruno@clisp.org>
26437         posix_spawn_file_actions_addclose: Work around Solaris 11.0 bug.
26438         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
26439         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
26440         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Define
26441         HAVE_WORKING_POSIX_SPAWN.
26442         (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE): New macro.
26443         * lib/spawn.in.h (posix_spawn_file_actions_addclose): Test
26444         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
26445         * lib/spawn_faction_addclose.c: Add workaround implementation if
26446         HAVE_WORKING_POSIX_SPAWN.
26447         * modules/spawn (Makefile): Substitute
26448         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
26449         * modules/posix_spawn_file_actions_addclose (configure.ac): Invoke
26450         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE. Test
26451         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
26452         (Depends-on): Update conditions.
26453         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
26454         the Solaris 11 bug.
26456 2012-01-08  Bruno Haible  <bruno@clisp.org>
26458         doc: Update for Solaris 11.0.
26459         * doc/*/*.texi: Mention Solaris 11.0 where appropriate.
26460         * m4/printf.m4: Update comments.
26462 2012-01-08  Bruno Haible  <bruno@clisp.org>
26464         mktime: Avoid compilation error on Solaris 11.
26465         * lib/mktime.c (WRAPV): Define to 0 on all non-glibc systems.
26467 2012-01-08  Bruno Haible  <bruno@clisp.org>
26469         doc: Small fix.
26470         * doc/posix-headers/nl_types.texi: Correct platforms list.
26472 2012-01-08  Simon Josefsson  <simon@josefsson.org>
26474         Add lgpl-3.0 module.
26475         * MODULES.html.sh (Support for building documentation): Add
26476         lgpl-3.0.
26477         * modules/lgpl-3.0: New file.
26479 2012-01-08  Jim Meyering  <meyering@redhat.com>
26481         select.c: indent with spaces, not TABs
26482         * lib/select.c (windows_poll_handle): Indent with spaces, not TABs.
26484 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
26486         quotearg: do not use grave accent for left quote
26487         * lib/quotearg.c (gettext_quote): Map "`" to "'" for
26488         locale_quoting_style.
26489         (quotearg_buffer_restyled): Fix example.
26490         * tests/test-quotearg-simple.c (results_g): Adjust test vectors.
26492 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
26494         quotearg: fall back to Unicode single quotes in UTF-8, GB-18030 locales
26495         Most programs do not have translation catalogs for English and much
26496         less separate catalogs for British and American English.  Drop the
26497         suggestion to translators about these two, and provide it
26498         automatically for Unicode locales.  Like most programs, even those
26499         using American English, we use single quotation marks.  This conflicts
26500         with the American typographic convention, but works better when you
26501         cite the entire error message within double quotes.  It also tries not
26502         to clash with established practice and with what non-gnulib programs
26503         will usually do.
26504         * lib/quotearg.c (gettext_quote): Hard-code U+2018 and U+2019 when
26505         using an UTF-8 or GB-18030 locale.  The list of other locales with
26506         quotes was provided by Bruno Haible.
26507         (quotearg_buffer_restyled): Adjust instructions to translators.
26508         * lib/quotearg.h (locale_quoting_style): Do not put an example in the
26509         text, since this would be wrong when using Unicode.
26510         * modules/quotearg: Depend on c-strcaseeq.
26512 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
26514         quotearg: fix Wikipedia link
26515         * lib/quotearg.c (quotearg_buffer_restyled): Fix link to Wikipedia.
26517 2012-01-07  Simon Josefsson  <simon@josefsson.org>
26519         Fix for mingw with MSVC9.
26520         * m4/ld-version-script.m4: Check that compiler rejects version
26521         scripts with syntax errors.  Reported by Bruno Haible
26522         <bruno@clisp.org>.
26524 2012-01-06  Bruno Haible  <bruno@clisp.org>
26526         Talk about "native Windows API", not "Woe32".
26527         * lib/accept4.c: Update comments to mention native Windows.
26528         * lib/execute.c: Likewise.
26529         * lib/fatal-signal.c: Likewise.
26530         * lib/localcharset.c: Likewise.
26531         * lib/nanosleep.c: Likewise.
26532         * lib/nl_langinfo.c: Likewise.
26533         * lib/pclose.c: Likewise.
26534         * lib/pipe-filter-gi.c: Likewise.
26535         * lib/pipe-filter-ii.c: Likewise.
26536         * lib/pipe.c: Likewise.
26537         * lib/pipe2.c: Likewise.
26538         * lib/popen.c: Likewise.
26539         * lib/progreloc.c: Likewise.
26540         * lib/relocatable.c: Likewise.
26541         * lib/sigaction.c: Likewise.
26542         * lib/sigprocmask.c: Likewise.
26543         * lib/spawn-pipe.h: Likewise.
26544         * lib/spawn-pipe.c: Likewise.
26545         * lib/spawni.c: Likewise.
26546         * lib/stat-time.h: Likewise.
26547         * lib/w32spawn.h: Likewise.
26548         * tests/test-isatty.c: Likewise.
26549         * lib/config.charset: More comments.
26550         * doc/gnulib-intro.texi: Mention native Windows.
26551         * doc/posix-functions/_Exit_C99.texi: Likewise.
26552         * doc/posix-headers/fcntl.texi: Likewise.
26554 2012-01-06  Guillem Jover  <guillem@hadrons.org>  (tiny change)
26556         argp: Avoid crash if translator uses % characters in a translation.
26557         * lib/argp-parse.c (argp_version_parser): Use a "%s" format string.
26558         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
26560 2012-01-06  Paul Eggert  <eggert@cs.ucla.edu>
26562         doc: C11 and C++11 are now official
26563         * doc/posix-headers/assert.texi, doc/posix-headers/stdalign.texi:
26564         * doc/verify.texi, stdalign.in.h, verify.h, m4/gnulib-common.m4:
26565         * m4/stdalign.m4, modules/assert-h, modules/snippet/_Noreturn:
26566         * modules/stdalign:
26567         Replace references to draft C1X to C11, and to draft C++0X to C++11.
26569 2012-01-06  Bruno Haible  <bruno@clisp.org>
26571         uc-is-grapheme-break tests: Tweak.
26572         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Fix an error
26573         message.
26575 2012-01-06  Bruno Haible  <bruno@clisp.org>
26577         test-init.sh: correct the test for diff -u
26578         * tests/test-init.sh: Also redirect stdout to /dev/null.
26580 2012-01-05  Paul Eggert  <eggert@cs.ucla.edu>
26582         Use ', not `, for quoting output.
26583         * build-aux/announce-gen (usage, sizes, print_news_deltas)
26584         (print_changelog_deltas, get_tool_versions, main program):
26585         * build-aux/git-version-gen:
26586         * build-aux/gitlog-to-changelog (usage, parse_amend_file):
26587         * build-aux/move-if-change (help):
26588         * build-aux/useless-if-before-free (usage, main program):
26589         * check-module (parse_module_file, usage)
26590         (find_included_lib_files, check_module):
26591         * lib/argmatch.c (main) [TEST]:
26592         * lib/argp-help.c (_help):
26593         * lib/getopt1.c (main) [TEST]:
26594         * lib/git-merge-changelog.c (usage):
26595         * lib/xstrtol-error.c (xstrtol_error):
26596         * m4/alloca.m4 (_AC_LIBOBJ_ALLOCA):
26597         * m4/argz.m4 (gl_FUNC_ARGZ):
26598         * m4/bison.m4 (gl_BISON):
26599         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU):
26600         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
26601         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
26602         * m4/fpending.m4 (gl_PREREQ_FPENDING):
26603         * m4/gc-random.m4 (gl_GC_RANDOM):
26604         * m4/intl.m4 (gt_CHECK_DECL):
26605         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK):
26606         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT)
26607         (AC_TYPE_UNSIGNED_LONG_LONG_INT):
26608         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS):
26609         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK):
26610         * m4/onceonly.m4 (AC_CHECK_FUNCS_ONCE):
26611         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION):
26612         * tests/test-dirname.c (main):
26613         * tests/test-getpass.c (main):
26614         * tests/test-iconvme.c (main):
26615         * tests/test-parse-datetime.c (LOG):
26616         * tests/test-xstrtoimax.sh:
26617         * tests/test-xstrtol.sh:
26618         * tests/test-xstrtoll.sh:
26619         * tests/test-xstrtoumax.sh:
26620         * tests/unigbrk/test-uc-is-grapheme-break.c (main):
26621         * top/GNUmakefile (abort-due-to-no-makefile):
26622         Quote 'like this', not `like this', as per the recent change to
26623         the GNU coding standards.
26625 2012-01-05  Bruno Haible  <bruno@clisp.org>
26627         strtoimax: Don't force a replacement on systems where intmax_t is int.
26628         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Use a different test if
26629         'intmax_t' is not larger than 'int'.
26630         Reported by Pádraig Brady <P@draigBrady.com>.
26632 2012-01-05  Bruno Haible  <bruno@clisp.org>
26634         doc: Mention NetBSD bugs.
26635         * doc/posix-functions/*printf.texi: Mention a NetBSD 5.1 bug.
26636         * doc/posix-functions/nl_langinfo.texi: Mention another NetBSD 5.1 bug.
26638 2012-01-05  Bruno Haible  <bruno@clisp.org>
26640         strtoumax tests: Enhance tests.
26641         * tests/test-strtoumax.c (main): Add tests for large values.
26643 2012-01-05  Bruno Haible  <bruno@clisp.org>
26645         strtoimax: Work around AIX 5.1 bug.
26646         * lib/inttypes.in.h (strtoimax): Allow overriding the system's
26647         definition.
26648         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Check against the AIX 5.1 bug.
26649         Set HAVE_STRTOIMAX.
26650         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Initialize
26651         REPLACE_STRTOIMAX.
26652         * modules/inttypes-incomplete (Makefile.am): Substitute
26653         REPLACE_STRTOIMAX.
26654         * modules/strtoimax (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
26655         (configure.ac): Test HAVE_STRTOIMAX, REPLACE_STRTOIMAX.
26656         (Depends-on): Update conditions.
26657         * tests/test-strtoimax.c (main): Add tests for large values.
26658         * doc/posix-functions/strtoimax.texi: Mention the AIX 5.1 bug.
26660 2012-01-05  Bruno Haible  <bruno@clisp.org>
26662         inttypes: Modernize.
26663         * lib/inttypes.in.h (strtoimax, strtoumax): Use the C++ safe idioms.
26664         * modules/inttypes-incomplete (Depends-on): Add snippet/c++defs.
26665         (Makefile.am): Update inttypes.h rule.
26667 2012-01-05  Jim Meyering  <meyering@redhat.com>
26669         init.sh: don't waste a subshell just to redirect stderr
26670         * tests/init.sh: In testing for diff -u and diff -c, use a
26671         stderr-redirecting exec inside `...` rather than a subshell.
26673         test-init.sh: avoid failure on HP-UX 11.00
26674         * tests/test-init.sh: Skip "diff -u"-comparing step when compare
26675         resolves to diff -c or cmp.  Reported by Bruno Haible.
26677 2012-01-05  Bruno Haible  <bruno@clisp.org>
26679         Tests for module 'strtoull'.
26680         * modules/strtoull-tests: New file.
26681         * tests/test-strtoull.c: New file, based on tests/test-strtoumax.c.
26683 2012-01-05  Bruno Haible  <bruno@clisp.org>
26685         Tests for module 'strtoll'.
26686         * modules/strtoll-tests: New file.
26687         * tests/test-strtoll.c: New file, based on tests/test-strtoimax.c.
26689 2012-01-05  Bruno Haible  <bruno@clisp.org>
26691         Tests for module 'strtoul'.
26692         * modules/strtoul-tests: New file.
26693         * tests/test-strtoul.c: New file, based on tests/test-strtoumax.c.
26695 2012-01-05  Bruno Haible  <bruno@clisp.org>
26697         Tests for module 'strtol'.
26698         * modules/strtol-tests: New file.
26699         * tests/test-strtol.c: New file, based on tests/test-strtoimax.c.
26701 2012-01-04  Jim Meyering  <meyering@redhat.com>
26703         test-init.sh: accommodate Solaris 5.10's different diff -u output
26704         * tests/test-init.sh: Also exempt @@ lines from the comparison
26705         of diff output, since Solaris 5.10 and GNU diff formats differ.
26706         Reported by Stefano Lattarini.
26708 2012-01-04  Paul Eggert  <eggert@cs.ucla.edu>
26710         test-posixtm: don't assume signed integer wraparound
26711         * tests/test-posixtm.c (main): Don't assume wraparound semantics
26712         after signed integer overflow.  Inspired by (though it may not
26713         fix) Bruno Haible's bug report in
26714         <http://lists.gnu.org/r/bug-gnulib/2012-01/msg00066.html>.
26716         Spell out "Windows 9x" and "Windows XP".
26717         * lib/poll.c, lib/select.c: In comments, replace "Win9x" with
26718         "Windows 9x" and "WinXP" with "Windows XP".
26720 2012-01-04  Jim Meyering  <meyering@redhat.com>
26722         test-vc-list-files-cvs.sh: remove obsolete comment
26723         * tests/test-vc-list-files-cvs.sh: Remove obsolete comment about
26724         double exit.  Now that's all encapsulated via skip_ and Exit.
26726 2012-01-04  Bruno Haible  <bruno@clisp.org>
26728         Talk about "native Windows API", not "Win32".
26729         * lib/classpath.c: Update comments to mention native Windows.
26730         * lib/csharpexec.c: Likewise.
26731         * lib/dup2.c: Likewise.
26732         * lib/error.c: Likewise.
26733         * lib/fcntl.c: Likewise.
26734         * lib/filename.h: Likewise.
26735         * lib/findprog.c: Likewise.
26736         * lib/get-rusage-as.c: Likewise.
26737         * lib/get-rusage-data.c: Likewise.
26738         * lib/getpagesize.c: Likewise.
26739         * lib/javaexec.c: Likewise.
26740         * lib/msvc-inval.c: Likewise.
26741         * lib/msvc-nothrow.c: Likewise.
26742         * lib/nanosleep.c: Likewise.
26743         * lib/nonblocking.c: Likewise.
26744         * lib/printf-parse.c: Likewise.
26745         * lib/setlocale.c: Likewise.
26746         * lib/sigaction.c: Likewise.
26747         * lib/strerror_r.c: Likewise.
26748         * lib/tmpdir.c: Likewise.
26749         * lib/vasnprintf.c: Likewise.
26750         * lib/w32spawn.h: Likewise.
26751         * lib/waitpid.c: Likewise.
26752         * lib/stdio.in.h (fdopen, fopen, freopen): Likewise.
26753         * m4/locale-ar.m4: Likewise.
26754         * m4/locale-fr.m4: Likewise.
26755         * m4/locale-ja.m4: Likewise.
26756         * m4/locale-tr.m4: Likewise.
26757         * m4/locale-zh.m4: Likewise.
26758         * m4/printf.m4: Likewise.
26759         * tests/test-cloexec.c: Likewise.
26760         * tests/test-copy-acl.sh: Likewise.
26761         * tests/test-copy-file.sh: Likewise.
26762         * tests/test-file-has-acl.sh: Likewise.
26763         * tests/test-set-mode-acl.sh: Likewise.
26764         * tests/test-dup-safer.c: Likewise.
26765         * tests/test-dup2.c: Likewise.
26766         * tests/test-dup3.c: Likewise.
26767         * tests/test-fcntl.c: Likewise.
26768         * tests/test-nonblocking-pipe.h: Likewise.
26769         * tests/test-nonblocking-socket.h: Likewise.
26770         * tests/test-pipe.c: Likewise.
26771         * tests/test-pipe2.c: Likewise.
26772         * tests/test-spawn-pipe-child.c: Likewise.
26773         * doc/acl-resources.txt: Likewise.
26774         * lib/getaddrinfo.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
26775         * tests/test-poll.c (WINDOWS_NATIVE): Likewise.
26776         * tests/test-select.h (WINDOWS_NATIVE): Likewise.
26777         * lib/localcharset.c: Update comments to mention native Windows.
26778         (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
26779         * lib/localename.c: Likewise.
26780         * lib/progreloc.c: Likewise.
26781         * lib/relocatable.c: Likewise.
26782         * lib/poll.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
26783         (windows_compute_revents): Renamed from win32_compute_revents.
26784         (windows_compute_revents_socket): Renamed from
26785         win32_compute_revents_socket.
26786         * lib/select.c: Update comments to mention native Windows.
26787         (windows_poll_handle): Renamed from win32_poll_handle.
26788         * m4/threadlib.m4: Update comments to mention native Windows.
26789         (gl_THREADLIB_EARLY_BODY, gl_THREADLIB_BODY): Expect
26790         --enable-threads=windows instead of --enable-threads=win32. Set
26791         USE_WINDOWS_THREADS, not USE_WIN32_THREADS.
26792         * lib/glthread/lock.h: Update comments to mention native Windows.
26793         (USE_WINDOWS_THREADS): Renamed from USE_WIN32_THREADS.
26794         * lib/glthread/lock.c (USE_WINDOWS_THREADS): Renamed from
26795         USE_WIN32_THREADS.
26796         * lib/glthread/cond.h (USE_WINDOWS_THREADS): Likewise.
26797         * lib/glthread/cond.c (USE_WINDOWS_THREADS): Likewise.
26798         * lib/glthread/thread.h (USE_WINDOWS_THREADS): Likewise.
26799         * lib/glthread/thread.c (USE_WINDOWS_THREADS): Likewise.
26800         * lib/glthread/tls.h (USE_WINDOWS_THREADS): Likewise.
26801         * lib/glthread/tls.c (USE_WINDOWS_THREADS): Likewise.
26802         * lib/glthread/yield.h (USE_WINDOWS_THREADS): Likewise.
26803         * tests/test-cond.c (USE_WINDOWS_THREADS): Likewise.
26804         * tests/test-thread_create.c (USE_WINDOWS_THREADS): Likewise.
26805         * tests/test-lock.c (USE_WINDOWS_THREADS): Likewise.
26806         (TEST_WINDOWS_THREADS): Renamed from TEST_WIN32_THREADS.
26807         * tests/test-tls.c: Likewise.
26808         Rationale:
26809         Microsoft renamed the "Win32 API" to "Windows API", as it is available
26810         on both 32-bit and 64-bit Windows systems.
26811         But in gnulib, we treat Cygwin like a Unix platform, therefore the main
26812         line of distinction is between "native Windows" on one side and Unix/
26813         POSIX systems on the other side. More details in
26814         <https://lists.gnu.org/r/bug-gnulib/2012-01/msg00027.html>.
26815         Suggested by Paul Eggert.
26817 2012-01-03  Bruno Haible  <bruno@clisp.org>
26819         isatty: Support for MSVC 9.
26820         * doc/posix-functions/isatty.texi: Mention the MSVC problem.
26821         * lib/isatty.c: Include <errno.h>, msvc-inval.h.
26822         (_isatty_nothrow): New function.
26823         (isatty): Use it instead of _isatty.
26824         (IsConsoleHandle): Add comment, from Paolo Bonzini.
26825         * lib/poll.c (IsConsoleHandle): Likewise.
26826         * lib/select.c (IsConsoleHandle): Likewise.
26827         * m4/isatty.m4 (gl_FUNC_ISATTY): Fix comment. Reported by Eli Zaretskii.
26828         (gl_PREREQ_ISATTY): New macro.
26829         * modules/isatty (Depends-on): Add msvc-inval.
26830         (configure.ac): Invoke gl_PREREQ_ISATTY.
26832 2012-01-03  Jim Meyering  <meyering@redhat.com>
26834         maint.mk: remove temporary transition aid from over 1.5 years ago
26835         * top/maint.mk (_prohibit_regexp): Remove definition whose sole
26836         purpose was to aid in the transition (avoiding silent malfunction)
26837         from that old name to the new _sc_search_regexp.  This shim was
26838         added by commit 219c504b.
26840         init.sh: do not try to accommodate compare arguments starting with "-"
26841         * tests/init.sh (compare_dev_null_): Do not try to accommodate
26842         compare arguments that start with "-".  Besides, we do not worry
26843         about this when invoking diff or cmp; why start now with sed?
26844         Using "--" to separate options from argument would trigger sed
26845         failure in at least Solaris 7, HP-UX 11.00, IRIX 6.5, FreeBSD 6.4,
26846         OpenBSD 4.9 and NetBSD 5.1.  Reported by Bruno Haible.
26848 2012-01-02  Bruno Haible  <bruno@clisp.org>
26850         Enhance tests for module 'isatty'.
26851         * modules/isatty-tests (Depends-on): Add pipe-posix.
26852         * tests/test-isatty.c: Include <fcntl.h>.
26853         (DEV_NULL): New macro.
26854         (main): Test the resut of isatty() also on regular files, pipes, and
26855         /dev/null.
26857         New module 'isatty'.
26858         * lib/unistd.in.h (isatty): New declaration.
26859         * lib/isatty.c: New file, based on an idea of
26860         Bastien Roucariès <roucaries.bastien@gmail.com>.
26861         * m4/isatty.m4: New file.
26862         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether isatty is declared.
26863         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ISATTY, REPLACE_ISATTY.
26864         * modules/unistd (Makefile.am): Substitute GNULIB_ISATTY,
26865         REPLACE_ISATTY.
26866         * modules/isatty: New file.
26867         * doc/posix-functions/isatty.texi: Mention the new module.
26868         Suggested by Paolo Bonzini.
26870 2012-01-02  Bruno Haible  <bruno@clisp.org>
26872         canonicalize: Tweak 2011-12-29 commit.
26873         * lib/canonicalize.c (canonicalize_filename_mode): Fix typo in comment.
26874         * lib/canonicalize.h (canonicalize_filename_mode): Update specification.
26876 2012-01-02  Jim Meyering  <meyering@redhat.com>
26878         gitlog-to-changelog: describe input syntax in --help output
26879         * build-aux/gitlog-to-changelog (usage) [SPECIAL SYNTAX]: New section.
26881         gitlog-to-changelog: fix typo in --help: show backslash before email @
26882         * build-aux/gitlog-to-changelog (usage): An "@" was backslash-escaped
26883         in sources, but not in actual output.
26885 2011-12-30  Jim Meyering  <meyering@redhat.com>
26887         gitlog-to-changelog: don't malfunction when name contains %-directive
26888         * build-aux/gitlog-to-changelog (main): Don't let a %-directive
26889         in a name string cause trouble.  E.g., with a user name of "%s",
26890         gitlog-to-changelog would fail with "Missing argument in sprintf at..."
26892 2011-12-30  Gary V. Vaughan  <gary@gnu.org>
26894         gitlog-to-changelog: Copyright-paperwork-exempt: yes == (tiny change)
26895         * build-aux/gitlog-to-changelog (main): Map the string, at beginning
26896         of line in a git commit log, "Copyright-paperwork-exempt: yes", to
26897         the "  (tiny change)" notation that is appended to the standard
26898         ChangeLog "date  name  email" header line.
26900 2012-01-01  Jim Meyering  <meyering@redhat.com>
26902         test-framework-sh: init.sh: fix "make dist" failure
26903         When using gnulib-tool's --with-tests option and any module that
26904         depends on test-framework-sh, "make dist" would fail due to the
26905         lack of init.sh *in lib/*.  The EXTRA_DIST += init.sh is required
26906         in the gltests directory, and not in the gllib/ directory.
26907         One way to work around that is to move the EXTRA_DIST += init.sh
26908         from the primary module to the -tests one:
26909         * modules/test-framework-sh-tests (EXTRA_DIST): Add init.sh here, ...
26910         * modules/test-framework-sh (Makefile.am): ...not here.
26911         Reported by Tom G. Christensen in
26912         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29519
26914         version-etc: update copyright year reported by --version
26915         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2012.
26917 2011-12-31  Pádraig Brady  <P@draigBrady.com>
26919         canonicalize: only stat() if required
26920         * lib/canonicalize.c (canonicalize_filename_mode):
26921         Avoid calling l?stat() when both CAN_MISSING,
26922         and CAN_NOLINKS are set, as we neither need
26923         to resolve symlinks or test component existence.
26925 2011-12-31  Paul Eggert  <eggert@cs.ucla.edu>
26927         doc: cover st_ino issues once; add OpenVMS etc.
26928         * doc/posix-functions/stat.texi (stat):
26929         * doc/posix-functions/lstat.texi (lstat):
26930         * doc/posix-functions/fstatat.texi (fstatat):
26931         * doc/posix-functions/fstat.texi (fstat):
26932         Move general 'struct stat' stuff to sys_stat.texi,
26933         leaving behind a pointer.
26934         * doc/posix-headers/sys_stat.texi (sys/stat.h):
26935         Merge duplicate info about 'struct stat' problems into here.
26936         Mention issues with OpenVMS, GNU/Linux NFS, NetApp, ClearCase,
26937         and suggest partial workarounds.
26939         same-inode: port to OpenVMS
26940         * lib/same-inode.h (SAME_INODE): Port to OpenVMS by checking all
26941         three st_ino values.
26943 2011-12-30  Pádraig Brady  <P@draigBrady.com>
26945         canonicalize: fix references to stat() and lstat()
26946         * lib/canonicalize.c (canonicalize_filename_mode):
26947         Ensure references always resolve to a replacement
26948         function if required (even via a macro).
26950 2011-12-30  Jim Meyering  <meyering@redhat.com>
26952         gitlog-to-changelog: remove a little duplication
26953         * build-aux/gitlog-to-changelog (main): Grep @lines once,
26954         rather than twice.
26956 2011-12-29  Pádraig Brady  <P@draigBrady.com>
26958         canonicalize: add support for not resolving symlinks
26959         * lib/canonicalize.h: Add the CAN_NOLINKS flag to
26960         indicate we don't want to follow symlinks.  Also
26961         provide CAN_MODE_MASK to aid setting these existing
26962         mutually exclusive values.
26963         * lib/canonicalize.c (canonicalize_filename_mode):
26964         Extract the flags from can_mode parameter, which
26965         are currently just used to select between stat()
26966         and lstat().  Also ensure that mutually exclusive
26967         values are flagged immediately as invalid.
26968         * tests/test-canonicalize.c: Verify symlinks are
26969         not followed, and that invalid flag combinations
26970         are diagnosed.
26972 2011-12-25  Jim Meyering  <meyering@redhat.com>
26974         gitlog-to-changelog: do not clump multi-paragraph entries
26975         Identical header lines (date,name,email+coauthors) are suppressed,
26976         thus putting all entries with those same characteristics under
26977         a single header.  However, when a log entry consists of two or
26978         more paragraphs, it may not be clear where it starts and ends.
26979         This change makes it so that such an entry is always separated
26980         from others by a header line, even when that header would
26981         otherwise be suppressed.
26982         * build-aux/gitlog-to-changelog: Implement the above.
26983         Inspired by a related request from Stefano Lattarini in
26984         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29456
26986 2011-12-25  Paul Eggert  <eggert@cs.ucla.edu>
26988         announce-gen: fix `cmd' typo in diagnostic
26989         * build-aux/announce-gen (print_changelog_deltas): Fix typo in
26990         diagnostic: a missing '$' meant that the command was not output.
26992 2011-12-23  Jim Meyering  <meyering@redhat.com>
26994         test-framework-sh: distribute init.sh
26995         * modules/test-framework-sh (EXTRA_DIST): Append init.sh.
26996         Otherwise, "make -C gnulib-tests check" (at least in grep) would
26997         fail due to the lack of init.sh.
26999         maint: remove explicit Files: tests/init.sh; depend on test-framework-sh
27000         * modules/atexit-tests: Rather than listing tests/init.sh,
27001         now that there's a module for it, simply depend on that new module.
27002         * modules/closein-tests: Likewise.
27003         * modules/exclude-tests: Likewise.
27004         * modules/getcwd-tests: Likewise.
27005         * modules/perror-tests: Likewise.
27006         * modules/pread-tests: Likewise.
27007         * modules/pwrite-tests: Likewise.
27008         * modules/vc-list-files-tests: Likewise.
27009         * modules/verify-tests: Likewise.
27010         * modules/xalloc-die-tests: Likewise.
27011         * modules/xstrtoimax-tests: Likewise.
27012         * modules/xstrtol-tests: Likewise.
27013         * modules/xstrtoll-tests: Likewise.
27014         * modules/xstrtoumax-tests: Likewise.
27015         * modules/yesno-tests: Likewise.
27017 2011-12-22  Jim Meyering  <meyering@redhat.com>
27019         test-framework-sh: add minimal tests of init.sh's compare function
27020         * modules/test-framework-sh-tests: New file.
27021         * tests/test-init.sh: New file.
27023         test-framework-sh: new module
27024         * modules/test-framework-sh: New file.
27025         * MODULES.html.sh (Support for maintaining and releasing projects):
27026         List it.
27028         init.sh: do not emit simulated diff output to stderr
27029         * tests/init.sh (compare_dev_null_): Print to stdout, not stderr.
27031 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
27033         .gitignore: ignore gnulib.dvi and regex.info
27034         * doc/.gitignore:add gnulib.dvi and regex.info
27036 2011-12-22  Jim Meyering  <meyering@redhat.com>
27038         init.sh: correct previous change
27039         * tests/init.sh (compare): My previous change was wrong.
27040         Don't clobber "$?".  Spotted by Stefano Lattarini and Pádraig Brady.
27042         init.sh: avoid unwarranted test failure when using "set -e"
27043         * tests/init.sh (compare): Ignore nonzero exit from compare_dev_null_.
27044         Otherwise, in a test script that uses "set -e" (like many in vc-dwim)
27045         a use like "compare exp out" would get evoke an unconditional failure.
27047 2011-12-21  Alfred M. Szmidt  <ams@gnu.org>
27049         bootstrap: fix it to honor $ACLOCAL_FLAGS once again
27050         The 2011-12-17 change, commit 767ccd40, replaced a manual invocation
27051         of aclocal that used explicit $ACLOCAL_FLAGS with an invocation of
27052         autoreconf that did not.
27053         * build-aux/bootstrap: Use $ACLOCAL_FLAGS when invoking autoreconf.
27054         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
27056 2011-12-17  Jim Meyering  <meyering@redhat.com>
27058         bootstrap: remove some now-unneeded code
27059         This script arose back when gnulib-tool was young.
27060         Since then, it has seen improvements that render much of this
27061         script unnecessary.  In particular, it can now make symlinks
27062         to the files it uses.  Also, I no longer see as much value in
27063         marking files as read-only via comments.
27064         If you relied on the symlink-creation feature of the preceding
27065         version of this script, you can get most of that functionality
27066         by adding the --symlink option to the definition of
27067         gnulib_tool_option_extras in your bootstrap.conf file.
27068         * build-aux/bootstrap (AUTOPOINT, AUTORECONF): Factor out definitions.
27069         Run autopoint and libtoolize *before* gnulib-tool.
27070         After it, run an abbreviated autoreconf, rather than a loop around
27071         all tools.
27072         (slirp, bt_mark_as_generated): Remove functions.
27074 2011-12-18  Paul Eggert  <eggert@cs.ucla.edu>
27076         ftoastr: fix typo
27077         * lib/ftoastr.h: Fix misspelling in comment.
27079 2011-12-18  Reuben Thomas  <rrt@sc3d.org>
27081         * top/README-release: fix punctuation.
27083 2011-12-17  Jim Meyering  <meyering@redhat.com>
27085         bootstrap: correct the recent buildreq change
27086         The 2011-12-07 commit, 39f5f1e4, omitted some '*'s, and thus
27087         had no effect.
27088         * build-aux/bootstrap (buildreq): Bracket each search term with
27089         "*...*", so that the shell "case" statement works as intended.
27090         Add comments.
27092 2011-12-17  Bernhard Voelker  <mail@bernhard-voelker.de>
27094         build: let bootstrap resort to wget when downloading .po files
27095         * build-aux/bootstrap (download_po_files): Fallback to wget when
27096         downloading the .po files via rsync fails.  This is necessary to
27097         bootstrap from behind a strict firewall.
27099 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
27101         stdint: don't assume C++11 when compiling with g++
27102         Problem reported for glibc 2.14 and g++ by Alexander V. Lukyanov in
27103         <http://lists.gnu.org/r/bug-gnulib/2011-12/msg00099.html>.
27104         * m4/stdint.m4 (gl_STDINT_H): Don't go to extra work to make it
27105         work also in C++ before C++11, as that improperly inhibits
27106         generating a substitute stdint.h for that case.
27108 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
27110         alloca: protect comment from gnulib-tool
27111         * lib/alloca.c: Change "GCC version 2" to "GCC 2" in comment, so
27112         that gnulib-tool doesn't think it's a license, and munge it to
27113         say "GCC version 3".
27115 2011-12-15  Ludovic Courtès  <ludo@gnu.org>  (tiny change)
27117         localcharset: Use an absolute path in TESTS_ENVIRONMENT.
27118         * modules/localcharset (LOCALCHARSET_TESTS_ENVIRONMENT): Use
27119         $(abs_top_builddir) instead of $(top_builddir).
27121 2011-12-14  Alex Nelson  <ajnelson@cs.ucsc.edu>  (tiny change)
27123         strftime-tests: also test nanoseconds
27124         * tests/test-strftime.c (T): Add a test of %N.
27126 2011-12-13  Paul Eggert  <eggert@cs.ucla.edu>
27128         inttypes, stdint: add C++11 support
27129         C++11 says there's no need to define __STDC_CONSTANT_MACROS etc.
27130         when including inttypes.h and stdint.h.  Support this change to
27131         the standard.
27132         * doc/posix-headers/inttypes.texi (inttypes.h):
27133         * doc/posix-headers/stdint.texi (stdint.h): Document this.
27134         * lib/inttypes.in.h (__STDC_FORMAT_MACROS) [! __cplusplus]:
27135         Define if not defined already, for the benefit of pre-C++11 hosts.
27136         Define the standard format macros (e.g., PRId8) always.
27137         * lib/stdint.in.h (__STDC_CONSTANT_MACROS, __STDC_LIMIT_MACROS):
27138         Likewise, if __cpluspus.  Define the standard constant and limit
27139         macros (e.g., INT8_C, INT8_MAX) always.
27140         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Do not define
27141         GL_TRIGGER_STDC_LIMIT_MACROS or __STDC_LIMIT_MACROS; no longer needed.
27142         * m4/stdint.m4 (gl_STDINT_H): Update comments about these macros.
27143         * tests/test-inttypes.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS)
27144         (__STDC_FORMAT_MACROS): Do not define, since we assume C++11 API now.
27145         * tests/test-stdint.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS):
27146         Likewise.
27148 2011-12-12  Paul Eggert  <eggert@cs.ucla.edu>
27150         nonblocking tests: Fix test failure on Linux/PPC.
27151         Suggested by Prerna Saxena in
27152         <http://lists.gnu.org/r/bug-gnulib/2011-12/msg00080.html>.
27153         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/PPC64]:
27154         Set to 1100000.
27156 2011-12-12  Jim Meyering  <meyering@redhat.com>
27158         argmatch: don't hard-code `' when listing valid option arguments
27159         * lib/argmatch.c (argmatch_valid): Don't hard-code `%s'.  Instead,
27160         use the quote function to add quotes.  Use fputs rather than
27161         fprintf for the format string with no format directive.
27163 2011-12-07  Eric Blake  <eblake@redhat.com>
27165         bootstrap: detect tools required by gnulib-tool
27166         * build-aux/bootstrap (buildreq): Provide minimum implicit
27167         dependencies.
27168         * DEPENDENCIES: Mention patch as a prereq.
27170 2011-12-04  Bruno Haible  <bruno@clisp.org>
27172         sethostname: Port to Windows platforms.
27173         * lib/sethostname.c: Provide an alternate implementation for Windows
27174         platforms.
27175         * tests/test-sethostname2.c (geteuid): Redefine on Cygwin.
27176         (main): Skip the test if sethostname() fails with EPERM. On Windows
27177         platforms, don't check the result of gethostname().
27179 2011-12-04  Bruno Haible  <bruno@clisp.org>
27180             Jim Meyering  <meyering@redhat.com>
27182         tests: Avoid spurious error message on platforms without mktemp program.
27183         * tests/init.sh (mktempd_): Run mktemp in a subcommand.
27185 2011-12-04  Bruno Haible  <bruno@clisp.org>
27187         sethostname: Fix documentation.
27188         * doc/glibc-functions/sethostname.texi: Move the Solaris problem to the
27189         "not fixed" section.
27191 2011-12-03  Bruno Haible  <bruno@clisp.org>
27193         gnulib-tool: Verify that the License field is present and non-empty.
27194         * gnulib-tool (func_get_license_raw): New function, extracted from
27195         func_get_license.
27196         (func_get_license): Use it. Warn if the module is not a test module and
27197         has no license.
27198         Suggested by Jim Meyering.
27200 2011-12-03  Bruno Haible  <bruno@clisp.org>
27202         sethostname tests: Fix link error on mingw.
27203         * tests/test-sethostname1.c: New file, extracted from
27204         tests/test-sethostname.c.
27205         * tests/test-sethostname2.c: New file, extracted from
27206         tests/test-sethostname.c.
27207         * tests/test-sethostname.c: Remove file.
27208         * modules/sethostname-tests (Files): Add tests/test-sethostname1.c,
27209         tests/test-sethostname2.c. Remove tests/test-sethostname.c.
27210         (Depends-on): Add gethostname.
27211         (Makefile.am): Compile both test-sethostname1 and test-sethostname2.
27212         Link the latter with $(GETHOSTNAME_LIB).
27214         sethostname tests: Fix compilation error on mingw.
27215         * tests/test-sethostname.c: Don't include <sys/types.h>.
27216         (geteuid): Use a dummy value without uid_t.
27217         * modules/sethostname-tests (Depends-on): Remove sys_types.
27219         sethostname tests: Avoid a gcc warning.
27220         * tests/test-sethostname.c (main): Remove an unused variable.
27222         Tweak last commit.
27223         * modules/sethostname-tests (Files): Sort by decreasing importance.
27224         (configure.ac): Check for geteuid.
27225         * tests/test-sethostname.c (main): Emit error messages to stderr. Skip
27226         the test when there's nothing to test. Drop an unnecessary cast.
27227         Improve an error message. Verify that the final sethostname() call
27228         succeeds.
27230 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
27232         Add a test suite for the sethostname module.
27233         * modules/sethostname-tests: New file.  A test program
27234         for the sethostname module.
27235         * tests/test-sethostname.c: Likewise.
27237 2011-12-03  Bruno Haible  <bruno@clisp.org>
27239         Tweak last commit.
27240         * lib/unistd.in.h (sethostname): Keep declarations in alphabetic order.
27241         Fix preprocessor directives indentation. Fix typos.
27242         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Keep alphabetic order.
27243         * modules/unistd (Makefile): Likewise.
27245 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
27247         Integrate the sethostname module into unistd.
27248         * lib/unistd.in.h: Integrate the SETHOSTNAME preprocessor handling
27249         into the unistd.h header.
27250         * m4/unistd_h.m4: Setup the autoconf handling for the SETHOSTNAME
27251         preprocessor directives.
27252         * modules/unistd: Setup the Makefile substitutions of the
27253         SETHOSTNAME preprocessor directives.
27255 2011-12-03  Bruno Haible  <bruno@clisp.org>
27257         Tweak last commit.
27258         * lib/sethostname.c: Don't include <string.h>.
27259         (sethostname): No need to copy the argument string to the stack. Don't
27260         call clearerr. Preserve errno when fprintf failed.
27261         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): Comment about HOST_NAME_MAX.
27262         Don't invoke AC_REPLACE_FUNCS.
27263         * modules/sethostname (Link): Remove empty section.
27264         * doc/glibc-functions/sethostname.texi: Gnulib does not fix the ENOSYS
27265         failure problem.
27267 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
27269         New module 'sethostname'.
27270         * lib/sethostname.c (sethostname): New file.  Provide sethostname
27271         for systems that lack it.
27272         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): New file.  Detection of
27273         sethostname declaration and function.
27274         * modules/sethostname: New file.  Define the sethostname module.
27276 2011-12-03  Bruno Haible  <bruno@clisp.org>
27278         Tweak last commit.
27279         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Trim blank line.
27281 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
27283         Split the HOST_NAME_MAX detection into a separate m4 macro.
27284         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Make this a separate
27285         macro so it can be used by the pending sethostname module.
27287 2011-12-03  Bruno Haible  <bruno@clisp.org>
27289         Fix module descriptions syntax.
27290         * modules/argv-iter (License): Fix syntax.
27291         * modules/di-set (License): Likewise.
27292         * modules/ino-map (License): Likewise.
27293         Reported by Stefano Lattarini <stefano.lattarini@gmail.com>.
27295 2011-12-02  Paul Eggert  <eggert@cs.ucla.edu>
27297         stdalign: port to Clang 3.0
27298         Problem reported by Simon Josefsson in
27299         <http://lists.gnu.org/r/bug-gnulib/2011-12/msg00005.html>.
27300         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Clang 3.0,
27301         which has <stdalign.h> but which does not define alignof.
27302         * m4/stdalign.m4 (gl_STDALIGN_H): Check for Clang 3.0's problem.
27304 2011-12-01  Eric Blake  <eblake@redhat.com>
27306         mktempd: silence dd usage
27307         * build-aux/mktempd (rand_bytes): Silence dd.
27309 2011-11-30  Simon Josefsson  <simon@josefsson.org>
27311         manywarnings: Don't mention gcc version in docstring.
27312         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Doc fix.  Suggested by
27313         Jim Meyering <meyering@redhat.com>.
27315 2011-11-30  Jim Meyering  <meyering@redhat.com>
27317         hash: mark a few floating point constants with "f" suffix
27318         * lib/hash.c (DEFAULT_GROWTH_THRESHOLD, DEFAULT_GROWTH_FACTOR)
27319         (DEFAULT_SHRINK_THRESHOLD, DEFAULT_SHRINK_FACTOR): Mark literal
27320         floating point constants with "f", since they're destined to be
27321         saved/used as "float"s.
27323 2011-11-29  Paolo Bonzini  <bonzini@gnu.org>
27325         float tests: Correct and re-enable assertion about LDBL_MIN_EXP.
27326         * tests/test-float.c (test_long_double): Correct and re-enable the
27327         assertion about LDBL_MIN_EXP that was disabled on 2011-08-31.
27329 2011-11-29  Matthew Wala  <wala1@illinois.edu>  (tiny change)
27331         Avoid subtracting two pointers that don't point into the same block.
27332         * lib/argp-help.c (hol_append): Reorder pointer subtractions so that
27333         only pointers into the same memory block are subtracted. We cannot
27334         assume that sizeof (ptrdiff_t) == sizeof (void *).
27336 2011-11-29  Eric Blake  <eblake@redhat.com>
27338         maint.mk: add syntax check for use of compare from init.sh
27339         * top/maint.mk (sc_prohibit_reversed_compare_failure): New rule,
27340         moved here from coreutils.
27342         manywarnings: drop -Wunsuffixed-float-constants
27343         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): C99 does not allow
27344         '1.0D', which is the only way to silence this warning for 'double'.
27346 2011-11-29  Jim Meyering  <meyering@redhat.com>
27348         hash: mark compute_bucket_size with the pure attribute
27349         * lib/hash.c (compute_bucket_size): Use _GL_ATTRIBUTE_PURE.
27351         quotearg, propername: correct pragma guard expression
27352         * lib/quotearg.c: Enable pragma for gcc-4.6 and newer, not 4.3 and newer.
27353         * lib/propername.c: Likewise.  Reported by Bernhard Voelker.
27355 2011-11-28  Jim Meyering  <meyering@redhat.com>
27357         propername: do not mark proper_name with the const attribute
27358         * lib/propername.h (proper_name): Do *not* mark as _GL_ATTRIBUTE_CONST,
27359         since it examines data pointed to by its parameter.
27360         * lib/propername.c (proper_name): Instead, add a pragma to suppress
27361         the suggestion from -Wsuggest-attribute=const.
27363         propername: mark one more function as const
27364         * lib/propername.h (proper_name): Mark as _GL_ATTRIBUTE_CONST.
27366 2011-11-27  Jim Meyering  <meyering@redhat.com>
27368         mark functions with const and pure attributes
27370         Mark functions per suggestions from gcc-4.6 when using these options:
27371         -Wsuggest-attribute=pure -Wsuggest-attribute=const.
27372         Use gnulib's _GL_ATTRIBUTE_PURE and _GL_ATTRIBUTE_CONST macros.
27373         Follow these guidelines: when possible, apply the attribute to
27374         an extern declaration, not to its definition.  Apply it to the
27375         definition only when the definition is static.
27376         * lib/argmatch.h (argmatch, argmatch_to_argument): Mark.
27377         * lib/argv-iter.h (argv_iter_n_args): Likewise.
27378         * lib/base64.h (isbase64): Likewise.
27379         * lib/basename-lgpl.c (last_component, base_len): Likewise.
27380         * lib/c-ctype.h (c_isascii, c_isalnum, c_isalpha): Likewise.
27381         (c_isblank, c_iscntrl, c_isdigit, c_islower, c_isgraph): Likewise.
27382         (c_isprint, c_ispunct, c_isspace, c_isupper, c_isxdigit): Likewise.
27383         (c_tolower, c_toupper): Likewise.
27384         * lib/c-strcase.h (c_strcasecmp, c_strncasecmp): Likewise.
27385         * lib/chdir-long.c (find_non_slash): Likewise.
27386         * lib/dirname.h (base_len, dir_len, last_component): Likewise.
27387         * lib/exclude.h (fnmatch_pattern_has_wildcards): Likewise.
27388         * lib/file-type.h (file_type): Likewise.
27389         * lib/filenamecat-lgpl.c (longest_relative_suffix): Likewise.
27390         * lib/filevercmp.c (verrevcmp): Likewise.
27391         * lib/freadahead.h (freadahead): Likewise.
27392         * lib/fts.c (fts_maxarglen): Likewise.
27393         * lib/hash-pjw.h (hash_pjw): Likewise.
27394         * lib/hash-triple.h (triple_hash_no_name, triple_compare_ino_str):
27395         * lib/hash.c (is_prime, next_prime): Likewise.
27396         * lib/hash.c (hash_get_n_buckets, hash_get_n_buckets_used): Likewise.
27397         (hash_get_n_entries, hash_get_max_bucket_length): Likewise.
27398         (hash_table_ok, hash_get_first, hash_string): Likewise.
27399         (compute_bucket_size): Likewise.
27400         * lib/i-ring.h (i_ring_empty): Likewise.
27401         * lib/isnan.c (isnanl): Likewise.
27402         * lib/math.h (isnanl, rpl_isnanl): Likewise.
27403         * lib/memcasecmp.h (memcasecmp): Likewise.
27404         * lib/memchr2.h (memchr2): Likewise.
27405         * lib/memcmp2.h (memcmp2): Likewise.
27406         * lib/parse-datetime.y (lookup_zone): Likewise.
27407         * lib/sockets.h (gl_sockets_startup, gl_sockets_cleanup)
27408         [!WINDOWS_SOCKETS]: Likewise.
27409         * lib/strnlen1.h (strnlen1): Likewise.
27410         * lib/uniwidth.in.h (uc_width): Likewise.
27411         * lib/quotearg.c: Add pragma to avoid unwarranted suggestion from
27412         gcc's -Wsuggest-attribute=pure for quoting_options_from_style.
27413         (quoting_options_from_style): Add a comment.
27414         * lib/propername.h (proper_name): Add a comment.
27416 2011-11-27  Bruno Haible  <bruno@clisp.org>
27418         Remove unused macros from !_LIBC code in glibc-borrowed files.
27419         * lib/fnmatch.c (STRCOLL): Remove macro.
27420         * lib/fnmatch_loop.c (STRCOLL): Remove undef.
27421         * lib/glob.c (__stat, __readdir64): Remove macros.
27422         * lib/tempname.c (__open64, __xstat64): Remove macros.
27423         Suggested by Paul Eggert.
27425 2011-11-27  Bruno Haible  <bruno@clisp.org>
27427         getcwd: Fix link error on MSVC 9.
27428         * modules/getcwd (Depends-on): Add readdir, rewinddir.
27430 2011-11-27  Bruno Haible  <bruno@clisp.org>
27432         Don't set REPLACE_FOO to 1 if HAVE_FOO is 0.
27433         * m4/opendir.m4 (gl_FUNC_OPENDIR): Don't set REPLACE_OPENDIR to 1 if
27434         HAVE_OPENDIR is 0.
27435         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Don't set REPLACE_CLOSEDIR to 1 if
27436         HAVE_CLOSEDIR is 0.
27437         * m4/dup2.m4 (gl_FUNC_DUP2): Don't set REPLACE_DUP2 to 1 if HAVE_DUP2
27438         is 0.
27439         * m4/dup3.m4 (gl_FUNC_DUP3): Update comments.
27441 2011-11-27  Bruno Haible  <bruno@clisp.org>
27443         getcwd: Fix bug from 2011-08-17.
27444         * m4/getcwd.m4 (gl_FUNC_GETCWD): Set REPLACE_GETCWD to 1 only on
27445         platforms that need it.
27446         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Consider a return
27447         code of 4 to be a failure, not a success. This ensures that
27448         REPLACE_GETCWD becomes 1 on OpenBSD 4.9 and NetBSD 5.1.
27450 2011-11-27  Bruno Haible  <bruno@clisp.org>
27452         binary-io tests: Avoid test failure on mingw when libtool is used.
27453         * tests/test-binary-io.c (main): Don't remove t-bin-out2.tmp here.
27454         Don't verify the size of t-bin-out1.tmp here.
27455         * tests/test-binary-io.sh: Verify it here.
27456         Reported by Simon Josefsson.
27458 2011-11-26  Bruno Haible  <bruno@clisp.org>
27460         Fix conflict between two instantiations of module 'unistd'.
27461         * gnulib-tool (func_emit_autoconf_snippet): Substitute
27462         ${include_guard_prefix} also in the autoconf snippet.
27463         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Don't set GNULIB_UNISTD_H_GETOPT.
27464         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Don't initialize
27465         GNULIB_UNISTD_H_GETOPT.
27466         * modules/getopt-posix (configure.ac): Set the
27467         GNULIB_${gl_include_guard_prefix}_UNISTD_H_GETOPT variable.
27468         * modules/getopt-gnu (configure.ac): Likewise.
27469         * modules/unistd (Makefile.am): Change the substitution value of
27470         GNULIB_UNISTD_H_GETOPT to depend on the include guard prefix.
27471         Reported by Simon Josefsson.
27473 2011-11-25  Bruno Haible  <bruno@clisp.org>
27475         pagealign_alloc: Doc and comments.
27476         * doc/posix-functions/posix_memalign.texi: Refer to the pagealign_alloc
27477         module.
27478         * lib/pagealign_alloc.c (pagealign_alloc): Add comment.
27480 2011-11-25  Jim Meyering  <meyering@redhat.com>
27482         test-update-copyright.sh: avoid false-positive failure
27483         * tests/test-update-copyright.sh: Use $TMP.? (not $TMP.*), to work
27484         around false positive failure on Cygwin/Windows.  The latter was
27485         matching erroneously-created files with names like
27486         update-copyright.test-ex.4.bak.  Reported by Simon Josefsson.
27488 2011-11-25  Simon Josefsson  <simon@josefsson.org>
27490         valgrind-tests.m4: Avoid breakage if valgrind on bash fails.
27491         * m4/valgrind-tests.m4: Check that the parameters that will be
27492         used works, not just a subset of them.  Reported by Bruno Haible
27493         <bruno@clisp.org>.
27495 2011-11-24  Jim Meyering  <meyering@redhat.com>
27497         test-stdalign.c: comment out long double tests
27498         * tests/test-stdalign.c: Don't try to reduce alignment of long double
27499         variables.  That provokes errors like this from gcc-4.7.0 20111124:
27500         error: '_Alignas' specifiers cannot reduce alignment of \
27501         'static_longdouble_alignas'.
27503 2011-11-22  Jim Meyering  <meyering@redhat.com>
27505         init.sh: make "compare /dev/null FILE" output more readable
27506         * tests/init.sh (compare_): Document the preferred order of arguments.
27507         (emit_diff_u_header_): New function.
27508         (compare_dev_null_): Emit a simulated diff, rather than just the
27509         contents of the unexpected file.  Suggestion from Bruno Haible.
27511 2011-11-21  Jim Meyering  <meyering@redhat.com>
27512             Eric Blake  <eblake@redhat.com>
27514         init.sh: work around OSF/1 5.1's mishandling of /dev/null
27515         * tests/init.sh: Make our compare function slightly more portable.
27516         Reported by Bruno Haible in
27517         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/4020
27519 2011-11-21  Simon Josefsson  <simon@josefsson.org>
27521         * m4/gnulib-common.m4 (_Noreturn): Check that _MSC_VER is defined
27522         before using it, in code that ends up in config.h.
27524 2011-11-20  Bruno Haible  <bruno@clisp.org>
27526         getcwd: Work around getcwd bug on AIX 5..7.
27527         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Require
27528         AC_CANONICAL_HOST. Assign exit code 31 to the bug seen on AIX 5.1..7.1.
27529         Use a different value for gl_cv_func_getcwd_path_max. Move the
27530         definition of HAVE_PARTLY_WORKING_GETCWD from here...
27531         * m4/getcwd.m4 (gl_FUNC_GETCWD): ... to here. Invoke
27532         gl_FUNC_GETCWD_PATH_MAX also when $gl_cv_func_getcwd_null is 'no'.
27533         Define HAVE_MINIMALLY_WORKING_GETCWD.
27534         * lib/getcwd.c (__getcwd): Don't use the system's getcwd on platforms
27535         where it is not even minimally working, that is, on AIX.
27536         * tests/test-getcwd.c (test_long_name): Distinguish the same cases as
27537         m4/getcwd-path-max.m4.
27538         (main): Update exit code computation.
27539         * doc/posix-functions/getcwd.texi: Mention list of platforms where
27540         getcwd does not handle long file names.
27542 2011-11-20  Bruno Haible  <bruno@clisp.org>
27544         getcwd: Fix bug from 2009-09-10.
27545         * m4/getcwd.m4 (gl_FUNC_GETCWD): Treat "guessing yes" like "yes", not
27546         like "no".
27548 2011-11-20  Simon Josefsson  <simon@josefsson.org>
27550         * m4/manywarnings.m4: Add more warnings from gcc 4.6.2.
27552 2011-11-20  Bruno Haible  <bruno@clisp.org>
27554         fma tests: Avoid shadowing local variables.
27555         * tests/test-fma2.h (test_function): Reduce scope of x, y, z, result,
27556         expected.
27558 2011-11-20  Bruno Haible  <bruno@clisp.org>
27560         copysignf tests: Fix.
27561         * tests/test-copysignf.c: Fix signature check.
27563 2011-11-20  Bruno Haible  <bruno@clisp.org>
27565         fma: Remove unused code.
27566         * lib/fma.c (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): Remove
27567         unused macros.
27569 2011-11-20  Bruno Haible  <bruno@clisp.org>
27571         sethostname: Fix doc about AIX.
27572         * doc/glibc-functions/sethostname.texi: Drop mention that AIX 5.1 lacks
27573         sethostname; it has it.
27575         sethostname: Mention more portability problems.
27576         * doc/glibc-functions/sethostname.texi: Mention the missing declaration
27577         problem.
27578         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
27580 2011-11-19  Bruno Haible  <bruno@clisp.org>
27582         Depend on module fcntl-h when AT_FDCWD is used.
27583         * modules/utimens (Depends-on): Add fcntl-h.
27584         * modules/areadlinkat (Depends-on): Likewise.
27585         * modules/areadlinkat-with-size (Depends-on): Likewise.
27586         * modules/faccessat (Depends-on): Likewise.
27587         * modules/fchmodat (Depends-on): Likewise.
27588         * modules/fchownat (Depends-on): Likewise.
27589         * modules/getcwd (Depends-on): Likewise.
27590         * modules/mkdirat (Depends-on): Likewise.
27591         * modules/mkfifoat (Depends-on): Likewise.
27592         * modules/readlinkat (Depends-on): Likewise.
27593         * modules/symlinkat (Depends-on): Likewise.
27594         * modules/dup2-tests (Depends-on): Likewise.
27595         * modules/fdutimensat-tests (Depends-on): Likewise.
27596         * modules/futimens-tests (Depends-on): Likewise.
27598 2011-11-19  Bruno Haible  <bruno@clisp.org>
27600         euidaccess: Update a comment.
27601         * lib/euidaccess.c: Update comment about platforms with faccessat.
27603 2011-11-19  Bruno Haible  <bruno@clisp.org>
27605         openat: Fix file list.
27606         * modules/openat (Files): Remove lib/at-func.c.
27608 2011-11-19  Bruno Haible  <bruno@clisp.org>
27610         fstatat: Simplify.
27611         * lib/fstatat.c (AT_FUNC_NAME): Define as fstatat. On platforms where
27612         gnulib should define rpl_fstatat, there is a
27613         "#define fstatat rpl_fstatat" in <sys/stat.h>.
27615 2011-11-19  Bruno Haible  <bruno@clisp.org>
27617         Ensure 'inline' can be used in tests/test-utimens-common.h.
27618         * modules/fdutimensat-tests (configure.ac): Require AC_C_INLINE.
27619         * modules/futimens-tests (configure.ac): Likewise.
27620         * modules/utimens-tests (configure.ac): Likewise.
27621         * modules/utimensat-tests (configure.ac): Likewise.
27623 2011-11-19  Simon Josefsson  <simon@josefsson.org>
27625         * lib/hash.c (hash_insert): Use hash_insert_if_absent,
27626         not hash_insert0.
27627         (hash_insert_if_absent): Doc fix.
27629 2011-11-19  Simon Josefsson  <simon@josefsson.org>
27631         * m4/readline.m4 (gl_FUNC_READLINE): Check for readline/history.h.
27633 2011-11-18  Paul Eggert  <eggert@cs.ucla.edu>
27635         test-getcwd: disambiguate exit status
27636         * tests/test-getcwd.c (test_long_name): Return 0..7.
27637         (main): Exit with an unambiguous exit status.  The old
27638         code yielded a mysterious mixture of two failure codes.
27640         fstatat: fix configuration bug on mingw, OpenBSD 4, Solaris 8
27641         * lib/fstatat.c (AT_FUNC_NAME): Use HAVE_FSTAT, not
27642         HAVE_WORKING_FSTATAT_ZERO_FLAG, to decide whether to define
27643         rpl_fstatat or fstatat.  This should fix the other problem
27644         reported by Kai Habel in
27645         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00237.html>.
27646         A similar problem was reported for OpenBSD 4.6 by Mats Erik Andersson
27647         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00239.html>
27648         and I reproduced it on a Solaris 8 host we still have in production.
27650 2011-11-18  Jim Meyering  <meyering@redhat.com>
27652         hash: deprecate poorly-named hash_insert0: use hash_insert_if_absent
27653         * lib/hash.c (hash_insert_if_absent): Rename from hash_insert0.
27654         Add a sentence to the comment.
27655         (hash_insert0): New function that simply calls hash_insert_if_absent.
27656         * lib/hash.h (hash_insert_if_absent): Declare it.
27657         (hash_insert0): Add deprecation attribute.
27658         (_GL_ATTRIBUTE_DEPRECATED): Define.
27659         * lib/di-set.c (di_set_insert): Use hash_insert_if_absent,
27660         not hash_insert0.
27661         * NEWS: Mention it, even though it's not really an incompatible change.
27663 2011-11-18  Dagobert Michelsen  <dam@opencsw.org>  (tiny change)
27665         openat: avoid compilation failure due to lack of <errno.h> inclusion
27666         * lib/openat.c: Include <errno.h>.
27668 2011-11-17  Paul Eggert  <eggert@cs.ucla.edu>
27670         * modules/getcwd (Depends-on): Add fdopendir.
27671         This fixes one of the two problems reported by Kai Habel in
27672         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00237.html>.
27674         modules/crypto/gc-*: simplify dependencies and fix stdalign.h bug
27675         stdalign problem reported by Ian Beckwith in
27676         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00238.html>.
27677         * modules/crypto/gc-arcfour (Depends-on):
27678         Depend conditionally on crypto/arcfour.
27679         * modules/crypto/gc-arctwo (Depends-on):
27680         Depend conditionally on crypto/arctwo.
27681         * modules/crypto/gc-des (Depends-on):
27682         Depend conditionally on crypto/des.
27683         * modules/crypto/gc-hmac-md5 (Depends-on):
27684         Depend conditionally on crypto/hmac-md5.
27685         * modules/crypto/gc-hmac-sha1 (Depends-on):
27686         Depend conditionally on crypto/hmac-sha1.
27687         * modules/crypto/gc-md2 (Depends-on): Remove stdint, minmax.
27688         * modules/crypto/gc-md4 (Depends-on):
27689         Depend conditionally on crypto/md4.
27690         * modules/crypto/gc-md5 (Depends-on):
27691         Depend conditionally on crypto/md5.
27692         * modules/crypto/gc-rijndael (Depends-on):
27693         Depend conditionally on crypto/rijndael.
27694         * modules/crypto/gc-sha1 (Depends-on):
27695         Depend conditionally on crypto/sha1.
27696         * modules/crypto/gc-arcfour:
27697         * modules/crypto/gc-arctwo:
27698         * modules/crypto/gc-des:
27699         * modules/crypto/gc-hmac-md5:
27700         * modules/crypto/gc-hmac-sha1:
27701         * modules/crypto/gc-md2:
27702         * modules/crypto/gc-md4:
27703         * modules/crypto/gc-md5:
27704         * modules/crypto/gc-rijndael:
27705         * modules/crypto/gc-sha1:
27706         (Files, Depends-on, configure.ac): Remove now-unnecessary stuff,
27707         now that the conditional dependencies do the work for us.
27709 2011-11-17  Jim Meyering  <meyering@redhat.com>
27711         tests: factor st_ctime-comparison out of two headers
27712         * tests/test-utimens-common.h (ctime_compare): Define.
27713         * tests/test-futimens.h (test_futimens): Replace open-coded equivalent.
27714         * tests/test-lutimens.h (test_lutimens): Likewise.
27715         * tests/test-utimens.h (test_utimens): Likewise.
27717         test-getcwd: don't leave behind a confdir3/ directory upon interrupt
27718         Invoke the test program via an init.sh-using wrapper.
27719         * tests/test-getcwd.sh: New file.
27720         * modules/getcwd-tests (Files): Add it.
27721         (Makefile.am) [TESTS]: Invoke the shell script wrapper.
27723 2011-11-01  Gary V. Vaughan  <gary@gnu.org>
27725         gitlog-to-changelog: support multi-author commits.
27726         The FSF cares about keeping track of all authors of patches to its
27727         projects, but Git doesn't provide obvious support for multi-author
27728         changesets. Consensus seems to be forming around the use of extra
27729         Signed-off-by inspired lines in the log message formatted as
27730         `Co-authored-by: A U Thor <email@example.com>' for round-tripping
27731         multi-author commits between version control systems.
27732         * gitlog-to-changelog: Extract `Co-authored-by:' lines from the git
27733         log message and output in standard ChangeLog multi-author format.
27734         Reported by Peter Rosin <peda@lysator.liu.se>
27736 2011-11-15  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
27737             Bruno Haible  <bruno@clisp.org>
27739         Fix some modules' file list.
27740         * modules/fstatat (Files): Add m4/lstat.m4.
27741         * modules/openat (Files): Likewise.
27742         * modules/unlinkat (Files): Likewise.
27744 2011-11-15  Gary V. Vaughan  <gary@gnu.org>
27746         maint.mk: fix tight-scope.mk generation in VPATH builds.
27747         * top/maint.mk (tight-scope.mk): Make sure to prefix file
27748         reference with $(srcdir) so that the file is found correctly even
27749         when running `make syntax-check' in a VPATH build.
27751 2011-11-13  Bruno Haible  <bruno@clisp.org>
27752             Jim Meyering  <meyering@redhat.com>
27754         Silence successful tests that use 'compare' on AIX, HP-UX, Solaris.
27755         * tests/init.sh (compare): Remove "No differences encountered" or
27756         synonymous output from the 'diff' program.
27758 2011-11-13  Bruno Haible  <bruno@clisp.org>
27760         Makefile: Tweak indentation.
27761         * Makefile: Use tab as first character in every line that contains rule
27762         commands.
27764 2011-11-13  Bruno Haible  <bruno@clisp.org>
27766         Syntax check for copyright statements.
27767         * check-copyright: New file.
27768         * Makefile (sc_check_copyright): New rule.
27770 2011-11-13  Simon Josefsson  <simon@josefsson.org>
27772         * build-aux/git-version-gen: Add --prefix to configure the tag
27773         match string.
27775 2011-11-13  Simon Josefsson  <simon@josefsson.org>
27777         * build-aux/git-version-gen: Add --help and --version.
27779 2011-11-12  Jim Meyering  <meyering@redhat.com>
27781         revamp the other test-exclude?.sh scripts to use init.sh, too
27782         * tests/test-exclude1.sh: Use init.sh.
27783         * tests/test-exclude2.sh: Likewise.
27784         * tests/test-exclude3.sh: Likewise.
27785         * tests/test-exclude4.sh: Likewise.
27786         * tests/test-exclude5.sh: Likewise.
27787         * tests/test-exclude6.sh: Likewise.
27788         * tests/test-exclude7.sh: Likewise.
27789         * tests/test-exclude8.sh: Likewise.
27790         * modules/exclude-tests (Files): List init.sh.
27792         test-exclude2.sh, test-exclude5.sh: fail if test-exclude fails
27793         These shell scripts ignored failure of the binary test-exclude,
27794         so making the latter return 77 didn't cause them to be skipped.
27795         * tests/test-exclude5.sh: Exit with test-exclude's error status
27796         when that program fails.  Revamp to use init.sh.
27797         * tests/test-exclude2.sh: Likewise.
27799         test-exclude: fix a typo
27800         * tests/test-exclude.c (main): Test for "leading_dir", not "leading-dir".
27802 2011-11-11  Bruno Haible  <bruno@clisp.org>
27804         obstack: Fix compilation error on MSVC 9.
27805         * lib/obstack.c (print_and_abort): Declare with _Noreturn specifier.
27807 2011-11-11  Jim Meyering  <meyering@redhat.com>
27809         test-exclude: skip tests rather than failing on deficient systems
27810         * tests/test-exclude.c (main): Skip tests that use FNM_CASEFOLD
27811         and FNM_LEADING_DIR on systems that lack the definitions.  This affects
27812         at least Solaris 9.  Reported and diagnosed by Dagobert Michelsen in
27813         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/3947/focus=3950
27815 2011-11-10  Bruno Haible  <bruno@clisp.org>
27817         ptsname_r test: Avoid gcc warning on glibc systems.
27818         * tests/test-ptsname_r.c (null_ptr): New function.
27819         (test_errors): Use it.
27821 2011-11-10  Bruno Haible  <bruno@clisp.org>
27823         ptsname_r: Avoid compilation error on OSF/1 5.1.
27824         * lib/stdlib.in.h (ptsname_r): Override if REPLACE_PTSNAME_R is 1.
27825         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_PTSNAME_R.
27826         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): Set REPLACE_PTSNAME_R if the
27827         function is not declared or incompatibly declared.
27828         * modules/stdlib (Makefile.am): Substitute REPLACE_PTSNAME_R.
27829         * modules/ptsname_r (Depends-on, configure.ac): Update.
27830         * doc/glibc-functions/ptsname_r.texi: Mention the OSF/1 problems.
27832 2011-11-10  Bruno Haible  <bruno@clisp.org>
27834         fstatat: Make cross-compilation guess succeed everywhere except on AIX.
27835         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Require AC_CANONICAL_HOST.
27836         When cross-compiling, guess yes on all platforms except AIX.
27837         Reported by Ludovic Courtès <ludo@gnu.org>.
27839 2011-11-09  Bruno Haible  <bruno@clisp.org>
27841         ptsname_r tests: Fix bugs.
27842         * tests/test-ptsname_r.c (test_errors): Change return type to 'void'.
27843         Fix ptsname_r calls. Reduce loop rounds to a reasonable amount.
27845 2011-11-09  Paul Eggert  <eggert@cs.ucla.edu>
27847         fstatat: work with cross-compilation
27848         Problem reported by Ludovic Courtès in
27849         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00136.html>.
27850         * m4/fstatat.m4 (gl_FUNC_FSTATAT): When cross-compiling, report
27851         "cross-compiling" and assume the bug is present.  Replace
27852         FSTATAT_ZERO_FLAG_BROKEN with HAVE_WORKING_FSTATAT_ZERO_FLAG with
27853         an inverted sense, to be more conservative about our assumptions.
27854         * lib/fstatat.c (rpl_fstatat): Adjust to renamed macro.
27856 2011-11-09  Bruno Haible  <bruno@clisp.org>
27858         Improve MODULES.html output.
27859         * modules/mkfifoat (Description): Use the word "function".
27860         * modules/readlinkat (Description): Likewise.
27861         * modules/symlinkat (Description): Likewise.
27863 2011-11-09  Eric Blake  <eblake@redhat.com>
27865         ptsname_r-tests: new test module
27866         * modules/ptsname_r-tests: New module.
27867         * tests/test-ptsname_r.c: New file.
27869         ptsname_r: new module
27870         * modules/ptsname_r: New module.
27871         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): New file.
27872         * lib/ptsname.c (__ptsname_r): Split...
27873         * lib/ptsname_r.c: ...into new file.
27874         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
27875         (gl_STDLIB_H_DEFAULTS): Set witness defaults.
27876         * modules/stdlib (Makefile.am): Substitute witnesses.
27877         * lib/stdlib.in.h (ptsname_r): Declare it.
27878         * doc/glibc-functions/ptsname_r.texi (ptsname_r): Document it.
27879         * MODULES.html.sh (Misc): Likewise.
27880         * modules/ptsname (Depends-on): Alter dependency.
27881         * doc/posix-functions/ptsname.texi (ptsname): Mention new module.
27883 2011-11-09  Jim Meyering  <meyering@redhat.com>
27885         announce-gen: be more concise when there's only one URL+tarball
27886         * build-aux/announce-gen (get_tool_versions): When you distribute
27887         only one type of tarball, combine the first two "Here are..."
27888         sections and make the key-checking grammar independent of
27889         how many tarballs there are.
27891 2011-11-09  Eric Blake  <eblake@redhat.com>
27893         openpty: provide a stub on mingw
27894         * lib/pty.in.h (includes): Provide forward declarations.
27895         * lib/openpty.c (openpty) [mingw]: Provide ENOSYS stub.
27897         raise: fix mingw handling of SIGPIPE
27898         * lib/sigprocmask.c (_gl_raise_SIGPIPE): Provide a return value.
27900 2011-11-08  Bruno Haible  <bruno@clisp.org>
27902         More conditional dependencies.
27903         * modules/faccessat (Depends-on): Add conditions.
27904         * modules/fchmodat (Depends-on): Likewise.
27905         * modules/fchownat (Depends-on): Likewise.
27906         * modules/fstatat (Depends-on): Likewise.
27907         * modules/mkfifoat (Depends-on): Likewise.
27908         * modules/readlinkat (Depends-on): Likewise.
27909         * modules/symlinkat (Depends-on): Likewise.
27910         * modules/unlinkat (Depends-on): Likewise.
27911         * modules/utimensat (Depends-on): Likewise.
27912         * modules/mkdirat (Depends-on): Add sys_stat. Add conditions.
27913         * modules/linkat (Depends-on): Refine the conditions.
27914         * modules/renameat (Depends-on): Likewise.
27916 2011-11-08  Bruno Haible  <bruno@clisp.org>
27918         faccessat: Move AC_LIBOBJ invocation to module description.
27919         * m4/faccessat.m4 (gl_PREREQ_FACCESSAT): New macro.
27920         (gl_FUNC_FACESSAT): Don't test for access() here. Move AC_LIBOBJ
27921         invocation from here...
27922         * modules/faccessat (configure.ac): ... to here. Invoke
27923         gl_PREREQ_FACCESSAT.
27925 2011-11-08  Bruno Haible  <bruno@clisp.org>
27927         faccessat: Simplify autoconf macro.
27928         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Don't require gl_FUNC_OPENAT,
27929         gl_FUNC_EUIDACCESS.
27931 2011-11-08  Bruno Haible  <bruno@clisp.org>
27933         renameat: Fix dependencies.
27934         * modules/renameat (Depends-on): Add stdbool.
27936 2011-11-08  Bruno Haible  <bruno@clisp.org>
27938         mkfifoat: Fix module description.
27939         * modules/mkfifoat (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR,
27940         not gl_UNISTD_MODULE_INDICATOR.
27942 2011-11-08  Bruno Haible  <bruno@clisp.org>
27944         fstatat: Remove unused dependency.
27945         * modules/fstatat (Depends-on): Remove fstat.
27947 2011-11-08  Simon Josefsson  <simon@josefsson.org>
27949         GNUmakefile: behave when Makefile is missing.
27950         * top/GNUmakefile: Always initialize _build-aux and _autoreconf.
27952 2011-11-08  Bruno Haible  <bruno@clisp.org>
27954         openat: Conditionalize dependencies.
27955         * lib/openat.c: Reduce the scope of some #includes.
27956         * modules/openat (Depends-on): Add conditions.
27958 2011-11-07  Jim Meyering  <meyering@redhat.com>
27960         maint.mk: extract GPG key ID without using a temporary file
27961         * top/maint.mk (gpg_key_ID): Extract GPG key ID from signed tag, but
27962         without using a temporary file.  Based on a suggestion from Werner Koch
27963         in http://thread.gmane.org/gmane.comp.encryption.gpg.devel/16496
27965 2011-11-07  Eric Blake  <eblake@redhat.com>
27967         grantpt: fix typo
27968         * lib/stdlib.in.h (grantpt): Check correct function.
27970         maint.mk: silence new syntax check
27971         * top/maint.mk (sc_prohibit_dirent_without_use): Add missing @.
27973 2011-11-06  Bruno Haible  <bruno@clisp.org>
27975         Doc about floating-point and math API.
27976         * doc/posix-headers/float.texi: Mention problem with FLT_ROUNDS.
27977         * doc/posix-headers/math.texi: Mention problem with math_errhandling.
27979 2011-11-06  Bruno Haible  <bruno@clisp.org>
27981         stdalign tests: Skip the test when compiled by Sun C.
27982         * tests/test-stdalign.c (main): Skip the test on Sun C.
27984 2011-11-06  Bruno Haible  <bruno@clisp.org>
27986         ansi-c++-opt: Complete the 2011-06-05 change.
27987         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is found but
27988         does not support namespaces, set the variable to "no", not to ":".
27990 2011-11-06  Paul Eggert  <eggert@cs.ucla.edu>
27992         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Sun review ID.
27994 2011-11-06  Bruno Haible  <bruno@clisp.org>
27996         copysignl: Fix result for zero argument on HP-UX 11 with HP C.
27997         * lib/copysignl.c (compute_minus_zerol) [HP-UX]: New function.
27998         (minus_zerol) [HP-UX]: New macro.
27999         (unary_minus) [HP-UX]: New function.
28000         (copysignl) [HP-UX]: Use unary_minus function.
28002 2011-11-06  Bruno Haible  <bruno@clisp.org>
28004         ldexp, ldexpf, ldexpl: Enhance tests.
28005         * tests/test-ldexp.h: New file, combining code from tests/test-ldexp.c
28006         and tests/test-ldexpl.c.
28007         * tests/test-ldexpl.c: (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO,
28008         LDEXP, MIN_EXP, MAX_EXP): New macros.
28009         Include test-ldexp.h.
28010         (main): Just call test_function.
28011         * tests/test-ldexp.c: Include float.h, isnand-nolibm.h, minus-zero.h,
28012         infinity.h, nan.h.
28013         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
28014         MAX_EXP): New macros.
28015         Include test-ldexp.h.
28016         (x, y): Remove variables.
28017         (main): Just call test_function.
28018         * tests/test-ldexpf.c: Include float.h, isnanf-nolibm.h, minus-zero.h,
28019         infinity.h, nan.h.
28020         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
28021         MAX_EXP): New macros.
28022         Include test-ldexp.h.
28023         (x, y): Remove variables.
28024         (main): Just call test_function.
28025         * modules/ldexpl-tests (Files): Add tests/test-ldexp.h.
28026         * modules/ldexp-tests (Files): Add tests/test-ldexp.h,
28027         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
28028         (Depends-on): Add isnand-nolibm, signbit, float.
28029         * modules/ldexpf-tests (Files): Add tests/test-ldexp.h,
28030         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
28031         (Depends-on): Add isnanf-nolibm, signbit, float.
28033 2011-11-06  Bruno Haible  <bruno@clisp.org>
28035         math tests: Cosmetics.
28036         * tests/test-math-c++.cc: Reorder declarations.
28038 2011-11-05  Bruno Haible  <bruno@clisp.org>
28040         fma*: Simplify test.
28041         * tests/test-fma2.h (FORGIVE_GLIBC_BUG): Remove macro.
28042         (test_function): Remove all if (FORGIVE_GLIBC_BUG) statements.
28044         Tests for module 'fmal'.
28045         * modules/fmal-tests: New file.
28046         * tests/test-fmal1.c: New file.
28047         * tests/test-fmal2.c: New file.
28049         New module 'fmal'.
28050         * lib/math.in.h (fmal): New declaration.
28051         * lib/fmal.c: New file.
28052         * m4/fmal.m4: New file.
28053         * m4/math_h.m4 (gl_MATH_H): Test whethern fmal is declared.
28054         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAL, HAVE_FMAL, REPLACE_FMAL.
28055         * modules/math (Makefile.am): Substitute GNULIB_FMAL, HAVE_FMAL,
28056         REPLACE_FMAL.
28057         * modules/fmal: New file.
28058         * doc/posix-functions/fmal.texi: Mention the new module and the various
28059         bugs.
28061         Tests for module 'fmaf'.
28062         * modules/fmaf-tests: New file.
28063         * tests/test-fmaf1.c: New file.
28064         * tests/test-fmaf2.c: New file.
28066         New module 'fmaf'.
28067         * lib/math.in.h (fmaf): New declaration.
28068         * lib/fmaf.c: New file.
28069         * m4/fmaf.m4: New file.
28070         * m4/math_h.m4 (gl_MATH_H): Test whethern fmaf is declared.
28071         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAF, HAVE_FMAF, REPLACE_FMAF.
28072         * modules/math (Makefile.am): Substitute GNULIB_FMAF, HAVE_FMAF,
28073         REPLACE_FMAF.
28074         * modules/fmaf: New file.
28075         * doc/posix-functions/fmaf.texi: Mention the new module and the various
28076         bugs.
28078         Tests for module 'fma'.
28079         * modules/fma-tests: New file.
28080         * tests/test-fma1.c: New file.
28081         * tests/test-fma1.h: New file.
28082         * tests/test-fma2.c: New file.
28083         * tests/test-fma2.h: New file.
28085         New module 'fma'.
28086         * lib/math.in.h (fma): New declaration.
28087         * lib/fma.c: New file.
28088         * m4/fma.m4: New file.
28089         * m4/fegetround.m4: New file.
28090         * m4/math_h.m4 (gl_MATH_H): Test whethern fma is declared.
28091         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMA, HAVE_FMA, REPLACE_FMA.
28092         * modules/math (Makefile.am): Substitute GNULIB_FMA, HAVE_FMA,
28093         REPLACE_FMA.
28094         * modules/fma: New file.
28095         * doc/posix-functions/fma.texi: Mention the new module and the various
28096         bugs.
28098         Extend gl_MATHFUNC.
28099         * m4/mathfunc.m4 (gl_MATHFUNC): Accept an 4th parameter of INCLUDES.
28100         Support 'void' as argument type.
28101         * m4/rint.m4 (gl_FUNC_RINT): Update gl_MATHFUNC invocation.
28103 2011-11-05  Jim Meyering  <meyering@redhat.com>
28105         maint.mk: also prohibit inclusion of dirent.h without use
28106         * top/maint.mk (sc_prohibit_dirent_without_use): New rule.
28108 2011-11-05  Bruno Haible  <bruno@clisp.org>
28110         ldexpl tests: Avoid test failure on MSVC 9.
28111         * tests/test-ldexpl.c (main): Use a temporary variable for the expected
28112         value. Needed in order to enforce the conversion from a value greater
28113         than LDBL_MAX to Infinity.
28115 2011-11-05  Bruno Haible  <bruno@clisp.org>
28117         New modules 'at-internal', 'openat-h', split off from module 'openat'.
28118         * modules/at-internal: New file, extracted from modules/openat.
28119         * modules/openat-h: New file.
28120         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_OPENAT. Don't
28121         invoke gl_PREREQ_OPENAT and gl_MODULE_INDICATOR.
28122         * modules/openat (Description): Add reference to POSIX function.
28123         (Files): Remove lib/openat.h, lib/openat-proc.c.
28124         (Depends-on): Add at-internal, openat-h. Remove fdopendir, gettext-h,
28125         intprops, unistd.
28126         (configure.ac): Remove AC_LIBOBJ of openat-proc. Invoke
28127         gl_PREREQ_OPENAT, gl_MODULE_INDICATOR here. Invoke
28128         gl_FCNTL_MODULE_INDICATOR.
28129         (Include): Remove unistd.h, openat.h.
28130         * modules/areadlinkat (Files): Add lib/at-func.c.
28131         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
28132         openat-die, openat-h, save-cwd.
28133         * modules/areadlinkat-with-size (Files): Add lib/at-func.c.
28134         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
28135         openat-die, openat-h, save-cwd, unistd.
28136         * modules/faccessat (Files): Add lib/at-func.c, lib/openat-priv.h.
28137         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
28138         openat-h, save-cwd. Remove fcntl-h, openat.
28139         * modules/fchmodat (Files): Remove lib/openat.h.
28140         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
28141         openat, stdbool, unistd.
28142         * modules/fchownat (Files): Remove lib/openat.h.
28143         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
28144         openat, stdbool, sys_stat.
28145         * modules/fdopendir (Files): Remove lib/openat-priv.h,
28146         lib/openat-proc.c.
28147         (Depends-on): Add at-internal.
28148         (condigure.ac): Remove AC_LIBOBJ of openat-proc.
28149         * modules/fstatat (Files): Remove lib/openat.h.
28150         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
28151         stdbool, unistd.
28152         * modules/fts (Depends-on): Add openat-h.
28153         * modules/linkat (Depends-on): Add at-internal, openat-h. Remove
28154         openat.
28155         * modules/mkdirat (Files): Remove lib/openat.h.
28156         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
28157         openat, stdbool, sys_stat.
28158         * modules/mkfifoat (Files): Add lib/at-func.c.
28159         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
28160         openat-h, save-cwd. Remove fcntl-h, openat.
28161         * modules/openat-die (Depends-on): Add openat-h. Remove openat.
28162         * modules/readlinkat (Files): Add lib/at-func.c.
28163         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
28164         openat-h, save-cwd. Remove fcntl-h, openat.
28165         * modules/renameat (Depends-on): Add at-internal, openat-h. Remove
28166         openat.
28167         * modules/selinux-at (Files): Add lib/at-func.c.
28168         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
28169         fcntl-h, openat-die, openat-h, save-cwd, unistd. Remove openat.
28170         * modules/symlinkat (Files): Add lib/at-func.c.
28171         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
28172         openat-h, save-cwd. Remove fcntl-h, openat.
28173         * modules/unlinkat (Files): Remove lib/openat.h.
28174         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
28175         stdbool.
28176         * modules/utimensat (Files): Add lib/at-func.c.
28177         (Depends-on): Add at-internal, dosname, errno, fchdir, fcntl-h,
28178         openat-die, openat-h, save-cwd.
28179         * modules/fchownat-tests (Depends-on): Add openat-h. Remove openat.
28180         * modules/fdutimensat-tests (Depends-on): Add openat.
28181         * modules/fstatat-tests (Depends-on): Add openat-h.
28182         * modules/readlinkat-tests (Depends-on): Add openat.
28183         * modules/symlinkat-tests (Depends-on): Add openat.
28185 2011-11-05  Bruno Haible  <bruno@clisp.org>
28187         openat: Include <stdbool.h>.
28188         * lib/openat.c: Include <stdbool.h>.
28190 2011-11-04  Bruno Haible  <bruno@clisp.org>
28192         fchownat, renameat, unlinkat: Fix dependencies.
28193         * modules/fchownat (Depends-on): Add fstatat.
28194         * modules/renameat (Depends-on): Likewise.
28195         * modules/unlinkat (Depends-on): Likewise.
28197 2011-11-04  Paul Eggert  <eggert@cs.ucla.edu>
28199         openat: remove direct dependency on dirent
28200         * lib/openat.h: Don't include <dirent.h>; it's no longer needed,
28201         and hasn't been needed ever since fdopendir was split into its own
28202         module on 2009-08-31.
28203         * modules/openat (Depends-on): Remove dirent.
28205 2011-11-04  Bruno Haible  <bruno@clisp.org>
28207         renameat: Optimize code size.
28208         * modules/renameat (configure.ac): Don't compile at-func2.c if
28209         REPLACE_RENAMEAT is 1.
28211 2011-11-04  Bruno Haible  <bruno@clisp.org>
28213         openat tests: Fix file list.
28214         * modules/openat-tests (Files): Add tests/test-open.h.
28216 2011-11-04  Bruno Haible  <bruno@clisp.org>
28218         openat, fchmodat, fchownat, linkat, renameat: Fix dependencies.
28219         * modules/fchmodat (Depends-on): Add openat-die.
28220         * modules/fchownat (Depends-on): Likewise.
28221         * modules/linkat (Depends-on): Likewise.
28222         * modules/renameat (Depends-on): Likewise.
28223         * modules/openat (Depends-on): Add dirent.
28225 2011-11-04  Jim Meyering  <meyering@redhat.com>
28227         at-func*.c: fix comments
28228         * lib/at-func2.c: Correct/improve first-line comment.
28229         * lib/at-func.c: Correct grammar in first-line comment.
28231 2011-11-04  Bruno Haible  <bruno@clisp.org>
28233         New module 'mkdirat', split off from module 'openat'.
28234         * m4/mkdirat.m4: New file. extracted from m4/openat.m4.
28235         * m4/openat.m4 (gl_FUNC_OPENAT): Don't require gl_SYS_STAT_H_DEFAULTS.
28236         Don't test for mkdirat. Don't set GNULIB_MKDIRAT, HAVE_MKDIRAT.
28237         * modules/mkdirat: New file, extracted from modules/openat.
28238         * modules/openat (Files): Remove lib/mkdirat.c.
28239         (Depends-on): Remove mkdir.
28240         (configure.ac): Remove AC_LIBOBJ of mkdirat.
28241         (Include): Remove <sys/stat.h>.
28242         * modules/mkdirat-tests: New file, extracted from modules/openat-tests.
28243         * modules/openat-tests (Files): Remove tests/test-mkdirat.c,
28244         tests/test-mkdir.h.
28245         (Depends-on): Remove ignore-value.
28246         (Makefile.am): Remove rules for test-mkdirat.
28247         * doc/posix-functions/mkdirat.texi: Mention module 'mkdirat' instead
28248         of module 'openat'.
28249         * NEWS: Mention the change.
28251 2011-11-04  Bruno Haible  <bruno@clisp.org>
28253         closedir: Avoid warning on mingw.
28254         * lib/closedir.c: Include <unistd.h>.
28256 2011-11-04  Bruno Haible  <bruno@clisp.org>
28258         New module 'fstatat', split off from module 'openat'.
28259         * lib/openat.h (statat, lstatat): Enable only if GNULIB_FSTATAT is
28260         defined.
28261         * m4/fstatat.m4: New file. extracted from m4/openat.m4.
28262         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FSTATAT. Don't invoke
28263         gl_FUNC_FSTATAT.
28264         (gl_FUNC_FSTATAT): Moved to m4/fstatat.m4.
28265         * modules/fstatat: New file, extracted from modules/openat.
28266         * modules/openat (Files): Remove lib/fstatat.c.
28267         (Depends-on): Remove lstat.
28268         (configure.ac): Remove AC_LIBOBJ of fstatat.
28269         * modules/fstatat-tests: New file, extracted from modules/openat-tests.
28270         * modules/openat-tests (Files): Remove tests/test-fstatat.c,
28271         tests/test-lstat.h, tests/test-stat.h.
28272         (Depends-on): Remove getcwd-lgpl.
28273         (Makefile.am): Remove rules for test-fstatat.
28274         * doc/posix-functions/fstatat.texi: Mention module 'fstatat' instead
28275         of module 'openat'.
28276         * NEWS: Mention the change.
28277         * modules/getcwd (Depends-on): Add fstatat.
28278         * modules/linkat (Depends-on): Likewise.
28279         * modules/mkfifoat-tests (Depends-on): Likewise.
28280         * modules/utimensat (Depends-on): Add fstatat. Remove openat.
28282 2011-11-03  Bruno Haible  <bruno@clisp.org>
28284         New module 'unlinkat', split off from module 'openat'.
28285         * m4/unlinkat.m4: New file, extracted from m4/openat.m4.
28286         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_UNLINKAT,
28287         REPLACE_UNLINKAT, HAVE_UNLINKAT. Don't test for unlinkat.
28288         * modules/unlinkat: New file, extracted from modules/openat. Correct
28289         the dependency conditions.
28290         * modules/openat (Files): Remove lib/unlinkat.c.
28291         (Depends-on): Remove rmdir, unlink.
28292         (configure.ac): Remove AC_LIBOBJ of unlinkat.
28293         * modules/unlinkat-tests: New file, extracted from modules/openat-tests.
28294         * modules/openat-tests (Files): Remove tests/test-unlinkat.c,
28295         tests/test-rmdir.h, tests/test-unlink.h.
28296         (Depends-on): Remove unlinkdir.
28297         (Makefile.am): Remove rules for test-unlinkat.
28298         * doc/posix-functions/unlinkat.texi: Mention module 'unlinkat' instead
28299         of module 'openat'.
28300         * NEWS: Mention the change.
28301         * modules/linkat-tests (Depends-on): Add unlinkat.
28302         * modules/mkfifoat-tests (Depends-on): Likewise.
28303         * modules/readlinkat-tests (Depends-on): Likewise.
28305 2011-11-02  Bruno Haible  <bruno@clisp.org>
28307         New module 'fchmodat', split off from module 'openat'.
28308         * lib/openat.h (chmodat, lchmodat): Enable only if GNULIB_FCHMODAT is
28309         defined.
28310         * m4/fchmodat.m4: New file, extracted from m4/openat.m4.
28311         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHMODAT. Don't test
28312         for fchmodat, lchmod. Don't set HAVE_FCHMODAT.
28313         * modules/fchmodat: New file, extracted from modules/openat.
28314         * modules/openat (Files): Remove lib/fchmodat.c.
28315         (configure.ac): Remove AC_LIBOBJ of fchmodat.
28316         * modules/fchmodat-tests: New file, extracted from modules/openat-tests.
28317         * modules/openat-tests (Files): Remove tests/test-fchmodat.c.
28318         (Makefile.am): Remove rules for test-fchmodat.
28319         * doc/posix-functions/fchmodat.texi: Mention module 'fchmodat' instead
28320         of module 'openat'.
28321         * NEWS: Mention the change.
28323 2011-11-02  Jim Meyering  <meyering@redhat.com>
28325         putenv: indent #definition of "environ" to placate cppi
28326         * lib/putenv.c (environ): Make indentation reflect cpp nesting.
28328         gitlog-to-changelog: provide a ChangeLog-repair mechanism
28329         Git logs are often treated as immutable, because editing them
28330         changes the SHA1 checksums of all descendants.  Thus, errors in
28331         git logs tend to stay there forever.  However, when we generate
28332         a ChangeLog file -- typically for distribution -- from that git log,
28333         we can actually make corrections in the generated file.  The key
28334         lies in recording in machine-readable/applicable form the desired
28335         corrections.  See --help for description and an example.
28336         * build-aux/gitlog-to-changelog (parse_amend_file): New function.
28337         (usage): Describe it; alphabetize option descriptions.
28338         (main): Honor the new option, carefully.
28340 2011-11-01  Jim Meyering  <meyering@redhat.com>
28342         gitlog-to-changelog: avoid an infloop
28343         * build-aux/gitlog-to-changelog: Don't infloop for a commit log
28344         that ends up being empty.
28346 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
28348         * MODULES.html.sh: Fix sed-script shell quoting and locale issues.
28349         (func_module): Replace foo=` ... sed -e COMPLICATED ... ` with
28350         bar=COMPLICATED; foo=` ... sed -e "$bar" ... ` when COMPLICATED
28351         contains (possibly-quoted) backslashes.  This should avoid
28352         all-too-common shell bugs if COMPLICATED contains backslashes in
28353         the "wrong" places.  Reported by David Evans in
28354         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00013.html>.
28355         When 'sed' uses character ranges like A-Z, invoke it in the C locale,
28356         because we want ASCII ranges.  Is there some reason we don't use
28357         the C locale everywhere in this script?
28358         (func_module, top level): Avoid unwanted pathname expansion when
28359         $repo_url_prefix or $repo_url_suffix_repl contain shell
28360         metacharacters like '?' and '*'.
28362 2011-11-01  Bruno Haible  <bruno@clisp.org>
28364         fchownat: Improve description.
28365         * modules/fchownat (Description): Add link to function.
28367 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
28369         * tests/test-stdalign.c (TEST_ALIGNMENT): Shrink back to 8.
28370         mingw supports alignments only up to 8 (!).  Reported by Bruno Haible in
28371         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00006.html>.
28372         * doc/posix-headers/stdalign.texi (stdalign.h): Document this.
28374 2011-11-01  Bruno Haible  <bruno@clisp.org>
28376         alignof: Avoid collision with stdalign module.
28377         * lib/alignof.h (alignof): Remove macro.
28378         * NEWS: Mention the change.
28379         Reported by Paul Eggert.
28381 2011-11-01  Bruno Haible  <bruno@clisp.org>
28383         New module 'fchownat', split off from module 'openat'.
28384         * lib/openat.h (chownat, lchownat): Enable only if GNULIB_FCHOWNAT is
28385         defined.
28386         * m4/fchownat.m4: New file, extracted from m4/openat.m4.
28387         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHOWNAT. Don't
28388         invoke gl_FUNC_FCHOWNAT.
28389         (gl_FUNC_FCHOWNAT_DEREF_BUG, gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG,
28390         gl_FUNC_FCHOWNAT): Moved to m4/fchownat.m4.
28391         * modules/fchownat: New file, extracted from modules/openat.
28392         * modules/openat (Files): Remove lib/fchownat.c.
28393         (Depends-on): Remove lchown.
28394         (configure.ac): Remove AC_LIBOBJ of fchownat.
28395         * modules/fchownat-tests: New file, extracted from modules/openat-tests.
28396         * modules/openat-tests (Files): Remove tests/test-fchownat.c,
28397         tests/test-chown.h, tests/test-lchown.h, tests/nap.h.
28398         (Depends-on): Remove mgetgroups, usleep, stat-time.
28399         (configure.ac): Remove test for getegid.
28400         (Makefile.am): Remove rules for test-fchownat.
28401         * doc/posix-functions/fchownat.texi: Mention module 'fchownat' instead
28402         of module 'openat'.
28403         * NEWS: Mention the change.
28405 2011-10-31  Paul Eggert  <eggert@cs.ucla.edu>
28407         stdalign: port better to MSVC and to Sun C 5.11
28408         This fixes some of the problems reported by Bruno Haible in
28409         <http://lists.gnu.org/r/bug-gnulib/2011-10/msg00300.html>.
28410         * doc/posix-headers/stdalign.texi (stdalign.h): Document more
28411         shortcomings of MSVC and of Sun C 5.11.
28412         * lib/stdalign.in.h (_Alignas): Omit bogus extra parenthesis
28413         around __declspec arg.
28414         * modules/stdalign-tests (Files): Add tests/macros.h.
28415         * tests/test-stdalign.c: Do not include <stdlib.h>; no longer needed.
28416         Include macros.h, for ASSERT.
28417         (DECLARE_ALIGNED): Remove.
28418         (TEST_ALIGNMENT): Define to 16 if alignment is supported (more likely
28419         to catch bug), and to 1 if not (simplifies the rest of the code).
28420         (CHECK_STATIC): Always declare the alignment test vars; that's simpler.
28421         (CHECK_AUTO): Remove.
28422         (CHECK_ALIGNED): Check only the alignment of the static vars,
28423         since auto var alignment isn't supported by Sun C 5.11.
28424         (CHECK_TYPES): Remove.  All uses replaced by inline code, so that
28425         ASSERT failures are easier to diagnose.
28427 2011-10-31  Bruno Haible  <bruno@clisp.org>
28429         doc about some IRIX 5.3 problems.
28430         * doc/posix-functions/getpwnam_r.texi: Mention incompatible declaration
28431         on IRIX 5.3.
28432         * doc/posix-headers/poll.texi: Mention missing nfds_t on IRIX 5.3.
28433         * doc/posix-functions/ptsname.texi: Mention missing declaration on IRIX
28434         5.3.
28435         * doc/posix-functions/grantpt.texi: Likewise.
28436         * doc/posix-functions/unlockpt.texi: Likewise.
28437         * doc/posix-functions/lgamma.texi: Likewise.
28438         * doc/posix-functions/nextafter.texi: Likewise.
28439         * doc/posix-functions/remainder.texi: Likewise.
28440         * doc/posix-functions/select.texi: Mention misplaced declaration on
28441         IRIX 5.3.
28442         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
28444 2011-10-31  Dmitry V. Levin  <ldv@altlinux.org>
28446         gitlog-to-changelog: fix git-log invocation.
28447         git-log mishandles date strings before 1970-01-01 UTC, and there is
28448         no use to specify --since=1970-01-01 by default anyway.
28449         * build-aux/gitlog-to-changelog: By default, when no --since option
28450         was given, do not specify explicit --since option to git-log.
28452 2011-10-30  Dmitry V. Levin  <ldv@altlinux.org>
28454         gitlog-to-changelog: new option --append-dot.
28455         * build-aux/gitlog-to-changelog: New option --append-dot, makes the
28456         first non-blank line of each commit message terminated with a dot.
28458 2011-10-30  Bruno Haible  <bruno@clisp.org>
28460         ffsl, ffsll: Avoid compilation error due to 'restrict'.
28461         * lib/ffsl.h: Include <config.h>.
28462         Suggested by Tom G. Christensen <tgc@jupiterrise.com>.
28464 2011-10-30  Jim Meyering  <meyering@redhat.com>
28466         GNUmakefile: reenable "make syntax-check" for most projects
28467         Since Friday's commit 05e2d798, "maint.mk: don't maintain a second
28468         build-aux variable", "syntax-check" would do nothing but succeed with
28469         the "No version control files detected..." diagnostic (unless you
28470         happened to override _build-aux via cfg.mk).
28471         * top/GNUmakefile (_autoreconf, _build-aux): Move default definitions
28472         to precede inclusion of maint.mk.  Otherwise, these variables would
28473         be used undefined in any project that does not override the default.
28475 2011-10-29  Dmitry V. Levin  <ldv@altlinux.org>
28477         gitlog-to-changelog: treat a message with only blank lines as empty.
28478         * build-aux/gitlog-to-changelog: Move the code that removes leading and
28479         trailing blank lines before the code that issues a warning about an
28480         empty commit message.
28482 2011-10-30  Jim Meyering  <meyering@redhat.com>
28484         test-parse-datetime.c: avoid new DST-related false positive test failure
28485         * tests/test-parse-datetime.c (gmt_offset): Determine the "gmt_offset"
28486         based on the time/date we'll convert, not the current time.
28487         Otherwise, the moment we cross a DST boundary like today's in
28488         Europe, (CEST to CET), that offset ends up being one hour off.
28490 2011-10-27  Bruno Haible  <bruno@clisp.org>
28492         fstat: Tweak documentation.
28493         * modules/fstat (Description): More precise description.
28495 2011-10-27  Bruno Haible  <bruno@clisp.org>
28497         Update documentation regarding 'largefile' module.
28498         * doc/posix-functions/fstat.texi: Tweak wording.
28499         * doc/posix-functions/opendir.texi: Mention that the module fixes the
28500         problems with huge directories and/or small ino_t types.
28501         * doc/posix-functions/readdir.texi: Likewise.
28502         * doc/posix-functions/rewinddir.texi: Likewise.
28504 2011-10-28  Gary V. Vaughan  <gary@gnu.org>
28506         maint.mk: don't maintain a second build-aux variable.
28507         * maint.mk (build_aux): Removed.  The maintainer-makefile module
28508         depends on GNUmakefile, which already maintains a cfg.mk
28509         overridable $(_build-aux) for projects with a non-standard
28510         build-aux directory location, although without the $(srcdir)
28511         prefix.  Use that variable consistently instead of introducing a
28512         second one.  Adjust all call sites.
28514 2011-10-27  Paul Eggert  <eggert@cs.ucla.edu>
28516         Add stdalign module and use it in other modules.
28517         This is based on a previous proposal by Bruno Haible
28518         <https://lists.gnu.org/r/bug-gnulib/2011-07/msg00226.html>.
28520         stdalign: new module
28521         * doc/posix-headers/stdalign.texi, lib/stdalign.in.h, m4/stdalign.m4:
28522         * modules/stdalign: New files.
28523         * MODULES.html.sh (c1x_core_properties): Add stdalign.
28524         * doc/gnulib.texi (Header File Substitutes): Add stdalign.
28526         stdalign-tests: new module
28527         * modules/stdalign-tests, tests/test-stdalign.c: New files.
28529         argp: use stdalign
28530         * lib/argp-parse.c: Include <stdalign.h>.
28531         (alignof): Remove.
28532         * modules/argp (Depends-on): Add stdalign.
28534         crypto libraries: use stdalign
28535         * lib/md4.c, lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
28536         Include <stdalign.h> and <stdint.h>.  Do not include <stddef.h>.
28537         Do not include <stdlib.h> twice, in md4.c.
28538         (UNALIGNED_P): Simplify by using alignof.  Use uintptr_t, not size_t,
28539         because we are accessing a pointer's bit-pattern, not a size.
28540         * modules/crypto/gc-md4 (Depends-on): Add stdalign.
28541         * modules/crypto/gc-md5, modules/crypto/gc-sha1, modules/crypto/md4:
28542         * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
28543         * modules/crypto/sha512: Likewise.
28545         sys_socket: use stdalign, not alignof
28546         * lib/sys_socket.in.h: Include <stdalign.h> instead of <alignof.h>.
28547         * modules/sys_socket (Depends-on): Depend on stdalign, not alignof.
28549 2011-10-27  Bruno Haible  <bruno@clisp.org>
28551         raise test: Avoid a test failure on Linux/MIPS.
28552         * tests/test-raise.c (main): Try raising signal 199, not 99. Needed
28553         because 99 is a valid signal on Linux/MIPS.
28555 2011-10-27  Bruno Haible  <bruno@clisp.org>
28557         nonblocking tests: Fix test failure on Linux/MIPS.
28558         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/MIPS]:
28559         Set to 270000.
28561 2011-10-27  Bruno Haible  <bruno@clisp.org>
28563         utimensat: Work around problem on Linux/hppa.
28564         * lib/utimensat.c (rpl_utimensat) [Linux/hppa]: Reject invalid tv_nsec
28565         values.
28566         * doc/posix-functions/utimensat.texi: Mention the problem on Linux/hppa.
28568 2011-10-25  Jim Meyering  <meyering@redhat.com>
28570         maint.mk: fix a bug in sc_prohibit_stddef_without_use
28571         * top/maint.mk (sc_prohibit_stddef_without_use): Don't require / *\(/
28572         after symbols like NULL, size_t, etc.
28573         Reported by Alfred M. Szmidt.
28575         maint.mk: exempt ENODATA from a syntax-check rule
28576         * top/maint.mk (gl_extract_significant_defines_): Also exempt ENODATA
28577         from the sc_prohibit_always-defined_macros syntax-check rule.
28578         Add a comment.  See this for more details:
28579         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739/focus=28795
28581 2011-10-23  Jim Meyering  <meyering@redhat.com>
28583         fts: close parent dir FD before returning from post-traversal fts_read
28584         The problem: the fts-using "mkdir -p A/B; rm -rf A" would attempt to
28585         unlink A, even though an FD open on A remained.  This is suboptimal
28586         (holding a file descriptor open longer than needed), but otherwise not
28587         a problem on Unix-like kernels.  However, on Cygwin with certain Novell
28588         file systems, (see http://cygwin.com/ml/cygwin/2011-10/msg00365.html),
28589         that represents a real problem: it causes the removal of A to fail
28590         with e.g., "rm: cannot remove `A': Device or resource busy"
28592         fts visits each directory twice and keeps a cache (fts_fd_ring) of
28593         directory file descriptors.  After completing the final, FTS_DP,
28594         visit of a directory, RESTORE_INITIAL_CWD intended to clear the FD
28595         cache, but then proceeded to add a new FD to it via the subsequent
28596         FCHDIR (which calls cwd_advance_fd and i_ring_push).  Before, the
28597         final file descriptor would be closed only via fts_close's call to
28598         fd_ring_clear.  Now, it is usually closed earlier, via the final
28599         FTS_DP-returning fts_read call.
28600         * lib/fts.c (restore_initial_cwd): New function, converted from
28601         the macro.  Call fd_ring_clear *after* FCHDIR, not before it.
28602         Update callers.
28603         Reported by Franz Sirl via the above URL, with analysis by Eric Blake
28604         in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739
28606 2011-10-23  Gary V. Vaughan  <gary@gnu.org>
28607             Bruno Haible  <bruno@clisp.org>
28608             Jim Meyering  <jim@meyering.net>
28610         readme-release: improve safety of release prep instructions.
28611         * README-release: Don't git pull all branches when only master
28612         is needed for the release process.
28613         Run make maintainer-clean before changing trees and merging.
28614         Don't try to run ./configure right after git pull in case files
28615         that influence the bootstrap process have changed, move the
28616         ./configure step to after running ./bootstrap.
28617         Don't bootstrap "one last time"... it's the first time!
28619 2011-10-22  Bruno Haible  <bruno@clisp.org>
28621         errno, strerror-override: Support for MSVC 10.
28622         * lib/errno.in.h (GNULIB_defined_ETXTBSY): Remove macro.
28623         (ENOMSG, EIDRM, ENOLINK, EPROTO, EBADMSG, EOVERFLOW, ENOTSUP,
28624         ENETRESET, ECONNABORTED, ECANCELED, EINPROGRESS, EALREADY, ENOTSOCK,
28625         EDESTADDRREQ, EMSGSIZE, EPROTOTYPE, ENOPROTOOPT, EPROTONOSUPPORT,
28626         EOPNOTSUPP, EAFNOSUPPORT, EADDRINUSE, EADDRNOTAVAIL, ENETDOWN,
28627         ENETUNREACH, ECONNRESET, ENOBUFS, EISCONN, ENOTCONN, ETIMEDOUT,
28628         ECONNREFUSED, ELOOP, EHOSTUNREACH, EWOULDBLOCK, ETXTBSY) [Win32]:
28629         Assign values compatible with MSVC 10.
28630         (ENODATA, ENOSR, ENOSTR, ENOTRECOVERABLE, EOWNERDEAD, ETIME, EOTHER):
28631         New macros.
28632         (GNULIB_defined_EWINSOCK): New macro.
28633         * lib/strerror-override.c (strerror_override): Update accordingly.
28634         * lib/strerror-override.h: Likewise.
28635         * lib/w32sock.h (set_winsock_errno): Map those WSA* values that are no
28636         longer equal to the corresponding errno value.
28637         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
28639 2011-10-22  Bruno Haible  <bruno@clisp.org>
28641         perror: Recognize when test program crashes.
28642         * m4/perror.m4 (gl_FUNC_PERROR): If the test program crashes due to
28643         strerror, set gl_cv_func_perror_works to no.
28644         Reported by Daniel Richard G. <skunk@iskunk.org>.
28646         perror: Fix indentation.
28647         * m4/perror.m4 (gl_FUNC_PERROR): Fix indentation.
28649 2011-10-22  Bruno Haible  <bruno@clisp.org>
28651         isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
28652         * lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_1,
28653         _GL_MATH_CXX_REAL_FLOATING_DECL_2): nEW MACROS.
28654         (isfinite, isinf, isnan, signbit): In C++, define as overloaded
28655         functions, not as a macro.
28656         * tests/test-math-c++.cc (REAL_FLOATING_CHECK, OVERLOADED_CHECK): New
28657         macros.
28658         (isfinite, isinf, isnan, signbit): Check overloaded functions and
28659         absence of macro.
28660         Suggested by Eric Blake.
28661         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
28663 2011-10-21  Bruno Haible  <bruno@clisp.org>
28665         relocatable-prog-wrapper: Don't leave object files behind.
28666         * build-aux/install-reloc: Re-synchronize list of .o files to be
28667         removed with list of compilation units.
28669 2011-10-20  Bruno Haible  <bruno@clisp.org>
28671         openpty, posix_openpt: Remove code duplication.
28672         * lib/posix_openpt.c: Add comments about platforms, from lib/openpty.c.
28673         * lib/openpty.c: Include <stdlib.h>.
28674         (openpty): Use posix_openpt on all platforms except IRIX.
28675         * modules/openpty (Depends-on): Add posix_openpt. Add conditions.
28677 2011-10-20  Bruno Haible  <bruno@clisp.org>
28679         unlockpt: Detect invalid argument.
28680         * lib/unlockpt.c: Include <fcntl.h>.
28681         (unlockpt): Check whether fd is valid, using fcntl().
28682         * modules/unlockpt (Depends-on): Add fcntl-h.
28684 2011-10-20  Bruno Haible  <bruno@clisp.org>
28686         openpty: Avoid compilation error on AIX 6.1.
28687         * lib/pty.in.h [AIX]: Include <sys/ioctl.h>, for 'struct winsize'.
28689 2011-10-20  Bruno Haible  <bruno@clisp.org>
28691         posix_openpt: Support for OpenBSD.
28692         * lib/posix_openpt.c [OpenBSD]: Include <sys/ioctl.h>, <sys/tty.h>.
28693         (posix_openpt) [OpenBSD]: New code.
28694         * lib/grantpt.c: Include <fcntl.h>.
28695         (grantpt) [OpenBSD]: Only test whether fd is valid, nothing else.
28696         * modules/grantpt (Depends-on): Add fcntl-h.
28698 2011-10-20  Bruno Haible  <bruno@clisp.org>
28700         posix_openpt test: Coding style.
28701         * tests/test-posix_openpt.c: Use GNU coding style.
28703 2011-10-20  Bruno Haible  <bruno@clisp.org>
28705         grantpt: Support --avoid=pt_chown.
28706         * modules/grantpt (Files): Add lib/pty-private.h.
28708 2011-10-20  Bruno Haible  <bruno@clisp.org>
28710         posix_openpt: Fix autoconf macro.
28711         * m4/posix_openpt.m4 (gl_FUNC_POSIX_OPENPT): Fix variable name. Remove
28712         unneeded check for _getpty.
28714 2011-10-20  Bruno Haible  <bruno@clisp.org>
28716         openpty: Update comments.
28717         * lib/openpty.c: Add comments about Minix.
28719 2011-10-19  Eric Blake  <eblake@redhat.com>
28721         openpty: relax license
28722         * modules/openpty (License): Change from LGPLv3+ to LGPLv2+.
28724         pt_chown: use configmake to simplify build
28725         * modules/pt_chown (Makefile.am): Drop line guaranteed by configmake.
28727         ptsname and others: relax license
28728         * modules/grantpt (License): Change from LGPLv3+ to LGPLv2+.
28729         * modules/unlockpt (License): Likewise.
28730         * modules/pt_chown (License): Likewise.
28731         * modules/ptsname (License): Likewise.
28732         * modules/ttyname_r (License): Likewise.
28734 2011-10-19  Jim Meyering  <meyering@redhat.com>
28736         posix_openpt: remove spurious #endif
28737         * lib/posix_openpt.c (posix_openpt): Remove spurious #endif.
28739 2011-10-19  Gary V. Vaughan  <gary@gnu.org>
28741         maint.mk: Respect $(build_aux) in web-manual rule.
28742         * top/maint.mk (web-manual): Find gen-announce script in user's
28743         $(build_aux) directory instead of hard-coding 'build-aux'.
28745 2011-10-19  Bruno Haible  <bruno@clisp.org>
28747         posix_openpt: Fix compilation error.
28748         * lib/posix_openpt.c (posix_openpt): Renamed from posix_openpty.
28749         * doc/posix-functions/posix_openpt.texi: Mention ENOENT error code.
28750         Mention the openpty module as an alternative.
28752 2011-10-19  Bruno Haible  <bruno@clisp.org>
28754         Support for old NeXTstep 3.3 frexp().
28755         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm. Limit the
28756         execution time of the test to 5 seconds.
28757         Reported by Daniel Richard G. <skunk@iskunk.org>.
28759 2011-10-19  Bruno Haible  <bruno@clisp.org>
28761         Support for old NeXTstep 3.3 sed.
28762         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): In the sed address
28763         part, use /.../, not \|...|. Escape periods in the header file name.
28764         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
28765         Reported by Daniel Richard G. <skunk@iskunk.org>.
28767 2011-10-18  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
28769         Support for old NeXTstep 3.3 gcc.
28770         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Write
28771         'defined __STRICT_ANSI__', not '__STRICT_ANSI__'.
28772         * lib/math.in.h (_GL_NUM_UINT_WORDS etc.): Likewise.
28773         * lib/spawn.in.h (_Restrict_arr_): Likewise.
28774         * lib/regex.h (_Restrict_arr_): Likewise.
28775         * lib/regex_internal.h (re_token_t): Likewise.
28776         * lib/regexec.c (check_node_accept_bytes): Likewise.
28777         * tests/test-printf-posix.c (func1, func2, func3, func4): Likewise.
28779 2011-10-18  Eric Blake  <eblake@redhat.com>
28781         posix_openpt: new module
28782         * modules/posix_openpt: New module.
28783         * m4/posix_openpt.m4: New file.
28784         * lib/posix_openpt.c: Likewise.
28785         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
28786         (gl_STDLIB_H_DEFAULTS): Set defaults.
28787         * modules/stdlib (Makefile.am): Substitute macros.
28788         * lib/stdlib.in.h (posix_openpt): Declare.
28789         * MODULES.html.sh (systems lacking POSIX:2008): Document it.
28790         * doc/posix-functions/posix_openpt.texi (posix_openpt): Likewise.
28791         * modules/posix_openpt-tests: New test module.
28792         * tests/test-posix_openpt.c: New test.
28794 2011-10-15  Bruno Haible  <bruno@clisp.org>
28796         xstrtoll: Fix compilation failure.
28797         * lib/xstrtol.c (ULLONG_MAX, LLONG_MAX, LLONG_MIN): New macros, taken
28798         from lib/strtol.c.
28799         * doc/posix-headers/limits.texi: Mention missing numerical limits on
28800         some platforms.
28801         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
28803 2011-10-15  Bruno Haible  <bruno@clisp.org>
28805         vasnprintf: Optimize bit search operation.
28806         * lib/vasnprintf.c (divide): Use optimizations from integer_length.c.
28807         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require
28808         gl_DOUBLE_EXPONENT_LOCATION.
28809         * modules/vasnprintf (Files): Add m4/exponentd.m4.
28810         * modules/unistdio/u8-vasnprintf (Files): Likewise.
28811         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
28812         * modules/unistdio/u16-vasnprintf (Files): Likewise.
28813         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
28814         * modules/unistdio/u32-vasnprintf (Files): Likewise.
28815         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
28816         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
28817         * m4/isnand.m4 (gl_PREREQ_ISNAND): Use AC_REQUIRE.
28819 2011-10-15  Bruno Haible  <bruno@clisp.org>
28821         vasnprintf: Fix comments.
28822         * lib/vasnprintf.c (decode_long_double, decode_double): Fix comments.
28824 2011-10-14  Bruno Haible  <bruno@clisp.org>
28826         Tests for module 'integer_length_ll'.
28827         * modules/integer_length_ll-tests: New file.
28828         * tests/test-integer_length_ll.c: New file.
28830         New module 'integer_length_ll'.
28831         * lib/integer_length_ll.c: New file.
28832         * modules/integer_length_ll: New file.
28834 2011-10-14  Bruno Haible  <bruno@clisp.org>
28836         Tests for module 'integer_length_l'.
28837         * modules/integer_length_l-tests: New file.
28838         * tests/test-integer_length_l.c: New file.
28840         New module 'integer_length_l'.
28841         * lib/integer_length_l.c: New file.
28842         * modules/integer_length_l: New file.
28844 2011-10-14  Bruno Haible  <bruno@clisp.org>
28846         Tests for module 'integer_length'.
28847         * modules/integer_length-tests: New file.
28848         * tests/test-integer_length.c: New file.
28850         New module 'integer_length'.
28851         * lib/integer_length.h: New file.
28852         * lib/integer_length.c: New file.
28853         * modules/integer_length: New file.
28855 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
28857         popen: Fix dependency conditions.
28858         * modules/popen (Depends-on, configure.ac): Fix shell syntax error.
28860 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
28862         perror: Fix autoconf test.
28863         * m4/perror.m4 (gl_FUNC_PERROR): In the test program, include
28864         <stdlib.h> and <string.h>.
28866 2011-10-14  Bruno Haible  <bruno@clisp.org>
28868         ffsl: Optimize on 64-bit platforms.
28869         * lib/ffsl.h (FUNC): Omit a test from the last loop round. Do loop
28870         unrolling.
28872 2011-10-13  Bruno Haible  <bruno@clisp.org>
28874         ffsl: Optimize on 32-bit platforms.
28875         * lib/ffsl.h (FUNC): If TYPE has the same representation as 'int', just
28876         use ffs() without a loop.
28878         ffsl, ffsll: Optimize for GCC.
28879         * lib/ffsl.h (FUNC): Use GCC_BUILTIN if defined.
28880         * lib/ffsl.c (GCC_BUILTIN): New macro.
28881         * lib/ffsll.c (GCC_BUILTIN): Likewise.
28883 2011-10-13  Bruno Haible  <bruno@clisp.org>
28885         ffs, bcopy, memset: Support symbol renaming via config.h.
28886         * lib/ffs.c: Include <config.h>.
28887         * lib/bcopy.c: Likewise.
28888         * lib/memset.c: Likewise.
28890 2011-10-10  Bruno Haible  <bruno@clisp.org>
28892         atanl: Simplify for platforms where 'long double' == 'double'.
28893         * lib/atanl.c (atanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
28894         alternative implementation.
28895         * m4/atanl.m4 (gl_FUNC_ATANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
28896         Determine ATANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
28897         * modules/atanl (Depends-on): Add atan. Update conditions.
28899 2011-10-10  Bruno Haible  <bruno@clisp.org>
28901         acosl: Simplify for platforms where 'long double' == 'double'.
28902         * lib/acosl.c (acosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
28903         alternative implementation.
28904         * m4/acosl.m4 (gl_FUNC_ACOSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
28905         Determine ACOSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
28906         * modules/acosl (Depends-on): Add acos. Update conditions.
28908 2011-10-10  Bruno Haible  <bruno@clisp.org>
28910         asinl: Simplify for platforms where 'long double' == 'double'.
28911         * lib/asinl.c (asinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
28912         alternative implementation.
28913         * m4/asinl.m4 (gl_FUNC_ASINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
28914         Determine ASINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
28915         * modules/asinl (Depends-on): Add asin. Update conditions.
28917 2011-10-10  Bruno Haible  <bruno@clisp.org>
28919         tanl: Simplify for platforms where 'long double' == 'double'.
28920         * lib/tanl.c (tanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
28921         implementation.
28922         * m4/tanl.m4 (gl_FUNC_TANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
28923         Determine TANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
28924         * modules/tanl (Depends-on): Add tan. Update conditions.
28925         (configure.ac): Don't compile trigl.c if
28926         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
28928 2011-10-10  Bruno Haible  <bruno@clisp.org>
28930         cosl: Simplify for platforms where 'long double' == 'double'.
28931         * lib/cosl.c (cosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
28932         implementation.
28933         * m4/cosl.m4 (gl_FUNC_COSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
28934         Determine COSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
28935         * modules/cosl (Depends-on): Add cos. Update conditions.
28936         (configure.ac): Don't compile sincosl.c and trigl.c if
28937         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
28939 2011-10-10  Bruno Haible  <bruno@clisp.org>
28941         sinl: Simplify for platforms where 'long double' == 'double'.
28942         * lib/sinl.c (sinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
28943         implementation.
28944         * m4/sinl.m4 (gl_FUNC_SINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
28945         Determine SINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
28946         * modules/sinl (Depends-on): Add sin. Update conditions.
28947         (configure.ac): Don't compile sincosl.c and trigl.c if
28948         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
28950 2011-10-10  Bruno Haible  <bruno@clisp.org>
28952         logl: Simplify for platforms where 'long double' == 'double'.
28953         * lib/logl.c (logl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
28954         implementation.
28955         * m4/logl.m4 (gl_FUNC_LOGL): Require gl_LONG_DOUBLE_VS_DOUBLE.
28956         Determine LOGL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
28957         * modules/logl (Depends-on): Add log. Update conditions.
28959 2011-10-10  Bruno Haible  <bruno@clisp.org>
28961         expl: Simplify for platforms where 'long double' == 'double'.
28962         * lib/expl.c (expl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
28963         implementation.
28964         * m4/expl.m4 (gl_FUNC_EXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
28965         Determine EXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
28966         * modules/expl (Depends-on): Add exp. Update conditions.
28968 2011-10-10  Bruno Haible  <bruno@clisp.org>
28970         sqrtl: Simplify for platforms where 'long double' == 'double'.
28971         * lib/sqrtl.c (sqrtl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
28972         alternative implementation.
28973         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
28974         Determine SQRTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
28975         * modules/sqrtl (Depends-on): Update conditions.
28977 2011-10-10  Bruno Haible  <bruno@clisp.org>
28979         ldexpl: Simplify for platforms where 'long double' == 'double'.
28980         * lib/ldexpl.c (ldexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
28981         alternative implementation.
28982         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
28983         Determine LDEXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
28984         * modules/ldexpl (Depends-on): Add ldexp. Update conditions.
28986 2011-10-10  Tom G. Christensen  <tgc@jupiterrise.com>  (tiny change)
28988         ffsll: set correct witness
28989         * modules/ffsll (configure.ac): Fix typo.
28991 2011-10-10  Bruno Haible  <bruno@clisp.org>
28993         printf-frexpl: Simplify for platforms where 'long double' == 'double'.
28994         * lib/printf-frexpl.c: Include <config.h>.
28995         (printf_frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
28996         * lib/printf-frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a
28997         second time.
28998         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Require
28999         gl_LONG_DOUBLE_VS_DOUBLE.
29000         * modules/printf-frexpl (Depends-on): Add printf-frexp. Update
29001         conditions.
29003 2011-10-10  Bruno Haible  <bruno@clisp.org>
29005         frexpl: Simplify for platforms where 'long double' == 'double'.
29006         * lib/frexpl.c: Include <config.h>.
29007         (frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
29008         * lib/frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
29009         time.
29010         * m4/frexpl.m4 (gl_FUNC_FREXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
29011         Determine FREXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
29012         (gl_FUNC_FREXPL_NO_LIBM): Require gl_LONG_DOUBLE_VS_DOUBLE.
29013         * modules/frexpl (Depends-on): Add frexp. Update conditions.
29014         * modules/frexpl-nolibm (Depends-on): Add frexp-nolibm. Update
29015         conditions.
29017 2011-10-10  Jim Meyering  <meyering@redhat.com>
29019         test-renameat: don't leave behind a temporary file
29020         * tests/test-renameat.c (main): Don't forget to remove a temporary file.
29021           ERROR: files left in build directory after distclean:
29022           ./gltests/test-renameat.too
29023           make[1]: *** [distcleancheck] Error 1
29024         Reported by Tom G. Christensen.
29026 2011-10-09  Bruno Haible  <bruno@clisp.org>
29028         rint: Determine RINT_LIBM correctly on AIX 7.
29029         * m4/mathfunc.m4 (gl_MATHFUNC): Try to invoke the function also
29030         directly, not only through a function pointer. Also accept an optional
29031         4th argument with extra code.
29032         * m4/rint.m4 (gl_FUNC_RINT): Pass an extra code that gets turned into a
29033         rintf() call by gcc when optimizing.
29035         mathfunc.m4: Refactor.
29036         * m4/mathfunc.m4 (gl_MATHFUNC): Assign the argument list to a temporary
29037         m4 variable.
29039 2011-10-09  Bruno Haible  <bruno@clisp.org>
29041         rintl: Simplify for platforms where 'long double' == 'double'.
29042         * lib/rintl.c: Include <config.h>.
29043         (rintl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
29044         * lib/rint.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
29045         time.
29046         * m4/rintl.m4 (gl_FUNC_RINTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
29047         Determine RINTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
29048         * modules/rintl (Depends-on): Add rint. Update conditions.
29050 2011-10-09  Bruno Haible  <bruno@clisp.org>
29052         roundl: Simplify for platforms where 'long double' == 'double'.
29053         * lib/roundl.c: Include <config.h>.
29054         (roundl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
29055         * lib/round.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
29056         time.
29057         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require gl_LONG_DOUBLE_VS_DOUBLE.
29058         Determine ROUNDL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
29059         * modules/roundl (Depends-on): Add round. Update conditions.
29061 2011-10-09  Bruno Haible  <bruno@clisp.org>
29063         truncl: Simplify for platforms where 'long double' == 'double'.
29064         * lib/truncl.c: Include <config.h>.
29065         (truncl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
29066         * lib/trunc.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
29067         time.
29068         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require gl_LONG_DOUBLE_VS_DOUBLE.
29069         Determine TRUNCL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
29070         * modules/truncl (Depends-on): Add trunc. Update conditions.
29072 2011-10-09  Bruno Haible  <bruno@clisp.org>
29074         ceill: Simplify for platforms where 'long double' == 'double'.
29075         * lib/ceill.c: Include <config.h>.
29076         (ceill) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
29077         * lib/ceil.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
29078         time.
29079         * m4/ceill.m4 (gl_FUNC_CEILL): Require gl_LONG_DOUBLE_VS_DOUBLE.
29080         Determine CEILL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
29081         * modules/ceill (Depends-on): Add ceil. Update conditions.
29083 2011-10-09  Bruno Haible  <bruno@clisp.org>
29085         floorl: Simplify for platforms where 'long double' == 'double'.
29086         * lib/floorl.c: Include <config.h>.
29087         (floorl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
29088         * lib/floor.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
29089         time.
29090         * m4/floorl.m4 (gl_FUNC_FLOORL): Require gl_LONG_DOUBLE_VS_DOUBLE.
29091         Determine FLOORL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
29092         * modules/floorl (Depends-on): Add floor. Update conditions.
29094 2011-10-09  Bruno Haible  <bruno@clisp.org>
29096         rint: Fix ordering constraints.
29097         * m4/rint.m4 (gl_FUNC_RINT): Require gl_MATH_H_DEFAULTS.
29098         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
29099         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
29101 2011-10-09  Bruno Haible  <bruno@clisp.org>
29103         copysignl: Simplify for platforms where 'long double' == 'double'.
29104         * lib/copysignl.c (copysignl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
29105         alternative.
29106         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Require gl_LONG_DOUBLE_VS_DOUBLE.
29107         Determine COPYSIGNL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
29108         * modules/copysignl (Depends-on): Add copysign. Update conditions.
29110 2011-10-09  Bruno Haible  <bruno@clisp.org>
29112         Tests for module 'rintl'.
29113         * modules/rintl-tests: New file.
29114         * tests/test-rintl.c: New file.
29116         New module 'rintl'.
29117         * lib/math.in.h (rintl): New declaration.
29118         * lib/rintl.c: New file.
29119         * m4/rintl.m4: New file.
29120         * m4/math_h.m4 (gl_MATH_H): Test whether rintl is declared.
29121         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTL, HAVE_RINTL.
29122         * modules/math (Makefile.am): Substitute GNULIB_RINTL, HAVE_RINTL.
29123         * modules/rintl: New file.
29124         * tests/test-math-c++.cc: Check the declaration of rintl.
29125         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
29126         $(RINTL_LIBM). Needed on IRIX 6.5 with cc.
29127         * doc/posix-functions/rintl.texi: Mention the new module.
29129 2011-10-09  Bruno Haible  <bruno@clisp.org>
29131         Tests for module 'rintf'.
29132         * modules/rintf-tests: New file.
29133         * tests/test-rintf.c: New file.
29135         New module 'rintf'.
29136         * lib/math.in.h (rintf): New declaration.
29137         * lib/rintf.c: New file.
29138         * m4/rintf.m4: New file.
29139         * m4/math_h.m4 (gl_MATH_H): Test whether rintf is declared.
29140         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTF, HAVE_RINTF.
29141         * modules/math (Makefile.am): Substitute GNULIB_RINTF, HAVE_RINTF.
29142         * modules/rintf: New file.
29143         * tests/test-math-c++.cc: Check the declaration of rintf.
29144         * doc/posix-functions/rintf.texi: Mention the new module.
29146 2011-10-09  Bruno Haible  <bruno@clisp.org>
29148         rint: Support for MSVC.
29149         * lib/math.in.h (rint): New declaration.
29150         * lib/rint.c: New file.
29151         * m4/rint.m4: New file.
29152         * m4/math_h.m4 (gl_MATH_H): Test whether rint is declared.
29153         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINT, HAVE_RINT.
29154         * modules/math (Makefile.am): Substitute GNULIB_RINT, HAVE_RINT.
29155         * modules/rint (Description): Fix.
29156         (Files): Add lib/rint.c, m4/rint.m4.
29157         (Depends-on): Add math.
29158         (configure.ac): Invoke gl_FUNC_RINT, AC_LIBOBJ,
29159         gl_MATH_MODULE_INDICATOR.
29160         * tests/test-math-c++.cc: Check the declaration of rint.
29161         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
29162         $(RINT_LIBM). Needed on IRIX 6.5 with cc.
29163         * doc/posix-functions/rint.texi: Mention the replacement provided by
29164         the module.
29166         rint tests: More tests.
29167         * tests/test-rint.c: Include <float.h>, <stdio.h>, isnand-nolibm.h,
29168         minus-zero.h, infinity.h, nan.h.
29169         (main): Skip the test if the current rounding mode is not standard. Add
29170         tests for negative numbers, minus zero, infinity, NaN.
29171         * modules/rint-tests (Files): Add tests/minus-zero.h, tests/infinity.h,
29172         tests/nan.h.
29173         (Depends-on): Add isnand-nolibm.
29175 2011-10-09  Bruno Haible  <bruno@clisp.org>
29177         Tests for module 'copysignl'.
29178         * modules/copysignl-tests: New file.
29179         * tests/test-copysignl.c: New file.
29181         New module 'copysignl'.
29182         * lib/math.in.h (copysignl): New declaration.
29183         * lib/copysignl.c: New file.
29184         * m4/copysignl.m4: New file.
29185         * m4/math_h.m4 (gl_MATH_H): Test whether copysignl is declared.
29186         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNL, HAVE_COPYSIGNL.
29187         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNL,
29188         HAVE_COPYSIGNL.
29189         * modules/copysignl: New file.
29190         * tests/test-math-c++.cc: Check the declaration of copysignl.
29191         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
29192         $(COPYSIGNL_LIBM). Needed on IRIX 6.5 with cc.
29193         * doc/posix-functions/copysignl.texi: Mention the new module.
29195 2011-10-09  Bruno Haible  <bruno@clisp.org>
29197         Tests for module 'copysignf'.
29198         * modules/copysignf-tests: New file.
29199         * tests/test-copysignf.c: New file.
29201         New module 'copysignf'.
29202         * lib/math.in.h (copysignf): New declaration.
29203         * lib/copysignf.c: New file.
29204         * m4/copysignf.m4: New file.
29205         * m4/math_h.m4 (gl_MATH_H): Test whether copysignf is declared.
29206         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNF, HAVE_COPYSIGNF.
29207         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNF,
29208         HAVE_COPYSIGNF.
29209         * modules/copysignf: New file.
29210         * tests/test-math-c++.cc: Check the declaration of copysignf.
29211         * doc/posix-functions/copysignf.texi: Mention the new module.
29213 2011-10-09  Bruno Haible  <bruno@clisp.org>
29215         Ensure that HAVE_* variables are set to 1 before they are set to 0.
29216         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require gl_DIRENT_H_DEFAULTS.
29217         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS.
29218         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
29219         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Require
29220         gl_SIGNAL_H_DEFAULTS.
29222 2011-10-09  Bruno Haible  <bruno@clisp.org>
29224         poll: Make macro safer.
29225         * m4/poll.m4 (gl_FUNC_POLL): Complain if, after invoking gl_POLL_H,
29226         ac_cv_header_poll_h is not set.
29228 2011-10-09  Bruno Haible  <bruno@clisp.org>
29230         copysign: Provide replacement.
29231         * lib/math.in.h (copysign): New declaration.
29232         * lib/copysign.c: New file.
29233         * m4/copysign.m4: New file.
29234         * m4/math_h.m4 (gl_MATH_H): Test whether copysign is declared.
29235         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGN, HAVE_COPYSIGN.
29236         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGN,
29237         HAVE_COPYSIGN.
29238         * modules/copysign (Description): Clarify.
29239         (Files): Add lib/copysign.c, m4/copysign.m4.
29240         (Depends-on): Add math, signbit.
29241         (configure.ac): Invoke gl_FUNC_COPYSIGN, AC_LIBOBJ,
29242         gl_MATH_MODULE_INDICATOR.
29243         * tests/test-math-c++.cc: Check the declaration of copysign.
29244         * doc/posix-functions/copysign.texi: Mention the effects of the module
29245         on Minix and MSVC.
29247 2011-10-09  Bruno Haible  <bruno@clisp.org>
29249         isinf: Ensure macro on AIX 5.1.
29250         * m4/isinf.m4 (gl_ISINF): Also test whether isinf is defined as a
29251         macro.
29252         * doc/posix-functions/isinf.texi: Mention also AIX 5.1 as deficient.
29254 2011-10-09  Bruno Haible  <bruno@clisp.org>
29256         *printf-posix tests: Fix for platforms where 'long double' == 'double'.
29257         * modules/snprintf-posix-tests (configure.ac): Require
29258         gl_LONG_DOUBLE_VS_DOUBLE.
29259         * modules/sprintf-posix-tests (configure.ac): Likewise.
29260         * modules/vasnprintf-posix-tests (configure.ac): Likewise.
29261         * modules/vasprintf-posix-tests (configure.ac): Likewise.
29262         * modules/vsnprintf-posix-tests (configure.ac): Likewise.
29263         * modules/vsprintf-posix-tests (configure.ac): Likewise.
29264         * tests/test-snprintf-posix.h (test_function): Avoid 80-bit long double
29265         tests on platforms where 'long double' is the same as 'double'.
29266         * tests/test-sprintf-posix.h (test_function): Likewise.
29267         * tests/test-vasnprintf-posix.c (test_function): Likewise.
29268         * tests/test-vasprintf-posix.c (test_function): Likewise.
29270         *printf: Fix for platforms where 'long double' == 'double'.
29271         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
29272         gl_LONG_DOUBLE_VS_DOUBLE. Don't blindly assume 80-bit 'long double'.
29273         * modules/dprintf-posix (Files): Add m4/math_h.m4.
29274         * modules/fprintf-posix (Files): Likewise.
29275         * modules/obstack-printf-posix (Files): Likewise.
29276         * modules/snprintf-posix (Files): Likewise.
29277         * modules/sprintf-posix (Files): Likewise.
29278         * modules/vasnprintf (Files): Likewise.
29279         * modules/vasnprintf-posix (Files): Likewise.
29280         * modules/vasprintf-posix (Files): Likewise.
29281         * modules/vdprintf-posix (Files): Likewise.
29282         * modules/vfprintf-posix (Files): Likewise.
29283         * modules/vsnprintf-posix (Files): Likewise.
29284         * modules/vsprintf-posix (Files): Likewise.
29285         * modules/unistdio/u8-vasnprintf (Files): Likewise.
29286         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
29287         * modules/unistdio/u16-vasnprintf (Files): Likewise.
29288         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
29289         * modules/unistdio/u32-vasnprintf (Files): Likewise.
29290         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
29291         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
29293         isnanl[-nolibm]: Fix for platforms where 'long double' == 'double'.
29294         * lib/isnan.c (rpl_isnanl): Don't blindly assume 80-bit 'long double'.
29295         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
29296         (gl_FUNC_ISNANL_WORKS): Likewise. Don't blindly assume 80-bit
29297         'long double'.
29298         * modules/isnanl-nolibm (Files): Add m4/math_h.m4.
29300         isinf: Fix for platforms where 'long double' == 'double'.
29301         * m4/isinf.m4 (gl_ISINFL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
29302         Don't blindly assume 80-bit 'long double'.
29304         isfinite: Fix for platforms where 'long double' == 'double'.
29305         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
29306         Don't blindly assume 80-bit 'long double'.
29308         isfinite, isinf, isnan tests: Avoid syntax error on MSVC 9.
29309         * m4/math_h.m4 (gl_LONG_DOUBLE_VS_DOUBLE): New macro.
29310         * modules/isfinite-tests (configure.ac): Require
29311         gl_LONG_DOUBLE_VS_DOUBLE.
29312         * modules/isinf-tests (configure.ac): Likewise.
29313         * modules/isnan-tests (configure.ac): Likewise.
29314         * modules/isnanl-tests (configure.ac): Likewise.
29315         * modules/isnanl-nolibm-tests (configure.ac): Likewise.
29316         * tests/test-isfinite.c (test_isfinitel): Avoid 80-bit long double
29317         tests on platforms where 'long double' is the same as 'double'.
29318         * tests/test-isinf.c (test_isinfl): Likewise.
29319         * tests/test-isnan.c (test_long_double): Likewise.
29320         * tests/test-isnanl.h (main): Likewise.
29322 2011-10-08  Bruno Haible  <bruno@clisp.org>
29324         Tests for module 'tanhf'.
29325         * modules/tanhf-tests: New file.
29326         * tests/test-tanhf.c: New file.
29328         New module 'tanhf'.
29329         * lib/math.in.h (tanhf): New declaration.
29330         * lib/tanhf.c: New file.
29331         * m4/tanhf.m4: New file.
29332         * m4/math_h.m4 (gl_MATH_H): Test whether tanhf is declared.
29333         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANHF, HAVE_TANHF.
29334         * modules/math (Makefile.am): Substitute GNULIB_TANHF, HAVE_TANHF.
29335         * modules/tanhf: New file.
29336         * tests/test-math-c++.cc: Check the declaration of tanhf.
29337         * doc/posix-functions/tanhf.texi: Mention the new module.
29339         tanh: Use a .m4 file.
29340         * m4/tanh.m4: New file.
29341         * modules/tanh (Files): Add it.
29342         (configure.ac): Just invoke gl_FUNC_TANH.
29344 2011-10-08  Bruno Haible  <bruno@clisp.org>
29346         Tests for module 'coshf'.
29347         * modules/coshf-tests: New file.
29348         * tests/test-coshf.c: New file.
29350         New module 'coshf'.
29351         * lib/math.in.h (coshf): New declaration.
29352         * lib/coshf.c: New file.
29353         * m4/coshf.m4: New file.
29354         * m4/math_h.m4 (gl_MATH_H): Test whether coshf is declared.
29355         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSHF, HAVE_COSHF.
29356         * modules/math (Makefile.am): Substitute GNULIB_COSHF, HAVE_COSHF.
29357         * modules/coshf: New file.
29358         * tests/test-math-c++.cc: Check the declaration of coshf.
29359         * doc/posix-functions/coshf.texi: Mention the new module.
29361         cosh: Use a .m4 file.
29362         * m4/cosh.m4: New file.
29363         * modules/cosh (Files): Add it.
29364         (configure.ac): Just invoke gl_FUNC_COSH.
29366 2011-10-08  Bruno Haible  <bruno@clisp.org>
29368         Tests for module 'sinhf'.
29369         * modules/sinhf-tests: New file.
29370         * tests/test-sinhf.c: New file.
29372         New module 'sinhf'.
29373         * lib/math.in.h (sinhf): New declaration.
29374         * lib/sinhf.c: New file.
29375         * m4/sinhf.m4: New file.
29376         * m4/math_h.m4 (gl_MATH_H): Test whether sinhf is declared.
29377         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINHF, HAVE_SINHF.
29378         * modules/math (Makefile.am): Substitute GNULIB_SINHF, HAVE_SINHF.
29379         * modules/sinhf: New file.
29380         * tests/test-math-c++.cc: Check the declaration of sinhf.
29381         * doc/posix-functions/sinhf.texi: Mention the new module.
29383         sinh: Use a .m4 file.
29384         * m4/sinh.m4: New file.
29385         * modules/sinh (Files): Add it.
29386         (configure.ac): Just invoke gl_FUNC_SINH.
29388 2011-10-08  Bruno Haible  <bruno@clisp.org>
29390         Tests for module 'atan2f'.
29391         * modules/atan2f-tests: New file.
29392         * tests/test-atan2f.c: New file.
29394         New module 'atan2f'.
29395         * lib/math.in.h (atan2f): New declaration.
29396         * lib/atan2f.c: New file.
29397         * m4/atan2f.m4: New file.
29398         * m4/math_h.m4 (gl_MATH_H): Test whether atan2f is declared.
29399         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATAN2F, HAVE_ATAN2F.
29400         * modules/math (Makefile.am): Substitute GNULIB_ATAN2F, HAVE_ATAN2F.
29401         * modules/atan2f: New file.
29402         * tests/test-math-c++.cc: Check the declaration of atan2f.
29403         * doc/posix-functions/atan2f.texi: Mention the new module.
29405         atan2: Use a .m4 file.
29406         * m4/atan2.m4: New file.
29407         * modules/atan2 (Files): Add it.
29408         (configure.ac): Just invoke gl_FUNC_ATAN2.
29410 2011-10-08  Bruno Haible  <bruno@clisp.org>
29412         Tests for module 'atanf'.
29413         * modules/atanf-tests: New file.
29414         * tests/test-atanf.c: New file.
29416         New module 'atanf'.
29417         * lib/math.in.h (atanf): New declaration.
29418         * lib/atanf.c: New file.
29419         * m4/atanf.m4: New file.
29420         * m4/math_h.m4 (gl_MATH_H): Test whether atanf is declared.
29421         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATANF, HAVE_ATANF.
29422         * modules/math (Makefile.am): Substitute GNULIB_ATANF, HAVE_ATANF.
29423         * modules/atanf: New file.
29424         * tests/test-math-c++.cc: Check the declaration of atanf.
29425         * doc/posix-functions/atanf.texi: Mention the new module.
29427         atan: Use a .m4 file.
29428         * m4/atan.m4: New file.
29429         * modules/atan (Files): Add it.
29430         (configure.ac): Just invoke gl_FUNC_ATAN.
29432 2011-10-08  Bruno Haible  <bruno@clisp.org>
29434         Tests for module 'acosf'.
29435         * modules/acosf-tests: New file.
29436         * tests/test-acosf.c: New file.
29438         New module 'acosf'.
29439         * lib/math.in.h (acosf): New declaration.
29440         * lib/acosf.c: New file.
29441         * m4/acosf.m4: New file.
29442         * m4/math_h.m4 (gl_MATH_H): Test whether acosf is declared.
29443         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ACOSF, HAVE_ACOSF.
29444         * modules/math (Makefile.am): Substitute GNULIB_ACOSF, HAVE_ACOSF.
29445         * modules/acosf: New file.
29446         * tests/test-math-c++.cc: Check the declaration of acosf.
29447         * doc/posix-functions/acosf.texi: Mention the new module.
29449         acos: Use a .m4 file.
29450         * m4/acos.m4: New file.
29451         * modules/acos (Files): Add it.
29452         (configure.ac): Just invoke gl_FUNC_ACOS.
29454 2011-10-08  Bruno Haible  <bruno@clisp.org>
29456         Tests for module 'asinf'.
29457         * modules/asinf-tests: New file.
29458         * tests/test-asinf.c: New file.
29460         New module 'asinf'.
29461         * lib/math.in.h (asinf): New declaration.
29462         * lib/asinf.c: New file.
29463         * m4/asinf.m4: New file.
29464         * m4/math_h.m4 (gl_MATH_H): Test whether asinf is declared.
29465         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ASINF, HAVE_ASINF.
29466         * modules/math (Makefile.am): Substitute GNULIB_ASINF, HAVE_ASINF.
29467         * modules/asinf: New file.
29468         * tests/test-math-c++.cc: Check the declaration of asinf.
29469         * doc/posix-functions/asinf.texi: Mention the new module.
29471         asin: Use a .m4 file.
29472         * m4/asin.m4: New file.
29473         * modules/asin (Files): Add it.
29474         (configure.ac): Just invoke gl_FUNC_ASIN.
29476 2011-10-08  Bruno Haible  <bruno@clisp.org>
29478         Tests for module 'tanf'.
29479         * modules/tanf-tests: New file.
29480         * tests/test-tanf.c: New file.
29482         New module 'tanf'.
29483         * lib/math.in.h (tanf): New declaration.
29484         * lib/tanf.c: New file.
29485         * m4/tanf.m4: New file.
29486         * m4/math_h.m4 (gl_MATH_H): Test whether tanf is declared.
29487         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANF, HAVE_TANF.
29488         * modules/math (Makefile.am): Substitute GNULIB_TANF, HAVE_TANF.
29489         * modules/tanf: New file.
29490         * tests/test-math-c++.cc: Check the declaration of tanf.
29491         * doc/posix-functions/tanf.texi: Mention the new module.
29493         tan: Use a .m4 file.
29494         * m4/tan.m4: New file.
29495         * modules/tan (Files): Add it.
29496         (configure.ac): Just invoke gl_FUNC_TAN.
29498 2011-10-08  Bruno Haible  <bruno@clisp.org>
29500         Tests for module 'cosf'.
29501         * modules/cosf-tests: New file.
29502         * tests/test-cosf.c: New file.
29504         New module 'cosf'.
29505         * lib/math.in.h (cosf): New declaration.
29506         * lib/cosf.c: New file.
29507         * m4/cosf.m4: New file.
29508         * m4/math_h.m4 (gl_MATH_H): Test whether cosf is declared.
29509         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSF, HAVE_COSF.
29510         * modules/math (Makefile.am): Substitute GNULIB_COSF, HAVE_COSF.
29511         * modules/cosf: New file.
29512         * tests/test-math-c++.cc: Check the declaration of cosf.
29513         * doc/posix-functions/cosf.texi: Mention the new module.
29515         cos: Use a .m4 file.
29516         * m4/cos.m4: New file.
29517         * modules/cos (Files): Add it.
29518         (configure.ac): Just invoke gl_FUNC_COS.
29520 2011-10-08  Bruno Haible  <bruno@clisp.org>
29522         Tests for module 'sinf'.
29523         * modules/sinf-tests: New file.
29524         * tests/test-sinf.c: New file.
29526         New module 'sinf'.
29527         * lib/math.in.h (sinf): New declaration.
29528         * lib/sinf.c: New file.
29529         * m4/sinf.m4: New file.
29530         * m4/math_h.m4 (gl_MATH_H): Test whether sinf is declared.
29531         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINF, HAVE_SINF.
29532         * modules/math (Makefile.am): Substitute GNULIB_SINF, HAVE_SINF.
29533         * modules/sinf: New file.
29534         * tests/test-math-c++.cc: Check the declaration of sinf.
29535         * doc/posix-functions/sinf.texi: Mention the new module.
29537         sin: Use a .m4 file.
29538         * m4/sin.m4: New file.
29539         * modules/sin (Files): Add it.
29540         (configure.ac): Just invoke gl_FUNC_SIN.
29542 2011-10-08  Bruno Haible  <bruno@clisp.org>
29544         Tests for module 'powf'.
29545         * modules/powf-tests: New file.
29546         * tests/test-powf.c: New file.
29548         New module 'powf'.
29549         * lib/math.in.h (powf): New declaration.
29550         * lib/powf.c: New file.
29551         * m4/powf.m4: New file.
29552         * m4/math_h.m4 (gl_MATH_H): Test whether powf is declared.
29553         (gl_MATH_H_DEFAULTS): Initialize GNULIB_POWF, HAVE_POWF.
29554         * modules/math (Makefile.am): Substitute GNULIB_POWF, HAVE_POWF.
29555         * modules/powf: New file.
29556         * tests/test-math-c++.cc: Check the declaration of powf.
29557         * doc/posix-functions/powf.texi: Mention the new module.
29559         pow: Use a .m4 file.
29560         * m4/pow.m4: New file.
29561         * modules/pow (Files): Add it.
29562         (configure.ac): Just invoke gl_FUNC_POW.
29564 2011-10-08  Bruno Haible  <bruno@clisp.org>
29566         Tests for module 'log10f'.
29567         * modules/log10f-tests: New file.
29568         * tests/test-log10f.c: New file.
29570         New module 'log10f'.
29571         * lib/math.in.h (log10f): New declaration.
29572         * lib/log10f.c: New file.
29573         * m4/log10f.m4: New file.
29574         * m4/math_h.m4 (gl_MATH_H): Test whether log10f is declared.
29575         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10F, HAVE_LOG10F.
29576         * modules/math (Makefile.am): Substitute GNULIB_LOG10F, HAVE_LOG10F.
29577         * modules/log10f: New file.
29578         * tests/test-math-c++.cc: Check the declaration of log10f.
29579         * doc/posix-functions/log10f.texi: Mention the new module.
29581         log10: Use a .m4 file.
29582         * m4/log10.m4: New file.
29583         * modules/log10 (Files): Add it.
29584         (configure.ac): Just invoke gl_FUNC_LOG10.
29586 2011-10-08  Bruno Haible  <bruno@clisp.org>
29588         Tests for module 'logf'.
29589         * modules/logf-tests: New file.
29590         * tests/test-logf.c: New file.
29592         New module 'logf'.
29593         * lib/math.in.h (logf): New declaration.
29594         * lib/logf.c: New file.
29595         * m4/logf.m4: New file.
29596         * m4/math_h.m4 (gl_MATH_H): Test whether logf is declared.
29597         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGF, HAVE_LOGF.
29598         * modules/math (Makefile.am): Substitute GNULIB_LOGF, HAVE_LOGF.
29599         * modules/logf: New file.
29600         * tests/test-math-c++.cc: Check the declaration of logf.
29601         * doc/posix-functions/logf.texi: Mention the new module.
29603         log: Use a .m4 file.
29604         * m4/log.m4: New file.
29605         * modules/log (Files): Add it.
29606         (configure.ac): Just invoke gl_FUNC_LOG.
29608 2011-10-08  Bruno Haible  <bruno@clisp.org>
29610         Tests for module 'expf'.
29611         * modules/expf-tests: New file.
29612         * tests/test-expf.c: New file.
29614         New module 'expf'.
29615         * lib/math.in.h (expf): New declaration.
29616         * lib/expf.c: New file.
29617         * m4/expf.m4: New file.
29618         * m4/math_h.m4 (gl_MATH_H): Test whether expf is declared.
29619         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPF, HAVE_EXPF.
29620         * modules/math (Makefile.am): Substitute GNULIB_EXPF, HAVE_EXPF.
29621         * modules/expf: New file.
29622         * tests/test-math-c++.cc: Check the declaration of expf.
29623         * doc/posix-functions/expf.texi: Mention the new module.
29625         exp: Use a .m4 file.
29626         * m4/exp.m4: New file.
29627         * modules/exp (Files): Add it.
29628         (configure.ac): Just invoke gl_FUNC_EXP.
29630 2011-10-08  Bruno Haible  <bruno@clisp.org>
29632         Tests for module 'sqrtf'.
29633         * modules/sqrtf-tests: New file.
29634         * tests/test-sqrtf.c: New file.
29636         New module 'sqrtf'.
29637         * lib/math.in.h (sqrtf): New declaration.
29638         * lib/sqrtf.c: New file.
29639         * m4/sqrtf.m4: New file.
29640         * m4/math_h.m4 (gl_MATH_H): Test whether sqrtf is declared.
29641         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SQRTF, HAVE_SQRTF.
29642         * modules/math (Makefile.am): Substitute GNULIB_SQRTF, HAVE_SQRTF.
29643         * modules/sqrtf: New file.
29644         * tests/test-math-c++.cc: Check the declaration of sqrtf.
29645         * doc/posix-functions/sqrtf.texi: Mention the new module.
29647 2011-10-08  Bruno Haible  <bruno@clisp.org>
29649         Tests: Avoid link failures w.r.t. libintl.
29650         * modules/faccessat-tests (Makefile.am): Link test-faccessat against
29651         $(LIBINTL).
29652         * modules/fchdir-tests (Makefile.am): Link test-fchdir against
29653         $(LIBINTL).
29654         * modules/getcwd-lgpl-tests (Makefile.am): Link test-getcwd-lgpl
29655         against $(LIBINTL).
29656         * modules/getcwd-tests (Makefile.am): Link test-getcwd against
29657         $(LIBINTL).
29658         * modules/openat-tests (Makefile.am): Link test-fchmodat against
29659         $(LIBINTL).
29660         * modules/stat-tests (Makefile.am): Link test-stat against $(LIBINTL).
29662 2011-10-08  Bruno Haible  <bruno@clisp.org>
29664         pow tests: Defeat compiler optimizations.
29665         * tests/test-pow.c (main): Assign arguments to x and y before use.
29667 2011-10-08  Bruno Haible  <bruno@clisp.org>
29669         gnulib-tool: Improve last commit.
29670         * gnulib-tool (func_modules_transitive_closure): Simplify code.
29671         (func_emit_autoconf_snippets): Instead of invoking func_acceptable,
29672         ignore dependencies that are not among the modules list.
29674 2011-10-07  Paul Eggert  <eggert@cs.ucla.edu>
29676         gnulib-tool: don't follow dependencies to avoided modules
29677         This fixes a bug that is related to the previous one.
29678         * gnulib-tool (func_modules_transitive_closure)
29679         (func_emit_autoconf_snippets):
29680         Check whether a dependency is acceptable before using it.
29681         (--extract-dependencies): Report an error if --avoid is also used,
29682         since this combination of options is not yet supported.
29684         gnulib-tool: fix typo that broke Emacs on powerpc-apple-darwin9.8.0.
29685         Problem reported by Peter Dyballa in
29686         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9696>.
29687         * gnulib-tool (func_emit_autoconf_snippets): Quote with "", not '',
29688         when echoing "$condition".
29690 2011-10-07  Bruno Haible  <bruno@clisp.org>
29692         Fix documentation about math functions on MacOS X.
29693         * doc/posix-functions/exp2.texi: Don't say the function is missing on
29694         MacOS X 10.5.
29695         * doc/posix-functions/fdim.texi: Likewise.
29696         * doc/posix-functions/feclearexcept.texi: Likewise.
29697         * doc/posix-functions/fegetenv.texi: Likewise.
29698         * doc/posix-functions/fegetround.texi: Likewise.
29699         * doc/posix-functions/feholdexcept.texi: Likewise.
29700         * doc/posix-functions/feraiseexcept.texi: Likewise.
29701         * doc/posix-functions/fesetenv.texi: Likewise.
29702         * doc/posix-functions/fesetround.texi: Likewise.
29703         * doc/posix-functions/fetestexcept.texi: Likewise.
29704         * doc/posix-functions/feupdateenv.texi: Likewise.
29705         * doc/posix-functions/fmax.texi: Likewise.
29706         * doc/posix-functions/fmin.texi: Likewise.
29707         * doc/posix-functions/log2.texi: Likewise.
29708         * doc/posix-functions/modff.texi: Likewise.
29709         * doc/posix-functions/nan.texi: Likewise.
29710         * doc/posix-functions/nanf.texi: Likewise.
29711         * doc/posix-functions/nextafterf.texi: Likewise.
29712         * doc/posix-functions/remquo.texi: Likewise.
29714 2011-10-07  Bruno Haible  <bruno@clisp.org>
29716         modff: Drop assumption about library that defines modff.
29717         * m4/modff.m4 (gl_FUNC_MODFF): Use gl_MATHFUNC macro instead of
29718         AC_CHECK_FUNCS.
29719         * modules/modff (Files): Add m4/mathfunc.m4.
29721 2011-10-07  Bernhard Voelker  <mail@bernhard-voelker.de>
29723         raise tests: Avoid a GCC warning.
29724         * tests/test-raise.c (handler): Use _Noreturn.
29726 2011-10-07  Bruno Haible  <bruno@clisp.org>
29728         Tests for module 'ldexpf'.
29729         * modules/ldexpf-tests: New file.
29730         * tests/test-ldexpf.c: New file.
29732         New module 'ldexpf'.
29733         * lib/math.in.h (ldexpf): New declaration.
29734         * lib/ldexpf.c: New file.
29735         * m4/ldexpf.m4: New file.
29736         * m4/math_h.m4 (gl_MATH_H): Test whether ldexpf is declared.
29737         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LDEXPF, HAVE_LDEXPF.
29738         * modules/math (Makefile.am): Substitute GNULIB_LDEXPF, HAVE_LDEXPF.
29739         * modules/ldexpf: New file.
29740         * tests/test-math-c++.cc: Check the declaration of ldexpf.
29741         * doc/posix-functions/ldexpf.texi: Mention the new module.
29743 2011-10-06  Bruno Haible  <bruno@clisp.org>
29745         frexpf: Work around problems on IRIX and mingw.
29746         * lib/math.in.h (frexpf): Consider also REPLACE_FREXPF.
29747         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPF.
29748         * m4/frexpf.m4 (gl_FUNC_FREXPF_WORKS): New macro.
29749         (gl_FUNC_FREXPF): Invoke it. Set REPLACE_FREXPF.
29750         * modules/frexpf (Depends-on, configure.ac): Consider REPLACE_FREXPF.
29751         * modules/math (Makefile.am): Substitute REPLACE_FREXPF.
29752         * doc/posix-functions/frexpf.texi: Mention the IRIX and mingw problems.
29754 2011-10-06  Bruno Haible  <bruno@clisp.org>
29756         fabsf: Drop assumption about library that defines fabsf.
29757         * m4/fabsf.m4 (gl_FUNC_FABSF): Use gl_MATHFUNC macro instead of
29758         AC_CHECK_FUNCS.
29759         * modules/fabsf (Files): Add m4/mathfunc.m4.
29761 2011-10-06  Bruno Haible  <bruno@clisp.org>
29763         frexpf: Drop assumption about library that defines frexpf.
29764         * m4/mathfunc.m4 (gl_MATHFUNC): Support also the argument types
29765         'int *', 'float *', 'long double *', 'float', 'long double'.
29766         * m4/frexpf.m4 (gl_FUNC_FREXPF): Use gl_MATHFUNC macro instead of
29767         AC_CHECK_FUNCS.
29768         * modules/frexpf (Files): Add m4/mathfunc.m4.
29770         Tests for module 'frexpf'.
29771         * modules/frexpf-tests: New file.
29772         * tests/test-frexpf.c: New file.
29774         New module 'frexpf'.
29775         * lib/math.in.h (frexpf): New declaration.
29776         * lib/frexpf.c: New file.
29777         * m4/frexpf.m4: New file.
29778         * m4/math_h.m4 (gl_MATH_H): Test whether frexpf is declared.
29779         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPF, HAVE_FREXPF.
29780         * modules/math (Makefile.am): Substitute GNULIB_FREXPF, HAVE_FREXPF.
29781         * modules/frexpf: New file.
29782         * tests/test-math-c++.cc: Check the declaration of frexpf.
29783         * doc/posix-functions/frexpf.texi: Mention the new module.
29785 2011-10-06  Bruno Haible  <bruno@clisp.org>
29787         math: Sort function declarations of math.in.h.
29788         * lib/math.in.h (frexp, logb): Move declarations.
29790 2011-10-05  Bruno Haible  <bruno@clisp.org>
29792         Tests for module 'modff'.
29793         * modules/modff-tests: New file.
29794         * tests/test-modff.c: New file.
29796         New module 'modff'.
29797         * lib/math.in.h (modff): New declaration.
29798         * lib/modff.c: New file.
29799         * m4/modff.m4: New file.
29800         * m4/math_h.m4 (gl_MATH_H): Test whether modff is declared.
29801         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFF, HAVE_MODFF.
29802         * modules/math (Makefile.am): Substitute GNULIB_MODFF, HAVE_MODFF.
29803         * modules/modff: New file.
29804         * tests/test-math-c++.cc: Check the declaration of modff.
29805         * doc/posix-functions/modff.texi: Mention the new module.
29807         modf tests: Make test sharper.
29808         * tests/test-modf.c (main): Strengthen upper bound.
29810         modf: Use a .m4 file.
29811         * m4/modf.m4: New file.
29812         * modules/modf (Files): Add it.
29813         (configure.ac): Just invoke gl_FUNC_MODF.
29815 2011-10-05  Bruno Haible  <bruno@clisp.org>
29817         Tests for module 'fmodf'.
29818         * modules/fmodf-tests: New file.
29819         * tests/test-fmodf.c: New file.
29821         New module 'fmodf'.
29822         * lib/math.in.h (fmodf): New declaration.
29823         * lib/fmodf.c: New file.
29824         * m4/fmodf.m4: New file.
29825         * m4/math_h.m4 (gl_MATH_H): Test whether fmodf is declared.
29826         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODF, HAVE_FMODF.
29827         * modules/math (Makefile.am): Substitute GNULIB_FMODF, HAVE_FMODF.
29828         * modules/fmodf: New file.
29829         * tests/test-math-c++.cc: Check the declaration of fmodf.
29830         * doc/posix-functions/fmodf.texi: Mention the new module.
29832         fmod: Use a .m4 file.
29833         * m4/fmod.m4: New file.
29834         * modules/fmod (Files): Add it.
29835         (configure.ac): Just invoke gl_FUNC_FMOD.
29837 2011-10-05  Bruno Haible  <bruno@clisp.org>
29839         Tests for module 'fabsf'.
29840         * modules/fabsf-tests: New file.
29841         * tests/test-fabsf.c: New file.
29843         New module 'fabsf'.
29844         * lib/math.in.h (fabsf): New declaration.
29845         * lib/fabsf.c: New file.
29846         * m4/fabsf.m4: New file.
29847         * m4/math_h.m4 (gl_MATH_H): Test whether fabsf is declared.
29848         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSF, HAVE_FABSF.
29849         * modules/math (Makefile.am): Substitute GNULIB_FABSF, HAVE_FABSF.
29850         * modules/fabsf: New file.
29851         * tests/test-math-c++.cc: Check the declaration of fabsf.
29852         * doc/posix-functions/fabsf.texi: Mention the new module.
29854         fabs: Use a .m4 file.
29855         * m4/fabs.m4: New file.
29856         * modules/fabs (Files): Add it.
29857         (configure.ac): Just invoke gl_FUNC_FABS.
29859 2011-10-05  Jim Meyering  <meyering@redhat.com>
29861         file-has-acl: revert both recent changes, 80af92af and 95f7c57f
29862         * lib/file-has-acl.c: While the 2011-10-03 change does fix the
29863         ls -lL regression introduced in coreutils-8.12, it does so at the
29864         cost of an additional stat call in the common case.  Besides, now
29865         that the kernel change that prompted commit 95f7c57f has been reverted
29866         (see https://bugzilla.redhat.com/show_bug.cgi?id=720325#c24)
29867         we have no use for commit 95f7c57f, "file-has-acl: use
29868         acl_extended_file_nofollow if available".
29870 2011-10-03  Kamil Dudka  <kdudka@redhat.com>
29872         file-has-acl: revert unintended change in behavior of ls -L
29873         * lib/file-has-acl.c (acl_extended_file_wrap): New function,
29874         derived from...
29875         (file_has_acl): ...code here.  Call it.
29876         This problem was introduced with 2011-07-22 commit 95f7c57f,
29877         "file-has-acl: use acl_extended_file_nofollow if available".
29878         See http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28538
29880 2011-10-03  Bruno Haible  <bruno@clisp.org>
29882         poll: Avoid link errors on MSVC.
29883         * m4/poll.m4 (gl_FUNC_POLL): Determine LIB_POLL.
29884         * modules/poll (Depends-on): Add sockets.
29885         (Link): New section.
29886         * NEWS: Mention the change.
29887         * modules/poll-tests (Makefile.am): Link test-poll against $(LIB_POLL).
29888         * modules/poll-h-c++-tests (Makefile.am): Link test-poll-h-c++ against
29889         $(LIB_POLL) instead of $(LIBSOCKET).
29891 2011-10-03  Bruno Haible  <bruno@clisp.org>
29893         sys_select tests: Fix link error on MSVC 9.
29894         * modules/sys_select-c++-tests (Makefile.am): Link test-sys_select-c++
29895         with $(LIB_SELECT) instead of $(LIBSOCKET).
29897 2011-10-03  Bruno Haible  <bruno@clisp.org>
29899         sys_select: Fix compilation error on mingw.
29900         * lib/sys_select.in.h: On native Windows, include <io.h>.
29902 2011-10-03  Bruno Haible  <bruno@clisp.org>
29904         wmemset: Support for MSVC.
29905         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Use a small test program to test
29906         whether wmemset() exists.
29908 2011-10-03  Bruno Haible  <bruno@clisp.org>
29910         wmemmove: Support for MSVC.
29911         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Use a small test program to test
29912         whether wmemmove() exists.
29914 2011-10-03  Bruno Haible  <bruno@clisp.org>
29916         wmemcpy: Support for MSVC.
29917         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Use a small test program to test
29918         whether wmemcpy() exists.
29920 2011-10-03  Bruno Haible  <bruno@clisp.org>
29922         wmemcmp: Support for MSVC.
29923         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Use a small test program to test
29924         whether wmemcmp() exists.
29926 2011-10-03  Bruno Haible  <bruno@clisp.org>
29928         wmemchr: Support for MSVC.
29929         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Use a small test program to test
29930         whether wmemchr() exists.
29932 2011-10-03  Bruno Haible  <bruno@clisp.org>
29934         glthread/*, strsignal: Support for MSVC.
29935         * lib/glthread/cond.h: Define WIN32_LEAN_AND_MEAN, so as to avoid
29936         including <winsock.h> on MSVC 9.
29937         * lib/glthread/lock.h: Likewise.
29938         * lib/glthread/thread.h: Likewise.
29939         * lib/glthread/tls.h: Likewise.
29940         * lib/glthread/yield.h: Likewise.
29941         * lib/strsignal.c: Include <string.h> first. Don't include <unistd.h>
29942         if HAVE_UNISTD_H is false.
29943         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Test for <unistd.h>.
29945 2011-10-03  Bruno Haible  <bruno@clisp.org>
29947         nonblocking tests: Fix test failure on OpenBSD/SPARC64.
29948         * tests/test-nonblocking-socket.h (SOCKET_DATA_BLOCK_SIZE) [OpenBSD]:
29949         Set to 100000.
29951 2011-10-03  Bruno Haible  <bruno@clisp.org>
29953         acl: Fix specification.
29954         * lib/file-has-acl.c (file_has_acl): Fix specification.
29956 2011-10-03  Bruno Haible  <bruno@clisp.org>
29958         relocatable-lib[-lgpl]: Avoid expensive /proc access on Linux, Cygwin.
29959         * lib/relocatable.c (ENABLE_COSTLY_RELOCATABLE): New macro.
29960         (compute_curr_prefix, shared_library_fullname,
29961         find_shared_library_fullname, get_shared_library_fullname, relocate):
29962         Use it together with PIC && INSTALLDIR.
29963         Reported by <jojelino@gmail.com>
29964         via Charles Wilson <cygwin@cwilson.fastmail.fm>.
29966 2011-10-01  Jim Meyering  <meyering@redhat.com>
29968         maint.mk: adjust a release-related rule not to require use of gzip
29969         * top/maint.mk (writable-files): Don't hard-code use of .tar.gz.
29970         Instead, check each file in $(DIST_ARCHIVES).  This is better for
29971         projects that build only .tar.xz files.  Also fix an erroneous test.
29973         test-linkat: don't leave behind a temporary file
29974         * tests/test-linkat.c (main): Don't forget to remove a temporary file.
29975         Otherwise, coreutils' "make distcheck" would fail with this:
29976           Only in /c/cu/tests/torture/coreutils/test/\
29977             coreutils-8.13.22-d5caf.old/gnulib-tests: test-linkat.too
29978           make[2]: *** [my-distcheck] Error 1
29980         float, math: add omitted file
29981         * lib/itold.c: Add file, required for yesterday's float change.
29983 2011-10-01  Bruno Haible  <bruno@clisp.org>
29985         isinf: Fix for OpenBSD/x86.
29986         * m4/isinf.m4 (gl_ISINFL_WORKS): Also test the behaviour of isinf on
29987         pseudo-NaNs, pseudo-Infinities, and other non-IEEE values.
29988         * doc/posix-functions/isinf.texi: Mention the problem on OpenBSD/x86.
29990 2011-10-01  Bruno Haible  <bruno@clisp.org>
29992         isfinite: Fix syntax error in configure test.
29993         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Fix syntax error.
29995         isfinite: Fix typo.
29996         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): When cross-compiling, set
29997         gl_cv_func_isfinitel_works, not gl_cv_func_isnanl_works.
29999 2011-10-01  Bruno Haible  <bruno@clisp.org>
30001         nonblocking tests: Fix test failure on Linux/IA-64.
30002         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/IA-64]:
30003         Set to 270000.
30005 2011-10-01  Bruno Haible  <bruno@clisp.org>
30007         mkfifoat tests: Fix a test failure on mingw.
30008         * tests/test-mkfifoat.c (main): Allow mkfifoat or test_mknodat to fail
30009         with error ENOSYS.
30011 2011-09-30  Bruno Haible  <bruno@clisp.org>
30013         float, math: Fix 'int' to 'long double' conversion on Linux/SPARC64.
30014         * m4/float_h.m4 (gl_FLOAT_H): Test conversion from 'int' to
30015         'long double'. Set REPLACE_ITOLD.
30016         * lib/float.in.h (_Qp_itoq, _gl_float_fix_itold): New declarations.
30017         * lib/math.in.h (_Qp_itoq, _gl_math_fix_itold): New declarations.
30018         * lib/itold.c: New file.
30019         * modules/float (Files): Add lib/itold.c.
30020         (configure.ac): When REPLACE_ITOLD is 1, arrange to compile itold.c.
30021         (Makefile.am): Substitute REPLACE_ITOLD.
30022         * modules/math (Depends-on): Add float.
30023         (Makefile.am): Substitute REPLACE_ITOLD.
30024         * doc/posix-headers/float.texi: Mention problem on Linux/SPARC64.
30025         * doc/posix-headers/math.texi: Likewise.
30026         * doc/posix-functions/logl.texi: Likewise.
30028 2011-09-30  Bruno Haible  <bruno@clisp.org>
30030         nonblocking tests: Fix test failure on Linux/SPARC (32-bit and 64-bit).
30031         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/SPARC]:
30032         Set to 140000.
30034 2011-09-30  Bruno Haible  <bruno@clisp.org>
30036         gnulib-tool: Improve suggestion where to put gl_EARLY invocation.
30037         * gnulib-tool (func_import): If the configure.ac has an AC_PROG_CC_STDC
30038         invocation, say "right after AC_PROG_CC_STDC", not "right after
30039         AC_PROG_CC".
30040         Reported by Gary V. Vaughan <gary@gnu.org>.
30042 2011-09-30  Bruno Haible  <bruno@clisp.org>
30044         Centralize C99 requirement.
30045         * m4/gnulib-common.m4 (gl_PROG_CC_C99): New macro.
30046         * modules/stdarg (configure.ac-early): Invoke it instead of
30047         AC_PROG_CC_STDC.
30048         Reported by Gary V. Vaughan and Paul Eggert.
30050 2011-09-29  Bruno Haible  <bruno@clisp.org>
30052         float: Fix LDBL_MAX value on Linux/PowerPC.
30053         * m4/float_h.m4 (gl_FLOAT_H): Set FLOAT_H and REPLACE_FLOAT_LDBL also
30054         on Linux/PowerPC.
30055         * lib/float.in.h (LDBL_MAX): Redefine also on Linux/PowerPC.
30056         * lib/float.c (gl_LDBL_MAX): Also define on Linux/PowerPC.
30057         * doc/posix-headers/float.texi: Mention Linux/PowerPC as an affected
30058         platform.
30059         Reported by Andreas Metzler <ametzler@downhill.at.eu.org>.
30061 2011-09-29  Bruno Haible  <bruno@clisp.org>
30063         doc: Improve doc about gl_EARLY.
30064         * doc/gnulib-tool.texi (Initial import): Mention where to place an
30065         AC_PROG_CC_STDC invocation.
30066         Reported by Gary V. Vaughan <gary@gnu.org>.
30068 2011-09-28  Bruno Haible  <bruno@clisp.org>
30070         fgetc, fputc, fread, fwrite tests: Fix link error.
30071         * tests/test-fgetc.c (main): Don't invoke gl_msvc_inval_ensure_handler
30072         on non-MSVC platforms.
30073         * tests/test-fputc.c (main): Likewise.
30074         * tests/test-fread.c (main): Likewise.
30075         * tests/test-fwrite.c (main): Likewise.
30076         Reported by Jim Meyering.
30078 2011-09-27  Bruno Haible  <bruno@clisp.org>
30080         fputc, fwrite tests: Avoid test failure on MSVC.
30081         * tests/test-fgetc.c: Include msvc-inval.h.
30082         (main): Invoke gl_msvc_inval_ensure_handler.
30083         * tests/test-fputc.c: Include msvc-inval.h.
30084         (main): Invoke gl_msvc_inval_ensure_handler.
30085         * tests/test-fread.c: Include msvc-inval.h.
30086         (main): Invoke gl_msvc_inval_ensure_handler.
30087         * tests/test-fwrite.c: Include msvc-inval.h.
30088         (main): Invoke gl_msvc_inval_ensure_handler.
30089         * modules/fgetc-tests (Depends-on): Add msvc-inval.
30090         * modules/fputc-tests (Depends-on): Likewise.
30091         * modules/fread-tests (Depends-on): Likewise.
30092         * modules/fwrite-tests (Depends-on): Likewise.
30094 2011-09-27  Bruno Haible  <bruno@clisp.org>
30096         raise: Fix double declaration with modules 'sigprocmask' and 'sigpipe'.
30097         * lib/signal.in.h (GNULIB_defined_signal_blocking): New macro.
30098         (raise): Remove older, duplicated declaration.
30099         (_gl_raise_SIGPIPE): New declaration.
30100         * lib/sigprocmask.c (_gl_raise_SIGPIPE): New function.
30101         (rpl_raise): Remove function.
30102         * lib/raise.c (rpl_raise, raise): Merge into a single function. Handle
30103         a gnulib-defined SIGPIPE here.
30104         * m4/raise.m4 (gl_FUNC_RAISE): Set REPLACE_RAISE also if the module
30105         'sigprocmask' has detected missing signal-blocking and the module
30106         'sigpipe' is enabled.
30107         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
30109 2011-09-26  Gijs van Tulder  <gvtulder@gmail.com>
30111         base64-tests: avoid memory leak
30112         * tests/test-base64.c (main): Plug memory leak.
30114         base32: new module
30115         * modules/base32: New module.
30116         * lib/base32.c: New file.
30117         * lib/base32.h: Likewise.
30118         * m4/base32.m4: Likewise.
30119         * modules/base32-tests: New test.
30120         * tests/test-base32.c: Likewise.
30121         * MODULES.html.sh (Misc): Mention it.
30123 2011-09-26  Paul Eggert  <eggert@cs.ucla.edu>
30125         gnulib: use more-standard license notice wording
30126         * gnulib-tool (func_emit_copyright_notice): When emitting a
30127         license notice into a file, use the standard wording as suggested
30128         by the current information for GNU maintainers, except say "file"
30129         rather than "program".  The new wording gives a license version
30130         number, which addresses an issue raised by Glenn Morris in
30131         <http://lists.gnu.org/r/bug-gnulib/2011-09/msg00397.html>.
30132         * m4/onceonly.m4: Use that same wording here, too.
30134         dup2: minor simplification
30135         * m4/dup2.m4 (gl_PREREQ_DUP2): Don't require AC_C_INLINE,
30136         as lib/dup2.c no longer uses 'inline'.
30138 2011-09-25  Bruno Haible  <bruno@clisp.org>
30140         strings: Fix compilation error on MSVC.
30141         * lib/strings.in.h: Include <stddef.h> for size_t.
30143 2011-09-25  Bruno Haible  <bruno@clisp.org>
30145         fflush et al.: Document limitation on MSVC.
30146         * doc/posix-functions/fflush.texi: Document possible crash in handling
30147         mode other than DEFAULT_HANDLING.
30148         * doc/posix-functions/fgetc.texi: Likewise.
30149         * doc/posix-functions/fputc.texi: Likewise.
30150         * doc/posix-functions/fread.texi: Likewise.
30151         * doc/posix-functions/fwrite.texi: Likewise.
30153 2011-09-25  Bruno Haible  <bruno@clisp.org>
30155         msvc-inval: Allow three invalid parameter handling modes.
30156         * lib/msvc-inval.h: Don't include <stdlib.h> here.
30157         (DEFAULT_HANDLING, HAIRY_LIBRARY_HANDLING, SANE_LIBRARY_HANDLING): New
30158         macros.
30159         (gl_msvc_inval_ensure_handler, TRY_MSVC_INVAL, CATCH_MSVC_INVAL,
30160         DONE_MSVC_INVAL): Implement DEFAULT_HANDLING. Treat
30161         SANE_LIBRARY_HANDLING as a no-op.
30162         * lib/msvc-inval.c: Treat SANE_LIBRARY_HANDLING as a no-op. Include
30163         <stdlib.h>.
30164         (gl_msvc_invalid_parameter_handler): Implement DEFAULT_HANDLING.
30166 2011-09-25  Bruno Haible  <bruno@clisp.org>
30168         msvc-inval: Make handler multithread-safe.
30169         * lib/msvc-inval.h (struct gl_msvc_inval_per_thread): New type.
30170         (gl_msvc_inval_restart, gl_msvc_inval_restart_valid): Remove
30171         declarations.
30172         (gl_msvc_inval_current): New declaration.
30173         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
30174         Operate on the structure returned by gl_msvc_inval_current().
30175         * lib/msvc-inval.c (gl_msvc_inval_restart, gl_msvc_inval_restart_valid):
30176         Remove varaiables.
30177         (tls_index, tls_initialized): New variables.
30178         (not_per_thread): New variable.
30179         (gl_msvc_inval_current): New function.
30180         (gl_msvc_invalid_parameter_handler) [!_MSC_VER]: Use the structure
30181         returned by gl_msvc_inval_current().
30183 2011-09-25  Bruno Haible  <bruno@clisp.org>
30185         msvc-inval: Install handler globally.
30186         * lib/msvc-inval.h (STATUS_GNULIB_INVALID_PARAMETER): Define also for
30187         !_MSC_VER.
30188         (gl_msvc_invalid_parameter_handler): Remove declaration.
30189         (gl_msvc_inval_restart_valid, gl_msvc_inval_ensure_handler): New
30190         declarations.
30191         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
30192         Install the handler globally, don't uninstall it.
30193         * lib/msvc-inval.c (gl_msvc_inval_restart_valid): New variable.
30194         (gl_msvc_invalid_parameter_handler): Make static. If the restart is not
30195         currently valid, call RaiseException instead.
30196         (gl_msvc_inval_initialized, gl_msvc_inval_ensure_handler): Define also
30197         for !_MSC_VER.
30199 2011-09-25  Bruno Haible  <bruno@clisp.org>
30201         strerror_r-posix: Fix for MSVC 9.
30202         * lib/strerror_r.c (local_snprintf): New function.
30203         (snprintf): Define to local_snprintf, not to _snprintf.
30205 2011-09-25  Bruno Haible  <bruno@clisp.org>
30207         ftruncate: Support for MSVC 9.
30208         * lib/ftruncate.c: Include errno.h, msvc-inval.h.
30209         (chsize_nothrow): New function.
30210         (chsize): Redefine as a macro.
30211         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): Require AC_C_INLINE.
30212         * modules/ftruncate (Depends-on): Add msvc-inval.
30214 2011-09-25  Bruno Haible  <bruno@clisp.org>
30216         New module 'fstat'.
30217         * lib/sys_stat.in.h (fstat): Declare only if GNULIB_FSTAT is set.
30218         * lib/fstat.c: New file, based on a piece of lib/fchdir.c.
30219         * lib/fchdir.c (rpl_fstat): Remove function.
30220         * m4/fstat.m4: New file.
30221         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_FSTAT.
30222         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Test whether fstat is
30223         declared.
30224         (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_FSTAT.
30225         * modules/sys_stat (Makefile.am): Substitute GNULIB_FSTAT.
30226         * modules/fstat: New file.
30227         * modules/sys_stat-tests (Depends-on): Remove fstat-tests.
30228         * tests/test-sys_stat-c++.cc (fstat): Check only if GNULIB_TEST_FSTAT
30229         is set.
30230         * doc/posix-functions/fstat.texi: Mention the new module and the
30231         problem on MSVC.
30232         * NEWS: Mention the change.
30233         * modules/acl (Depends-on): Add fstat.
30234         * modules/chdir-safer (Depends-on): Likewise.
30235         * modules/chown (Depends-on): Likewise.
30236         * modules/copy-file (Depends-on): Likewise.
30237         * modules/fchdir (Depends-on): Likewise.
30238         * modules/fdopendir (Depends-on): Likewise.
30239         * modules/fopen (Depends-on): Likewise.
30240         * modules/fts (Depends-on): Likewise.
30241         * modules/getcwd (Depends-on): Likewise.
30242         * modules/isapipe (Depends-on): Likewise.
30243         * modules/linkat (Depends-on): Likewise.
30244         * modules/lseek (Depends-on): Likewise.
30245         * modules/mkdir-p (Depends-on): Likewise.
30246         * modules/open (Depends-on): Likewise.
30247         * modules/openat (Depends-on): Likewise.
30248         * modules/read-file (Depends-on): Likewise.
30249         * modules/renameat (Depends-on): Likewise.
30250         * modules/utimens (Depends-on): Likewise.
30252 2011-09-25  Bruno Haible  <bruno@clisp.org>
30254         linkat: Fix compilation on MSVC 9.
30255         * lib/linkat.c: Don't include <stdint.h>.
30257 2011-09-25  Bruno Haible  <bruno@clisp.org>
30259         fclose: Support for MSVC 9.
30260         * lib/fclose.c: Include msvc-inval.h.
30261         (fclose_nothrow): New function.
30262         (rpl_fclose): Use it.
30263         * modules/fclose (Depends-on): Add msvc-inval.
30264         * doc/posix-functions/fclose.texi: Mention the problem on MSVC.
30266 2011-09-24  Paul Eggert  <eggert@cs.ucla.edu>
30268         dup2: minor simplifications
30269         * lib/dup2.c (ms_windows_dup2): Omit 'inline' as it's not clear
30270         that it's a performance win.
30271         (rpl_dup2): Change "if !((defined _WIN32 || defined __WIN32__) &&
30272         ! defined __CYGWIN__)" to "ifdef F_GETFL".
30274 2011-09-24  Jim Meyering  <meyering@redhat.com>
30276         test-futimens: avoid a warning from gcc -Wshadow
30277         * tests/test-futimens.h (test_futimens): Rename inner local, s/fd/fd0/
30278         to avoid a shadowing warning.
30280 2011-09-24  Bruno Haible  <bruno@clisp.org>
30282         fdopen: Support for MSVC 9.
30283         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Set REPLACE_FDOPEN also if
30284         HAVE_MSVC_INVALID_PARAMETER_HANDLER is 1.
30285         * lib/fdopen.c: Include msvc-inval.h.
30286         (fdopen_nothrow): New function.
30287         (rpl_fdopen): Use it.
30288         * modules/fdopen (Depends-on): Add msvc-inval.
30289         * modules/fclose-tests (Depends-on): Add fdopen.
30290         * modules/fflush-tests (Depends-on): Likewise.
30291         * modules/fgetc-tests (Depends-on): Likewise.
30292         * modules/fputc-tests (Depends-on): Likewise.
30293         * modules/fread-tests (Depends-on): Likewise.
30294         * modules/freopen-tests (Depends-on): Likewise.
30295         * modules/fseeko-tests (Depends-on): Likewise.
30296         * modules/ftello-tests (Depends-on): Likewise.
30297         * modules/fwrite-tests  (Depends-on): Likewise.
30298         * doc/posix-functions/fdopen.texi: Mention the problem on MSVC.
30300 2011-09-24  Bruno Haible  <bruno@clisp.org>
30302         fgetc, fputc, fread, fwrite tests: Avoid compilation error on MSVC.
30303         * modules/fgetc-tests (Depends-on): Add unistd.
30304         * modules/fputc-tests (Depends-on): Likewise.
30305         * modules/fread-tests (Depends-on): Likewise.
30306         * modules/fwrite-tests (Depends-on): Likewise.
30308 2011-09-24  Bruno Haible  <bruno@clisp.org>
30310         dup: Simplify autoconf test.
30311         * m4/dup.m4 (gl_FUNC_DUP): Don't run a test program. Instead, just rely
30312         on gl_MSVC_INVAL's result.
30314 2011-09-24  Bruno Haible  <bruno@clisp.org>
30316         Tests for function fwrite().
30317         * modules/fwrite-tests: New file.
30318         * tests/test-fwrite.c: New file.
30319         * modules/stdio-tests (Depends-on): Add fwrite-tests.
30321         Tests for function fread().
30322         * modules/fread-tests: New file.
30323         * tests/test-fread.c: New file.
30324         * modules/stdio-tests (Depends-on): Add fread-tests.
30326         Activate fputc tests.
30327         * modules/stdio-tests (Depends-on): Add fputc-tests.
30329         Enhance fgetc, fputc tests.
30330         * tests/test-fgetc.c (main): Also test the stream's error indicator.
30331         * tests/test-fputc.c (main): Likewise.
30333 2011-09-24  Bruno Haible  <bruno@clisp.org>
30335         write: Support for MSVC 9.
30336         * lib/unistd.in.h (write): Replace also when GNULIB_UNISTD_H_NONBLOCKING
30337         is not 1.
30338         * lib/write.c (write_nothrow): New function.
30339         (rpl_write): Define also when GNULIB_NONBLOCKING or GNULIB_SIGPIPE is
30340         not 1. Use write_nothrow.
30341         * m4/write.m4 (gl_FUNC_WRITE): Replace read if the platform has an
30342         invalid parameter handler.
30343         (gl_PREREQ_WRITE): New macro.
30344         * modules/write (Depends-on): Add msvc-inval.
30345         (configure.ac): Invoke gl_PREREQ_WRITE.
30346         * doc/posix-functions/write.texi: Mention the problem on MSVC.
30348 2011-09-24  Bruno Haible  <bruno@clisp.org>
30350         read: Fix last commit.
30351         * lib/read.c (read_nothrow): Change return type to 'ssize_t'.
30353 2011-09-24  Bruno Haible  <bruno@clisp.org>
30355         dup2: Fix last commit.
30356         * lib/dup2.c: Restore comments. Treat Cygwin like Unix.
30357         (rpl_dup2): Disable fcntl workaround on native Windows.
30359         sigprocmask: Make code safer.
30360         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' before the code
30361         section that changes macro definitions for this compilation unit.
30363 2011-09-23  Paul Eggert  <eggert@cs.ucla.edu>
30365         dup2: clarify by coalescing Windows-specific material
30366         * lib/dup2.c: Move '#include "msvc-inval.h"' and '#include
30367         "msvc-nothrow.h"' to the Windows-specific section, so that the
30368         Emacs source need not contain these include files.
30369         (ms_windows_dup2): Rename from dup2_nothrow, and move all the
30370         Windows-specific fixes into this function rather than just the
30371         nothrow fix, as this shortens and clarifies the code.  Always
30372         define as a function, as that's a bit cleaner than having it be
30373         sometimes a function and sometimes a macro.
30374         (rpl_dup2): Move the Windows-specific stuff out of here and into
30375         ms_windows_dup2.  Don't protect the Haiku-related fix with
30376         "#if !defined __linux__", as the same code also works around
30377         a Linux kernel bug, and it doesn't add any system calls on any
30378         platform.  Add comment about FreeBSD 6.1.
30380         sigprocmask: move #include directive
30381         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' to the
30382         Windows-specific section, so that the Emacs source need not
30383         contain msvc-inval.h.
30385 2011-09-23  Bruno Haible  <bruno@clisp.org>
30387         read: Support for MSVC 9.
30388         * lib/unistd.in.h (read): Replace also when GNULIB_UNISTD_H_NONBLOCKING
30389         is not 1.
30390         * lib/read.c (read_nothrow): New function.
30391         (rpl_read): Define also when GNULIB_NONBLOCKING is not 1. Use
30392         read_nothrow.
30393         * m4/read.m4 (gl_FUNC_READ): Replace read if the platform has an
30394         invalid parameter handler.
30395         (gl_PREREQ_READ): New macro.
30396         * modules/read (Depends-on): Add msvc-inval.
30397         (configure.ac): Invoke gl_PREREQ_READ.
30398         * doc/posix-functions/read.texi: Mention the problem on MSVC.
30400 2011-09-23  Bruno Haible  <bruno@clisp.org>
30402         close: Support for MSVC 9.
30403         * lib/close.c: Include <errno.h>, msvc-inval.h.
30404         (close_nothrow): New function.
30405         (rpl_close): Use it.
30406         * m4/close.m4 (gl_FUNC_CLOSE): Replace close if the platform has an
30407         invalid parameter handler.
30408         * modules/close (Depends-on): Add msvc-inval.
30409         * modules/dup2-tests (Depends-on): Add close.
30410         * modules/dup3-tests (Depends-on): Likewise.
30411         * modules/fcntl-tests (Depends-on): Likewise.
30412         * modules/spawn-pipe-tests (Depends-on): Likewise.
30413         * modules/unistd-safer-tests (Depends-on): Likewise.
30414         * doc/posix-functions/close.texi: Mention the problem on MSVC.
30416 2011-09-23  Bruno Haible  <bruno@clisp.org>
30418         New module 'dup'.
30419         * lib/unistd.in.h (dup): Declare only if the 'dup' module is in use.
30420         Allow replacement.
30421         * lib/dup.c: New file.
30422         * lib/fchdir.c (rpl_dup): Remove function.
30423         * m4/dup.m4: New file.
30424         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_DUP here.
30425         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether 'dup' is declared.
30426         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP.
30427         * modules/unistd (Makefile.am): Substitute GNULIB_DUP.
30428         * modules/dup: New file.
30429         * tests/test-unistd-c++.cc: Check the signature of 'dup' only if the
30430         'dup' module is in use.
30431         * modules/fdopendir (Depends-on): Add dup.
30432         * modules/fdutimensat-tests (Depends-on): Likewise.
30433         * modules/fts (Depends-on): Likewise.
30434         * modules/futimens-tests (Depends-on): Likewise.
30435         * modules/posix_spawnp-tests (Depends-on): Likewise.
30436         * modules/unistd-safer-tests (Depends-on): Likewise.
30437         * modules/utimens-tests (Depends-on): Likewise.
30438         * doc/posix-functions/dup.texi: Mention the new module and the problem
30439         on MSVC.
30441 2011-09-23  Bruno Haible  <bruno@clisp.org>
30443         getdtablesize: Support for MSVC 9.
30444         * lib/getdtablesize.c: Include msvc-inval.h.
30445         (_setmaxstdio_nothrow): New function.
30446         (_setmaxstdio): Redefine it.
30447         * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE): New macro.
30448         * modules/getdtablesize (Depends-on): Add msvc-inval.
30449         (configure.ac): Invoke gl_PREREQ_GETDTABLESIZE.
30451 2011-09-23  Bruno Haible  <bruno@clisp.org>
30453         signal-h: Rename from signal.
30454         * modules/signal-h: Renamed from modules/signal.
30455         * modules/pthread_sigmask (Depends-on): Update.
30456         * modules/raise (Depends-on): Likewise.
30457         * modules/sigaction (Depends-on): Likewise.
30458         * modules/sigpipe (Depends-on): Likewise.
30459         * modules/sigprocmask (Depends-on): Likewise.
30460         * modules/sys_select (Depends-on): Likewise.
30461         * modules/signal-h-tests: Renamed from modules/signal-tests.
30462         (Files, Depends-on, Makefile.am): Update.
30463         * tests/test-signal-h.c: Renamed from tests/test-signal.c.
30464         * modules/signal-h-c++-tests: Renamed from modules/signal-c++-tests.
30465         (Files, Makefile.am): Update.
30466         * tests/test-signal-h-c++.cc: Renamed from tests/test-signal-c++.cc.
30467         * tests/test-signal-h-c++2.cc: Renamed from tests/test-signal-c++2.cc.
30468         * modules/signal: New placeholder file.
30469         * MODULES.html.sh (Support for systems lacking POSIX:2008): Update.
30470         * doc/posix-headers/signal.texi: Update.
30471         * NEWS: Mention the change.
30473 2011-09-23  Bruno Haible  <bruno@clisp.org>
30475         sigprocmask: Avoid crashes through signal() on MSVC 9.
30476         * lib/sigprocmask.c: Include msvc-inval.h.
30477         (signal_nothrow): New function.
30478         (signal): Redefine it.
30479         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Require AC_C_INLINE.
30480         * modules/sigprocmask (Depends-on): Add msvc-inval.
30481         * doc/posix-functions/signal.texi: Mention the problem on MSVC.
30483 2011-09-23  Bruno Haible  <bruno@clisp.org>
30485         Tests for module 'raise'.
30486         * modules/raise-tests: New file.
30487         * tests/test-raise.c: New file.
30489         raise: Support for MSVC.
30490         * lib/signal.in.h (raise): New declaration.
30491         * lib/raise.c (raise_nothrow, rpl_raise): New alternate implementation
30492         for native Windows platforms.
30493         * m4/raise.m4: New file.
30494         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize GNULIB_RAISE,
30495         HAVE_RAISE, REPLACE_RAISE.
30496         * modules/signal (Makefile.am): Substitute GNULIB_RAISE, HAVE_RAISE,
30497         REPLACE_RAISE.
30498         * modules/raise (Status, Notice): Remove fields.
30499         (Files): Add m4/raise.m4.
30500         (Depends-on): Add signal, msvc-inval.
30501         (configure.ac): Use the common idioms.
30502         (Maintainer): Add me.
30503         * tests/test-signal-c++.cc: Check the signature of raise.
30504         * doc/posix-functions/raise.texi: Mention the problem on MSVC.
30506 2011-09-23  Bruno Haible  <bruno@clisp.org>
30508         pipe2: Fix compilation on pre-C99 compilers.
30509         * lib/pipe2.c (pipe2): Surround verify(...) declaration with braces.
30511 2011-09-23  Bruno Haible  <bruno@clisp.org>
30513         New module 'msvc-nothrow'. Makes _get_osfhandle safe on MSVC 9.
30514         * lib/msvc-nothrow.h: New file.
30515         * lib/msvc-nothrow.c: New file.
30516         * m4/msvc-nothrow.m4: New file.
30517         * modules/msvc-nothrow: New file.
30518         * lib/dup2.c: Include msvc-nothrow.h.
30519         (rpl_dup2): No need to protect _get_osfhandle call here.
30520         * lib/accept4.c: Include msvc-nothrow.h.
30521         * lib/error.c: Likewise.
30522         * lib/fcntl.c: Likewise.
30523         * lib/lseek.c: Likewise.
30524         * lib/nonblocking.c: Likewise.
30525         * lib/poll.c: Likewise.
30526         * lib/read.c: Likewise.
30527         * lib/select.c: Likewise.
30528         * lib/sockets.h: Likewise.
30529         * lib/sockets.c: Likewise.
30530         * lib/stdio-read.c: Likewise.
30531         * lib/stdio-write.c: Likewise.
30532         * lib/write.c: Likewise.
30533         * lib/w32sock.h: Likewise.
30534         * lib/w32spawn.h: Likewise.
30535         * lib/flock.c: Include msvc-nothrow.h instead of <io.h>.
30536         * lib/fsync.c: Likewise.
30537         * lib/isapipe.c: Likewise.
30538         * modules/dup2 (Depends-on): Add msvc-nothrow.
30539         * modules/accept4 (Depends-on): Likewise.
30540         * modules/error (Depends-on): Likewise.
30541         * modules/fcntl (Depends-on): Likewise.
30542         * modules/lseek (Depends-on): Likewise.
30543         * modules/nonblocking (Depends-on): Likewise.
30544         * modules/poll (Depends-on): Likewise.
30545         * modules/read (Depends-on): Likewise.
30546         * modules/select (Depends-on): Likewise.
30547         * modules/sockets (Depends-on): Likewise.
30548         * modules/sigpipe (Depends-on): Likewise.
30549         * modules/write (Depends-on): Likewise.
30550         * modules/accept (Depends-on): Likewise.
30551         * modules/bind (Depends-on): Likewise.
30552         * modules/connect (Depends-on): Likewise.
30553         * modules/gethostname (Depends-on): Likewise.
30554         * modules/getpeername (Depends-on): Likewise.
30555         * modules/getsockname (Depends-on): Likewise.
30556         * modules/getsockopt (Depends-on): Likewise.
30557         * modules/ioctl (Depends-on): Likewise.
30558         * modules/listen (Depends-on): Likewise.
30559         * modules/recv (Depends-on): Likewise.
30560         * modules/recvfrom (Depends-on): Likewise.
30561         * modules/send (Depends-on): Likewise.
30562         * modules/sendto (Depends-on): Likewise.
30563         * modules/setsockopt (Depends-on): Likewise.
30564         * modules/shutdown (Depends-on): Likewise.
30565         * modules/socket (Depends-on): Likewise.
30566         * modules/execute (Depends-on): Likewise.
30567         * modules/spawn-pipe (Depends-on): Likewise.
30568         * modules/flock (Depends-on): Likewise.
30569         * modules/fsync (Depends-on): Likewise.
30570         * modules/isapipe (Depends-on): Likewise.
30571         * tests/test-cloexec.c: Include msvc-nothrow.h.
30572         * tests/test-dup-safer.c: Likewise.
30573         * tests/test-dup2.c: Likewise.
30574         * tests/test-dup3.c: Likewise.
30575         * tests/test-fcntl.c: Likewise.
30576         * tests/test-pipe.c: Likewise.
30577         * tests/test-pipe2.c: Likewise.
30578         * modules/cloexec-tests (Depends-on): Add msvc-nothrow.
30579         * modules/unistd-safer-tests (Depends-on): Likewise.
30580         * modules/dup2-tests (Depends-on): Likewise.
30581         * modules/dup3-tests (Depends-on): Likewise.
30582         * modules/fcntl-tests (Depends-on): Likewise.
30583         * modules/pipe-posix-tests (Depends-on): Likewise.
30584         * modules/pipe2-tests (Depends-on): Likewise.
30586 2011-09-23  Bruno Haible  <bruno@clisp.org>
30588         dup2: Make code more maintainable.
30589         * lib/dup2.c (dup2_nothrow): New function, extracted from rpl_dup2.
30590         (rpl_dup2): Use it.
30591         * m4/dup2.m4 (gl_PREREQ_DUP2): New macro.
30592         * modules/dup2 (configure.ac): Invoke it.
30593         Reported by Paul Eggert.
30595 2011-09-23  Bruno Haible  <bruno@clisp.org>
30597         msvc-inval: Fix compilation error.
30598         * lib/msvc-inval.h: Include <excpt.h>.
30600 2011-09-23  Bruno Haible  <bruno@clisp.org>
30602         mkdir: Tweak for MSVC 9.
30603         * lib/sys_stat.in.h: Update comments.
30604         * doc/posix-functions/mkdir.texi: Mention problem on MSVC 9.
30606         Tests for module 'chdir'.
30607         * modules/chdir-tests: New file.
30608         * tests/test-chdir.c: New file.
30610         New module 'chdir'.
30611         * modules/chdir: New file.
30612         * lib/unistd.in.h: Include <io.h>, <direct.h> also for chdir.
30613         (chdir): New declaration.
30614         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether chdir is declared.
30615         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CHDIR.
30616         * modules/unistd (Makefile.am): Substitute GNULIB_CHDIR.
30617         * tests/test-unistd-c++.cc: Check signature of chdir.
30618         * doc/posix-functions/chdir.texi: Mention problem on native Windows.
30619         * modules/chdir-long (Depends-on): Add chdir.
30620         * modules/fchdir (Depends-on): Likewise.
30621         * modules/rename (Depends-on): Likewise.
30622         * modules/savewd (Depends-on): Likewise.
30624         rmdir: Support for mingw, MSVC 9.
30625         * lib/unistd.in.h: Include <io.h> and <direct.h> also for rmdir.
30626         * doc/posix-functions/getcwd.texi: Mention problem on native Windows.
30628         getcwd: Tweak for MSVC 9.
30629         * lib/unistd.in.h: Update comments.
30630         * doc/posix-functions/getcwd.texi: Mention problem on MSVC 9.
30632 2011-09-22  Bruno Haible  <bruno@clisp.org>
30634         strerror_r-posix: Avoid a link error on MSVC.
30635         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Check for snprintf.
30636         * lib/strerror_r.c (snprintf): Define to _snprintf if it doesn't exist.
30638 2011-09-22  Bruno Haible  <bruno@clisp.org>
30640         select: Avoid link errors on MSVC.
30641         * m4/select.m4 (gl_FUNC_SELECT): Determine LIB_SELECT.
30642         * modules/select (Link): Replace $(LIBSOCKET) with $(LIB_SELECT).
30643         * modules/pselect (Link): Likewise.
30644         * NEWS: Mention the change.
30645         * modules/select-tests (Makefile.am): Link test-select, test-select-fd,
30646         test-select-stdin against $(LIB_SELECT).
30647         * modules/pselect-tests (Makefile.am): Link test-pselect against
30648         $(LIB_SELECT).
30650 2011-09-22  Bruno Haible  <bruno@clisp.org>
30652         select: Avoid compilation error on MSVC.
30653         * lib/select.c: Don't include <stdbool.h>.
30655 2011-09-21  Bruno Haible  <bruno@clisp.org>
30657         Consolidate all uses of PATH_MAX in *.m4 files.
30658         * m4/pathmax.m4 (gl_PATHMAX_SNIPPET, gl_PATHMAX_SNIPPET_PREREQ): New
30659         macros.
30660         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Use gl_PATHMAX_SNIPPET_PREREQ
30661         and gl_PATHMAX_SNIPPET.
30662         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
30663         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
30664         * modules/chdir-long (Files): Add m4/pathmax.m4.
30665         * modules/getcwd (Files): Likewise.
30667 2011-09-21  Bruno Haible  <bruno@clisp.org>
30669         ftruncate: Un-deprecate, concentrate on Win32 support.
30670         * modules/ftruncate (Status, Notice): Remove sections.
30671         (Depends-on): Add largefile.
30672         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Drop failure message on
30673         non-mingw platforms.
30674         * lib/ftruncate.c: Remove code for the older platforms. For Win32,
30675         include <io.h>.
30676         * modules/perror-tests (Depends-on): Add ftruncate.
30677         * doc/posix-functions/ftruncate.texi: Mention the MSVC problem and the
30678         'ftruncate' module.
30680 2011-09-21  Bruno Haible  <bruno@clisp.org>
30682         Add dependencies to new dirent related modules.
30683         * modules/opendir (Depends-on): Add closedir.
30684         * modules/getcwd (Depends-on): Add opendir, closedir.
30685         * modules/dirent-safer-tests (Depends-on): Likewise.
30686         * modules/fdopendir-tests (Depends-on): Likewise.
30687         * modules/rename-tests (Depends-on): Add opendir, readdir, closedir.
30688         * modules/renameat-tests (Depends-on): Likewise.
30690 2011-09-21  Bruno Haible  <bruno@clisp.org>
30692         opendir: Avoid compilation error on mingw.
30693         * lib/opendir.c: Include <stddef.h> always. Include <unistd.h> as well.
30694         * modules/opendir (Depends-on): Add unistd.
30696 2011-09-21  Bruno Haible  <bruno@clisp.org>
30698         ftruncate tests: Avoid a test failure on mingw.
30699         * tests/test-ftruncate.c (main): Allow a failure with EACCES.
30701 2011-09-21  Bruno Haible  <bruno@clisp.org>
30703         select tests: Avoid test failures on OSF/1 5.1 and mingw.
30704         * tests/test-select.h (test_bad_fd): Disable all tests on OSF/1 and
30705         native Windows.
30707 2011-09-21  Bruno Haible  <bruno@clisp.org>
30709         New module 'fdopen'.
30710         * lib/stdio.in.h (fdopen): New declaration.
30711         * lib/fdopen.c: New file.
30712         * m4/fdopen.m4: New file.
30713         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FDOPEN,
30714         REPLACE_FDOPEN.
30715         * modules/stdio (Makefile.am): Substitute GNULIB_FDOPEN,
30716         REPLACE_FDOPEN.
30717         * modules/fdopen: New file.
30718         * modules/stdio-tests (Depends-on): Remove fdopen-tests.
30719         * tests/test-stdio-c++.cc: Check signature of fdopen.
30720         * doc/posix-functions/fdopen.texi: Mention the new module.
30722 2011-09-21  Bruno Haible  <bruno@clisp.org>
30724         unlockpt tests: Avoid test failure on NetBSD 5.1.
30725         * tests/test-unlockpt.c (main): Skip the EBADF tests on NetBSD.
30726         * doc/posix-functions/unlockpt.texi: Mention the bug on NetBSD.
30728 2011-09-21  Bruno Haible  <bruno@clisp.org>
30730         getlogin, getlogin_r tests: Avoid test failure on Linux/SPARC.
30731         * tests/test-getlogin.c (main): Allow a failure with EINVAL.
30732         * tests/test-getlogin_r.c (main): Likewise.
30734 2011-09-20  Bruno Haible  <bruno@clisp.org>
30736         time tests: Don't require pid_t.
30737         * doc/posix-headers/time.texi: Revert last change.
30738         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Revert last change.
30739         * tests/test-time.c: Comment out the check for pid_t.
30741 2011-09-20  Bruno Haible  <bruno@clisp.org>
30743         fsync tests: Avoid a test failure on mingw.
30744         * tests/test-fsync.c (main): Allow a failure with EIO.
30746 2011-09-20  Bruno Haible  <bruno@clisp.org>
30748         euidaccess: Update comments.
30749         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Update comments.
30751 2011-09-20  Bruno Haible  <bruno@clisp.org>
30753         Ensure EBADF returns for socket functions on mingw.
30754         * lib/accept.c (rpl_accept): Fail with error EBADF if the file
30755         descriptor is invalid.
30756         * lib/bind.c (rpl_bind): Likewise.
30757         * lib/connect.c (rpl_connect): Likewise.
30758         * lib/getpeername.c (rpl_getpeername): Likewise.
30759         * lib/getsockname.c (rpl_getsockname): Likewise.
30760         * lib/getsockopt.c (rpl_getsockopt): Likewise.
30761         * lib/listen.c (rpl_listen): Likewise.
30762         * lib/recv.c (rpl_recv): Likewise.
30763         * lib/recvfrom.c (rpl_recvfrom): Likewise.
30764         * lib/send.c (rpl_send): Likewise.
30765         * lib/sendto.c (rpl_sendto): Likewise.
30766         * lib/setsockopt.c (rpl_setsockopt): Likewise.
30767         * lib/shutdown.c (rpl_shutdown): Likewise.
30769 2011-09-20  Bruno Haible  <bruno@clisp.org>
30771         select tests: EBADF tests.
30772         * tests/test-select.h (do_select_bad_fd, do_select_bad_fd_nowait,
30773         test_bad_fd): New functions.
30774         (test_function): Invoke also test_bad_fd.
30776 2011-09-20  Bruno Haible  <bruno@clisp.org>
30778         Tests for module 'posix_spawn_file_actions_addopen.
30779         * modules/posix_spawn_file_actions_addopen-tests: New file.
30780         * tests/test-posix_spawn_file_actions_addopen.c: New file.
30782         Tests for module 'posix_spawn_file_actions_adddup2'.
30783         * modules/posix_spawn_file_actions_adddup2-tests: New file.
30784         * tests/test-posix_spawn_file_actions_adddup2.c: New file.
30786         Tests for module 'posix_spawn_file_actions_addclose'.
30787         * modules/posix_spawn_file_actions_addclose-tests: New file.
30788         * tests/test-posix_spawn_file_actions_addclose.c: New file.
30790 2011-09-20  Bruno Haible  <bruno@clisp.org>
30792         Tests for module 'unlockpt'.
30793         * modules/unlockpt-tests: New file.
30794         * tests/test-unlockpt.c: New file.
30795         * doc/posix-functions/unlockpt.texi: Mention the Cygwin 1.7 problem.
30797         Tests for module 'grantpt'.
30798         * modules/grantpt-tests: New file.
30799         * tests/test-grantpt.c: New file.
30800         * doc/posix-functions/grantpt.texi: Mention the Cygwin 1.7 problem.
30802 2011-09-20  Bruno Haible  <bruno@clisp.org>
30804         freopen tests: EBADF tests.
30805         * tests/test-freopen.c: Include errno.h, unistd.h.
30806         (main): Add tests for EBADF, commented out for the moment.
30808         fclose tests: EBADF tests.
30809         * tests/test-fclose.c (main): Add tests for EBADF.
30811         fflush tests: EBADF tests.
30812         * tests/test-fflush.c: Include errno.h, macros.h.
30813         (main): Add tests for EBADF.
30815         ftello tests: EBADF tests.
30816         * tests/test-ftello4.sh: New file.
30817         * tests/test-ftello4.c: New file.
30818         * modules/ftello-tests (Files): Add them.
30819         (Makefile.am): Arrange to compile test-ftello4 and run test-ftello4.sh.
30821         fseeko tests: EBADF tests.
30822         * tests/test-fseeko4.sh: New file.
30823         * tests/test-fseeko4.c: New file.
30824         * modules/fseeko-tests (Files): Add them.
30825         (Makefile.am): Arrange to compile test-fseeko4 and run test-fseeko4.sh.
30827         Tests for function fputc().
30828         * modules/fputc-tests: New file.
30829         * tests/test-fputc.c: New file.
30830         * modules/stdio-tests (Depends-on): Add fputc-tests.
30832         Tests for function fgetc().
30833         * modules/fgetc-tests: New file.
30834         * tests/test-fgetc.c: New file.
30835         * modules/stdio-tests (Depends-on): Add fgetc-tests.
30837         Tests for function fdopen().
30838         * modules/fdopen-tests: New file.
30839         * tests/test-fdopen.c: New file.
30840         * modules/stdio-tests (Depends-on): Add fdopen-tests.
30842         Tests for module 'vdprintf'.
30843         * modules/vdprintf-tests: New file.
30844         * tests/test-vdprintf.c: New file.
30846         Tests for module 'dprintf'.
30847         * modules/dprintf-tests: New file.
30848         * tests/test-dprintf.c: New file.
30850 2011-09-20  Bruno Haible  <bruno@clisp.org>
30852         Tests for module 'ioctl'.
30853         * modules/ioctl-tests: New file.
30854         * tests/test-ioctl.c: New file.
30856 2011-09-20  Bruno Haible  <bruno@clisp.org>
30858         fcntl tests: EBADF tests.
30859         * tests/test-fcntl.c (main): Add more tests for EBADF.
30861 2011-09-20  Bruno Haible  <bruno@clisp.org>
30863         utimensat tests: EBADF tests.
30864         * tests/test-utimensat.c (main): Add tests for EBADF.
30866         renameat tests: EBADF tests.
30867         * tests/test-renameat.c (main): Add tests for EBADF.
30869         mkfifoat tests: EBADF tests.
30870         * tests/test-mkfifoat.c (main): Add tests for EBADF.
30872         readlinkat tests: EBADF tests.
30873         * tests/test-readlinkat.c (main): Add tests for EBADF.
30875         symlinkat tests: EBADF tests.
30876         * tests/test-symlinkat.c (main): Add tests for EBADF.
30878         linkat tests: EBADF tests.
30879         * tests/test-linkat.c (main): Add tests for EBADF.
30881         Tests for module 'faccessat'.
30882         * modules/faccessat-tests: New file.
30883         * tests/test-faccessat.c: New file.
30885         fdopendir tests: EBADF tests.
30886         * tests/test-fdopendir.c (main): Add more tests for EBADF.
30888         openat tests: EBADF tests.
30889         * tests/test-fchownat.c (main): Add tests for EBADF.
30890         * tests/test-fstatat.c (main): Likewise.
30891         * tests/test-mkdirat.c (main): Likewise.
30892         * tests/test-openat.c (main): Likewise.
30893         * tests/test-unlinkat.c (main): Likewise.
30894         * tests/test-fchmodat.c: New file.
30895         * modules/openat-tests (Files): Add tests/test-fchmodat.c.
30896         (Makefile.am): Also run 'test-fchmodat'.
30898 2011-09-20  Bruno Haible  <bruno@clisp.org>
30900         utimens, futimens, fdutimensat tests: EBADF tests.
30901         * tests/test-futimens.h (test_futimens): Add more tests for EBADF.
30903         Tests for function fstat().
30904         * modules/fstat-tests: New file.
30905         * tests/test-fstat.c: New file.
30906         * modules/sys_stat-tests (Depends-on): Add fstat-tests.
30908 2011-09-20  Bruno Haible  <bruno@clisp.org>
30910         test-ttyname_r tests: EBADF tests.
30911         * tests/test-ttyname_r.c (main): Add tests for EBADF.
30913         Tests for module 'isatty'.
30914         * modules/isatty-tests: New file.
30915         * tests/test-isatty.c: New file.
30917         Tests for module 'write'.
30918         * modules/write-tests: New file.
30919         * tests/test-write.c: New file.
30921         Tests for module 'read'.
30922         * modules/read-tests: New file.
30923         * tests/test-read.c: New file.
30925         pwrite tests: EBADF tests.
30926         * tests/test-pwrite.c (main): Add tests for EBADF.
30928         pread tests: EBADF tests.
30929         * tests/test-pread.c (main): Add tests for EBADF.
30931         lseek tests: EBADF tests.
30932         * tests/test-lseek.c (main): Add more tests for EBADF.
30934         Tests for module 'ftruncate'.
30935         * modules/ftruncate-tests: New file.
30936         * tests/test-ftruncate.sh: New file.
30937         * tests/test-ftruncate.c: New file.
30939         fsync tests: EBADF tests.
30940         * tests/test-fsync.c (main): Add more tests for EBADF.
30942         fdatasync tests: EBADF tests.
30943         * tests/test-fdatasync.c (main): Add more tests for EBADF.
30945         Tests for module 'fchown'.
30946         * modules/fchown-tests: New file.
30947         * tests/test-fchown.c: New file.
30949         Tests for module 'fchmod'.
30950         * modules/fchmod-tests: New file.
30951         * tests/test-fchmod.c: New file.
30953         fchdir tests: EBADF tests.
30954         * tests/test-fchdir.c (main): Add more tests for EBADF.
30956         dup2 tests: EBADF tests.
30957         * tests/test-dup2.c (main): Add more tests for EBADF.
30959         Tests for module 'dup'.
30960         * modules/dup-tests: New file.
30961         * tests/test-dup.c: New file.
30963         Tests for module 'close'.
30964         * modules/close-tests: New file.
30965         * tests/test-close.c: New file.
30967 2011-09-20  Bruno Haible  <bruno@clisp.org>
30969         Tests for module 'shutdown'.
30970         * modules/shutdown-tests: New file.
30971         * tests/test-shutdown.c: New file.
30973         Tests for module 'setsockopt'.
30974         * modules/setsockopt-tests: New file.
30975         * tests/test-setsockopt.c: New file.
30977         Tests for module 'sendto'.
30978         * modules/sendto-tests: New file.
30979         * tests/test-sendto.c: New file.
30981         Tests for module 'send'.
30982         * modules/send-tests: New file.
30983         * tests/test-send.c: New file.
30985         Tests for module 'recvfrom'.
30986         * modules/recvfrom-tests: New file.
30987         * tests/test-recvfrom.c: New file.
30989         Tests for module 'recv'.
30990         * modules/recv-tests: New file.
30991         * tests/test-recv.c: New file.
30993         Tests for module 'listen'.
30994         * modules/listen-tests: New file.
30995         * tests/test-listen.c: New file.
30997         Tests for module 'getsockopt'.
30998         * modules/getsockopt-tests: New file.
30999         * tests/test-getsockopt.c: New file.
31001         Tests for module 'getsockname'.
31002         * modules/getsockname-tests: New file.
31003         * tests/test-getsockname.c: New file.
31005         Tests for module 'getpeername'.
31006         * modules/getpeername-tests: New file.
31007         * tests/test-getpeername.c: New file.
31009         Tests for module 'connect'.
31010         * modules/connect-tests: New file.
31011         * tests/test-connect.c: New file.
31013         Tests for module 'bind'.
31014         * modules/bind-tests: New file.
31015         * tests/test-bind.c: New file.
31017         accept4 tests: Fix for native Windows.
31018         * tests/test-accept4.c: Include sockets.h.
31019         (main): Invoke gl_sockets_startup.
31020         * modules/accept4-tests (Depends-on): Add sockets.
31022         accept tests: Fix for native Windows.
31023         * tests/test-accept.c: Include sockets.h.
31024         (main): Invoke gl_sockets_startup.
31025         * modules/accept-tests (Depends-on): Add sockets.
31027 2011-09-19  Bruno Haible  <bruno@clisp.org>
31029         msvc-inval: Require a semicolon after DONE_MSVC_INVAL.
31030         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Wrap in a
31031         do...while(0).
31032         * lib/dup2.c (rpl_dup2): Add a semicolon after DONE_MSVC_INVAL.
31033         Suggested by Paul Eggert.
31035 2011-09-19  Bruno Haible  <bruno@clisp.org>
31037         sched: Ensure pid_t is defined.
31038         * m4/sched_h.m4 (gl_SCHED_H): Arrange to override <sched.h> if it does
31039         not define pid_t.
31040         * lib/sched.in.h: Include <sys/types.h>.
31041         * doc/posix-headers/sched.texi: Mention the pid_t problem.
31042         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
31044 2011-09-19  Bruno Haible  <bruno@clisp.org>
31046         msvc-inval: Ensure the entire expansion is a single statement.
31047         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Add an extra pair
31048         of braces.
31050 2011-09-19  Jim Meyering  <meyering@redhat.com>
31052         tests: use printf, not echo in init.sh's warn_ function
31053         * tests/init.sh (warn_): Use printf, not echo.  The latter would
31054         misbehave when given strings containing a backslash or starting
31055         with e.g., -n.  James Youngman suggested setting IFS.
31057 2011-09-19  Eric Blake  <eblake@redhat.com>
31059         futimens: enhance test
31060         * tests/test-futimens.h (test_futimens): Also check for EBADF on
31061         closed non-negative fd.
31063         date: accept 'hence' as opposite of 'ago'
31064         * lib/parse-datetime.y (relative_time_table): Add 'hence'.
31065         * tests/test-parse-datetime.c (main): Enhance test.
31066         Suggested by Jesse Wilson.
31068 2011-09-19  Jim Meyering  <meyering@redhat.com>
31070         getcwd: don't fail in a deep directory on a system without openat
31071         Before this change, getcwd would fail when called from a directory
31072         of depth PATH_MAX / 3 or greater.  That was due to the fact that
31073         the non-openat implementation used "..", "../..", "../../..", etc.
31074         to access ancestor directories.  With too many, that string would
31075         be longer than PATH_MAX.
31076         * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Define also when we are
31077         using gnulib's openat replacement.
31078         * m4/openat.m4: Set GNULIB_OPENAT, so getcwd.c knows when
31079         we're using the replacement function.
31081 2011-09-14  Martin von Gagern  <Martin.vGagern@gmx.net>
31083         maint.mk: avoid warnings from perl about missing files
31084         * top/maint.mk (def_sym_regex): Ignore files listed in
31085         $(gl_other_headers_) that do not exist, say because a project
31086         does not use a corresponding module.
31088 2011-09-18  Paul Eggert  <eggert@cs.ucla.edu>
31090         stat: use pathmax.h only if needed
31091         * lib/stat.c: Include pathmax.h only if REPLACE_FUNC_STAT_DIR.
31092         This is better for Emacs, which does not have a mingw port and
31093         therefore can avoid the pathmax module.
31095         utimens: remove dependency on dup2
31096         * lib/utimens.c (fdutimens): Don't invoke dup2; it's not needed
31097         to work around the Linux kernel bug.
31098         * modules/utimens (Depends-on): Remove dup2.
31100 2011-09-18  Bruno Haible  <bruno@clisp.org>
31102         inet_ntop, inet_pton: Look for it also in libresolv.
31103         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): If the function was not found in
31104         libnsl, search for it in libresolv.
31105         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
31106         Needed on Solaris 7.
31108 2011-09-18  Bruno Haible  <bruno@clisp.org>
31110         accept, accept4 tests: Avoid link error on Solaris.
31111         * modules/accept-tests (Makefile.am): Link test-accept against
31112         $(LIBSOCKET).
31113         * modules/accept4-tests (Makefile.am): Link test-accept4 against
31114         $(LIBSOCKET).
31116         accept4: Avoid link error on Solaris.
31117         * modules/accept4 (Link): New section.
31119         socket functions: Avoid link errors on Solaris.
31120         * modules/accept (Depends-on): Add socketlib.
31121         (Link): New section.
31122         * modules/bind (Depends-on): Add socketlib.
31123         (Link): New section.
31124         * modules/connect (Depends-on): Add socketlib.
31125         (Link): New section.
31126         * modules/getpeername (Depends-on): Add socketlib.
31127         (Link): New section.
31128         * modules/getsockname (Depends-on): Add socketlib.
31129         (Link): New section.
31130         * modules/getsockopt (Depends-on): Add socketlib.
31131         (Link): New section.
31132         * modules/listen (Depends-on): Add socketlib.
31133         (Link): New section.
31134         * modules/recv (Depends-on): Add socketlib.
31135         (Link): New section.
31136         * modules/recvfrom (Depends-on): Add socketlib.
31137         (Link): New section.
31138         * modules/send (Depends-on): Add socketlib.
31139         (Link): New section.
31140         * modules/sendto (Depends-on): Add socketlib.
31141         (Link): New section.
31142         * modules/setsockopt (Depends-on): Add socketlib.
31143         (Link): New section.
31144         * modules/shutdown (Depends-on): Add socketlib.
31145         (Link): New section.
31146         * modules/socket (Depends-on): Add socketlib.
31147         (Link): New section.
31149 2011-09-18  Bruno Haible  <bruno@clisp.org>
31151         ptsname tests: Let the test fail rather than hang (e.g. on AIX 5.1).
31152         * tests/test-ptsname.c (main): Terminate the test if it takes longer
31153         than 5 seconds.
31154         * modules/ptsname-tests (configure.ac): Test for alarm.
31156 2011-09-18  Bruno Haible  <bruno@clisp.org>
31158         posix_spawn_file_actions_add*: Fix module dependencies.
31159         * modules/posix_spawn_file_actions_addclose (Dependencies): Add
31160         posix_spawn_file_actions_init.
31161         * modules/posix_spawn_file_actions_adddup2 (Dependencies): Likewise.
31162         * modules/posix_spawn_file_actions_addopen (Dependencies): Likewise.
31164 2011-09-18  Bruno Haible  <bruno@clisp.org>
31166         rename, renameat tests: Avoid test failures on FreeBSD 6.4.
31167         * tests/test-rename.h (test_rename): Allow error code EEXIST.
31168         * tests/test-renameat.c (main): Likewise.
31170 2011-09-18  Bruno Haible  <bruno@clisp.org>
31172         Tests for module 'accept4'.
31173         * modules/accept4-tests: New file.
31174         * tests/test-accept4.c: New file.
31176 2011-09-18  Bruno Haible  <bruno@clisp.org>
31178         Tests for module 'accept'.
31179         * modules/accept-tests: New file.
31180         * tests/test-accept.c: New file.
31182 2011-09-18  Bruno Haible  <bruno@clisp.org>
31184         dup2: Support for MSVC.
31185         * lib/dup2.c: Include msvc-inval.h.
31186         (rpl_dup2): Handle invalid parameter notifications during dup2 and
31187         _get_osfhandle calls.
31188         * modules/dup2 (Depends-on): Add msvc-inval.
31189         * doc/posix-functions/dup2.texi: Mention problem on MSVC.
31191         New module 'msvc-inval'.
31192         * lib/msvc-inval.h: New file.
31193         * lib/msvc-inval.c: New file.
31194         * m4/msvc-inval.m4: New file.
31195         * modules/msvc-inval: New file.
31197 2011-09-17  Bruno Haible  <bruno@clisp.org>
31199         Tests for module 'pclose'.
31200         * modules/pclose-tests: New file.
31202         New module 'pclose'.
31203         * lib/stdio.in.h (pclose): New declaration.
31204         * lib/pclose.c: New file.
31205         * m4/pclose.m4: New file.
31206         * m4/stdio_h.m4 (gl_STDIO_H): Test whether pclose is declared.
31207         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PCLOSE, HAVE_PCLOSE.
31208         * modules/stdio (Makefile.am): Substitute GNULIB_PCLOSE, HAVE_PCLOSE.
31209         * modules/pclose: New file.
31210         * modules/popen-tests (Depends-on): Add pclose.
31211         * modules/popen-safer-tests (Depends-on): Likewise.
31212         * doc/posix-functions/pclose.texi: Mention the new module.
31214 2011-09-17  Bruno Haible  <bruno@clisp.org>
31216         popen: Support for MSVC.
31217         * lib/stdio.in.h (popen): Declare it if the system lacks this function.
31218         * lib/popen.c (popen): Provide alternate definition for native Windows.
31219         * m4/popen.m4 (gl_FUNC_POPEN): Test if popen exists. Set HAVE_POPEN.
31220         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_POPEN.
31221         * modules/popen (Depends-on, configure.ac): Update condition.
31222         * modules/stdio (Makefile.am): Substitute HAVE_POPEN.
31223         * doc/posix-functions/popen.texi: Mention that the MSVC problem is
31224         fixed.
31226 2011-09-17  Bruno Haible  <bruno@clisp.org>
31228         isnanl, isnand, isnanf: Work around MSVC bug.
31229         * lib/isnan.c (FUNC): Use alternate ways of computing NaN and Infinity.
31231 2011-09-17  Bruno Haible  <bruno@clisp.org>
31233         sys_socket tests: Fix recent mistake.
31234         * tests/test-sys_socket.c (t1): Avoid collision of identifiers.
31236 2011-09-17  Bruno Haible  <bruno@clisp.org>
31238         putenv: Support for MSVC.
31239         * modules/putenv (Depends-on): Add environ.
31240         * lib/putenv.c (environ): Disable declaration.
31241         * lib/unistd.in.h: Update comment.
31243 2011-09-17  Bruno Haible  <bruno@clisp.org>
31245         math: Avoid macro redefinition warnings on MSVC.
31246         * lib/math.in.h (ceilf, ceill, floorf, floorl, frexpl, ldexpl):
31247         Undefine before redefining.
31249 2011-09-17  Bruno Haible  <bruno@clisp.org>
31251         doc: Mention functions which are declared as macros.
31252         * doc/posix-functions/*[fl].texi: Mention that some functions are
31253         defined as macros with arguments only.
31255 2011-09-17  Bruno Haible  <bruno@clisp.org>
31257         Add dependencies to new dirent related modules.
31258         * modules/backupfile (Depends-on): Add opendir, readdir, closedir.
31259         * modules/fts (Depends-on): Likewise.
31260         * modules/glob (Depends-on): Likewise.
31261         * modules/savedir (Depends-on): Likewise.
31262         * modules/scandir (Depends-on): Likewise.
31263         * modules/dirent-safer (Depends-on): Add opendir, closedir.
31264         * modules/fdopendir (Depends-on): Add opendir.
31266 2011-09-17  Bruno Haible  <bruno@clisp.org>
31268         inet_pton: Support for MSVC on Windows Vista or newer.
31269         * lib/arpa_inet.in.h (inet_pton): Also consider REPLACE_INET_PTON.
31270         * lib/inet_pton.c (rpl_inet_pton): Use a simple wrapper if
31271         HAVE_DECL_INET_PTON is defined.
31272         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Invoke gl_PREREQ_SYS_H_WINSOCK2.
31273         On platforms with <winsock2.h>, test whether inet_pton is declared in
31274         <ws2tcpip.h>. If so, arrange to replace it.
31275         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
31276         REPLACE_INET_PTON.
31277         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_PTON.
31278         * modules/inet_pton (Files): Add m4/sys_socket_h.m4.
31279         (Depends-on, configure.ac): Update condition.
31280         * doc/posix-functions/inet_pton.texi: Mention the MSVC problem.
31282 2011-09-17  Bruno Haible  <bruno@clisp.org>
31284         inet_ntop: Support for MSVC on Windows Vista or newer.
31285         * lib/arpa_inet.in.h (inet_ntop): Also consider REPLACE_INET_NTOP.
31286         * lib/inet_ntop.c (rpl_inet_ntop): Use a simple wrapper if
31287         HAVE_DECL_INET_NTOP is defined.
31288         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Invoke gl_PREREQ_SYS_H_WINSOCK2.
31289         On platforms with <winsock2.h>, test whether inet_ntop is declared in
31290         <ws2tcpip.h>. If so, arrange to replace it.
31291         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
31292         REPLACE_INET_NTOP.
31293         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_NTOP.
31294         * modules/inet_ntop (Files): Add m4/sys_socket_h.m4.
31295         (Depends-on, configure.ac): Update condition.
31296         * doc/posix-functions/inet_ntop.texi: Mention the MSVC problem.
31298 2011-09-16  Eric Blake  <eblake@redhat.com>
31300         test-fsync: yet another enhancement
31301         * tests/test-fsync.c (main): Also test behavior on read-only text
31302         file.
31304 2011-09-16  Bruno Haible  <bruno@clisp.org>
31306         Enhance fsync, fdatasync tests.
31307         * tests/test-fsync.c (main): Test both STDIN_FILENO and STDOUT_FILENO.
31308         * tests/test-fdatasync.c (main): Likewise.
31310 2011-09-16  Bruno Haible  <bruno@clisp.org>
31312         Support for MSVC compiler: Ensure mode_t gets defined.
31313         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_MODE_T.
31314         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
31315         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
31316         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Likewise.
31317         * tests/test-fcntl-h.c: Check that mode_t is defined.
31318         * tests/test-sys_stat.c: Likewise.
31319         * tests/test-sys_types.c: Likewise.
31320         * doc/posix-headers/fcntl.texi: Mention the missing mode_t problem.
31321         * doc/posix-headers/sys_stat.texi: Likewise.
31322         * doc/posix-headers/sys_types.texi: Likewise.
31324 2011-09-16  Bruno Haible  <bruno@clisp.org>
31326         sys_stat: Support for MSVC.
31327         * lib/sys_stat.in.h (S_IFIFO): Define to _S_IFIFO if that exists.
31328         * tests/test-sys_stat.c: Don't assume that S_IFBLK exists.
31329         * doc/posix-headers/sys_stat.texi: Mention missing S_IFIFO, S_IFBLK on
31330         MSVC.
31332 2011-09-16  Bruno Haible  <bruno@clisp.org>
31334         Support for MSVC compiler: Ensure off_t gets defined.
31335         * lib/unistd.in.h: Include <sys/types.h>.
31336         * tests/test-fcntl-h.c: Check that off_t is defined.
31337         * tests/test-sys_stat.c: Likewise.
31338         * tests/test-sys_types.c: Likewise.
31340 2011-09-16  Eric Blake  <eblake@redhat.com>
31342         fdatasync: port to Solaris
31343         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Set LIB_FDATASYNC.
31344         * modules/fdatasync (Link): Document it.
31345         * modules/fdatasync-tests (test_fdatasync_LDADD): Link with it.
31347         fdatasync: port to MacOS X 10.7
31348         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Check for present but not
31349         declared.
31350         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Another default.
31351         * modules/unistd (Makefile.am): Substitute it.
31352         * lib/unistd.in.h (fdatasync): Declare on MacOS.
31353         * doc/posix-functions/fdatasync.texi (fdatasync): Document it.
31355         fdatasync: minor improvements
31356         * modules/fdatasync (Depends-on): Add condition for fsync.
31357         * lib/fdatasync.c (fdatasync): Add comment.
31358         * tests/test-unistd-c++.cc: Test fdatasync.
31360         unistd: update refs to newer POSIX
31361         * lib/unistd.in.h: Prefer POSIX 2008 over 2001.
31362         Suggested by Bruno Haible.
31364         fdatasync: new module
31365         * modules/fsync (Description): Document difference to fdatasync.
31366         * modules/fdatasync: New module.
31367         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): New file.
31368         * lib/fdatasync.c (fdatasync): Likewise.
31369         * m4/unistd_h.m4 (gl_UNISTD_H, gl_UNISTD_H_DEFAULTS): Set up
31370         defaults.
31371         * modules/unistd (Makefile.am): Set witnesses.
31372         * lib/unistd.in.h (fdatasync): Declare.
31373         * MODULES.html.sh: Document it.
31374         * doc/posix-functions/fdatasync.texi (fdatasync): Likewise.
31375         * modules/fdatasync-tests: New test.
31376         * tests/test-fdatasync.c: Likewise.
31378 2011-09-16  Eric Blake  <eblake@redhat.com>
31380         test-fsync: enhance tests
31381         * modules/fsync-tests (Depends-on): Add errno, for mingw.
31382         * tests/test-fsync.c (main): Enhance test.
31384 2011-09-15  Bruno Haible  <bruno@clisp.org>
31386         Support for MSVC compiler: Ensure ssize_t gets defined.
31387         * doc/posix-headers/sys_types.texi: Mention the missing ssize_t problem.
31388         * doc/posix-headers/stdio.texi: Likewise.
31389         * modules/stdio (Depends-on): Add ssize_t.
31390         * modules/sys_socket (Depends-on): Likewise.
31391         * modules/sys_types (Depends-on): Likewise.
31392         * modules/sys_uio (Depends-on): Likewise.
31393         * modules/unistd (Depends-on): Likewise.
31394         * tests/test-sys_socket.c: Check that size_t and ssize_t are defined.
31395         * tests/test-sys_types.c: Check that ssize_t is defined.
31397 2011-09-14  Bruno Haible  <bruno@clisp.org>
31399         Avoid using #, the m4 comment starter character, near brackets.
31400         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Use |, not #, as
31401         delimiter character in sed expressions.
31402         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
31403         Suggested by Eric Blake.
31405         Properly quote AC_CHECK_DECLS' 4th argument.
31406         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Double-quote AC_CHECK_DECLS' 4th
31407         argument.
31408         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
31409         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
31410         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
31411         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
31412         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
31413         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): Likewise.
31414         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Likewise.
31415         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Likewise.
31416         * m4/gethrxtime.m4 (gl_GETHRXTIME): Likewise.
31417         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
31418         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Likewise.
31419         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
31420         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
31421         * m4/isinf.m4 (gl_ISINF): Likewise.
31422         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
31423         * m4/readutmp.m4 (gl_READUTMP): Likewise.
31424         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
31425         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
31426         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
31427         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
31428         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
31429         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
31430         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Likewise.
31431         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
31432         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
31433         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
31434         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Likewise.
31435         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
31436         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
31437         Reported by Eric Blake.
31439         Properly quote AC_CHECK_DECL's 4th argument.
31440         * m4/acosl.m4 (gl_FUNC_ACOSL): Double-quote AC_CHECK_DECL's 4th
31441         argument.
31442         * m4/argp.m4 (gl_ARGP): Likewise.
31443         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
31444         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
31445         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
31446         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
31447         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Likewise.
31448         * m4/getloadavg.m4 (gl_GETLOADAVG): Likewise.
31449         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
31450         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
31451         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
31452         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
31453         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
31454         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
31455         Reported by Eric Blake.
31457 2011-09-14  Eric Blake  <eblake@redhat.com>
31459         opendir: avoid compile warning
31460         * lib/opendir.c (includes): Always include errno.h.
31461         Reported by Tatsuro MATSUOKA.
31463 2011-09-14  Jim Meyering  <meyering@redhat.com>
31465         maint.mk: sc_tight_scope: propagate failure from sub-make
31466         * top/maint.mk (sc_tight_scope): Actually initialize and use $fail.
31467         Reported by Martin von Gagern.
31469 2011-09-13  Bruno Haible  <bruno@clisp.org>
31471         tempname: Support for MSVC.
31472         * doc/posix-headers/fcntl.texi: Document the problem with O_ACCMODE on
31473         MSVC.
31474         * modules/tempname (Depends-on): Add fcntl-h.
31476 2011-09-13  Bruno Haible  <bruno@clisp.org>
31478         sys_time: Support for MSVC.
31479         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Invoke
31480         gl_PREREQ_SYS_H_WINSOCK2. When testing for 'struct timeval', also
31481         include <winsock2.h>.
31482         * lib/sys_time.in.h: On MSVC, include <winsock2.h> and hide its
31483         function declarations that collide with POSIX.
31484         * modules/sys_time (Files): Add m4/sys_socket_h.m4.
31485         (Makefile.am): Substitute HAVE_WINSOCK2_H.
31487 2011-09-13  Bruno Haible  <bruno@clisp.org>
31489         stat: Support for MSVC.
31490         * lib/stat.c: Include pathmax.h.
31491         * modules/stat (Depends-on): Add pathmax.
31493         pathmax: Support for native Windows.
31494         * lib/pathmax.h (PATH_MAX): Define to 260 on native Windows.
31496 2011-09-12  Bruno Haible  <bruno@clisp.org>
31498         New modules 'opendir', 'readdir', 'rewinddir', 'closedir'.
31499         * lib/dirent.in.h (struct dirent): New type.
31500         (DT_UNKNOWN, DT_FIFO, DT_CHR, DT_DIR, DT_BLK, DT_REG, DT_LNK, DT_SOCK,
31501         DT_WHT): New macros.
31502         (DIR): New type.
31503         (opendir, closedir): Declare only if the module 'opendir' is enabled.
31504         (readdir, rewinddir): New declarations.
31505         * lib/dirent-private.h: New file.
31506         * lib/opendir.c: New file.
31507         * lib/readdir.c: New file.
31508         * lib/rewinddir.c: New file.
31509         * lib/closedir.c: New file.
31510         * lib/fchdir.c (rpl_closedir, rpl_opendir): Remove functions.
31511         * m4/opendir.m4: New file.
31512         * m4/readdir.m4: New file.
31513         * m4/rewinddir.m4: New file.
31514         * m4/closedir.m4: New file.
31515         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_OPENDIR,
31516         REPLACE_CLOSEDIR here.
31517         * m4/dirent_h.m4 (gl_DIRENT_H): Also check whether closedir, opendir,
31518         readdir, rewinddir are declared.
31519         (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_OPENDIR, GNULIB_READDIR,
31520         GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR, HAVE_READDIR,
31521         HAVE_REWINDDIR, HAVE_CLOSEDIR.
31522         * modules/dirent (Makefile.am): Substitute GNULIB_OPENDIR,
31523         GNULIB_READDIR, GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR,
31524         HAVE_READDIR, HAVE_REWINDDIR, HAVE_CLOSEDIR.
31525         * modules/opendir: New file.
31526         * modules/readdir: New file.
31527         * modules/rewinddir: New file.
31528         * modules/closedir: New file.
31529         * doc/posix-functions/opendir.texi: Mention the 'opendir' module.
31530         * doc/posix-functions/readdir.texi: Mention the 'readdir' module.
31531         * doc/posix-functions/rewinddir.texi: Mention the 'rewinddir' module.
31532         * doc/posix-functions/closedir.texi: Mention the 'closedir' module.
31533         * NEWS: Mention the 'fchdir' change.
31535 2011-09-11  Bruno Haible  <bruno@clisp.org>
31537         asm-underscore.m4: Support for MSVC.
31538         * m4/asm-underscore.m4 (gl_C_ASM): New macro.
31539         (gl_ASM_SYMBOL_PREFIX): Require it. Use its results.
31541 2011-09-11  Reuben Thomas  <rrt@sc3d.org>
31543         Doc about crypt functions.
31544         * doc/posix-functions/crypt.texi: Expand range of glibc versions
31545         needing for _GNU_SOURCE to get crypt.
31546         * doc/posix-functions/encrypt.texi: Likewise.
31547         * doc/posix-functions/setkey.texi: Likewise.
31549 2011-09-11  Bruno Haible  <bruno@clisp.org>
31551         doc: Update regarding MSVC 9.
31552         * doc/gnulib-intro.texi (Target Platforms): Classify MSVC as "rarely
31553         tested".
31554         * doc/posix-functions/*.texi: Update with info about MSVC 9.
31555         * doc/posix-headers/*.texi: Likewise.
31556         * doc/pastposix-functions/*.texi: Likewise.
31557         * doc/glibc-functions/*.texi: Likewise.
31558         * doc/glibc-headers/*.texi: Likewise.
31560 2011-09-11  Bruno Haible  <bruno@clisp.org>
31562         unistd et al.: Don't assume <unistd.h> exists.
31563         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Don't include <unistd.h> if it
31564         does not exist.
31565         * m4/environ.m4 (gl_ENVIRON): Don't include <unistd.h> if it does not
31566         exist. But include <stdlib.h>.
31567         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): If <unistd.h> does not exist,
31568         include <io.h> and <stdlib.h> instead. Don't test symbolink links if
31569         symlink() does not exist.
31570         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): If <unistd.h> does not exist,
31571         include <io.h> instead.
31572         * m4/free.m4 (gl_FUNC_FREE): Assume free(NULL) works on native Windows.
31573         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): If <unistd.h> does not exist,
31574         include <direct.h> instead.
31575         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
31576         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
31577         * m4/lseek.m4 (gl_FUNC_LSEEK): If <unistd.h> does not exist, include
31578         <io.h> instead.
31579         * m4/rename.m4 (gl_FUNC_RENAME): Assume rename() manages hard links
31580         correctly if the system does not have hard links.
31581         * m4/rmdir.m4 (gl_FUNC_RMDIR): If <unistd.h> does not exist, include
31582         <direct.h> instead.
31583         * m4/unistd_h.m4 (gl_UNISTD_H): If <unistd.h> does not exist, bypass
31584         it when looking for function declarations.
31585         * m4/unlink.m4 (gl_FUNC_UNLINK): If <unistd.h> does not exist, include
31586         <direct.h> and <io.h> instead.
31587         * doc/posix-headers/unistd.texi: More details about MSVC problem.
31589 2011-09-11  Bruno Haible  <bruno@clisp.org>
31591         strcase: Support for MSVC.
31592         * modules/strcase (Status, Notice): Remove obsoletion mark.
31593         * doc/posix-functions/strcasecmp.texi: Mention MSVC problem.
31594         * doc/posix-functions/strncasecmp.texi: Likewise.
31596         strings: Don't assume <strings.h> exists.
31597         * lib/strings.in.h: Include <strings.h> only if HAVE_STRINGS_H is 1.
31598         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Set HAVE_STRINGS_H.
31599         * modules/strings (Makefile.am): Substitute HAVE_STRINGS_H.
31600         * doc/posix-headers/strings.texi: Mention the MSVC problem.
31602 2011-09-11  Bruno Haible  <bruno@clisp.org>
31604         dirent: Don't assume <dirent.h> exists.
31605         * lib/dirent.in.h: Include <dirent.h> only if HAVE_DIRENT_H is 1.
31606         * m4/dirent_h.m4 (gl_DIRENT_H): Set HAVE_DIRENT_H.
31607         * modules/dirent (Makefile.am): Substitute HAVE_DIRENT_H.
31608         * doc/posix-headers/dirent.texi: Mention the MSVC problem.
31610 2011-09-11  Bruno Haible  <bruno@clisp.org>
31612         Fix wint_t on MSVC.
31613         * lib/wchar.in.h (wint_t): On MSVC, override it.
31614         * lib/wctype.in.h (wint_t): Likewise.
31615         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Override BITSIZEOF_WINT_T on
31616         MSVC.
31617         * doc/posix-headers/wchar.texi: Mention the problem with wint_t on MSVC.
31618         * doc/posix-headers/wctype.texi: Likewise.
31620 2011-09-11  Bruno Haible  <bruno@clisp.org>
31622         sys_types: Fix typo.
31623         * lib/sys_types.in.h: Fix typo in comment.
31624         Reported by Paul Eggert.
31626         Support for MSVC compiler: Ensure size_t gets defined.
31627         * modules/strings (Depends-on): Add 'sys_types'.
31628         * modules/sys_uio (Depends-on): Likewise.
31629         * lib/sys_uio.in.h: Update comment.
31631         C++ tests for module 'sys_types'.
31632         * modules/sys_types-c++-tests: New file.
31633         * tests/test-sys_types-c++.cc: New file.
31635         Tests for module 'sys_types'.
31636         * modules/sys_types-tests: New file.
31637         * tests/test-sys_types.c: New file.
31639         New module 'sys_types'.
31640         * lib/sys_types.in.h: New file.
31641         * m4/sys_types_h.m4: New file.
31642         * modules/sys_types: New file.
31643         * doc/posix-headers/sys_types.texi: Mention the new module and the
31644         size_t problem on MSVC 9.
31646 2011-09-11  Bruno Haible  <bruno@clisp.org>
31648         Support for MSVC compiler: Avoid division by a literal 0.
31649         * lib/math.in.h (NAN): Define through a function call also on MSVC.
31650         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Divide by 'zero' instead of 0.0.
31651         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_DIRECTIVE_A,
31652         gl_PRINTF_DIRECTIVE_F, gl_PRINTF_FLAG_ZERO): Likewise.
31653         (gl_PRINTF_INFINITE_LONG_DOUBLE): Divide by 'zeroL' instead of 0.0L.
31654         * tests/infinity.h: New file.
31655         * tests/nan.h (NaNf, NaNd, NaNl): Define through a function call also
31656         on MSVC.
31657         * tests/test-ceilf1.c: Include infinity.h.
31658         (main): Use Infinityf.
31659         * tests/test-ceil1.c: Include infinity.h.
31660         (main): Use Infinityd.
31661         * tests/test-ceill.c: Include infinity.h.
31662         (main): Use Infinityl.
31663         * tests/test-dprintf-posix.c: Include infinity.h.
31664         (test_function): Use Infinityd.
31665         * tests/test-floorf1.c: Include infinity.h.
31666         (main): Use Infinityf.
31667         * tests/test-floor1.c: Include infinity.h.
31668         (main): Use Infinityd.
31669         * tests/test-floorl.c: Include infinity.h.
31670         (main): Use Infinityl.
31671         * tests/test-fprintf-posix.c: Include infinity.h.
31672         (test_function): Use Infinityd.
31673         * tests/test-frexp.c: Include infinity.h.
31674         (main): Use Infinityd.
31675         * tests/test-frexpl.c: Include infinity.h.
31676         (main): Use Infinityl.
31677         * tests/test-isfinite.c: Include infinity.h.
31678         (test_isfinitef): Use Infinityf.
31679         (test_isfinited): Use Infinityd.
31680         (test_isfinitel): Use Infinityl.
31681         * tests/test-isinf.c: Include infinity.h.
31682         (test_isinff): Use Infinityf.
31683         (test_isinfd): Use Infinityd.
31684         (test_isinfl): Use Infinityl.
31685         * tests/test-isnan.c: Include infinity.h.
31686         (test_float): Use Infinityf.
31687         (test_double): Use Infinityd.
31688         (test_long_double): Use Infinityl.
31689         * tests/test-isnanf.h: Include infinity.h.
31690         (main): Use Infinityf.
31691         * tests/test-isnand.h: Include infinity.h.
31692         (main): Use Infinityd.
31693         * tests/test-isnanl.h: Include infinity.h.
31694         (main): Use Infinityl.
31695         * tests/test-ldexpl.c: Include infinity.h.
31696         (main): Use Infinityl.
31697         * tests/test-printf-posix.h: Include infinity.h.
31698         (test_function): Use Infinityd.
31699         * tests/test-roundf1.c: Include infinity.h.
31700         (main): Use Infinityf.
31701         * tests/test-round1.c: Include infinity.h.
31702         (main): Use Infinityd.
31703         * tests/test-roundl.c: Include infinity.h.
31704         (main): Use Infinityl.
31705         * tests/test-signbit.c: Include infinity.h.
31706         (test_signbitf): Use Infinityf.
31707         (test_signbitd): Use Infinityd.
31708         (test_signbitl): Use Infinityl.
31709         * tests/test-snprintf-posix.h: Include infinity.h.
31710         (test_function): Use Infinityd, Infinityl.
31711         * tests/test-sprintf-posix.h: Include infinity.h.
31712         (test_function): Use Infinityd, Infinityl.
31713         * tests/test-truncf1.c: Include infinity.h.
31714         (main): Use Infinityf.
31715         * tests/test-trunc1.c: Include infinity.h.
31716         (main): Use Infinityd.
31717         * tests/test-truncl.c: Include infinity.h.
31718         (main): Use Infinityl.
31719         * tests/test-vasnprintf-posix.c: Include infinity.h.
31720         (test_function): Use Infinityd, Infinityl.
31721         * tests/test-vasprintf-posix.c: Include infinity.h.
31722         (test_function): Use Infinityd, Infinityl.
31723         * modules/ceilf-tests (Files): Add tests/infinity.h.
31724         * modules/ceil-tests (Files): Likewise.
31725         * modules/ceill-tests (Files): Likewise.
31726         * modules/dprintf-posix-tests (Files): Likewise.
31727         * modules/floorf-tests (Files): Likewise.
31728         * modules/floor-tests (Files): Likewise.
31729         * modules/floorl-tests (Files): Likewise.
31730         * modules/fprintf-posix-tests (Files): Likewise.
31731         * modules/frexp-tests (Files): Likewise.
31732         * modules/frexp-nolibm-tests (Files): Likewise.
31733         * modules/frexpl-tests (Files): Likewise.
31734         * modules/frexpl-nolibm-tests (Files): Likewise.
31735         * modules/isfinite-tests (Files): Likewise.
31736         * modules/isinf-tests (Files): Likewise.
31737         * modules/isnan-tests (Files): Likewise.
31738         * modules/isnanf-tests (Files): Likewise.
31739         * modules/isnanf-nolibm-tests (Files): Likewise.
31740         * modules/isnand-tests (Files): Likewise.
31741         * modules/isnand-nolibm-tests (Files): Likewise.
31742         * modules/isnanl-tests (Files): Likewise.
31743         * modules/isnanl-nolibm-tests (Files): Likewise.
31744         * modules/ldexpl-tests (Files): Likewise.
31745         * modules/printf-posix-tests (Files): Likewise.
31746         * modules/roundf-tests (Files): Likewise.
31747         * modules/round-tests (Files): Likewise.
31748         * modules/roundl-tests (Files): Likewise.
31749         * modules/signbit-tests (Files): Likewise.
31750         * modules/snprintf-posix-tests (Files): Likewise.
31751         * modules/sprintf-posix-tests (Files): Likewise.
31752         * modules/truncf-tests (Files): Likewise.
31753         * modules/trunc-tests (Files): Likewise.
31754         * modules/truncl-tests (Files): Likewise.
31755         * modules/vasnprintf-posix-tests (Files): Likewise.
31756         * modules/vasprintf-posix-tests (Files): Likewise.
31757         * modules/vdprintf-posix-tests (Files): Likewise.
31758         * modules/vfprintf-posix-tests (Files): Likewise.
31759         * modules/vprintf-posix-tests (Files): Likewise.
31760         * modules/vsnprintf-posix-tests (Files): Likewise.
31761         * modules/vsprintf-posix-tests (Files): Likewise.
31762         * modules/xprintf-posix-tests (Files): Likewise.
31764 2011-09-11  Bruno Haible  <bruno@clisp.org>
31766         Ensure pid_t gets defined.
31767         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_PID_T.
31768         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
31769         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
31770         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
31771         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
31772         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
31773         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
31774         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
31775         * tests/test-fcntl-h.c: Check that pid_t is defined.
31776         * tests/test-sched.c: Likewise.
31777         * tests/test-termios.c: Likewise.
31778         * tests/test-time.c: Likewise.
31779         * doc/posix-headers/fcntl.texi: Mention lack of pid_t on MSVC platform.
31780         * doc/posix-headers/signal.texi: Likewise.
31781         * doc/posix-headers/sys_types.texi: Likewise.
31782         * doc/posix-headers/time.texi: Likewise.
31784 2011-09-11  Bruno Haible  <bruno@clisp.org>
31786         acl: Fix compilation on Solaris 10 (older version).
31787         * lib/file-has-acl.c (acl_ace_nontrivial): Use NEW_ACE_EVERYONE instead
31788         of ACE_EVERYONE.
31789         * lib/set-mode-acl.c (qset_acl): Likewise.
31790         Reported by Christian Jullien <eligis@orange.fr>.
31792 2011-09-10  Bruno Haible  <bruno@clisp.org>
31794         iconv, unsetenv: Add support for MSVC compiler.
31795         * m4/iconv.m4 (AM_ICONV): Use ISO C declaration syntax on MSVC.
31796         * m4/setenv.m4 (gl_FUNC_UNSETENV): Drop support for K&R C compilers.
31798 2011-09-10  Bruno Haible  <bruno@clisp.org>
31800         *printf: Add support for MSVC compiler.
31801         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N): On MSVC, install a handler that
31802         handles the exception caused by the %n directive. When cross-compiling,
31803         guess no on native Windows.
31804         (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
31805         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1): When snprintf is missing,
31806         emulate it through vsnprintf.
31807         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Update comment.
31808         * doc/posix-functions/dprintf.texi: Update documentation regarding
31809         MSVC 9.
31810         * doc/posix-functions/fprintf.texi: Likewise.
31811         * doc/posix-functions/printf.texi: Likewise.
31812         * doc/posix-functions/snprintf.texi: Likewise.
31813         * doc/posix-functions/sprintf.texi: Likewise.
31814         * doc/posix-functions/swprintf.texi: Likewise.
31815         * doc/posix-functions/vdprintf.texi: Likewise.
31816         * doc/posix-functions/vfprintf.texi: Likewise.
31817         * doc/posix-functions/vprintf.texi: Likewise.
31818         * doc/posix-functions/vsnprintf.texi: Likewise.
31819         * doc/posix-functions/vsprintf.texi: Likewise.
31820         * doc/glibc-functions/asprintf.texi: Likewise.
31821         * doc/glibc-functions/obstack_printf.texi: Likewise.
31822         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
31823         * doc/glibc-functions/vasprintf.texi: Likewise.
31825 2011-09-10  Bruno Haible  <bruno@clisp.org>
31827         nocrash: Add support for native Windows.
31828         * m4/nocrash.m4 (GL_NOCRASH): Avoid a crash also on native Windows.
31830 2011-09-10  Michael Goffioul  <michael.goffioul@gmail.com>  (tiny change)
31831             Bruno Haible  <bruno@clisp.org>
31833         absolute-header, include-next: Add support for MSVC compiler.
31834         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Require
31835         AC_CANONICAL_HOST. On native Windows, recognize also backslash as
31836         directory separator in #line directives.
31837         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): On native Windows,
31838         recognize also backslash as directory separator in #line directives.
31840 2011-09-08  Jim Meyering  <meyering@redhat.com>
31842         maint.mk: mark the post-release commit log with "maint: " prefix
31843         * top/maint.mk (emit-commit-log): Add "maint: " prefix to the
31844         one-line commit-log summary.
31846 2011-09-08  Reuben Thomas  <rrt@sc3d.org>
31847             Bruno Haible  <bruno@clisp.org>
31849         Doc about crypt functions.
31850         * doc/posix-functions/crypt.texi: Mention need for _GNU_SOURCE on glibc
31851         systems.
31852         * doc/posix-functions/encrypt.texi: Likewise.
31853         * doc/posix-functions/setkey.texi: Likewise.
31855 2011-09-08  Simon Josefsson  <simon@josefsson.org>
31857         * lib/gc.h: Fix copyright header.
31859 2011-09-07  Bruno Haible  <bruno@clisp.org>
31861         pthread: Determine $(LIB_PTHREAD) correctly on OSF/1 5.1.
31862         * m4/pthread.m4 (gl_PTHREAD_CHECK): Use AC_CACHE_CHECK and
31863         AC_LINK_IFELSE instead of AC_SEARCH_LIBS.
31865 2011-09-07  Bruno Haible  <bruno@clisp.org>
31867         openat: Work around compilation error with OSF/1 5.1 DTK cc.
31868         * lib/fopen.c: Use different syntax for include of <stdio.h>.
31869         * lib/freopen.c: Likewise.
31870         * lib/fstatat.c: Use different syntax for include of <sys/stat.h>.
31871         * lib/lstat.c: Likewise.
31872         * lib/stat.c: Likewise.
31873         * lib/open.c: Use different syntax for include of <fcntl.h>.
31874         * lib/openat.c: Include fcntl.h again, explicitly.
31876 2011-09-04  J.T. Conklin  <jtc@acorntoolworks.com>
31878         parse-datetime: document the newly accepted format
31879         * doc/parse-datetime.texi (Combined date and time of day items):
31880         New section.
31882 2011-09-06  Bruno Haible  <bruno@clisp.org>
31884         acl: Fix a test failure on newer Solaris 10 with ZFS.
31885         * tests/test-sameacls.c (main): Interpret acl GETACLCNT failure with
31886         ENOSYS as no ACL.
31887         Reported by Jim Meyering.
31889 2011-09-06  Bruno Haible  <bruno@clisp.org>
31891         acl: Update for AIX >= 5.3 with NFS.
31892         * lib/file-has-acl.c (file_has_acl): Interpret aclx_get failure with
31893         ENOSYS as no ACL.
31895         acl: Fix a test failure on AIX >= 5.3 with NFS.
31896         * tests/test-sameacls.c (main): Interpret aclx_get failure with ENOSYS
31897         as no ACL.
31899 2011-09-06  Bruno Haible  <bruno@clisp.org>
31901         acl: Fix a test failure on IRIX 6.5 with NFS.
31902         * lib/acl-internal.h (MODE_INSIDE_ACL): Define to 0 on IRIX.
31903         * lib/set-mode-acl.c (qset_acl): Test !HAVE_ACL_TYPE_EXTENDED instead
31904         of MODE_INSIDE_ACL. If !MODE_INSIDE_ACL, do a chmod_or_fchmod always.
31905         * lib/copy-acl.c (qcopy_acl): Likewise.
31907 2011-09-05  Paul Eggert  <eggert@cs.ucla.edu>
31909         openat: port to AIX 7.1 with large files
31910         AIX 7.1 does a "#define openat open64at" if large files are in use,
31911         so we can't simply #undef openat.  Use the orig_openat trick (similar
31912         to orig_open in lib/open.c) to work around the problem.  Problem
31913         reported by Kevin Brott for GNU tar, in the thread containing
31914         <http://lists.gnu.org/r/bug-tar/2011-09/msg00032.html>.
31915         * lib/openat.c (__need_system_fcntl_h): Define first.
31916         Include <fcntl.h> and <sys/types.h> before undefining.
31917         (orig_openat) [HAVE_OPENAT]: New inline function.
31918         (openat) [HAVE_OPENAT]: Do not undef.
31919         (rpl_openat): Use orig_openat, not openat.
31921 2011-09-05  Joachim Schmitz  <schmitz@hp.com>  (tiny change)
31922             Bruno Haible  <bruno@clisp.org>
31924         acl: Avoid errors on NonStop Kernel.
31925         * lib/file-has-acl.c (file_has_acl) [NonStop Kernel]: Ignore ENOSYS and
31926         ENOTSUP errors.
31928 2011-09-05  Bruno Haible  <bruno@clisp.org>
31930         acl: Clean up Solaris code.
31931         * lib/acl-internal.h: Remove no-op #if.
31932         * lib/file-has-acl.c: Likewise.
31933         * lib/set-mode-acl.c (qset_acl): Remove unused Solaris code.
31934         * lib/copy-acl.c (qcopy_acl): Likewise.
31936 2011-09-05  Bruno Haible  <bruno@clisp.org>
31938         acl: Fix a bug with NFSv4 ACLs on Solaris 10 (newer version) in
31939         binaries built on the original Solaris 10.
31940         * lib/file-has-acl.c (file_has_acl): ACLs with 4..6 ACEs can be
31941         trivial.
31943 2011-09-05  Bruno Haible  <bruno@clisp.org>
31945         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
31946         * lib/acl-internal.h (acl_nontrivial): Declare also on newer Solaris
31947         10.
31948         * lib/file-has-acl.c (acl_nontrivial): Define also on newer Solaris 10.
31949         (acl_ace_nontrivial): Likewise. Recognize the trivial ACLs with 6 ACEs.
31950         * lib/copy-acl.c (qcopy_acl): On newer Solaris 10, use acl or facl
31951         instead of acl_get, facl_get, acl_set, facl_set.
31953 2011-09-05  Bruno Haible  <bruno@clisp.org>
31955         copy-file: Try unit tests on more file systems.
31956         * tests/test-copy-file-1.sh: New file.
31957         * tests/test-copy-file-2.sh: New file.
31958         * modules/copy-file-tests (Files): Add them.
31959         (Makefile.am): Add them to TESTS.
31961         acl: Try unit tests on more file systems.
31962         * tests/test-file-has-acl-1.sh: New file.
31963         * tests/test-file-has-acl-2.sh: New file.
31964         * tests/test-set-mode-acl-1.sh: New file.
31965         * tests/test-set-mode-acl-2.sh: New file.
31966         * tests/test-copy-acl-1.sh: New file.
31967         * tests/test-copy-acl-2.sh: New file.
31968         * modules/acl-tests (Files): Add them.
31969         (Makefile.am): Add them to TESTS.
31971 2011-09-04  Bruno Haible  <bruno@clisp.org>
31973         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
31974         * lib/acl-internal.h (ACE_*, NEW_ACE_*): Define also on newer Solaris
31975         10.
31976         (OLD_ALLOW, OLD_DENY): New macros.
31977         (NEW_ACE_ACCESS_ALLOWED_ACE_TYPE): Renamed from
31978         ACE_ACCESS_ALLOWED_ACE_TYPE.
31979         (NEW_ACE_ACCESS_DENIED_ACE_TYPE): Renamed from
31980         ACE_ACCESS_DENIED_ACE_TYPE.
31981         (OLD_ACE_OWNER, OLD_ACE_GROUP, OLD_ACE_OTHER): New macros.
31982         (NEW_ACE_EXECUTE): Fix value.
31983         (NEW_ACE_APPEND_DATA, NEW_ACE_READ_NAMED_ATTRS,
31984         NEW_ACE_WRITE_NAMED_ATTRS, NEW_ACE_DELETE_CHILD,
31985         NEW_ACE_READ_ATTRIBUTES, NEW_ACE_WRITE_ATTRIBUTES, NEW_ACE_DELETE,
31986         NEW_ACE_READ_ACL, NEW_ACE_WRITE_ACL, NEW_ACE_WRITE_OWNER,
31987         NEW_ACE_SYNCHRONIZE): New macros.
31988         * lib/set-mode-acl.c (qset_acl): On newer Solaris 10, use acl or facl
31989         instead of acl_fromtext, acl_set, facl_set.
31990         Fixes a coreutils/tests/cp/perm failure.
31992 2011-09-03  Paul Eggert  <eggert@cs.ucla.edu>
31994         openat: test for fstatat (..., 0) bug
31995         Further testing with tar suggests that fstatat (..., 0)
31996         does not work in general, on AIX 7.1; see
31997         <http://lists.gnu.org/r/bug-tar/2011-09/msg00023.html>.
31998         So, give up entirely on AIX 7.1's fstatat, and fall back on our
31999         replacement fstatat (which is what older AIX releases were using
32000         anyway).
32001         * lib/fstatat.c (fstatat) [HAVE_FSTATAT]: Do not undef.  The only
32002         use is now changed to orig_fstatat.  This was probably the right
32003         thing to do anyway.
32004         (FSTATAT_AT_FDCWD_0_BROKEN): Remove; no longer used.
32005         (rpl_fstatat) [FSTATAT_ZERO_FLAG_BROKEN]: Remove.
32006         (rpl_fstatat): Simplify, assuming !FSTATAT_ZERO_FLAG_BROKEN.
32007         (AT_FUNC_NAME) [FSTATAT_ZERO_FLAG_BROKEN]: Now rpl_fstatat.
32008         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for the more-general bug
32009         and define FSTATAT_ZERO_FLAG_BROKEN, not FSTATAT_AT_FDCWD_0_BROKEN,
32010         if the bug is found.
32012         openat: test for fstatat (AT_FDCWD, ..., 0) bug
32013         This tests for another fstatat bug on AIX 7.1:
32014         fstatat (AT_FDCWD, ..., 0) does not work.  See
32015         <http://lists.gnu.org/r/bug-tar/2011-09/msg00015.html>.
32016         * lib/fstatat.c (FSTATAT_AT_FDCWD_0_BROKEN)
32017         (LSTAT_FOLLOWS_SLASHED_SYMLINK): Default to 0.
32018         (rpl_fstatat): Adjust so that it works around either (or both)
32019         bugs if present.
32020         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for this fstatat bug.
32022 2011-09-03  Karl Berry  <karl@gnu.org>
32024         * doc/regex.texi (Character Class Operators): Avoid literal ":"
32025         in index entries.
32027 2011-09-02  Bruno Haible  <bruno@clisp.org>
32029         Allow the user to override the choice of AR, ARFLAGS, RANLIB.
32030         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Don't override the given
32031         values of AR, ARFLAGS, RANLIB.
32032         Reported by John W. Eaton <jwe@gnu.org> for Octave.
32034 2011-09-02  Bruno Haible  <bruno@clisp.org>
32036         Find 'ar' program that fits with --host argument.
32037         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Use AC_CHECK_TOOL.
32039 2011-09-02  Bruno Haible  <bruno@clisp.org>
32041         tests: init.sh: Support any non-GNU diff.
32042         * tests/init.sh (compare): If "diff -c" is supported but "diff -u" is
32043         not, use "diff -c". Useful on AIX 6.1, HP-UX 11.31, OSF/1 5.1,
32044         Solaris 8.
32046 2011-09-02  Bruno Haible  <bruno@clisp.org>
32048         tests: init.sh: work also with any non-GNU diff that supports -u
32049         * tests/init.sh: Relax check for diff -u support.
32050         Rather than checking for GNU diff via --version, simply check
32051         for support for -u itself.  Useful at least on OpenBSD 4.9,
32052         AIX 7.1, IRIX 6.5, and Solaris 10.
32054 2011-09-01  Bruno Haible  <bruno@clisp.org>
32056         strtoimax, strtoumax: Document problem on HP-UX 11.
32057         * doc/posix-functions/strtoimax.texi: Mention HP-UX 11.11 problem.
32058         * doc/posix-functions/strtoumax.texi: Likewise.
32060 2011-09-01  Bruno Haible  <bruno@clisp.org>
32062         strtoumax: Avoid link error on OSF/1 with DTK cc.
32063         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Always test whether strtoumax is
32064         defined as a function.
32065         * modules/strtoumax (Depends-on, configure.ac): Test only whether
32066         strtoumax is defined, not whether it is declared.
32068 2011-09-01  Bruno Haible  <bruno@clisp.org>
32070         strtoimax: Avoid link error on OSF/1 with DTK cc.
32071         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Always test whether strtoimax is
32072         defined as a function.
32073         * modules/strtoimax (Depends-on, configure.ac): Test only whether
32074         strtoimax is defined, not whether it is declared.
32076 2011-09-01  Bruno Haible  <bruno@clisp.org>
32078         imaxdiv: Avoid link error on OSF/1 with DTK cc.
32079         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Also test whether imaxdiv is defined
32080         as a function.
32081         * modules/imaxdiv (configure.ac): Test whether imaxdiv is defined, not
32082         whether it is declared.
32084 2011-09-01  Bruno Haible  <bruno@clisp.org>
32086         imaxabs: Avoid link error on OSF/1 with DTK cc.
32087         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Also test whether imaxabs is defined
32088         as a function.
32089         * modules/imaxabs (configure.ac): Test whether imaxabs is defined, not
32090         whether it is declared.
32092 2011-09-01  Bruno Haible  <bruno@clisp.org>
32094         Tests for module 'strtoumax'.
32095         * modules/strtoumax-tests: New file.
32096         * tests/test-strtoumax.c: New file.
32098         Tests for module 'strtoimax'.
32099         * modules/strtoimax-tests: New file.
32100         * tests/test-strtoimax.c: New file.
32102         Tests for module 'imaxdiv'.
32103         * modules/imaxdiv-tests: New file.
32104         * tests/test-imaxdiv.c: New file.
32106         Tests for module 'imaxabs'.
32107         * modules/imaxabs-tests: New file.
32108         * tests/test-imaxabs.c: New file.
32110 2011-09-01  Bruno Haible  <bruno@clisp.org>
32112         pthread: Determine $(LIB_PTHREAD) correctly on IRIX 6.5.
32113         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_join, not
32114         pthread_create.
32116 2011-09-01  Paul Eggert  <eggert@cs.ucla.edu>
32118         openat: work around AIX 7.1 fstatat issue
32119         This should fix the problem that was not properly fixed
32120         in the previous change, dated 2011-08-30.
32121         * lib/fstatat.c: Include <sys/stat.h> twice, the first with
32122         __need_system_stat_h defined.
32123         (orig_fstatat) [HAVE_FSTATAT]: New function.
32124         (rpl_fstatat): Go back to the old way of doing things,
32125         except call orig_fstatat instead of fstatat.
32126         * m4/openat.m4 (gl_FUNC_FSTATAT): Remove unnecessary check for openat.
32127         Remove unnecessary check whether fstatat fills in st_size etc.
32129 2011-09-01  Bruno Haible  <bruno@clisp.org>
32131         sys_select: Avoid a syntax error regarding timespec_t on IRIX 6.5.
32132         * lib/sys_select.in.h [__sgi]: When included from <sys/bsd_types.h>,
32133         just include the system's header.
32135 2011-08-31  Jim Meyering  <meyering@redhat.com>
32137         tests: avoid spurious assertion failure in test-float.c on ppc64
32138         * tests/test-float.c (test_long_double): Comment out an assertion,
32139         LDBL_MIN_EXP <= DBL_MIN_EXP, that is failing at least on PowerPC-64
32140         with gcc-4.4.4.
32142         maint: indent with spaces, not TABs
32143         I need to get in the habit of running gnulib's "make check".
32144         Both of these would have been caught.
32145         * m4/largefile.m4: Indent with spaces, not TABs.
32146         * lib/parse-datetime.y (iso_8601_time): Likewise.
32147         Spotted by Pádraig Brady.
32149         test-parse-datetime.c: accommodate a relatively strict gcc warning
32150         * tests/test-parse-datetime.c (gmt_offset): Declare function "static",
32151         to avoid a warning from gcc's -Werror=missing-declarations.
32152         Insert a few spaces-before-funcall-parenthesis.
32154 2011-08-17  J.T. Conklin  <jtc@acorntoolworks.com>
32156         parse-datetime: accept ISO 8601 date and time rep with "T" separator
32157         The parser now accepts ISO 8601 date-time strings with "T" as the
32158         separator.  It has long parsed dates like "2004-02-29 16:21:42"
32159         with a space between the date and time strings.  Now it also parses
32160         "2004-02-29T16:21:42" and fractional-second and time-zone-annotated
32161         variants like "2004-02-29T16:21:42.333-07:00"
32162         * lib/parse-datetime.y: Parse ISO 8601 extended date and time
32163         of day representation using the 'T' separator character.
32164         * doc/parse-datetime.texi (General date syntax): replace use of
32165         deprecated --iso-8601 option with --rfc-3339 in example of date
32166         command output formats that can be parsed.
32167         * tests/test-parse-datetime.c (tm_diff): New function, taken from
32168         lib/parse-datetime.y.
32169         (gmt_offset): New function.
32170         (main): Add additional test cases to validate ISO8601 extended
32171         date and time of day parsing.
32173 2011-08-31  Bruno Haible  <bruno@clisp.org>
32175         freopen: Documentation.
32176         * doc/posix-functions/freopen.texi: Document the bug with the NULL file
32177         name.
32178         Reported by Claudio Bley <claudio.bley@gmail.com>.
32180 2011-08-31  Claudio Bley  <claudio.bley@gmail.com>  (tiny change)
32182         freopen: Don't crash if the filename argument is NULL.
32183         * lib/freopen.c (rpl_freopen): Don't compare the filename if it is
32184         NULL.
32186 2011-08-30  Paul Eggert  <eggert@cs.ucla.edu>
32188         openat: work around AIX 7.1 fstatat bug
32189         Problem reported by Kevin Brott for GNU tar, in the thread containing
32190         <http://lists.gnu.org/r/bug-tar/2011-08/msg00015.html>.
32191         * lib/fstatat.c (rpl_fstatat): Do not invoke underlying fstatat if
32192         FSTATAT_ST_SIZE_ETC_BROKEN.
32193         (fstatat) [FSTATAT_ST_SIZE_ETC_BROKEN && HAVE_FSTATAT]: #define to
32194         rpl_fstatat.
32195         * m4/openat.m4 (gl_FUNC_FSTATAT): New macro, with the fstatat-relevant
32196         part of gl_FUNC_OPENAT.  Also, check for the AIX 7.1 bug, and use
32197         AC_CHECK_FUNCS_ONCE for fstatat.
32198         (gl_FUNC_OPENAT): Use it.  Use AC_CHECK_FUNCS_ONCE for
32199         fchmodat, mkdirat, openat and unlinkat.
32201 2011-08-30  Bruno Haible  <bruno@clisp.org>
32203         Avoid endless recursions if config.h includes some header files.
32204         * lib/fopen.c (__need_FILE): Define already before including config.h.
32205         * lib/freopen.c (__need_FILE): Likewise.
32206         * lib/open.c (__need_system_fcntl_h): Likewise.
32207         * lib/stat.c (__need_system_sys_stat_h): Likewise.
32208         * lib/lstat.c (__need_system_sys_stat_h): Likewise.
32209         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
32211 2011-08-25  Karl Berry  <karl@gnu.org>
32213         * config/srclist.txt (ylwrap): new try.
32214         * build-aux/ylwrap: new file.
32216 2011-08-23  Bruno Haible  <bruno@clisp.org>
32218         tmpdir: Use a good default directory on native Windows.
32219         * lib/tmpdir.c: Include <windows.h>, pathmax.h.
32220         (P_tmpdir): Default to _P_tmpdir on native Windows.
32221         (path_search): On native Windows, try the value returned by GetTempPath
32222         before trying P_tmpdir.
32223         * modules/tmpdir (Depends-on): Add pathmax.
32224         Suggested by John Darrington <john@darrington.wattle.id.au>.
32226 2011-08-20  Reuben Thomas  <rrt@sc3d.org>
32228         doc: fix typo in README-release
32229         * top/README-release: Capitalize first word of a sentence.
32231 2011-08-19  Jim Meyering  <meyering@redhat.com>
32233         fts: do not exhaust memory when processing million-entry directories
32234         Before this change, traversing (via rm -rf, find, du, etc.) an N-entry
32235         directory would require about 256*N bytes of memory.  Thus, it was
32236         easy to construct a directory too large to be processed by any of
32237         those tools.  With this change, fts' maximum memory utilization is
32238         now limited to around 30MB.
32239         * lib/fts.c (FTS_MAX_READDIR_ENTRIES): Define.
32240         (fts_read): When we've processed the final entry (i.e., when
32241         ->fts_link is NULL) and fts_dirp is non-NULL, call fts_build
32242         using the parent entry to read any remaining entries.  Dispatch
32243         depending on what fts_build returns:
32244         - NULL+stop, aka failure: stop
32245         - NULL otherwise: move up in the dir hierarchy
32246         - non-NULL: handle this new entry
32247         (fts_build): Declare and use new local, continue_readdir.
32248         Prepare to be called from fts_read, when the entries
32249         from a partially-read directory have just been exhausted.
32250         In that case, we'll skip the opendir and instead use the parent's
32251         fts_dirp and derive dir_fd from that.
32252         Finally, in the readdir loop, if we read max_entries entries,
32253         exit the loop ensuring *not* to call closedir.  This is required
32254         so that fts_dirp can be reused on a subsequent call.
32255         Prompted by Ben England's report of memory exhaustion in find
32256         and rm -rf vs. NFS: https://bugzilla.redhat.com/719749.
32258         maint: fts: move decl of `dp' down into while loop; split a long line
32259         * lib/fts.c (fts_build): No semantic change.
32261         fts: add/use new struct member, fts_dirp
32262         We are about to use this to manage any directory with
32263         too many entries to read all of them into memory at once.
32264         To do that, we'll need to save the DIR* pointer in each
32265         affected FTSENT struct.
32266         * lib/fts_.h: Include <dirent.h>.
32267         (struct FTSENT) [fts_dirp]: New member.
32268         * lib/fts.c (closedir_and_clear): Define.
32269         Use it in place of closedir so that we are sure to
32270         clear the new fts_dirp member when done with it.
32271         (fts_alloc): Initialize the new member.
32272         (fts_lfree): Free, if needed.
32274         maint: fts: give __opendir2 a new parameter and rename
32275         * lib/fts.c (__opendir2): Give it a new parameter, Pdir_fd, rather
32276         than surreptitiously using sole caller's "dir_fd".
32277         (fts_opendir): Rename from __opendir2.
32279         maint: fts.c: remove __opendir2's now-unused parameter, oflag
32280         * lib/fts.c (__opendir2): Remove unused parameter, oflag.
32282         maint: fts.c: correct off-by-one indentation
32283         * lib/fts.c (fts_build): Correct indentation, change style
32284         of a couple of block comments, and bracing style.
32286         maint: fts.c: move __opendir2 #define "up" out of function body
32287         * lib/fts.c (__opendir2): Move "up".  No semantic change.
32289         maint: fts.c: remove #if-0'd FTS_WHITEOUT code
32290         * lib/fts.c: Remove #if-0'd FTS_WHITEOUT code.  It's been #if-0'd
32291         out for a long time and besides was useful only on BSD systems.
32293 2011-08-18  Paul Eggert  <eggert@cs.ucla.edu>
32295         regex: port to Stratus OpenVOS
32296         * lib/regex_internal.h (internal_function) [!_LIBC]: Simply
32297         define to empty, rather than attempting nonportable optimizations.
32298         Problem reported by Paul Green in:
32299         http://lists.gnu.org/r/bug-diffutils/2011-08/msg00047.html
32300         and fix suggested by Eric Blake in:
32301         http://lists.gnu.org/r/bug-gnulib/2011-08/msg00143.html
32303 2011-08-17  Eric Blake  <eblake@redhat.com>
32305         getcwd: fix test failures on mingw
32306         * lib/getcwd.c (__getcwd): Early exit for ERANGE.
32307         * tests/test-getcwd.c (test_abort_bug, test_long_name): Don't fail
32308         test if long directory cannot be created, and allow mingw errno.
32310         getcwd-lgpl: fix m4 to match relaxed test for BSD
32311         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Relax probe.
32312         (gl_FUNC_GETCWD_SIGNATURE): New macro.
32313         (gl_FUNC_GETCWD_LGPL, gl_FUNC_GETCWD): Use it.
32314         * doc/posix-functions/getcwd.texi (getcwd): Tweak mentions of
32315         signature problem.
32317         getcwd: fix compilation on mingw64
32318         * lib/unistd.in.h (includes) [mingw]: Include <direct.h> for
32319         getcwd.
32320         Reported by Marc-André Lureau.
32322         pipe2: silence compiler warning
32323         * lib/pipe2.c (pipe2): Hide label if it is not used.
32325 2011-08-15  Ben Pfaff  <blp@cs.stanford.edu>
32327         relocatable-prog: fix link error
32328         * modules/relocatable-prog (configure.ac) [RELOCATABLE]: Also
32329         invoke AC_LIBOBJ([relocatable]).  This invocation was previously
32330         in the gl_RELOCATABLE_LIBRARY macro.  That invocation was moved
32331         into modules/relocatable-lib without noticing that
32332         modules/relocatable-prog also invokes gl_RELOCATABLE_LIBRARY and
32333         also needs to build relocatable.c.
32335 2011-08-12  Paul Eggert  <eggert@cs.ucla.edu>
32337         getaddrinfo: fix sh typo in gai_strerrorA decl checking
32338         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix typo in the generated
32339         shell code: it contained a 'break' that was not in a loop.
32340         Apparently the macro assumed that AC_CHECK_DECLS is implemenented
32341         via a shell-language loop; this may have been true in old Autoconf
32342         versions, but it's not true in Autoconf 2.68.  I found this bug
32343         when testing coreutils git on Solaris 8, whose shell complains
32344         about the syntax error.
32346 2011-08-12  Simon Josefsson  <simon@josefsson.org>
32348         * lib/base64.c: Fix comment to reference RFC 4648.
32349         Suggested by Bruno Haible <bruno@clisp.org> and Gijs van Tulder
32350         <gvtulder@gmail.com>.
32352 2011-08-11  Paul Eggert  <eggert@cs.ucla.edu>
32354         * build-aux/bootstrap (slurp): Remove obsolescent gettext.m4 patch.
32356         po/Makefile.in.in: fix make -q problem
32357         * build-aux/po/Makefile.in.in (check-macro-version): Remove this
32358         rule, since there's no file named 'check-macro-version' and its
32359         use as a file breaks make -q.
32360         (all): Don't depend on check-macro-version.
32361         (CHECK_MACRO_VERSION): New macro.
32362         (stamp-po): Use it.
32364         configmake: fix make -q problem
32365         * modules/configmake (configmake.h): Update configmake.h's time stamp
32366         even if the file does not change.  Otherwise, 'make -q' fails.
32367         Problem reported by Simon Josefsson in
32368         <http://lists.gnu.org/r/bug-gnulib/2011-08/msg00088.html>.
32370 2011-08-11  Jim Meyering  <meyering@redhat.com>
32372         git-version-gen: correct the advice in a comment
32373         * build-aux/git-version-gen: Correct comment.
32374         Don't recommend to list .tarball-version in .gitignore.
32376 2011-08-10  Paul Eggert  <eggert@cs.ucla.edu>
32378         base64: fix off-by-one buffer size bug
32379         Problem and (trivial) fix reported by Gijs van Tulder in
32380         <http://lists.gnu.org/r/bug-gnulib/2011-08/msg00083.html>.
32381         * lib/base64.c (base64_decode_alloc_ctx): Allocate one more byte.
32382         * tests/test-base64.c (main): Catch the bug.
32384 2011-08-10  Eric Blake  <eblake@redhat.com>
32386         closein: correct comments
32387         * lib/closein.c (close_stdin): Improve comments.
32389 2011-08-09  Bruno Haible  <bruno@clisp.org>
32391         More tests for 'fseeko'.
32392         * tests/test-fseeko3.c: New file, from Eric Blake.
32393         * tests/test-fseeko3.sh: New file.
32394         * modules/fseeko-tests (Files): Add them.
32395         (TESTS): Add test-fseeko3.sh.
32396         (check_PROGRAMS): Add test-fseeko3.
32398 2011-08-09  Eric Blake  <eblake@redhat.com>
32400         fseeko: remove unneeded hack
32401         * lib/fseeko.c (fseeko): Don't special-case SEEK_END.
32403         fseeko: fix bug on glibc
32404         * lib/fseeko.c (fseeko): Set stream offset to match fd offset.
32405         Reported by John W. Eaton.
32407 2011-08-08  Bruno Haible  <bruno@clisp.org>
32409         unictype/base: Fix interoperability with preinstalled libunistring.
32410         * modules/unictype/base (configure.ac): Bump minimum version to 0.9.4.
32411         Reported by Simon Josefsson.
32413 2011-08-08  Bruno Haible  <bruno@clisp.org>
32415         iswblank: Detect declaration correctly.
32416         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Use correct headers in
32417         AC_CHECK_DECLS invocation.
32419 2011-08-08  Bruno Haible  <bruno@clisp.org>
32421         tcgetsid: Detect declaration correctly.
32422         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Use correct headers in
32423         AC_CHECK_DECLS invocation.
32424         Reported by Simon Josefsson.
32426 2011-08-08  Eric Blake  <eblake@redhat.com>
32428         largefile: fix typo that regressed large file support
32429         * modules/largefile (configure.ac-early): Fix section name.
32431 2011-08-06  Karl Berry  <karl@gnu.org>
32433         * MODULES.html.sh (func_all_files): _Noreturn is no longer
32434         a separate module.
32436 2011-08-05  Simon Josefsson  <simon@josefsson.org>
32438         openat: Fix warnings and commens when building unlinkat.c on Hurd.
32439         * lib/unlinkat.c: Mention Hurd in comments.  Include stdlib.h to
32440         get prototype for free.
32442 2011-08-04  Bruno Haible  <bruno@clisp.org>
32444         Tests for module 'pathmax'.
32445         * modules/pathmax-tests: New file.
32446         * tests/test-pathmax.c: New file.
32448         canonicalize-lgpl: Support larger filenames on the Hurd.
32449         * lib/canonicalize-lgpl.c (__realpath): Bump path_max fallback to 8192.
32450         Reported by Paul Eggert.
32452         pathmax: Leave PATH_MAX undefined on the Hurd, and a constant otherwise.
32453         * lib/pathmax.h (PATH_MAX): Leave it undefined on GNU/Hurd.
32454         * lib/chdir-long.h: Include pathmax.h.
32455         * lib/clean-temp.c (PATH_MAX): Remove code that is done by pathmax.h.
32456         * lib/getcwd.c: Include pathmax.h instead of <limits.h>.
32457         (PATH_MAX): Remove code that is done by pathmax.h.
32458         * lib/canonicalize.c (PATH_MAX): Provide a fallback value.
32459         * lib/tmpfile.c: Add a comment.
32460         * m4/pathmax.m4 (gl_PATHMAX): Don't test for pathconf.
32461         * modules/chdir-long (Depends-on): Add pathmax.
32462         * modules/getcwd (Depends-on): Add pathmax.
32463         * tests/test-getcwd.c (test_abort_bug): Avoid syntax error when PATH_MAX
32464         is not defined.
32465         * doc/posix-headers/limits.texi: Mention the pathmax module.
32466         * NEWS: Mention the change.
32468 2011-08-02  Bruno Haible  <bruno@clisp.org>
32470         pthread_sigmask: Actually use results of gl_THREADLIB.
32471         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test and require
32472         gl_THREADLIB, not gl_[]THREADLIB.
32473         Reported by Eric Blake.
32475 2011-08-02  Jim Meyering  <meyering@redhat.com>
32477         maint.mk: relax the default _gl_TS_function_match regexp
32478         * top/maint.mk (_gl_TS_function_match): Don't require at least one
32479         space between function name and "(" in an "extern" declaration.
32480         That would fail to match a decl with no space there: extern void foo();
32482 2011-07-31  Iain Nicol  <iain@thenicols.net>
32484         git-version-gen: document that EXTRA_DIST must include .version
32485         * build-aux/git-version-gen: In the how-to-use comment, document
32486         that EXTRA_DIST must include .version.  Otherwise, "make distcheck"
32487         will fail when run from an unpacked distribution tarball.
32489 2011-08-01  Bruno Haible  <bruno@clisp.org>
32491         wctype-h: Fix last change.
32492         * m4/wctype_h.m4 (gl_WCTYPE_H): If towlower is defined, set
32493         REPLACE_TOWLOWER to 0.
32494         Reported by Sam Steingold <sds@gnu.org>.
32496 2011-07-31  Bruno Haible  <bruno@clisp.org>
32498         frexpl: Update autoconf test.
32499         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Update overrides of <float.h>,
32500         according to changes of 2011-06-20.
32502 2011-07-31  Bruno Haible  <bruno@clisp.org>
32504         sys_utsname: Add support for Minix.
32505         * lib/sys_utsname.in.h [Minix]: Include <stddef.h> before
32506         <sys/utsname.h>.
32507         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
32508         * doc/posix-headers/sys_utsname.texi: Document the Minix problem.
32510 2011-07-31  Bruno Haible  <bruno@clisp.org>
32512         strings: Add support for Minix.
32513         * lib/strings.in.h [Minix]: Include <sys/types.h> before <strings.h>.
32514         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
32515         * doc/posix-headers/strings.texi: Document the Minix problem.
32517 2011-07-31  Bruno Haible  <bruno@clisp.org>
32519         wctype-h: Add support for Minix.
32520         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towlower is declared. Set
32521         REPLACE_TOWLOWER.
32522         * modules/wctype-h (Makefile.am): Substitute REPLACE_TOWLOWER.
32523         * lib/wctype.in.h (towlower, towupper): Test REPLACE_TOWLOWER, not
32524         REPLACE_ISWCNTRL.
32526 2011-07-31  Paul Eggert  <eggert@cs.ucla.edu>
32528         * lib/xalloc.h (DEFAULT_MXFAST): Track 64-bit glibc.
32529         This is a performance improvement for 64-bit hosts: it causes the
32530         value of DEFAULT_MXFAST to track what's in glibc on such hosts.
32532 2011-07-31  Bruno Haible  <bruno@clisp.org>
32534         stdioext: Add support for Minix.
32535         * lib/fbufmode.c (fbufmode) [__minix]: Add conditional code.
32536         * lib/fpurge.c (fpurge): Likewise.
32537         * lib/freadahead.c (freadahead): Likewise.
32538         * lib/freadable.c (freadable): Likewise.
32539         * lib/freading.c (freading): Likewise.
32540         * lib/freadptr.c (freadptr): Likewise.
32541         * lib/freadseek.c (freadptrinc): Likewise.
32542         * lib/fseeko.c (rpl_fseeko): Likewise.
32543         * lib/fseterr.c (fseterr): Likewise.
32544         * lib/fwritable.c (fwritable): Likewise.
32545         * lib/fwriting.c (fwriting): Likewise.
32546         * lib/fflush.c (clear_ungetc_buffer): Update comment.
32547         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Minix.
32549 2011-07-31  Bruno Haible  <bruno@clisp.org>
32551         errno: Port to Minix.
32552         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also whether ENETRESET and
32553         ECONNABORTED are defined.
32554         * lib/errno.in.h (ENETRESET, GNULIB_defined_ENETRESET, ECONNABORTED,
32555         GNULIB_defined_ECONNABORTED): New macros.
32556         * lib/strerror-override.h (strerror_override): Test also
32557         GNULIB_defined_ENETRESET, GNULIB_defined_ECONNABORTED.
32558         * lib/strerror-override.c (strerror_override): Handle also ENETRESET,
32559         ECONNABORTED.
32560         * doc/posix-headers/errno.texi: Mention the Minix problem.
32562 2011-07-31  Bruno Haible  <bruno@clisp.org>
32564         Work around declaration collisions on Minix.
32565         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): If mbsinit is declared but not
32566         defined, set REPLACE_MBSINIT.
32567         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): If mbrtowc is declared but not
32568         defined, set REPLACE_MBRTOWC.
32569         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): If mbrlen is declared but not defined,
32570         set REPLACE_MBRLEN.
32571         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): If mbsrtowcs is declared but not
32572         defined, set REPLACE_MBSRTOWCS.
32573         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): If wcrtomb is declared but not
32574         defined, set REPLACE_WCRTOMB.
32575         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): If wcsrtombs is declared but not
32576         defined, set REPLACE_WCSRTOMBS.
32578 2011-07-31  Bruno Haible  <bruno@clisp.org>
32580         Add support for Minix with ACK compiler.
32581         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): New macro.
32582         * gnulib-tool (func_import, func_create_testdir): Emit invocation of
32583         gl_PROG_AR_RANLIB instead of AC_PROG_RANLIB.
32585 2011-07-31  Bruno Haible  <bruno@clisp.org>
32587         Documentation about Minix.
32588         * doc/posix-headers/*.texi: Add info about Minix 3.1.8.
32589         * doc/glibc-headers/*.texi: Likewise.
32590         * doc/posix-functions/*.texi: Likewise.
32591         * doc/glibc-functions/*.texi: Likewise.
32593 2011-07-31  Bruno Haible  <bruno@clisp.org>
32595         snippet/warn-on-use: Fix indentation.
32596         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix indentation.
32598 2011-07-25  Jim Meyering  <meyering@redhat.com>
32600         tests: test-update-copyright.sh: remove unnecessary "rm" commands
32601         * tests/test-update-copyright.sh: Remove unused rm -f $TMP.*.bak
32602         commands.
32604 2011-07-27  Jim Meyering  <meyering@redhat.com>
32606         maint.mk: avoid sc_prohibit_always-defined_macros failure in coreutils
32607         * top/maint.mk (gl_extract_significant_defines_): Now that
32608         SA_RESETHAND and SA_RESTART are #defined (albeit conditionally) in
32609         gnulib/lib/signal.in.h, and now that we recommend to
32610         define-if-undefined those two symbols in application code,
32611         we must filter them out of the "significant" list.
32612         This avoids a "make syntax-check" failure in coreutils.
32614 2011-07-26  Eric Blake  <eblake@redhat.com>
32616         warnings: add comments about previous patch
32617         * m4/absolute-header.m4: Document AS_VAR_PUSHDEF limitation.
32618         * m4/include_next.m4: Likewise.
32619         * m4/warn-on-use.m4: Likewise.
32620         * m4/warnings.m4: Likewise, and simplify use.
32621         Suggested by Stefano Lattarini.
32623         include-next, warnings: support older autoconf
32624         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Use
32625         AS_VAR_PUSHDEF in a way that works with older autoconf.
32626         * m4/warnings.m4 (gl_WARN_ADD): Likewise.
32627         Reported by Daniel P. Berrange.
32629 2011-07-25  Bruno Haible  <bruno@clisp.org>
32631         fseek, ftell: Fix doc.
32632         * doc/posix-functions/fseek.texi: Reword statement about
32633         AC_SYS_LARGEFILE.
32634         * doc/posix-functions/ftell.texi: Likewise.
32636 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
32637             Bruno Haible  <bruno@clisp.org>
32639         Add dependencies to the 'largefile' module.
32640         * modules/fopen (Depends-on): Add 'largefile'.
32641         * modules/freopen (Depends-on): Likewise.
32642         * modules/fseeko (Depends-on): Likewise.
32643         * modules/ftello (Depends-on): Likewise.
32644         * modules/glob (Depends-on): Likewise.
32645         * modules/lseek (Depends-on): Likewise.
32646         * modules/lstat (Depends-on): Likewise.
32647         * modules/mkostemp (Depends-on): Likewise.
32648         * modules/mkostemps (Depends-on): Likewise.
32649         * modules/mkstemp (Depends-on): Likewise.
32650         * modules/mkstemps (Depends-on): Likewise.
32651         * modules/open (Depends-on): Likewise.
32652         * modules/openat (Depends-on): Likewise.
32653         * modules/pread (Depends-on): Likewise.
32654         * modules/pwrite (Depends-on): Likewise.
32655         * modules/scandir (Depends-on): Likewise.
32656         * modules/stat (Depends-on): Likewise.
32657         * modules/tmpfile (Depends-on): Likewise.
32658         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Do not require AC_SYS_LARGEFILE,
32659         since the containing module now depends on the largefile module.
32660         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Likewise.
32661         * doc/posix-functions/fopen.texi: Mention that the problem of 32-bit
32662         off_t is fixed by gnulib.
32663         * doc/posix-functions/freopen.texi: Likewise.
32664         * doc/posix-functions/fseeko.texi: Likewise.
32665         * doc/posix-functions/fstatat.texi: Likewise.
32666         * doc/posix-functions/ftello.texi: Likewise.
32667         * doc/posix-functions/glob.texi: Likewise.
32668         * doc/posix-functions/lseek.texi: Likewise.
32669         * doc/posix-functions/lstat.texi: Likewise.
32670         * doc/posix-functions/mkstemp.texi: Likewise.
32671         * doc/posix-functions/open.texi: Likewise.
32672         * doc/posix-functions/openat.texi: Likewise.
32673         * doc/posix-functions/pread.texi: Likewise.
32674         * doc/posix-functions/pwrite.texi: Likewise.
32675         * doc/posix-functions/scandir.texi: Likewise.
32676         * doc/posix-functions/stat.texi: Likewise.
32677         * doc/posix-functions/tmpfile.texi: Likewise.
32678         * doc/glibc-functions/mkostemp.texi: Likewise.
32679         * doc/glibc-functions/mkostemps.texi: Likewise.
32680         * doc/glibc-functions/mkstemps.texi: Likewise.
32682 2011-07-25  Bruno Haible  <bruno@clisp.org>
32684         fcntl: Move AC_LIBOBJ invocation to module description.
32685         * m4/fcntl.m4 (gl_REPLACE_FCNTL): Don't invoke AC_LIBOBJ.
32686         * modules/fcntl (configure.ac): Invoke AC_LIBOBJ.
32688         fcntl: Remove call-in from fchdir.m4.
32689         * m4/fcntl.m4 (gl_FUNC_FCNTL): Conditionally invoke gl_TEST_FCHDIR.
32690         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_FCNTL.
32692         dup3: Remove potential call-in from fchdir.m4.
32693         * m4/dup3.m4 (gl_FUNC_DUP3): Add comment about fchdir.
32694         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Remove comment about dup3.
32696         dup2: Move AC_LIBOBJ invocation to module description.
32697         * m4/dup2.m4 (gl_REPLACE_DUP2): Remove macro.
32698         (gl_FUNC_DUP2): Instead of gl_REPLACE_DUP2, just set REPLACE_DUP2 to 1.
32699         Don't invoke AC_LIBOBJ.
32700         * modules/dup2 (configure.ac): Invoke AC_LIBOBJ.
32702         dup2: Remove call-in from fchdir.m4.
32703         * m4/dup2.m4 (gl_FUNC_DUP2): Conditionally invoke gl_TEST_FCHDIR.
32704         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_DUP2.
32706         fclose: Move AC_LIBOBJ invocation to module description.
32707         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Remove macro.
32708         (gl_FUNC_FCLOSE): Instead of gl_REPLACE_FCLOSE, just set REPLACE_FCLOSE
32709         to 1.
32710         * modules/fclose (configure.ac): Invoke AC_LIBOBJ.
32712         fclose: Remove call-in from close.m4.
32713         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_CLOSE.
32714         * m4/close.m4 (gl_FUNC_CLOSE): Don't invoke gl_REPLACE_FCLOSE.
32716         close: Move AC_LIBOBJ invocation to module description.
32717         * m4/close.m4 (gl_REPLACE_CLOSE): Remove macro.
32718         (gl_FUNC_CLOSE): Instead of gl_REPLACE_CLOSE, just set REPLACE_CLOSE to
32719         1.
32720         * modules/close (configure.ac): Invoke AC_LIBOBJ.
32722         close: Remove call-in from fchdir.m4.
32723         * m4/close.m4 (gl_FUNC_CLOSE): Conditionally invoke gl_TEST_FCHDIR.
32724         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_CLOSE.
32726         open: Move AC_LIBOBJ invocation to module description.
32727         * m4/open.m4 (gl_REPLACE_OPEN): Remove macro.
32728         (gl_FUNC_OPEN): Instead of gl_REPLACE_OPEN, just set REPLACE_OPEN to 1.
32729         * modules/open (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_OPEN.
32731         open: Remove call-in from fchdir.m4.
32732         * m4/open.m4 (gl_FUNC_OPEN): Conditionally invoke gl_TEST_FCHDIR.
32733         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_OPEN.
32735         fchdir: Start to remove gl_REPLACE_* idiom.
32736         * m4/fchdir.m4 (gl_TEST_FCHDIR): New macro.
32737         (gl_FUNC_FCHDIR): Invoke it.
32739 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
32741         * lib/ftell.c (ftell): Comment out cast.
32743         close: use gl_REPLACE_FCLOSE only if defined
32744         * m4/close.m4 (gl_REPLACE_CLOSE): Use gl_REPLACE_FCLOSE only if it
32745         is defined.  The close module doesn't depend on the fclose module
32746         any more, so gl_REPLACE_CLOSE's existence cannot be assumed.  See
32747         <http://lists.gnu.org/r/bug-gnulib/2011-07/msg00392.html>.
32748         I reproduced the problem with "./gnulib-tool --test close sys_socket".
32750 2011-07-24  Jim Meyering  <meyering@redhat.com>
32752         test-select.h: avoid warning when using gcc's -Wmissing-declarations
32753         * tests/test-select.h (test_function): Declare as "static".
32755 2011-07-24  Bruno Haible  <bruno@clisp.org>
32757         doc: Mention the effects of AC_SYS_LARGEFILE.
32758         * doc/posix-functions/aio_cancel.texi: Mention the effects of AC_SYS_LARGEFILE
32759         on this function.
32760         * doc/posix-functions/aio_error.texi: Likewise.
32761         * doc/posix-functions/aio_fsync.texi: Likewise.
32762         * doc/posix-functions/aio_read.texi: Likewise.
32763         * doc/posix-functions/aio_return.texi: Likewise.
32764         * doc/posix-functions/aio_suspend.texi: Likewise.
32765         * doc/posix-functions/aio_write.texi: Likewise.
32766         * doc/posix-functions/fgetpos.texi: Likewise.
32767         * doc/posix-functions/fopen.texi: Likewise.
32768         * doc/posix-functions/freopen.texi: Likewise.
32769         * doc/posix-functions/fsetpos.texi: Likewise.
32770         * doc/posix-functions/fstatvfs.texi: Likewise.
32771         * doc/posix-functions/ftruncate.texi: Likewise.
32772         * doc/posix-functions/ftw.texi: Likewise.
32773         * doc/posix-functions/getrlimit.texi: Likewise.
32774         * doc/posix-functions/glob.texi: Likewise.
32775         * doc/posix-functions/lio_listio.texi: Likewise.
32776         * doc/posix-functions/lockf.texi: Likewise.
32777         * doc/posix-functions/mkstemp.texi: Likewise.
32778         * doc/posix-functions/mmap.texi: Likewise.
32779         * doc/posix-functions/nftw.texi: Likewise.
32780         * doc/posix-functions/openat.texi: Likewise.
32781         * doc/posix-functions/opendir.texi: Likewise.
32782         * doc/posix-functions/posix_fadvise.texi: Likewise.
32783         * doc/posix-functions/posix_fallocate.texi: Likewise.
32784         * doc/posix-functions/pread.texi: Likewise.
32785         * doc/posix-functions/pwrite.texi: Likewise.
32786         * doc/posix-functions/readdir.texi: Likewise.
32787         * doc/posix-functions/readdir_r.texi: Likewise.
32788         * doc/posix-functions/rewinddir.texi: Likewise.
32789         * doc/posix-functions/scandir.texi: Likewise.
32790         * doc/posix-functions/seekdir.texi: Likewise.
32791         * doc/posix-functions/setrlimit.texi: Likewise.
32792         * doc/posix-functions/statvfs.texi: Likewise.
32793         * doc/posix-functions/telldir.texi: Likewise.
32794         * doc/posix-functions/tmpfile.texi: Likewise.
32795         * doc/posix-functions/truncate.texi: Likewise.
32796         * doc/glibc-functions/fallocate.texi: Likewise.
32797         * doc/glibc-functions/fstatfs.texi: Likewise.
32798         * doc/glibc-functions/fts_children.texi: Likewise.
32799         * doc/glibc-functions/fts_read.texi: Likewise.
32800         * doc/glibc-functions/getdirentries.texi: Likewise.
32801         * doc/glibc-functions/mkostemp.texi: Likewise.
32802         * doc/glibc-functions/mkostemps.texi: Likewise.
32803         * doc/glibc-functions/mkstemps.texi: Likewise.
32804         * doc/glibc-functions/preadv.texi: Likewise.
32805         * doc/glibc-functions/pwritev.texi: Likewise.
32806         * doc/glibc-functions/sendfile.texi: Likewise.
32807         * doc/glibc-functions/statfs.texi: Likewise.
32809 2011-07-24  Bruno Haible  <bruno@clisp.org>
32811         doc: Fix typo.
32812         * doc/posix-functions/fstat.texi: Talk about fstat, not stat.
32814 2011-07-24  Bruno Haible  <bruno@clisp.org>
32816         doc: Mention fsusage.
32817         * doc/posix-functions/statvfs.texi: Mention the fsusage module.
32819 2011-07-24  Bruno Haible  <bruno@clisp.org>
32821         doc: Mention new glibc headers and functions.
32822         * doc/glibc-headers/gshadow.texi: New file.
32823         * doc/glibc-functions/endsgent.texi: New file.
32824         * doc/glibc-functions/fgetsgent.texi: New file.
32825         * doc/glibc-functions/fgetsgent_r.texi: New file.
32826         * doc/glibc-functions/getsgent.texi: New file.
32827         * doc/glibc-functions/getsgent_r.texi: New file.
32828         * doc/glibc-functions/getsgnam.texi: New file.
32829         * doc/glibc-functions/getsgnam_r.texi: New file.
32830         * doc/glibc-functions/putsgent.texi: New file.
32831         * doc/glibc-functions/setsgent.texi: New file.
32832         * doc/glibc-functions/sgetsgent.texi: New file.
32833         * doc/glibc-functions/sgetsgent_r.texi: New file.
32834         * doc/glibc-functions/malloc_info.texi: New file.
32835         * doc/glibc-functions/preadv.texi: New file.
32836         * doc/glibc-functions/pwritev.texi: New file.
32837         * doc/glibc-functions/register_printf_modifier.texi: New file.
32838         * doc/glibc-functions/register_printf_specifier.texi: New file.
32839         * doc/glibc-functions/register_printf_type.texi: New file.
32840         * doc/glibc-functions/pthread_attr_getaffinity_np.texi: New file.
32841         * doc/glibc-functions/pthread_attr_setaffinity_np.texi: New file.
32842         * doc/glibc-functions/pthread_getaffinity_np.texi: New file.
32843         * doc/glibc-functions/pthread_getname_np.texi: New file.
32844         * doc/glibc-functions/pthread_mutex_consistent_np.texi: New file.
32845         * doc/glibc-functions/pthread_mutexattr_getrobust_np.texi: New file.
32846         * doc/glibc-functions/pthread_mutexattr_setrobust_np.texi: New file.
32847         * doc/glibc-functions/pthread_setaffinity_np.texi: New file.
32848         * doc/glibc-functions/pthread_setname_np.texi: New file.
32849         * doc/glibc-functions/pthread_sigqueue.texi: New file.
32850         * doc/glibc-functions/pthread_timedjoin_np.texi: New file.
32851         * doc/glibc-functions/pthread_tryjoin_np.texi: New file.
32852         * doc/glibc-functions/qsort_r.texi: New file.
32853         * doc/glibc-functions/quick_exit.texi: New file.
32854         * doc/glibc-functions/syncfs.texi: New file.
32855         * doc/gnulib.texi: Include them.
32856         (Glibc gshadow.h, Glibc sys/uio.h): New sections.
32857         * doc/posix-functions/psiginfo.texi: Fix info about glibc version.
32858         * doc/posix-functions/pthread_mutex_consistent.texi: Likewise.
32859         * doc/posix-functions/pthread_mutexattr_getrobust.texi: Likewise.
32860         * doc/posix-functions/pthread_mutexattr_setrobust.texi: Likewise.
32861         * doc/glibc-functions/execvpe.texi: Likewise.
32863 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
32865         ftell: don't include <unistd.h>
32866         * lib/ftell.c: Don't include <unistd.h>.  <stdio.h> is now
32867         guaranteed to define off_t, and the ftell module depends on the
32868         stdio module.
32870         ftell: do not assume wraparound signed arithmetic
32871         * lib/ftell.c: Include <limits.h>.
32872         (ftell): Don't assume wraparound signed arithmetic.
32874 2011-07-24  Bruno Haible  <bruno@clisp.org>
32876         close: No longer depend on module 'fclose'.
32877         * modules/close (Depends-on): Remove fclose.
32878         * NEWS: Mention the change.
32879         Suggested by Sam Steingold <sds@gnu.org>.
32881 2011-07-24  Bruno Haible  <bruno@clisp.org>
32883         fsusage: Enable large volume support on AIX >= 5.2.
32884         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): If 'struct statvfs64' has a
32885         larger f_blocks field than 'struct statvfs', define STAT_STATVFS64
32886         instead of STAT_STATVFS.
32887         * lib/fsusage.c (get_fs_usage) [STAT_STATVFS64]: Use statvfs64.
32889         fsusage: Restore previous behaviour on AIX, Cygwin, Interix.
32890         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Enforce a 64-bit struct statvfs
32891         f_blocks field only on MacOS X.
32893         fsusage: Support large volumes on glibc/Hurd, HP-UX, Solaris, MacOS X.
32894         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Require AC_SYS_LARGEFILE.
32895         * modules/fsusage (Depends-on): Add largefile.
32897 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
32899         * README: Modernize discussion of signed integers.
32900         Assuming overflow wraparound is no longer safe.
32901         Mention ones' complement and signed magnitude.
32903 2011-07-22  Bruno Haible  <bruno@clisp.org>
32905         select tests, pselect tests: Refactor.
32906         * tests/test-select.h: New file, extracted from tests/test-select.c.
32907         (select_fn): New type.
32908         (test, do_select, do_select_nowait, do_select_wait, test_tty,
32909         test_connect_first, test_accept_first, test_pair, test_socket_pair,
32910         test_pipe): Add my_select argument.
32911         (test_function): Renamed from main. Add my_select argument.
32912         * tests/test-select.c: Move most code to tests/test-select.h. Include
32913         test-select.h.
32914         * modules/select-tests (Files): Add tests/test-select.h.
32915         * tests/test-pselect.c: Include test-select.h instead of test-select.c.
32916         (my_select, main): New functions.
32917         * modules/pselect-tests (Files): Add tests/test-select.h,
32918         tests/macros.h, tests/signature.h.
32919         (Depends-on): Remove select-tests. Add dependencies of test-select.h.
32920         (configure.ac): Check for <sys/wait.h>.
32922 2011-07-22  Bruno Haible  <bruno@clisp.org>
32924         sys_select tests: Check the signature of FD_*.
32925         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Move
32926         signature tests from here...
32927         * tests/test-sys_select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): ... to
32928         here.
32929         * modules/sys_select-tests (Files): Add tests/signature.h.
32931 2011-07-22  Paul Eggert  <eggert@cs.ucla.edu>
32933         largefile: new module, replacing large-inode
32934         Pádraig Brady suggested this in <http://debbugs.gnu.org/9140#20>.
32935         * MODULES.html.sh: Add largefile, remove large-inode.
32936         * modules/largefile, m4/largefile.m4: New files.
32937         * modules/large-inode, m4/large-inode.m4: Remove.
32939         fsusage: port to MacOS X 10.7 with 4 TiB file systems
32940         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Reject statvfs
32941         implementations that use only 32 bits to count blocks.
32942         On typical hosts with 1024-byte blocks, this fails with file
32943         systems as small as 4 TiB.  Problem reported by Herb Wartens
32944         <http://debbugs.gnu.org/9140> and this should also fix a similar
32945         problem reported by Tim Spriggs <http://debbugs.gnu.org/7355>.
32947         large-inode: New module
32948         * MODULES.html.sh: Add it.
32949         * modules/large-inode, m4/large-inode.m4: New files.
32951         extensions: Enable extensions on MacOS X 10.5 and later.
32952         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _DARWIN_C_SOURCE.
32954 2011-07-22  Kamil Dudka  <kdudka@redhat.com>
32956         file-has-acl: use acl_extended_file_nofollow if available
32957         * lib/acl-internal.h (HAVE_ACL_EXTENDED_FILE): New macro.
32958         (acl_extended_file): New macro.
32959         * lib/file-has-acl.c (file_has_acl): Use acl_extended_file_nofollow.
32960         * m4/acl.m4 (gl_FUNC_ACL): Check for acl_extended_file_nofollow.
32962 2011-07-21  Bruno Haible  <bruno@clisp.org>
32964         Declare system functions in a way that works with C++.
32965         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR) [C++]: In the test program,
32966         declare fdopendir as extern "C".
32967         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS) [C++]: In the test program,
32968         declare frexpl as extern "C".
32969         * m4/getaddrinfo.m4 (gl_GETADDRINFO) [C++]: In the test program,
32970         declare gai_strerror as extern "C".
32971         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME) [C++]: In the test
32972         programs, declare gai_strerror as extern "C".
32973         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R) [C++]: In the test program,
32974         declare getlogin_r as extern "C".
32975         * m4/ioctl.m4 (gl_FUNC_IOCTL) [C++]: In the test program, declare ioctl
32976         as extern "C".
32977         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS) [C++]: In the test program,
32978         declare ldexpl as extern "C".
32979         * m4/logb.m4 (gl_FUNC_LOGB) [C++]: In the test programs, declare logb
32980         as extern "C".
32981         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS) [C++]: In the test
32982         program, declare getmntinfo as extern "C".
32983         * m4/stpncpy.m4 (gl_FUNC_STPNCPY) [C++]: In the test program, declare
32984         stpncpy as extern "C".
32985         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS) [C++]: In the test
32986         program, declare __xpg_strerror_r as extern "C".
32987         * m4/strndup.m4 (gl_FUNC_STRNDUP) [C++]: In the test program, declare
32988         strndup as extern "C".
32989         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT) [C++]: In the test program,
32990         declare memset and bzero as extern "C".
32991         Reported by Sam Steingold <sds@gnu.org>.
32993 2011-07-12  Jim Meyering  <meyering@redhat.com>
32995         maint.mk: prohibit inclusion of "verify.h" without use
32996         * top/maint.mk (sc_prohibit_verify_without_use): New rule.
32998 2011-07-19  Pádraig Brady  <P@draigBrady.com>
33000         timer-time: A new module to check for timer_settime()
33001         * m4/timer_time.m4: Check for the posix function.
33002         * modules/timer-time: Add the new module.
33003         * MODULES.html.sh (Compat checks for POSIX:2008 functions):
33004         Mention it.
33006 2011-07-19  Paul Eggert  <eggert@cs.ucla.edu>
33007             Bruno Haible  <bruno@clisp.org>
33009         pthread_sigmask: assume POSIX threads if --avoid=threadlib
33010         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): If gl_THREADLIB is
33011         not defined, assume POSIX threads and look for pthread_sigmask in
33012         $LIBS, without changing $CPPFLAGS.
33014 2011-07-19  Bruno Haible  <bruno@clisp.org>
33016         strstr: Update cross-compilation guess.
33017         * m4/strstr.m4 (gl_FUNC_STRSTR): On glibc > 2.12 with x86 or x86_64
33018         CPUs, guess no, in view of glibc
33019         BZ #12100 <http://sourceware.org/bugzilla/show_bug.cgi?id=12100>.
33020         Suggested by Eric Blake. Reported by Reuben Thomas.
33022 2011-07-19  Pádraig Brady  <P@draigBrady.com>
33024         getopt-gnu: suppress core dumps from detection code
33025         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Use the nocrash module
33026         to suppress core dumps that may well occur on glibc systems.
33027         * modules/getopt-gnu: Depend on nocrash.
33029 2011-07-16  Paul Eggert  <eggert@cs.ucla.edu>
33031         pthread_sigmask: ensure usleep is declared
33032         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_UNBLOCK_BUG]:
33033         Include <unistd.h>, to declare usleep.  Needed on Solaris 8,
33035 2011-07-15  Paul Eggert  <eggert@cs.ucla.edu>
33037         doc: Document NonStop portability issues.
33038         * doc/posix-functions/sigaction.texi (sigaction):
33039         * doc/posix-headers/signal.texi (signal.h):
33040         Document NonStop.  See Joachim Schmitz in
33041         http://lists.gnu.org/r/bug-coreutils/2011-07/msg00062.html
33043 2011-07-15  Bruno Haible  <bruno@clisp.org>
33045         ffsl, ffsll: Avoid unportable behaviour.
33046         * lib/ffsl.h (FUNC): Use 'unsigned int' instead of 'int'.
33048 2011-07-15  Bruno Haible  <bruno@clisp.org>
33050         ffs: More tests.
33051         * tests/test-ffs.c (NBITS): New macro.
33052         (main): Add more tests.
33053         * tests/test-ffsl.c (NBITS): New macro.
33054         (main): Add more tests.
33055         * tests/test-ffsll.c (NBITS): New macro.
33056         (main): Add more tests.
33058 2011-07-15  Eric Blake  <eblake@redhat.com>
33060         ffsl, ffsll: new modules
33061         * modules/ffsl: New file.
33062         * modules/ffsll: Likewise.
33063         * m4/ffsl.m4: Likewise.
33064         * m4/ffsll.m4: Likewise.
33065         * lib/ffsl.c: Likewise.
33066         * lib/ffsl.h: Likewise.
33067         * lib/ffsll.c: Likewise.
33068         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY)
33069         (gl_HEADER_STRING_H_DEFAULTS): Add defaults.
33070         * modules/string (Makefile.am): Substitute witnesses.
33071         * lib/strings.in.h (ffsl, ffsll): Declare.
33072         * modules/ffsl-tests: New test file.
33073         * modules/ffsll-tests: Likewise.
33074         * tests/test-ffsl.c: Likewise.
33075         * tests/test-ffsll.c: Likewise.
33076         * MODULES.html.sh (Integer arithmetic functions): Mention it.
33077         * doc/glibc-functions/ffsl.texi (ffsl): Likewise.
33078         * doc/glibc-functions/ffsll.texi (ffsll): Likewise.
33080         ffs: fix m4 prerequisite
33081         * m4/ffs.m4 (gl_FUNC_FFS): Require strings.h defaults.
33083         ffs: avoid undefined behavior
33084         * lib/ffs.c (ffs): Provide fallback for non-32-bit int.
33085         * tests/test-ffs.c (naive, main): Avoid signed shifts.
33086         Reported by Bruno Haible.
33088 2011-07-12  Bruno Haible  <bruno@clisp.org>
33090         pthread_sigmask: Rely on module 'threadlib'.
33091         * modules/pthread_sigmask (Depends-on): Add threadlib.
33092         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Assume gl_THREADLIB
33093         is defined.
33095 2011-07-12  Bruno Haible  <bruno@clisp.org>
33097         regex: Depend on module 'strcase'.
33098         * modules/regex (Depends-on): Add strcase, for strcasecmp().
33100 2011-07-12  Jim Meyering  <meyering@redhat.com>
33102         warn-on-use: fix typo in file name
33103         * modules/snippet/warn-on-use (Files): Correct file name:
33104         include /snippet/ component in "build-aux/snippet/warn-on-use.h".
33106 2011-07-12  Bruno Haible  <bruno@clisp.org>
33108         strings: Document module.
33109         * doc/posix-headers/strings.texi: Mention module 'strings'.
33111 2011-07-12  Bruno Haible  <bruno@clisp.org>
33113         Rename module '_Noreturn' to 'snippet/_Noreturn'.
33114         * modules/snippet/_Noreturn: Renamed from modules/_Noreturn.
33115         (Files, Makefile.am): Update.
33116         * build-aux/snippet/_Noreturn.h: Renamed from build-aux/_Noreturn.h.
33117         * modules/stdlib (Depends-on): Update.
33119 2011-07-12  Bruno Haible  <bruno@clisp.org>
33121         * NEWS: Mention the changes.
33123         Rename module 'warn-on-use' to 'snippet/warn-on-use'.
33124         * modules/snippet/warn-on-use: Renamed from modules/warn-on-use.
33125         (Files, Makefile.am): Update.
33126         * build-aux/snippet/warn-on-use.h: Renamed from build-aux/warn-on-use.h.
33127         * modules/arpa_inet (Depends-on): Update.
33128         * modules/ctype (Depends-on): Update.
33129         * modules/dirent (Depends-on): Update.
33130         * modules/fcntl-h (Depends-on): Update.
33131         * modules/glob (Depends-on): Update.
33132         * modules/iconv-h (Depends-on): Update.
33133         * modules/inttypes-incomplete (Depends-on): Update.
33134         * modules/langinfo (Depends-on): Update.
33135         * modules/locale (Depends-on): Update.
33136         * modules/math (Depends-on): Update.
33137         * modules/netdb (Depends-on): Update.
33138         * modules/poll-h (Depends-on): Update.
33139         * modules/pty (Depends-on): Update.
33140         * modules/search (Depends-on): Update.
33141         * modules/signal (Depends-on): Update.
33142         * modules/spawn (Depends-on): Update.
33143         * modules/stdio (Depends-on): Update.
33144         * modules/stdlib (Depends-on): Update.
33145         * modules/string (Depends-on): Update.
33146         * modules/strings (Depends-on): Update.
33147         * modules/sys_file (Depends-on): Update.
33148         * modules/sys_ioctl (Depends-on): Update.
33149         * modules/sys_select (Depends-on): Update.
33150         * modules/sys_socket (Depends-on): Update.
33151         * modules/sys_stat (Depends-on): Update.
33152         * modules/sys_time (Depends-on): Update.
33153         * modules/sys_times (Depends-on): Update.
33154         * modules/sys_utsname (Depends-on): Update.
33155         * modules/sys_wait (Depends-on): Update.
33156         * modules/termios (Depends-on): Update.
33157         * modules/time (Depends-on): Update.
33158         * modules/unistd (Depends-on): Update.
33159         * modules/wchar (Depends-on): Update.
33160         * modules/wctype-h (Depends-on): Update.
33161         * MODULES.html.sh (Support for building libraries and executables):
33162         Update.
33164         Rename module 'unused-parameter' to 'snippet/unused-parameter'.
33165         * modules/snippet/unused-parameter: Renamed from
33166         modules/unused-parameter.
33167         (Files, Makefile.am): Update.
33168         * build-aux/snippet/unused-parameter.h: Renamed from
33169         build-aux/unused-parameter.h.
33170         * modules/selinux-h (Depends-on): Update.
33171         * modules/unistr/base (Depends-on): Update.
33172         * MODULES.html.sh (Core language properties): Update.
33174         Rename module 'link-warning' to 'snippet/link-warning'.
33175         * modules/snippet/link-warning: Renamed from modules/link-warning.
33176         (Files, Makefile.am): Update.
33177         * build-aux/snippet/link-warning.h: Renamed from
33178         build-aux/link-warning.h.
33179         * MODULES.html.sh (Support for building libraries and executables):
33180         Update.
33182         Rename module 'c++defs' to 'snippet/c++defs'.
33183         * modules/snippet/c++defs: Renamed from modules/c++defs.
33184         (Files, Makefile.am): Update.
33185         * build-aux/snippet/c++defs.h: Renamed from build-aux/c++defs.h.
33186         * modules/arpa_inet (Depends-on): Update.
33187         * modules/ctype (Depends-on): Update.
33188         * modules/dirent (Depends-on): Update.
33189         * modules/fcntl-h (Depends-on): Update.
33190         * modules/glob (Depends-on): Update.
33191         * modules/iconv-h (Depends-on): Update.
33192         * modules/langinfo (Depends-on): Update.
33193         * modules/locale (Depends-on): Update.
33194         * modules/math (Depends-on): Update.
33195         * modules/netdb (Depends-on): Update.
33196         * modules/poll-h (Depends-on): Update.
33197         * modules/pty (Depends-on): Update.
33198         * modules/search (Depends-on): Update.
33199         * modules/signal (Depends-on): Update.
33200         * modules/spawn (Depends-on): Update.
33201         * modules/stdio (Depends-on): Update.
33202         * modules/stdlib (Depends-on): Update.
33203         * modules/string (Depends-on): Update.
33204         * modules/strings (Depends-on): Update.
33205         * modules/sys_ioctl (Depends-on): Update.
33206         * modules/sys_select (Depends-on): Update.
33207         * modules/sys_socket (Depends-on): Update.
33208         * modules/sys_stat (Depends-on): Update.
33209         * modules/sys_time (Depends-on): Update.
33210         * modules/sys_wait (Depends-on): Update.
33211         * modules/termios (Depends-on): Update.
33212         * modules/time (Depends-on): Update.
33213         * modules/unistd (Depends-on): Update.
33214         * modules/wchar (Depends-on): Update.
33215         * modules/wctype-h (Depends-on): Update.
33217         Rename module 'arg-nonnull' to 'snippet/arg-nonnull'.
33218         * modules/snippet/arg-nonnull: Renamed from modules/arg-nonnull.
33219         (Files, Makefile.am): Update.
33220         * build-aux/snippet/arg-nonnull.h: Renamed from build-aux/arg-nonnull.h.
33221         * modules/argv-iter (Depends-on): Update.
33222         * modules/arpa_inet (Depends-on): Update.
33223         * modules/dirent (Depends-on): Update.
33224         * modules/fcntl-h (Depends-on): Update.
33225         * modules/fnmatch (Depends-on): Update.
33226         * modules/getopt-posix (Depends-on): Update.
33227         * modules/glob (Depends-on): Update.
33228         * modules/iconv-h (Depends-on): Update.
33229         * modules/inttypes-incomplete (Depends-on): Update.
33230         * modules/locale (Depends-on): Update.
33231         * modules/math (Depends-on): Update.
33232         * modules/netdb (Depends-on): Update.
33233         * modules/search (Depends-on): Update.
33234         * modules/signal (Depends-on): Update.
33235         * modules/spawn (Depends-on): Update.
33236         * modules/stdio (Depends-on): Update.
33237         * modules/stdlib (Depends-on): Update.
33238         * modules/string (Depends-on): Update.
33239         * modules/strings (Depends-on): Update.
33240         * modules/sys_socket (Depends-on): Update.
33241         * modules/sys_stat (Depends-on): Update.
33242         * modules/sys_time (Depends-on): Update.
33243         * modules/sys_times (Depends-on): Update.
33244         * modules/sys_utsname (Depends-on): Update.
33245         * modules/time (Depends-on): Update.
33246         * modules/unistd (Depends-on): Update.
33247         * modules/wchar (Depends-on): Update.
33248         * MODULES.html.sh (Support for building libraries and executables):
33249         Update.
33251 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
33253         Improvements on _Noreturn and related modules.
33255         modules/_Exit-tests: test _Noreturn too
33256         * tests/test-_Exit.c (MTA, Charlie): New functions, taken from the
33257         old tests/test-stdnoreturn.c.  This tests the _Noreturn keyword a bit.
33258         (main): Use them.
33260         stdnoreturn, stdnoreturn-tests: remove modules
33261         They're not needed here and a bit premature for use elsewhere.  See
33262         <http://lists.gnu.org/r/bug-gnulib/2011-07/msg00209.html>.
33263         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
33264         * tests/test-stdnoreturn.c: Remove files.
33265         * MODULES.html.sh (_Noreturn <stdnoreturn.h>): Remove section.
33266         * lib/openat.h, lib/sigpipe-die.h, lib/xalloc.h, lib/xmemdup0.h:
33267         * lib/xstrtol.h: Use _Noreturn rather than including <stdnoreturn.h>
33268         and using noreturn.
33269         * modules/openat, modules/sigpipe-die, modules/xalloc:
33270         * modules/xmemdup0, modules/xstrtol:
33271         Remove dependency on stdnoreturn.
33273         _Noreturn: Ignore __STDC_VERSION__; observe _MSC_VER.
33274         * build-aux/_Noreturn.h (_Noreturn): Ignore __STDC_VERSION__.
33275         Reparenthesize to avoid GCC warning.
33276         Support Microsoft's syntax.
33277         * m4/gnulib-common.m4 (gl_COMMON_BODY): Likewise.
33279         _Noreturn-tests: remove module
33280         * modules/_Noreturn-tests: Remove.
33281         * modules/stdnoreturn-tests (Files): Remove tests/test-_Noreturn.c.
33282         * tests/test-_Noreturn.c: Remove.
33283         * tests/test-stdnoreturn.c: Merge from the old
33284         tests/test-_Noreturn.c, testing both noreturn and _Noreturn.
33286 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
33288         _Noreturn, stdnoreturn, and related modules.
33290         * top/maint.mk: Adjust to new noreturn support.
33291         (gl_extract_significant_defines_): Omit pattern ATTRIBUTE_NORETURN.
33292         (def_sym_regex): Do not remove ATTRIBUTE_NORETURN.
33294         xalloc: use stdnoreturn.h
33295         * lib/xalloc.h: Include <stdnoreturn.h>.
33296         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
33297         * modules/xalloc (Depends-on): Add stdnoreturn.
33299         xstrtol: use stdnoreturn.h
33300         * lib/xstrtol.h: Include <stdnoreturn.h>.
33301         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
33302         * modules/xstrtol (Depends-on): Add stdnoreturn.
33304         xmemdup0: use stdnoreturn.h
33305         * lib/xmemdup0.h: Include <stdnoreturn.h>.
33306         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
33307         * modules/xmemdup0 (Depends-on): Add stdnoreturn.
33309         sigpipe-die: use stdnoreturn.h
33310         * lib/sigpipe-die.h: Include <stdnoreturn.h>.
33311         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
33312         * modules/sigpipe-die (Depends-on): Add stdnoreturn.
33314         openat: use stdnoreturn.h
33315         * lib/openat.h: Include <stdnoreturn.h>.
33316         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
33317         * modules/openat (Depends-on): Add stdnoreturn.
33319         * lib/openat-die.c (openat_save_fail): Modernize comment.
33321         * lib/xalloc-die.c (xalloc_die): Modernize comment.
33323         * lib/glthread/thread.h: Modernize comment.
33325         obstack: use _Noreturn
33326         * lib/obstack.c (__attribute__): Remove macro.
33327         (print_and_abort): Use _Noreturn.
33329         c-stack: use _Noreturn
33330         * lib/c-stack.c (die, overflow_handler, segv_handler):
33331         Use _Noreturn rather than __attribute__((noreturn)).
33333         argmatch-tests, exclude_tests: use _Noreturn
33334         * tests/test-argmatch.c, tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN):
33335         Remove.
33336         (ARGMATCH_DIE_DECL): Use _Noreturn instead.
33338         stdlib: use _Noreturn
33339         * lib/stdlib.in.h (_GL_ATTRIBUTE_NORETURN): Remove.
33340         (_Exit): Use _Noreturn rather than _GL_ATTRIBUTE_NORETURN.
33341         * modules/stdlib (Depends-on): Add _Noreturn.
33342         (stdlib.h): Depend on $(_NORETURN_H), and copy it in.
33344         stdnoreturn-tests: new module
33345         * modules/stdnoreturn-tests, tests/test-stdnoreturn.c: New files.
33347         stdnoreturn: new module
33348         * MODULES.html.sh (Noreturn <stdnoreturn.h>): New section.
33349         * m4/stdnoreturn.m4, modules/stdnoreturn: New files.
33351         _Noreturn-tests: new module
33352         * modules/_Noreturn-tests, tests/test-_Noreturn.c: New files.
33354         _Noreturn: new module
33355         * MODULES.html.sh (Support for systems lacking draft ISO C 1X):
33356         New section, mentioning it.
33357         * build-aux/_Noreturn.h, modules/_Noreturn: New files.
33359         * m4/gnulib-common.m4 (gl_COMMON_BODY): Add _Noreturn.
33361 2011-07-11  Eric Blake  <eblake@redhat.com>
33363         ffs: new module
33364         * modules/ffs: New file.
33365         * m4/ffs.m4: Likewise.
33366         * lib/ffs.c: Likewise.
33367         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_DEFAULTS): Add default.
33368         * modules/strings (Makefile.am): Substitute witness.
33369         (Depends-on): Add c++defs.
33370         * lib/strings.in.h (ffs): Declare.
33371         * modules/ffs-tests: New test file.
33372         * tests/test-ffs.c: Test new module.
33373         * MODULES.html.sh (Integer arithmetic functions): Mention it.
33374         * doc/posix-functions/ffs.texi (ffs): Likewise.
33376         regex: avoid compiler warning
33377         * lib/regex.c (includes): Include <strings.h>, for use of
33378         strcasecmp in regcomp.c.
33379         Reported by Joachim Schmitz.
33381 2011-07-09  Paul Eggert  <eggert@cs.ucla.edu>
33383         stdint: respect system's intmax_t if INTMAX_MAX
33384         * lib/stdint.in.h (intmax_t, uintmax_t): If the system defines
33385         INTMAX_MAX, assume its intmax_t is OK.  Similarly for and
33386         uintmax_t.  This is for some Mac OS X builds, where intmax_t is
33387         long but int64_t is long long, and where we will clash with the
33388         system intmax_t if we override it.  See
33389         <http://lists.gnu.org/r/bug-gnulib/2011-07/msg00160.html>.
33390         (INTMAX_C, UINTMAX_C): For consistency, respect the system's
33391         INTMAX_C if INTMAX_MAX and INTMAX_C are both defined, and
33392         similarly for UINTMAX_C.
33394 2011-07-08  Bruno Haible  <bruno@clisp.org>
33396         pthread_sigmask tests: Avoid a compiler warning.
33397         * tests/test-pthread_sigmask1.c (main): Complain if system() returns
33398         non-zero.
33400         sigprocmask tests: A better way to avoid a compiler warning.
33401         * tests/test-sigprocmask.c: Don't include "ignore-value.h".
33402         (main): Complain if system() returns non-zero.
33403         * modules/sigprocmask-tests (Depends-on): Remove ignore-value.
33405 2011-07-08  Bruno Haible  <bruno@clisp.org>
33407         pthread_sigmask: Work around IRIX bug.
33408         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the IRIX
33409         bug.
33410         * lib/pthread_sigmask.c (pthread_sigmask): usleep for some time when
33411         there may be unblocked pending signals.
33412         * doc/posix-functions/pthread_sigmask.texi: Mention the IRIX bug.
33414 2011-07-08  Bruno Haible  <bruno@clisp.org>
33416         pthread_sigmask: Work around Cygwin bug.
33417         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the Cygwin
33418         bug.
33419         * lib/pthread_sigmask.c (pthread_sigmask): Fix the return value from
33420         the system's pthread_sigmask function.
33421         * doc/posix-functions/pthread_sigmask.texi: Mention the Cygwin bug.
33423 2011-07-08  Bruno Haible  <bruno@clisp.org>
33425         pthread_sigmask: Work around bug in single-threaded implementation.
33426         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the
33427         FreeBSD, HP-UX, Solaris bug.
33428         (gl_PREREQ_PTHREAD_SIGMASK): New macro.
33429         * lib/pthread_sigmask.c: Include <stddef.h>.
33430         (pthread_sigmask): If HAVE_PTHREAD_SIGMASK, define as a wrapper around
33431         the system's pthread_sigmask function.
33432         * modules/pthread_sigmask (configure.ac): Invoke
33433         gl_PREREQ_PTHREAD_SIGMASK.
33434         * doc/posix-functions/pthread_sigmask.texi: Mention bug on FreeBSD,
33435         HP-UX, Solaris.
33437 2011-07-08  Eric Blake  <eblake@redhat.com>
33439         test-sigprocmask: avoid compiler warning
33440         * modules/sigprocmask-tests (Depends-on): Add ignore-value.
33441         * tests/test-sigprocmask.c (main): Use it to silence warning.
33442         Reported by Jim Meyering.
33444         test-snprintf: avoid compiler warning
33445         * tests/test-snprintf.c (main): Avoid shadowed declaration.
33446         * tests/test-vsnprintf.c (main): Likewise.
33447         Reported by Jim Meyering.
33449 2011-07-08  Bruno Haible  <bruno@clisp.org>
33451         Tests for module 'pthread_sigmask'.
33452         * modules/pthread_sigmask-tests: New file.
33453         * tests/test-pthread_sigmask1.c: New file, based on
33454         tests/test-sigprocmask.c.
33455         * tests/test-pthread_sigmask2.c: New file.
33457 2011-07-08  Jim Meyering  <meyering@redhat.com>
33459         test-getopt.h: avoid warning about an unused variable
33460         * tests/test-getopt.h (test_getopt): Remove unused variable, "c".
33462 2011-07-07  Jim Meyering  <meyering@redhat.com>
33464         maint: reduce list of files exempt from sc_prohibit_leading_TABs
33465         * Makefile (sc_prohibit_leading_TABs): Don't exempt m4/po.m4,
33466         now that it no longer contains leading TABs.
33467         Remove unused "url=FIXME" statement.
33469 2011-07-08  Paul Eggert  <eggert@cs.ucla.edu>
33471         pthread_sigmask: Assume POSIX when not gl_THREADLIB.
33472         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
33473         When gl_THREADLIB is not in use, assume that the POSIX sematics
33474         are desired.  This is better for Emacs, which uses POSIX semantics
33475         on GNUish and/or POSIXish platforms, and does not use threads at
33476         all otherwise.
33478         pthread_sigmask: fix typo when testing for libraries
33479         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
33480         AC_LINK_IFELSE, not AC_COMPILE_IFELSE.
33482 2011-07-08  Eric Blake  <eblake@redhat.com>
33484         fts: introduce FTS_NOATIME
33485         * lib/fts_.h (FTS_NOATIME): New bit flag.
33486         (FTS_OPTIONMASK): Adjust.
33487         * lib/fts.c (diropen, fts_open, fts_build): Honor it.
33488         (fd_ring_check): Debug code unconditionally uses O_NOATIME.
33490 2011-07-08  Bruno Haible  <bruno@clisp.org>
33492         Tests for module 'thread'.
33493         * modules/thread-tests: New file.
33494         * tests/test-thread_self.c: New file.
33495         * tests/test-thread_create.cc: New file.
33497 2011-07-08  Bruno Haible  <bruno@clisp.org>
33499         thread: Avoid gcc warnings when using gl_thread_self().
33500         * lib/glthread/thread.h (gl_thread_self): Return a pthread_t, not a
33501         'void *'.
33502         (gl_thread_self_pointer): Update.
33504 2011-07-07  Bruno Haible  <bruno@clisp.org>
33506         signal-c++-tests: Check declaration of pthread_sigmask.
33507         * tests/test-signal-c++.cc: Check declaration of pthread_sigmask.
33508         * modules/signal-c++-tests (Makefile.am): Link test-signal-c++ against
33509         $(LIB_PTHREAD_SIGMASK).
33511 2011-07-07  Bruno Haible  <bruno@clisp.org>
33513         pthread_sigmask: Fix link requirements on OSF/1 5.1 and with pth.
33514         * lib/signal.in.h (pthread_sigmask): Override if
33515         REPLACE_PTHREAD_SIGMASK is 1.
33516         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
33517         REPLACE_PTHREAD_SIGMASK.
33518         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Set also
33519         REPLACE_PTHREAD_SIGMASK. Set and substitute LIB_PTHREAD_SIGMASK.
33520         * modules/signal (Makefile.am): Substitute REPLACE_PTHREAD_SIGMASK.
33521         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
33522         (Link): Set to $(LIB_PTHREAD_SIGMASK), not $(LIBMULTITHREAD).
33524 2011-07-07  Bruno Haible  <bruno@clisp.org>
33526         pthread_sigmask: Ensure declaration in <signal.h>.
33527         * lib/signal.in.h: On MacOS X, FreeBSD, OpenBSD, OSF/1, Solaris 2.6,
33528         include <pthread.h>.
33529         * doc/posix-functions/pthread_sigmask.texi: Mention the header file
33530         problem.
33532 2011-07-07  Bruno Haible  <bruno@clisp.org>
33534         pthread_sigmask: Document the module.
33535         * doc/posix-functions/pthread_sigmask.texi: Mention the new module.
33537 2011-07-07  Bruno Haible  <bruno@clisp.org>
33539         pthread_sigmask: Follow gnulib conventions.
33540         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Renamed from
33541         gl_PTHREAD_SIGMASK.
33542         * modules/pthread_sigmask (configure.ac): Update.
33544 2011-07-07  Bruno Haible  <bruno@clisp.org>
33546         pthread_sigmask: Make declaration C++ safe.
33547         * lib/signal.in.h: In two special conditions, just do an #include_next.
33548         (pthread_sigmask): Test HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
33549         Invoke _GL_CXXALIAS_SYS and _GL_CXXALIASWARN.
33550         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
33551         HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
33552         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Set HAVE_PTHREAD_SIGMASK,
33553         not REPLACE_PTHREAD_MASK.
33554         * modules/signal (Makefile.am): Substitute HAVE_PTHREAD_SIGMASK,
33555         not REPLACE_PTHREAD_MASK.
33556         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
33558 2011-07-07  Bruno Haible  <bruno@clisp.org>
33560         pthread_sigmask: Fix return value.
33561         * lib/signal.in.h (pthread_sigmask): Declare. Don't define as a macro.
33562         * lib/pthread_sigmask.c: New file.
33563         * modules/pthread_sigmask (Files): Add it.
33564         (configure.ac): Invoke AC_LIBOBJ.
33566 2011-07-07  Eric Blake  <eblake@redhat.com>
33568         getopt: more portable argv creation
33569         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Rather than casting away
33570         const, use char arrays rather than strings.
33571         Suggested by Paul Eggert.
33573 2011-07-07  Bruno Haible  <bruno@clisp.org>
33575         Tests for module 'sigprocmask'.
33576         * modules/sigprocmask-tests: New file.
33577         * tests/test-sigprocmask.c: New file.
33579 2011-07-07  Bruno Haible  <bruno@clisp.org>
33581         float tests: Tweak.
33582         * tests/test-float.c (main): Tweak skip message.
33584 2011-07-07  Eric Blake  <eblake@redhat.com>
33586         getopt: avoid compiler warning during configure
33587         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Avoid problems with
33588         assigning string literals to non-const pointer.
33590         getopt-gnu: avoid crash in glibc getopt
33591         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Detect the problem.
33592         * tests/test-getopt.h (test_getopt): Enhance test.
33593         * tests/test-getopt_long.h (test_getopt_long): Likewise.
33594         * doc/posix-functions/getopt.texi (getopt): Document it.
33595         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
33596         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
33597         Likewise.
33599 2011-07-07  Ulrich Drepper  <drepper@gmail.com>
33601         getopt: handle W; without long options in getopt [BZ #12922]
33602         * lib/getopt.c (_getopt_internal_r): When "W;" is in short options
33603         but no long options are defined, just return 'W'.
33605 2011-07-07  Bruno Haible  <bruno@clisp.org>
33607         Avoid literal tabs.
33608         * m4/po,m4 (AM_PO_SUBDIRS, AM_POSTPROCESS_PO_MAKEFILE): Use a shell
33609         variable containing a tab instead of a literal tab.
33610         Reported by Jim Meyering.
33612 2011-07-07  Bruno Haible  <bruno@clisp.org>
33614         Comments.
33615         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Update comments about mingw.
33617 2011-07-06  Bruno Haible  <bruno@clisp.org>
33619         sys_select: Fix compilation error on mingw, introduced on 2011-06-30.
33620         * lib/sys_select.in.h: Don't include <sys/socket.h>. Instead, include
33621         <winsock2.h>.
33622         (rpl_fd_isset, FD_ISSET): New definitions, copied from
33623         lib/sys_socket.in.h.
33624         (close, gethostname): Hide declarations from <winsock2.h>.
33625         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
33626         listen, recv, send, recvfrom, sendto, setsockopt, shutdown): Likewise.
33627         * lib/sys_socket.in.h (close, gethostname): Tweak indentation.
33628         (select): Don't override if gnulib's <sys/select.h> was already
33629         included.
33630         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
33631         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
33632         setsockopt, shutdown, select): Tweak indentation.
33634 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
33636         * modules/pthread_sigmask (configure.ac): gl_SIGNAL_MODULE_INDICATOR
33637         and not gl_SYS_SELECT_MODULE_INDICATOR, fixing a typo exposed
33638         in an application that does not use the sys_select module.
33640 2011-07-06  Erik Faye-Lund  <kusmabite@gmail.com>
33642         poll: do not return 0 on timeout=-1
33643         * lib/poll.c: Loop with yield if no events occurred.
33645 2011-07-06  Eric Blake  <eblake@redhat.com>
33647         pthread_sigmask: always replace when not using pthread
33648         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Force sigprocmask
33649         replacement when using some threading other than pthread.  Fix
33650         logic bug.
33652 2011-07-06  Bruno Haible  <bruno@clisp.org>
33654         Comments.
33655         * m4/printf.m4: Update comments about mingw.
33657 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
33659         sys_select: define sigset_t more portably
33660         * lib/sys_select.in.h: Always include <sys/types.h>, since
33661         we now need sigset_t and mingw defines it there.
33662         Include <signal.h> before split inclusion guard, to avoid
33663         mishaps on Solaris, whose <signal.h> eventually includes us.
33664         * m4/signal_h.m4 (gl_SIGNAL_H): Require gl_CHECK_TYPE_SIGSET_T.
33665         (gl_CHECK_TYPE_SIGSET_T): New macro, most of the contents of
33666         which come from ...
33667         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
33668         gl_CHECK_TYPE_SIGSET_T.
33669         (gl_PREREQ_SIGPROCMASK): Now a no-op, since gl_CHECK_TYPE_SIGSET_T
33670         does the real work.
33671         * modules/sys_select (Depends-on): Add 'signal'.
33673         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Poison pselect.
33674         Suggested by Bruno Haible.
33676         pselect: Use pthread_sigmask, not sigprocmask.
33677         * lib/pselect.c (pselect): Use pthread_sigmask, as it supports
33678         multithreaded apps better than sigprocmask does.
33679         * modules/pselect (Depends-on): Depend on pthread_sigmask, not
33680         sigprocmask directly.
33682 2011-07-05  Paul Eggert  <eggert@cs.ucla.edu>
33684         * lib/pselect.c (pselect): Use plain name, without "rpl_".
33685         Don't #undef,  since we don't need any underlying pselect.
33686         * modules/pselect (configure.ac): Use our pselect.o if !HAVE_PSELECT.
33687         (Depends-on): Add select.
33688         (Link): Add $(LIBSOCKET).
33689         These changes suggested by Bruno Haible.
33691         pselect: document better
33692         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
33693         * doc/posix-functions/pselect.texi (pselect): Document new module.
33695         pthread_sigmask: new module
33696         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
33697         * doc/posix-functions/pthread_sigmask.texi: Document new module.
33698         * lib/signal.in.h (pthread_sigmask): Arrange for replacement.
33699         This is done only as a macro; I don't know how well that'll
33700         work for C++.  Move <sys/types.h> include before the include_next,
33701         to avoid mishap on Solaris.
33702         * m4/signal_h.m4 (gl_SIGNAL_H, gl_SIGNAL_H_DEFAULTS): Check for it.
33703         * modules/signal (Makefile.am): Substitute the check's results.
33704         * modules/pthread_sigmask, m4/pthread_sigmask.m4: New files.
33706         test-pselect: new module
33707         * modules/pselect-tests, tests/test-pselect.c: New files.
33708         * tests/test-select.c, tests/test-sys_select-c++.cc:
33709         If TEST_PSELECT is defined, test pselect instead of testing select.
33711         * tests/test-sys_select.c (sigset_t): Test for it, too.
33712         Suggested by Bruno Haible.
33714 2011-07-05  Eric Blake  <eblake@redhat.com>
33716         snprintf: guarantee %1$d, for libintl
33717         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require %1$d support.
33718         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
33719         * doc/posix-functions/snprintf.texi (snprintf): Update.
33720         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
33721         * tests/test-snprintf.c (main): Enhance test.
33722         * tests/test-vsnprintf.c (main): Likewise.
33724 2011-07-05  Jim Meyering  <meyering@redhat.com>
33726         maint: exempt stdio-read.c and stdio-write.c from the cppi check
33727         * Makefile (sc_cpp_indent_check): Exempt stdio-read.c and stdio-write.c
33728         per Bruno's request, to accommodate this idiom (no space after "#")
33729         even when the function is inside an #if block:
33730         char *
33731         gets (char *s)
33732         #undef gets
33733         {
33734           ...
33735         }
33737 2011-07-04  Jim Meyering  <meyering@redhat.com>
33739         maint: indent with spaces, not TABs, and add a rule to check this
33740         * tests/test-userspec.c: Indent with spaces, not TABs.
33741         * tests/test-argp.c: Likewise.
33742         * tests/test-c-stack2.sh: Likewise.
33743         * tests/test-parse-duration.sh: Likewise
33744         * m4/strtod.m4: Likewise.
33745         * m4/alloca.m4: Likewise.
33746         * m4/pselect.m4: Likewise.
33747         * Makefile (sc_prohibit_leading_TABs): Prohibit leading TABs.
33749 2011-07-03  Jim Meyering  <meyering@redhat.com>
33751         maint.mk: correct omissions in prohibit_argmatch_without_use check
33752         This rule would mistakenly report that argmatch.h is included without
33753         use even when both the argmatch and invalid_arg macro were used.
33754         * top/maint.mk (sc_prohibit_argmatch_without_use): Also detect uses
33755         of argmatch and invalid_arg.
33757 2011-07-03  Bruno Haible  <bruno@clisp.org>
33759         Comments about EINTR.
33760         * lib/safe-read.h: Explain the purpose of this module.
33761         * lib/safe-write.h: Likewise.
33762         * doc/posix-functions/read.texi: Mention EINTR and the 'safe-read'
33763         module.
33764         * doc/posix-functions/write.texi: Mention EINTR and the 'safe-write'
33765         module.
33766         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
33768 2011-06-30  Paul Eggert  <eggert@cs.ucla.edu>
33770         xnanosleep: Rewrite to use new dtotimespec module.
33771         It has the conversion code that used to be in xnanosleep.
33772         * lib/xnanosleep.c: Do not include limits.h, stdbool.h, stdio.h,
33773         assert.h, sys/types.h, or intprops.h.  Include timespec.h instead.
33774         (TIME_T_MAX): Remove.
33775         (xnanosleep): Rewrite in terms of dtotimespec.
33776         * modules/xnanosleep (Depends-on): Add dtotimespec.
33777         Remove intprops, stdbool.
33779         timespec-add, timespec-sub: new modules
33780         * lib/timespec.h (timespec_add, timespec_sub): New decls.
33781         * lib/timespec-add.c, lib/timespec-sub.c:
33782         * modules/timespec-add, modules/timespec-sub: New files.
33784         dtotimespec: new module
33785         * lib/timespec.h (dtotimespec): New decl.
33786         * lib/dtotimespec.c, modules/dtotimespec: New files.
33788         * lib/timespec.h (timespec_sign, timespectod): New inline functions.
33790         pselect: new module
33791         * lib/sys_select.in.h: Include <signal.h>, for 'sigset_t'.
33792         (pselect): New decls.
33793         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Require AC_C_RESTRICT,
33794         since the standard pselect decl uses 'restrict'.
33795         (gl_SYS_SELECT_H_DEFAULTS): Add defaults for GNULIB_PSELECT,
33796         HAVE_PSELECT, REPLACE_PSELECT.
33797         * modules/sys_select (sys/select.h): Substitute GNULIB_PSELECT,
33798         HAVE_PSELECT, REPLACE_PSELECT.
33799         * lib/pselect.c, m4/pselect.m4, modules/pselect: New files.
33801         sys_select: don't depend on sys_socket
33802         This is so that Emacs doesn't have to drag in m4/sockpfaf.m4 etc; see
33803         <http://lists.gnu.org/r/bug-gnulib/2011-06/msg00358.html>.
33804         This fix works on GNU and GNU-like platforms, but has not been tested
33805         on native Windows.
33806         * lib/sys_select.in.h: Include <sys/socket.h> only if native Windows.
33807         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Do not require
33808         gl_HEADER_SYS_SOCKET.
33809         * modules/sys_select (Files): Add m4/sys_socket_h.m4, for
33810         gl_PREREQ_SYS_H_WINSOCK2.
33812 2011-06-29  Eric Blake  <eblake@redhat.com>
33814         pipe2: fix C89 compile problem
33815         * lib/pipe2.c (pipe2): Avoid C99 array initialization.
33816         Reported by Bruno Haible.
33818         pipe, pipe2: don't corrupt fd on error
33819         * lib/pipe.c (pipe): Leave fd unchanged on error.
33820         * lib/pipe2.c (pipe2): Likewise.
33821         * doc/posix-functions/pipe.texi (pipe): Document cygwin issue.
33822         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
33824 2011-06-27  Paolo Bonzini  <bonzini@gnu.org>
33826         mmap-anon: do not use regular expressions inadvertently
33827         * m4/mmap-anon.m4: Remove trailing period from strings sought
33828         in the output.
33830 2011-06-25  Paul Eggert  <eggert@cs.ucla.edu>
33832         nanosleep: fix integer overflow problem
33833         * lib/nanosleep.c (my_usleep): Don't assume signed integer
33834         arithmetic wraps around on overflow.
33836         nanosleep: simplify carrying
33837         * lib/nanosleep.c (nanosleep): Use the requested tv_nsec for the
33838         first call to the underyling nanosleep, not for the last one.
33839         This doesn't fix any bugs, but it simplifies the computation of
33840         the remaining delay.  Found while auditing integer overflow issues.
33842         dup2: remove test for existence of fcntl
33843         * m4/dup2.m4 (gl_FUNC_DUP2): Use "#ifdef FD_CLOEXEC", not
33844         "#if HAVE_FCNTL", in the configure-time test program.
33845         This removes the need for the AC_CHECK_FUNCS_ONCE([fcntl]),
33846         and therefore speeds up "configure" a bit.  Found while
33847         adding the dup2 module to Emacs.
33849 2011-06-24  Eric Blake  <eblake@redhat.com>
33851         maint.mk: enhance useless header checks
33852         * top/maint.mk (_sc_header_without_use): Check both include
33853         styles.
33854         (sc_prohibit_assert_without_use)
33855         (sc_prohibit_close_stream_without_use)
33856         (sc_prohibit_getopt_without_use)
33857         (sc_prohibit_quotearg_without_use)
33858         (sc_prohibit_quote_without_use)
33859         (sc_prohibit_long_options_without_use)
33860         (sc_prohibit_inttostr_without_use)
33861         (sc_prohibit_ignore_value_without_use)
33862         (sc_prohibit_error_without_use, sc_prohibit_xalloc_without_use)
33863         (sc_prohibit_hash_without_use, sc_prohibit_cloexec_without_use)
33864         (sc_prohibit_posixver_without_use, sc_prohibit_same_without_use)
33865         (sc_prohibit_hash_pjw_without_use)
33866         (sc_prohibit_safe_read_without_use)
33867         (sc_prohibit_argmatch_without_use)
33868         (sc_prohibit_canonicalize_without_use)
33869         (sc_prohibit_root_dev_ino_without_use)
33870         (sc_prohibit_openat_without_use)
33871         (sc_prohibit_c_ctype_without_use)
33872         (sc_prohibit_signal_without_use)
33873         (sc_prohibit_stdio--_without_use)
33874         (sc_prohibit_stdio-safer_without_use)
33875         (sc_prohibit_strings_without_use)
33876         (sc_prohibit_intprops_without_use)
33877         (sc_prohibit_stddef_without_use)
33878         (sc_prohibit_xfreopen_without_use): Update clients.
33880 2011-06-24  Jim Meyering  <meyering@redhat.com>
33882         syntax-check: keep one maint.mk rule in sync with its header
33883         * Makefile (sc_check_sym_list): Add a rule to prevent a repeat
33884         of the bug Eric has just fixed, with today's commit 25e4c2ec.
33885         I prefer to avoid temporary files here, so use <(...), but that
33886         is not supported by /bin/sh, so...
33887         (SHELL): Define to /bin/bash.
33889 2011-06-24  Eric Blake  <eblake@redhat.com>
33891         maint.mk: update sc_prohibit_intprops_without_use
33892         * top/maint.mk (_intprops_names): Match recent changes.
33894 2011-06-24  Bruno Haible  <bruno@clisp.org>
33896         strerror-override: No-op tweak.
33897         * lib/strerror-override.h (strerror_override): Reorder conditions,
33898         for consistency with lib/strerror-override.c.
33900 2011-06-23  Eric Blake  <eblake@redhat.com>
33902         maint.mk: test further PATH_MAX issues
33903         * top/maint.mk (sc_prohibit_path_max_array): Rename...
33904         (sc_prohibit_path_max_allocation): ...and also test alloca.
33905         Suggested by Jim Meyering.
33907 2011-06-22  Eric Blake  <eblake@redhat.com>
33909         maint.mk: add syntax-check to avoid char[PATH_MAX]
33910         * top/maint.mk (sc_prohibit_path_max_array): New rule.
33912         stat: be robust to PATH_MAX definition
33913         * lib/stat.c (rpl_stat): Require reasonable PATH_MAX.
33914         * modules/stat (Depends-on): Add verify.
33916         link: work around IRIX bug
33917         * m4/link.m4 (gl_FUNC_LINK): Expose the bug.
33918         * lib/link.c (rpl_link): Work around it.
33919         * tests/test-link.h (test_link): Enhance test.
33920         * doc/posix-functions/link.texi (link): Document the bug.
33922         getopt: silence clang warning
33923         * lib/getopt.c (_getopt_internal_r): Avoid unlikely NULL
33924         dereference.
33925         Reported by Gustavo Martin Domato.
33927 2011-06-22  Jim Meyering  <meyering@redhat.com>
33929         bootstrap: do not insert a blank line into each .gitignore file
33930         * build-aux/bootstrap (sort_patterns): Filter out blank lines.
33932 2011-06-21  Eric Blake  <eblake@redhat.com>
33934         perror: test for output mismatch
33935         * m4/perror.m4 (gl_FUNC_PERROR): Add test, in order to replace
33936         perror on IRIX.
33938         strerror_r: fix OpenBSD behavior on out-of-range
33939         * lib/strerror_r.c (strerror_r): Always use maximal string.
33940         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
33942         strerror_r: fix OpenBSD behavior on 0
33943         * lib/strerror-override.c (strerror_override): Also override 0
33944         when needed.
33945         * lib/strerror-override.h (strerror_override): Likewise.
33946         * lib/strerror.c (strerror): Simplify, now that 0 override is done
33947         earlier.
33948         * lib/strerror_r.c (strerror_r): Likewise.
33949         * m4/strerror.m4 (gl_FUNC_STRERROR): Split detection of 0
33950         behavior...
33951         (gl_FUNC_STRERROR_0): ...into new macro.
33952         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Replace strerror_r if 0
33953         is overridden.
33954         (gl_FUNC_STRERROR_R_WORKS): Avoid extra tests if 0 is broken.
33955         * modules/strerror-override (Files): Add strerror.m4.
33956         (configure.ac): Also provide override for 0 when needed.
33957         * doc/posix-functions/strerror.texi (strerror): Document this.
33958         * doc/posix-functions/perror.texi (perror): Likewise.
33960         perror: adjust array size
33961         * modules/perror (Depends-on): Add strerror-override.
33962         * lib/perror.c (perror): Use it to avoid magic number.
33964         strerror-override: reduce size
33965         * lib/strerror-override.c (strerror_override): Use fewer lines.
33967 2011-06-20  Bruno Haible  <bruno@clisp.org>
33969         pathmax: Ensure correct value for PATH_MAX on HP-UX.
33970         * lib/pathmax.h (PATH_MAX) [HP-UX]: Define to 1024.
33972 2011-06-20  Paul Eggert  <eggert@cs.ucla.edu>
33974         alloca: port to compilers that can optimize like GCC 4.6.0
33975         * lib/alloca.c (find_stack_direction): New signature, taken from
33976         Autoconf git.  This works with GCC 4.6.0.  This code should never
33977         be used with GCC 4.6.0 itself, as GCC has alloca, but it might
33978         be used with other compilers that optimize as well as GCC 4.6.0 does.
33979         (alloca): Adjust to new signature.
33980         * m4/alloca.m4 (__AC_LIBOBJ_ALLOCA) [Autoconf version < 2.69]:
33981         New macro, which patches Autoconf in a similar way.
33983         c-stack: stop worrying about stack direction
33984         * lib/c-stack.c (find_stack_direction): Remove.
33985         (segv_handler): Don't worry about stack direction growth, as it's
33986         too much of a pain to configure this correctly, given how compilers
33987         are optimizing-away our stack-growth detection code.  Instead, assume
33988         that any access to just before or just after the stack is OK.
33989         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
33990         Don't require AC_FUNC_ALLOCA; no longer needed.
33992 2011-06-20  Eric Blake  <eblake@redhat.com>
33994         test-stat: don't allocate PATH_MAX bytes
33995         * tests/test-stat.h (test_stat_func): Don't stack-allocate a
33996         PATH_MAX-sized buffer.
33997         * modules/openat-tests (Depends-on): Add getcwd-lgpl, drop pathmax.
33998         * modules/stat-tests (Depends-on): Likewise.
33999         * tests/test-fstatat.c (includes): Drop pathmax.h.
34000         * tests/test-stat.c (includes): Likewise.
34001         Reported by Bruno Haible.
34003 2011-06-20  Bruno Haible  <bruno@clisp.org>
34005         float: Work around <float.h> bugs on FreeBSD/x86, AIX with GCC, IRIX.
34006         * lib/float.in.h: Add workarounds for FreeBSD/x86, AIX with GCC, IRIX.
34007         * lib/float.c: New file.
34008         * m4/float_h.m4 (gl_FLOAT_H): Also handle FreeBSD, AIX, IRIX. Set
34009         REPLACE_FLOAT_LDBL.
34010         * modules/float (Files): Add lib/float.c.
34011         (configure.ac): Invoke AC_LIBOBJ.
34012         * doc/posix-headers/float.texi: Mention problems on FreeBSD, AIX, IRIX.
34014 2011-06-20  Bruno Haible  <bruno@clisp.org>
34016         Tests for module 'float'.
34017         * modules/float-tests: New file.
34018         * tests/test-float.c: New file.
34020 2011-06-19  Bruno Haible  <bruno@clisp.org>
34022         isinf: Coding style.
34023         * lib/isinf.c: Use GNU coding style.
34025 2011-06-19  Bruno Haible  <bruno@clisp.org>
34027         linkat test: Avoid test failure on AIX 7.1.
34028         * tests/test-linkat.c (main): Allow EINVAL as alternate error value.
34029         * tests/test-link.h (test_link): Likewise.
34031 2011-06-19  Bruno Haible  <bruno@clisp.org>
34033         pread test: Avoid test failure on OpenBSD 4.9.
34034         * tests/test-pread.c (main): Allow EFBIG instead of EINBAL.
34036 2011-06-19  Bruno Haible  <bruno@clisp.org>
34038         sprintf-posix: Fix test failure on AIX 7.1.
34039         * m4/printf.m4 (gl_PRINTF_PRECISION): Test against AIX bug.
34040         * doc/posix-functions/dprintf.texi: Mention limited precision problem
34041         on AIX.
34042         * doc/posix-functions/fprintf.texi: Likewise.
34043         * doc/posix-functions/printf.texi: Likewise.
34044         * doc/posix-functions/snprintf.texi: Likewise.
34045         * doc/posix-functions/sprintf.texi: Likewise.
34046         * doc/posix-functions/vdprintf.texi: Likewise.
34047         * doc/posix-functions/vfprintf.texi: Likewise.
34048         * doc/posix-functions/vprintf.texi: Likewise.
34049         * doc/posix-functions/vsnprintf.texi: Likewise.
34050         * doc/posix-functions/vsprintf.texi: Likewise.
34052 2011-06-19  Bruno Haible  <bruno@clisp.org>
34054         roundl-ieee: Fix test failure on AIX 7.1.
34055         * m4/roundl.m4 (gl_FUNC_ROUNDL): Test also the sign of roundl (-0.3L).
34056         * doc/posix-functions/roundl.texi: Mention problem with negative
34057         arguments.
34059 2011-06-19  Bruno Haible  <bruno@clisp.org>
34061         round-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
34062         * modules/round-ieee (Depends-on): Add floor-ieee, ceil-ieee.
34063         * doc/posix-functions/round.texi: Mention problem with negative
34064         arguments.
34065         * doc/posix-functions/ceil.texi: Mention problem on OSF/1 5.1.
34067 2011-06-19  Bruno Haible  <bruno@clisp.org>
34069         roundf-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
34070         * m4/roundf.m4 (gl_FUNC_ROUNDF): Test also the sign of roundf (-0.3f).
34071         * modules/roundf-ieee (Depends-on): Add floorf-ieee, ceilf-ieee.
34072         * doc/posix-functions/roundf.texi: Mention problem with negative
34073         arguments.
34074         * doc/posix-functions/ceilf.texi: Mention problem on OSF/1 5.1.
34076 2011-06-19  Bruno Haible  <bruno@clisp.org>
34078         ceilf-ieee: Work around bug on MacOS X 10.5.
34079         * doc/posix-functions/ceilf.texi: Mention the MacOS X 10.5 problem.
34081         floor*-ieee, ceil*-ieee, trunc*-ieee, round*-ieee: More robust checks.
34082         * m4/floorf.m4 (gl_FUNC_FLOORF): In the test whether the function is
34083         IEEE compliant, avoid compiler optimizations.
34084         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
34085         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
34086         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
34087         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
34088         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
34089         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
34090         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
34091         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
34092         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
34093         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
34095 2011-06-19  Bruno Haible  <bruno@clisp.org>
34097         ceilf-ieee: Work around bug on AIX 7.1.
34098         * m4/ceilf.m4 (gl_FUNC_CEILF): Test also the sign of ceilf (-0.3f).
34099         * doc/posix-functions/ceilf.texi: Mention the AIX 7.1 problem.
34101 2011-06-19  Bruno Haible  <bruno@clisp.org>
34103         ceil-ieee: Work around bug on AIX 7.1.
34104         * m4/ceil.m4 (gl_FUNC_CEIL): Test also the sign of ceil (-0.3).
34105         * doc/posix-functions/ceil.texi: Mention the AIX 7.1 problem.
34107 2011-06-18  Bruno Haible  <bruno@clisp.org>
34109         fsync test: Avoid test failure on MacOS X and AIX.
34110         * tests/test-fsync.c (fsync): Allow ENOTSUP and EBADF instead of
34111         EINVAL.
34113 2011-06-18  Bruno Haible  <bruno@clisp.org>
34115         openat, fdopendir tests: Fix link errors.
34116         * modules/openat-tests (Depends-on): Add progname.
34117         * modules/fdopendir-tests (Depends-on): Likewise.
34118         * tests/test-fchownat.c: Include progname.h.
34119         (main): Call set_program_name.
34120         * tests/test-fstatat.c: Include progname.h.
34121         (main): Call set_program_name.
34122         * tests/test-mkdirat.c: Include progname.h.
34123         (main): Call set_program_name.
34124         * tests/test-openat.c: Include progname.h.
34125         (main): Call set_program_name.
34126         * tests/test-unlinkat.c: Include progname.h.
34127         (main): Call set_program_name.
34128         * tests/test-fdopendir.c: Include progname.h.
34129         (main): Call set_program_name.
34131 2011-06-18  Bruno Haible  <bruno@clisp.org>
34133         Doc update.
34134         * doc/posix-functions/pthread_attr_getstack.texi: Update info regarding
34135         HP-UX.
34136         * doc/posix-functions/pthread_attr_setstack.texi: Likewise.
34138 2011-06-18  Bruno Haible  <bruno@clisp.org>
34140         getcwd tests: Avoid compilation error on HP-UX 11.31.
34141         * modules/getcwd-tests (Depends-on): Add pathmax.
34142         * tests/test-getcwd.c: Include pathmax.h.
34144 2011-06-18  Bruno Haible  <bruno@clisp.org>
34146         isfinite, isinf: Fix link error on AIX 6 and 7.
34147         * m4/isfinite.m4 (gl_ISFINITE): When determining whether libm is
34148         needed, also test the macro with a 'float' argument.
34149         * m4/isinf.m4 (gl_ISINF): Likewise.
34151 2011-06-18  Bruno Haible  <bruno@clisp.org>
34153         getloadavg: Don't clobber LIBS. Regression from previous commit.
34154         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Move tests that use
34155         AC_CHECK_LIB from here...
34156         (gl_GETLOADAVG): ... to here, inside the experiment with LIBS.
34157         (gl_GETLOADAVG, gl_PREREQ_GETLOADAVG): Rename gl_have_func to
34158         gl_func_getloadavg_done.
34159         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
34161 2011-06-18  Bruno Haible  <bruno@clisp.org>
34163         clean-temp: Improve documentation.
34164         * lib/clean-temp.h: Explain better how to use this module.
34165         Reported by John Darrington <john@darrington.wattle.id.au>.
34167 2011-06-17  Bruno Haible  <bruno@clisp.org>
34169         pread, pwrite: Avoid cc warning on AIX.
34170         * lib/unistd.in.h (pread): Undefine before defining as a macro.
34171         (pwrite): Likewise.
34173 2011-06-17  Bruno Haible  <bruno@clisp.org>
34175         spawn-pipe tests: Fix link error.
34176         * tests/test-spawn-pipe-child.c: Undefine fprintf.
34177         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
34179 2011-06-17  Bruno Haible  <bruno@clisp.org>
34181         Tests: Remove unnecessary dependency.
34182         * modules/canonicalize-tests (Depends-on): Remove progname.
34183         * modules/chown-tests (Depends-on): Likewise.
34184         * modules/dirname-tests (Depends-on): Likewise.
34185         * modules/fdopendir-tests (Depends-on): Likewise.
34186         * modules/fdutimensat-tests (Depends-on): Likewise.
34187         * modules/hash-tests (Depends-on): Likewise.
34188         * modules/lchown-tests (Depends-on): Likewise.
34189         * modules/linkat-tests (Depends-on): Likewise.
34190         * modules/renameat-tests (Depends-on): Likewise.
34191         * modules/spawn-pipe-tests (Depends-on): Likewise.
34192         * modules/utimensat-tests (Depends-on): Likewise.
34194 2011-06-17  Bruno Haible  <bruno@clisp.org>
34196         spawn-pipe tests: Fix link error.
34197         * tests/test-spawn-pipe-child.c: Undefine fflush.
34199 2011-06-17  Bruno Haible  <bruno@clisp.org>
34201         Fix tests link errors.
34202         * modules/ceil-ieee-tests (Makefile.am): Use CEIL_LIBM, not FLOOR_LIBM.
34203         * modules/chown-tests (Makefile.am): Don't link test-chown with
34204         LIBINTL.
34205         * modules/lchown-tests (Makefile.am): Don't link test-lchown with
34206         LIBINTL.
34207         * modules/utimens-tests (Makefile.am): Don't link test-utimens with
34208         LIBINTL.
34209         * modules/futimens-tests (Makefile.am): Don't link test-futimens with
34210         LIBINTL.
34212 2011-06-16  Bruno Haible  <bruno@clisp.org>
34214         crypto/gc-sha1: Fix recent regression.
34215         * modules/crypto/gc-sha1 (configure.ac): Invoke AC_LIBOBJ here.
34216         * m4/gc-sha1.m4 (gl_GC_SHA1): Don't invoke gl_SHA1.
34218         crypto/gc-md5: Fix recent regression.
34219         * modules/crypto/gc-md5 (configure.ac): Invoke AC_LIBOBJ here.
34221         crypto/gc-md4: Fix recent regression.
34222         * modules/crypto/gc-md4 (configure.ac): Invoke AC_LIBOBJ here.
34223         * m4/md4.m4 (gl_MD4): Ensure the expansion is non-empty.
34225         crypto/gc-arctwo: Fix recent regression.
34226         * modules/crypto/gc-arctwo (configure.ac): Invoke AC_LIBOBJ here.
34227         * m4/arctwo.m4 (gl_ARCTWO): Ensure the expansion is non-empty.
34229         crypto/gc-rijndael: Fix recent regression.
34230         * modules/crypto/gc-rijndael (Files): Remove m4/rijndael.m4.
34231         (configure.ac): Invoke AC_LIBOBJ here.
34232         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Don't invoke gl_RIJNDAEL.
34233         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
34235         crypto/gc-hmac-sha1: Fix recent regression.
34236         * modules/crypto/gc-hmac-sha1 (Files): Remove m4/hmac-sha1.m4.
34237         (configure.ac): Invoke AC_LIBOBJ here.
34238         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Don't invoke gl_HMAC_SHA1.
34239         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
34241         crypto/gc-hmac-md5: Fix recent regression.
34242         * modules/crypto/gc-hmac-md5 (Files): Remove m4/hmac-md5.m4.
34243         (configure.ac): Invoke AC_LIBOBJ here.
34244         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Don't invoke gl_HMAC_MD5.
34245         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
34247         crypto/gc-des: Fix recent regression.
34248         * modules/crypto/gc-des (Files): Remove m4/des.m4.
34249         (configure.ac): Invoke AC_LIBOBJ here.
34250         * m4/gc-des.m4 (gl_GC_DES): Don't invoke gl_DES.
34251         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
34253         crypto/gc-arcfour: Fix recent regression.
34254         * modules/crypto/gc-arcfour (Files): Remove m4/arcfour.m4.
34255         (configure.ac): Invoke AC_LIBOBJ here.
34256         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Don't invoke gl_ARCFOUR.
34257         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
34259 2011-06-16  Paul Eggert  <eggert@cs.ucla.edu>
34261         * m4/lstat.m4 (gl_FUNC_LSTAT): Fix typo in prerequisite.
34262         After the 2011-05-21 change, this macro requires
34263         gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, not
34264         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
34266 2011-06-16  Bruno Haible  <bruno@clisp.org>
34268         fprintftime: Move AC_LIBOBJ invocations to module description.
34269         * m4/fprintftime.m4: Remove file.
34270         * modules/fprintftime (Files): Remove m4/fprintftime.m4.
34271         (configure.ac): Remove gl_FPRINTFTIME call.
34272         (Makefile.am): Augment lib_SOURCES.
34273         Reported by Jim Meyering.
34275 2011-06-16  Bruno Haible  <bruno@clisp.org>
34277         tmpfile-safer: Finish 2011-05-23 commit.
34278         * m4/stdio-safer.m4: Really remove file.
34279         Reported by Jim Meyering.
34281 2011-06-16  Bruno Haible  <bruno@clisp.org>
34283         syntax-check: Fix typo.
34284         * Makefile (allow_AC_LIBOBJ): Mention printf-posix-rpl.m4, not
34285         printf-posix.m4.
34286         Reported by Jim Meyering.
34288 2011-06-13  Jim Meyering  <meyering@redhat.com>
34290         syntax-check: add a rule to help enforce the no-AC_LIBOBJ-in-m4/ policy
34291         * Makefile (sc_prohibit_AC_LIBOBJ_in_m4): New rule.
34293 2011-05-23  Bruno Haible  <bruno@clisp.org>
34295         yesno: Move AC_LIBOBJ invocations to module description.
34296         * m4/yesno.m4 (gl_YESNO): Remove AC_LIBOBJ invocation.
34297         * modules/yesno (Makefile.am): Augment lib_SOURCES.
34299 2011-05-23  Bruno Haible  <bruno@clisp.org>
34301         xstrtol: Move AC_LIBOBJ invocations to module description.
34302         * m4/xstrtol.m4 (gl_XSTRTOL): Remove AC_LIBOBJ invocations.
34303         * modules/xstrtol (Makefile.am): Augment lib_SOURCES.
34305 2011-05-23  Bruno Haible  <bruno@clisp.org>
34307         xstrtold: Move AC_LIBOBJ invocations to module description.
34308         * m4/xstrtod.m4 (gl_XSTRTOLD): Remove AC_LIBOBJ invocation.
34309         * modules/xstrtold (Makefile.am): Augment lib_SOURCES.
34311 2011-05-23  Bruno Haible  <bruno@clisp.org>
34313         xstrtod: Move AC_LIBOBJ invocations to module description.
34314         * m4/xstrtod.m4 (gl_XSTRTOD): Remove AC_LIBOBJ invocation.
34315         * modules/xstrtod (Makefile.am): Augment lib_SOURCES.
34317 2011-05-23  Bruno Haible  <bruno@clisp.org>
34319         xnanosleep: Move AC_LIBOBJ invocations to module description.
34320         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove AC_LIBOBJ invocation.
34321         * modules/xnanosleep (Makefile.am): Augment lib_SOURCES.
34323 2011-05-23  Bruno Haible  <bruno@clisp.org>
34325         xgetcwd: Move AC_LIBOBJ invocations to module description.
34326         * m4/xgetcwd.m4 (gl_XGETCWD): Remove AC_LIBOBJ invocation.
34327         * modules/xgetcwd (Makefile.am): Augment lib_SOURCES.
34329 2011-05-23  Bruno Haible  <bruno@clisp.org>
34331         xalloc: Move AC_LIBOBJ invocations to module description.
34332         * m4/xalloc.m4 (gl_XALLOC): Remove AC_LIBOBJ invocation.
34333         * modules/xalloc (Makefile.am): Augment lib_SOURCES.
34335 2011-05-23  Bruno Haible  <bruno@clisp.org>
34337         write-any-file: Move AC_LIBOBJ invocations to module description.
34338         * m4/write-any-file.m4 (gl_WRITE_ANY_FILE): Remove AC_LIBOBJ
34339         invocation.
34340         * modules/write-any-file (Makefile.am): Augment lib_SOURCES.
34342 2011-05-23  Bruno Haible  <bruno@clisp.org>
34344         utimens: Move AC_LIBOBJ invocations to module description.
34345         * m4/utimens.m4 (gl_UTIMENS): Remove AC_LIBOBJ invocation.
34346         * modules/utimens (Makefile.am): Augment lib_SOURCES.
34348 2011-05-23  Bruno Haible  <bruno@clisp.org>
34350         utimecmp: Move AC_LIBOBJ invocations to module description.
34351         * m4/utimecmp.m4 (gl_UTIMECMP): Remove AC_LIBOBJ invocation.
34352         * modules/utimecmp (Makefile.am): Augment lib_SOURCES.
34354 2011-05-23  Bruno Haible  <bruno@clisp.org>
34356         userspec: Move AC_LIBOBJ invocations to module description.
34357         * m4/userspec.m4 (gl_USERSPEC): Remove AC_LIBOBJ invocation.
34358         * modules/userspec (Makefile.am): Augment lib_SOURCES.
34360 2011-05-23  Bruno Haible  <bruno@clisp.org>
34362         unlinkdir: Move AC_LIBOBJ invocations to module description.
34363         * m4/unlinkdir.m4 (gl_UNLINKDIR): Remove AC_LIBOBJ invocation.
34364         * modules/unlinkdir (Makefile.am): Augment lib_SOURCES.
34366 2011-05-23  Bruno Haible  <bruno@clisp.org>
34368         unistd-safer: Move AC_LIBOBJ invocations to module description.
34369         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Remove AC_LIBOBJ invocations.
34370         * modules/unistd-safer (Makefile.am): Augment lib_SOURCES.
34372 2011-05-23  Bruno Haible  <bruno@clisp.org>
34374         tempname: Move AC_LIBOBJ invocations to module description.
34375         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Remove AC_LIBOBJ invocation.
34376         * modules/tempname (Makefile.am): Augment lib_SOURCES.
34378 2011-05-23  Bruno Haible  <bruno@clisp.org>
34380         strftime: Move AC_LIBOBJ invocations to module description.
34381         * m4/strftime.m4 (gl_FUNC_STRFTIME): Remove AC_LIBOBJ invocation.
34382         * modules/strftime (Makefile.am): Augment lib_SOURCES.
34384 2011-05-23  Bruno Haible  <bruno@clisp.org>
34386         stdlib-safer: Move AC_LIBOBJ invocations to module description.
34387         * m4/stdlib-safer.m4: Remove file.
34388         * modules/stdlib-safer (Files): Remove m4/stdlib-safer.m4.
34389         (configure.ac): Remove gl_STDLIB_SAFER call.
34390         (Makefile.am): Augment lib_SOURCES.
34392 2011-05-23  Bruno Haible  <bruno@clisp.org>
34394         tmpfile-safer: Move AC_LIBOBJ invocations to module description.
34395         * m4/stdio-safer.m4: Remove file.
34396         * modules/tmpfile-safer (Files): Remove m4/stdio-safer.m4.
34397         (configure.ac): Remove gl_TMPFILE_SAFER call.
34398         (Makefile.am): Augment lib_SOURCES.
34400 2011-05-23  Bruno Haible  <bruno@clisp.org>
34402         popen-safer: Move AC_LIBOBJ invocations to module description.
34403         * m4/stdio-safer.m4 (gl_POPEN_SAFER): Remove macro.
34404         * modules/popen-safer (Files): Remove m4/stdio-safer.m4.
34405         (configure.ac): Remove gl_POPEN_SAFER call.
34406         (Makefile.am): Augment lib_SOURCES.
34408 2011-05-23  Bruno Haible  <bruno@clisp.org>
34410         freopen-safer: Move AC_LIBOBJ invocations to module description.
34411         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): Remove macro.
34412         * modules/freopen-safer (Files): Remove m4/stdio-safer.m4.
34413         (configure.ac): Remove gl_FREOPEN_SAFER call.
34414         (Makefile.am): Augment lib_SOURCES.
34416 2011-05-23  Bruno Haible  <bruno@clisp.org>
34418         fopen-safer: Move AC_LIBOBJ invocations to module description.
34419         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove macro.
34420         * modules/fopen-safer (Files): Remove m4/stdio-safer.m4.
34421         (configure.ac): Remove gl_FOPEN_SAFER call.
34422         (Makefile.am): Augment lib_SOURCES.
34424 2011-05-23  Bruno Haible  <bruno@clisp.org>
34426         crypto/sha512: Move AC_LIBOBJ invocations to module description.
34427         * m4/sha512.m4 (gl_SHA512): Remove AC_LIBOBJ invocation.
34428         * modules/crypto/sha512 (Makefile.am): Augment lib_SOURCES.
34430 2011-05-23  Bruno Haible  <bruno@clisp.org>
34432         crypto/sha256: Move AC_LIBOBJ invocations to module description.
34433         * m4/sha256.m4 (gl_SHA256): Remove AC_LIBOBJ invocation.
34434         * modules/crypto/sha256 (Makefile.am): Augment lib_SOURCES.
34436 2011-05-23  Bruno Haible  <bruno@clisp.org>
34438         crypto/sha1: Move AC_LIBOBJ invocations to module description.
34439         * m4/sha1.m4 (gl_SHA1): Remove AC_LIBOBJ invocation.
34440         * modules/crypto/sha1 (Makefile.am): Augment lib_SOURCES.
34442 2011-05-23  Bruno Haible  <bruno@clisp.org>
34444         settime: Move AC_LIBOBJ invocations to module description.
34445         * m4/settime.m4 (gl_SETTIME): Remove AC_LIBOBJ invocation.
34446         * modules/settime (Makefile.am): Augment lib_SOURCES.
34448 2011-05-23  Bruno Haible  <bruno@clisp.org>
34450         savedir: Move AC_LIBOBJ invocations to module description.
34451         * m4/savedir.m4 (gl_SAVEDIR): Remove AC_LIBOBJ invocation.
34452         * modules/savedir (Makefile.am): Augment lib_SOURCES.
34454 2011-05-23  Bruno Haible  <bruno@clisp.org>
34456         save-cwd: Move AC_LIBOBJ invocations to module description.
34457         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove AC_LIBOBJ invocation.
34458         * modules/save-cwd (Makefile.am): Augment lib_SOURCES.
34460 2011-05-23  Bruno Haible  <bruno@clisp.org>
34462         same: Move AC_LIBOBJ invocations to module description.
34463         * m4/same.m4 (gl_SAME): Remove AC_LIBOBJ invocation.
34464         * modules/same (Makefile.am): Augment lib_SOURCES.
34466 2011-05-23  Bruno Haible  <bruno@clisp.org>
34468         safe-write: Move AC_LIBOBJ invocations to module description.
34469         * m4/safe-write.m4 (gl_SAFE_WRITE): Remove macro.
34470         * modules/safe-write (configure.ac): Invoke gl_PREREQ_SAFE_WRITE
34471         instead of gl_SAFE_WRITE.
34472         (Makefile.am): Augment lib_SOURCES.
34474 2011-05-23  Bruno Haible  <bruno@clisp.org>
34476         safe-read: Move AC_LIBOBJ invocations to module description.
34477         * m4/safe-read.m4 (gl_SAFE_READ): Remove macro.
34478         * modules/safe-read (configure.ac): Invoke gl_PREREQ_SAFE_READ instead
34479         of gl_SAFE_READ.
34480         (Makefile.am): Augment lib_SOURCES.
34482 2011-05-23  Bruno Haible  <bruno@clisp.org>
34484         safe-alloc: Move AC_LIBOBJ invocations to module description.
34485         * m4/safe-alloc.m4 (gl_SAFE_ALLOC): Remove AC_LIBOBJ invocation.
34486         * modules/safe-alloc (Makefile.am): Augment lib_SOURCES.
34488 2011-05-23  Bruno Haible  <bruno@clisp.org>
34490         crypto/rijndael: Move AC_LIBOBJ invocations to module description.
34491         * m4/rijndael.m4: Remove file.
34492         * modules/crypto/rijndael (Files): Remove it.
34493         (configure.ac): Remove gl_RIJNDAEL call.
34494         (Makefile.am): Augment lib_SOURCES.
34496 2011-05-23  Bruno Haible  <bruno@clisp.org>
34498         readtokens: Move AC_LIBOBJ invocations to module description.
34499         * m4/readtokens.m4 (gl_READTOKENS): Remove AC_LIBOBJ invocation.
34500         * modules/readtokens (Makefile.am): Augment lib_SOURCES.
34502 2011-05-23  Bruno Haible  <bruno@clisp.org>
34504         read-file: Move AC_LIBOBJ invocations to module description.
34505         * m4/read-file.m4 (gl_FUNC_READ_FILE): Remove macro.
34506         * modules/read-file (configure.ac): Invoke gl_PREREQ_READ_FILE instead
34507         of gl_FUNC_READ_FILE.
34508         (Makefile.am): Augment lib_SOURCES.
34510 2011-05-23  Bruno Haible  <bruno@clisp.org>
34512         quotearg: Move AC_LIBOBJ invocations to module description.
34513         * m4/quotearg.m4 (gl_QUOTEARG): Remove AC_LIBOBJ invocation.
34514         * modules/quotearg (Makefile.am): Augment lib_SOURCES.
34516 2011-05-23  Bruno Haible  <bruno@clisp.org>
34518         quote: Move AC_LIBOBJ invocations to module description.
34519         * m4/quote.m4 (gl_QUOTE): Remove AC_LIBOBJ invocation.
34520         * modules/quote (Makefile.am): Augment lib_SOURCES.
34522 2011-05-23  Bruno Haible  <bruno@clisp.org>
34524         posixver: Move AC_LIBOBJ invocations to module description.
34525         * m4/posixver.m4 (gl_POSIXVER): Remove AC_LIBOBJ invocation.
34526         * modules/posixver (Makefile.am): Augment lib_SOURCES.
34528 2011-05-23  Bruno Haible  <bruno@clisp.org>
34530         posixtm: Move AC_LIBOBJ invocations to module description.
34531         * m4/posixtm.m4 (gl_POSIXTM): Remove AC_LIBOBJ invocation.
34532         * modules/posixtm (Makefile.am): Augment lib_SOURCES.
34534 2011-05-23  Bruno Haible  <bruno@clisp.org>
34536         physmem: Move AC_LIBOBJ invocations to module description.
34537         * m4/physmem.m4 (gl_PHYSMEM): Remove AC_LIBOBJ invocation.
34538         * modules/physmem (Makefile.am): Augment lib_SOURCES.
34540 2011-05-23  Bruno Haible  <bruno@clisp.org>
34542         pagealign_alloc: Move AC_LIBOBJ invocations to module description.
34543         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Remove AC_LIBOBJ
34544         invocation.
34545         * modules/pagealign_alloc (Makefile.am): Augment lib_SOURCES.
34547 2011-05-23  Bruno Haible  <bruno@clisp.org>
34549         mpsort: Move AC_LIBOBJ invocations to module description.
34550         * m4/mpsort.m4 (gl_MPSORT): Remove AC_LIBOBJ invocation.
34551         * modules/mpsort (Makefile.am): Augment lib_SOURCES.
34553 2011-05-23  Bruno Haible  <bruno@clisp.org>
34555         modechange: Move AC_LIBOBJ invocations to module description.
34556         * m4/modechange.m4 (gl_MODECHANGE): Remove AC_LIBOBJ invocation.
34557         * modules/modechange (Makefile.am): Augment lib_SOURCES.
34559 2011-05-23  Bruno Haible  <bruno@clisp.org>
34561         mkdir-p: Move AC_LIBOBJ invocations to module description.
34562         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Remove AC_LIBOBJ invocations.
34563         * modules/mkdir-p (Makefile.am): Augment lib_SOURCES.
34565 2011-05-23  Bruno Haible  <bruno@clisp.org>
34567         mkancesdirs: Move AC_LIBOBJ invocations to module description.
34568         * m4/mkancesdirs.m4 (gl_MKANCESDIRS): Remove AC_LIBOBJ invocation.
34569         * modules/mkancesdirs (Makefile.am): Augment lib_SOURCES.
34571 2011-05-23  Bruno Haible  <bruno@clisp.org>
34573         mgetgroups: Move AC_LIBOBJ invocations to module description.
34574         * m4/mgetgroups.m4 (gl_MGETGROUPS): Remove AC_LIBOBJ invocation.
34575         * modules/mgetgroups (Makefile.am): Augment lib_SOURCES.
34577 2011-05-23  Bruno Haible  <bruno@clisp.org>
34579         memxor: Move AC_LIBOBJ invocations to module description.
34580         * m4/memxor.m4 (gl_MEMXOR): Remove AC_LIBOBJ invocation.
34581         * modules/memxor (Makefile.am): Augment lib_SOURCES.
34583 2011-05-23  Bruno Haible  <bruno@clisp.org>
34585         memcoll: Move AC_LIBOBJ invocations to module description.
34586         * m4/memcoll.m4 (gl_MEMCOLL): Remove AC_LIBOBJ invocation.
34587         * modules/memcoll (Makefile.am): Augment lib_SOURCES.
34589 2011-05-23  Bruno Haible  <bruno@clisp.org>
34591         memcasecmp: Move AC_LIBOBJ invocations to module description.
34592         * m4/memcasecmp.m4 (gl_MEMCASECMP): Remove AC_LIBOBJ invocation.
34593         * modules/memcasecmp (Makefile.am): Augment lib_SOURCES.
34595 2011-05-23  Bruno Haible  <bruno@clisp.org>
34597         crypto/md5: Move AC_LIBOBJ invocations to module description.
34598         * m4/md5.m4 (gl_MD5): Remove AC_LIBOBJ invocation.
34599         * modules/crypto/md5 (Makefile.am): Augment lib_SOURCES.
34601 2011-05-23  Bruno Haible  <bruno@clisp.org>
34603         crypto/md4: Move AC_LIBOBJ invocations to module description.
34604         * m4/md4.m4 (gl_MD4): Remove AC_LIBOBJ invocation.
34605         * modules/crypto/md4 (Makefile.am): Augment lib_SOURCES.
34607 2011-05-23  Bruno Haible  <bruno@clisp.org>
34609         crypto/md2: Move AC_LIBOBJ invocations to module description.
34610         * m4/md2.m4: Remove file.
34611         * modules/crypto/md2 (Files): Remove it.
34612         (configure.ac): Remove gl_MD2 call.
34613         (Makefile.am): Augment lib_SOURCES.
34615 2011-05-23  Bruno Haible  <bruno@clisp.org>
34617         long-options: Move AC_LIBOBJ invocations to module description.
34618         * m4/long-options.m4: Remove file.
34619         * modules/long-options (Files): Remove it.
34620         (configure.ac): Remove gl_LONG_OPTIONS call.
34621         (Makefile.am): Augment lib_SOURCES.
34623 2011-05-23  Bruno Haible  <bruno@clisp.org>
34625         i-ring: Move AC_LIBOBJ invocations to module description.
34626         * m4/i-ring.m4 (gl_I_RING): Remove AC_LIBOBJ invocation.
34627         * modules/i-ring (Makefile.am): Augment lib_SOURCES.
34629 2011-05-23  Bruno Haible  <bruno@clisp.org>
34631         idcache: Move AC_LIBOBJ invocations to module description.
34632         * m4/idcache.m4 (gl_IDCACHE): Remove AC_LIBOBJ invocation.
34633         * modules/idcache (Makefile.am): Augment lib_SOURCES.
34635 2011-05-23  Bruno Haible  <bruno@clisp.org>
34637         human: Move AC_LIBOBJ invocations to module description.
34638         * m4/human.m4 (gl_HUMAN): Remove AC_LIBOBJ invocation.
34639         * modules/human (Makefile.am): Augment lib_SOURCES.
34641 2011-05-23  Bruno Haible  <bruno@clisp.org>
34643         crypto/hmac-sha1: Move AC_LIBOBJ invocations to module description.
34644         * m4/hmac-sha1.m4: Remove file.
34645         * modules/crypto/hmac-sha1 (Files): Remove it.
34646         (configure.ac): Remove gl_HMAC_SHA1 call.
34647         (Makefile.am): Augment lib_SOURCES.
34649 2011-05-23  Bruno Haible  <bruno@clisp.org>
34651         crypto/hmac-md5: Move AC_LIBOBJ invocations to module description.
34652         * m4/hmac-md5.m4: Remove file.
34653         * modules/crypto/hmac-md5 (Files): Remove it.
34654         (configure.ac): Remove gl_HMAC_MD5 call.
34655         (Makefile.am): Augment lib_SOURCES.
34657 2011-05-23  Bruno Haible  <bruno@clisp.org>
34659         hash: Move AC_LIBOBJ invocations to module description.
34660         * m4/hash.m4: Remove file.
34661         * modules/hash (Files): Remove it.
34662         (configure.ac): Remove gl_HASH call.
34663         (Makefile.am): Augment lib_SOURCES.
34665 2011-05-23  Bruno Haible  <bruno@clisp.org>
34667         hard-locale: Move AC_LIBOBJ invocations to module description.
34668         * m4/hard-locale.m4 (gl_HARD_LOCALE): Remove AC_LIBOBJ invocation.
34669         * modules/hard-locale (Makefile.am): Augment lib_SOURCES.
34671 2011-05-23  Bruno Haible  <bruno@clisp.org>
34673         getugroups: Move AC_LIBOBJ invocations to module description.
34674         * m4/getugroups.m4 (gl_GETUGROUPS): Remove AC_LIBOBJ invocation.
34675         * modules/getugroups (Makefile.am): Augment lib_SOURCES.
34677 2011-05-23  Bruno Haible  <bruno@clisp.org>
34679         gettime: Move AC_LIBOBJ invocations to module description.
34680         * m4/gettime.m4 (gl_GETTIME): Remove AC_LIBOBJ invocation.
34681         * modules/gettime (Makefile.am): Augment lib_SOURCES.
34683 2011-05-23  Bruno Haible  <bruno@clisp.org>
34685         getndelim2: Move AC_LIBOBJ invocations to module description.
34686         * m4/getndelim2.m4 (gl_GETNDELIM2): Remove AC_LIBOBJ invocation.
34687         * modules/getndelim2 (Makefile.am): Augment lib_SOURCES.
34689 2011-05-23  Bruno Haible  <bruno@clisp.org>
34691         crypto/gc-pbkdf2-sha1: Move AC_LIBOBJ invocations to module description.
34692         * m4/gc-pbkdf2-sha1.m4: Remove file.
34693         * modules/crypto/gc-pbkdf2-sha1 (Files): Remove it.
34694         (configure.ac): Remove gl_GC_PBKDF2_SHA1 call.
34695         (Makefile.am): Augment lib_SOURCES.
34697 2011-05-23  Bruno Haible  <bruno@clisp.org>
34699         fts: Move AC_LIBOBJ invocations to module description.
34700         * m4/fts.m4 (gl_FUNC_FTS_CORE): Move AC_LIBOBJ invocation from here...
34701         * modules/fts (configure.ac): ... to here.
34703 2011-05-23  Bruno Haible  <bruno@clisp.org>
34705         file-type: Move AC_LIBOBJ invocations to module description.
34706         * m4/file-type.m4: Remove file.
34707         * modules/file-type (Files): Remove it.
34708         (configure.ac): Remove gl_FILE_TYPE call.
34709         (Makefile.am): Augment lib_SOURCES.
34711 2011-05-23  Bruno Haible  <bruno@clisp.org>
34713         filenamecat*: Respect rules for use of AC_LIBOBJ.
34714         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT, gl_FILE_NAME_CONCAT_LGPL):
34715         Remove AC_LIBOBJ invocation.
34716         * modules/filenamecat (Makefile.am): Augment lib_SOURCES.
34717         * modules/filenamecat-lgpl (Makefile.am): Augment lib_SOURCES.
34719 2011-05-23  Bruno Haible  <bruno@clisp.org>
34721         filemode: Move AC_LIBOBJ invocations to module description.
34722         * m4/filemode.m4 (gl_FILEMODE): Remove AC_LIBOBJ invocation.
34723         * modules/filemode (Makefile.am): Augment lib_SOURCES.
34725 2011-05-23  Bruno Haible  <bruno@clisp.org>
34727         openat-safer: Move AC_LIBOBJ invocations to module description.
34728         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): Remove AC_LIBOBJ invocation.
34729         * modules/openat-safer (Makefile.am): Augment lib_SOURCES.
34731 2011-05-23  Bruno Haible  <bruno@clisp.org>
34733         fcntl-safer: Move AC_LIBOBJ invocations to module description.
34734         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove AC_LIBOBJ invocations.
34735         * modules/fcntl-safer (Makefile.am): Augment lib_SOURCES.
34737 2011-05-23  Bruno Haible  <bruno@clisp.org>
34739         exclude: Move AC_LIBOBJ invocations to module description.
34740         * m4/exclude.m4: Remove file.
34741         * modules/exclude (Files): Remove it.
34742         (configure.ac): Remove gl_EXCLUDE call.
34743         (Makefile.am): Augment lib_SOURCES.
34745 2011-05-23  Bruno Haible  <bruno@clisp.org>
34747         dirname*: Respect rules for use of AC_LIBOBJ.
34748         * m4/dirname.m4 (gl_DIRNAME, gl_DIRNAME_LGPL): Remove AC_LIBOBJ
34749         invocations.
34750         * modules/dirname (Makefile.am): Augment lib_SOURCES.
34751         * modules/dirname-lgpl (Makefile.am): Augment lib_SOURCES.
34753 2011-05-23  Bruno Haible  <bruno@clisp.org>
34755         dirent-safer: Move AC_LIBOBJ invocations to module description.
34756         * m4/dirent-safer.m4 (gl_DIRENT_SAFER): Remove AC_LIBOBJ invocation.
34757         * modules/dirent-safer (Makefile.am): Augment lib_SOURCES.
34759 2011-05-23  Bruno Haible  <bruno@clisp.org>
34761         crypto/des: Move AC_LIBOBJ invocations to module description.
34762         * m4/des.m4: Remove file.
34763         * modules/crypto/des (Files): Remove it.
34764         (configure.ac): Remove gl_DES call.
34765         (Makefile.am): Augment lib_SOURCES.
34767 2011-05-23  Bruno Haible  <bruno@clisp.org>
34769         cycle-check: Move AC_LIBOBJ invocations to module description.
34770         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Remove AC_LIBOBJ invocation.
34771         * modules/cycle-check (Makefile.am): Augment lib_SOURCES.
34773 2011-05-23  Bruno Haible  <bruno@clisp.org>
34775         c-strtold: Move AC_LIBOBJ invocations to module description.
34776         * m4/c-strtod.m4 (gl_C_STRTOLD): Remove AC_LIBOBJ invocation.
34777         * modules/c-strtold (Makefile.am): Augment lib_SOURCES.
34779 2011-05-23  Bruno Haible  <bruno@clisp.org>
34781         c-strtod: Move AC_LIBOBJ invocations to module description.
34782         * m4/c-strtod.m4 (gl_C_STRTOD): Remove AC_LIBOBJ invocation.
34783         * modules/c-strtod (Makefile.am): Augment lib_SOURCES.
34785 2011-05-23  Bruno Haible  <bruno@clisp.org>
34787         crc: Move AC_LIBOBJ invocations to module description.
34788         * m4/crc.m4: Remove file.
34789         * modules/crc (Files): Remove it.
34790         (configure.ac): Remove gl_CRC call.
34791         (Makefile.am): Augment lib_SOURCES.
34793 2011-05-23  Bruno Haible  <bruno@clisp.org>
34795         close-stream: Move AC_LIBOBJ invocations to module description.
34796         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove AC_LIBOBJ invocation.
34797         * modules/close-stream (Makefile.am): Augment lib_SOURCES.
34799 2011-05-23  Bruno Haible  <bruno@clisp.org>
34801         closeout: Move AC_LIBOBJ invocations to module description.
34802         * m4/closeout.m4 (gl_CLOSEOUT): Remove AC_LIBOBJ invocation.
34803         * modules/closeout (Makefile.am): Augment lib_SOURCES.
34805 2011-05-23  Bruno Haible  <bruno@clisp.org>
34807         closein: Move AC_LIBOBJ invocations to module description.
34808         * m4/closein.m4 (gl_CLOSEIN): Remove AC_LIBOBJ invocation.
34809         * modules/closein (Makefile.am): Augment lib_SOURCES.
34811 2011-05-23  Bruno Haible  <bruno@clisp.org>
34813         cloexec: Move AC_LIBOBJ invocations to module description.
34814         * m4/cloexec.m4: Remove file.
34815         * modules/cloexec (Files): Remove it.
34816         (configure.ac): Remove gl_CLOEXEC call.
34817         (Makefile.am): Augment lib_SOURCES.
34819 2011-05-23  Bruno Haible  <bruno@clisp.org>
34821         check-version: Move AC_LIBOBJ invocations to module description.
34822         * m4/check-version.m4: Remove file.
34823         * modules/check-version (Files): Remove it.
34824         (configure.ac): Remove gl_CHECK_VERSION call.
34825         (Makefile.am): Augment lib_SOURCES.
34827 2011-05-23  Bruno Haible  <bruno@clisp.org>
34829         chdir-safer: Move AC_LIBOBJ invocations to module description.
34830         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Remove AC_LIBOBJ invocation.
34831         * modules/chdir-safer (Makefile.am): Augment lib_SOURCES.
34833 2011-05-23  Bruno Haible  <bruno@clisp.org>
34835         canonicalize: Move AC_LIBOBJ invocations to module description.
34836         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Remove
34837         AC_LIBOBJ invocation.
34838         * modules/canonicalize (Makefile.am): Augment lib_SOURCES.
34840 2011-05-23  Bruno Haible  <bruno@clisp.org>
34842         canon-host: Move AC_LIBOBJ invocations to module description.
34843         * m4/canon-host.m4 (gl_CANON_HOST): Remove macro.
34844         * modules/canon-host (configure.ac): Invoke gl_PREREQ_CANON_HOST
34845         instead of gl_CANON_HOST.
34846         (Makefile.am): Augment lib_SOURCES.
34848 2011-05-23  Bruno Haible  <bruno@clisp.org>
34850         backupfile: Move AC_LIBOBJ invocations to module description.
34851         * m4/backupfile.m4 (gl_BACKUPFILE): Remove AC_LIBOBJ invocation.
34852         * modules/backupfile (Makefile.am): Augment lib_SOURCES.
34854 2011-05-23  Bruno Haible  <bruno@clisp.org>
34856         argmatch: Move AC_LIBOBJ invocations to module description.
34857         * m4/argmatch.m4: Remove file.
34858         * modules/argmatch (Files): Remove it.
34859         (configure.ac): Remove gl_ARGMATCH call.
34860         (Makefile.am): Augment lib_SOURCES.
34862 2011-05-23  Bruno Haible  <bruno@clisp.org>
34864         crypto/arctwo: Move AC_LIBOBJ invocations to module description.
34865         * m4/arctwo.m4 (gl_ARCTWO): Remove AC_LIBOBJ invocation.
34866         * modules/crypto/arctwo (Makefile.am): Augment lib_SOURCES.
34868 2011-05-23  Bruno Haible  <bruno@clisp.org>
34870         crypto/arcfour: Move AC_LIBOBJ invocations to module description.
34871         * m4/arcfour.m4: Remove file.
34872         * modules/crypto/arcfour (Files): Remove it.
34873         (configure.ac): Remove gl_ARCFOUR call.
34874         (Makefile.am): Augment lib_SOURCES.
34876 2011-05-22  Bruno Haible  <bruno@clisp.org>
34878         write: Move AC_LIBOBJ invocations to module description.
34879         * m4/write.m4 (gl_FUNC_WRITE): Move AC_LIBOBJ invocation from here...
34880         * modules/write (configure.ac): ... to here.
34882 2011-05-22  Bruno Haible  <bruno@clisp.org>
34884         wmemset: Move AC_LIBOBJ invocations to module description.
34885         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Move AC_LIBOBJ invocation from
34886         here...
34887         * modules/wmemset (configure.ac): ... to here.
34889 2011-05-22  Bruno Haible  <bruno@clisp.org>
34891         wmemmove: Move AC_LIBOBJ invocations to module description.
34892         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Move AC_LIBOBJ invocation from
34893         here...
34894         * modules/wmemmove (configure.ac): ... to here.
34896 2011-05-22  Bruno Haible  <bruno@clisp.org>
34898         wmemcpy: Move AC_LIBOBJ invocations to module description.
34899         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Move AC_LIBOBJ invocation from
34900         here...
34901         * modules/wmemcpy (configure.ac): ... to here.
34903 2011-05-22  Bruno Haible  <bruno@clisp.org>
34905         wmemcmp: Move AC_LIBOBJ invocations to module description.
34906         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Move AC_LIBOBJ invocation from
34907         here...
34908         * modules/wmemcmp (configure.ac): ... to here.
34910 2011-05-22  Bruno Haible  <bruno@clisp.org>
34912         wmemchr: Move AC_LIBOBJ invocations to module description.
34913         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Move AC_LIBOBJ invocation from
34914         here...
34915         * modules/wmemchr (configure.ac): ... to here.
34917 2011-05-22  Bruno Haible  <bruno@clisp.org>
34919         wcswidth: Move AC_LIBOBJ invocations to module description.
34920         * m4/wcswidth.m4 (gl_FUNC_WCSWIDTH): Move AC_LIBOBJ invocation from
34921         here...
34922         * modules/wcswidth (configure.ac): ... to here.
34924 2011-05-22  Bruno Haible  <bruno@clisp.org>
34926         wcwidth: Respect rules for use of AC_LIBOBJ.
34927         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Set HAVE_WCWIDTH. Move AC_LIBOBJ
34928         invocation from here...
34929         * modules/wcwidth (configure.ac): ... to here.
34930         (Depends-on): Update conditions.
34932 2011-05-22  Bruno Haible  <bruno@clisp.org>
34934         wctype: Move AC_LIBOBJ invocations to module description.
34935         * m4/wctype.m4 (gl_FUNC_WCTYPE): Set HAVE_WCTYPE. Move AC_LIBOBJ
34936         invocation from here...
34937         * modules/wctype (configure.ac): ... to here.
34938         (Depends-on): Update conditions.
34940 2011-05-22  Bruno Haible  <bruno@clisp.org>
34942         wctrans: Move AC_LIBOBJ invocations to module description.
34943         * m4/wctrans.m4 (gl_FUNC_WCTRANS): Set HAVE_WCTRANS. Move AC_LIBOBJ
34944         invocation from here...
34945         * modules/wctrans (configure.ac): ... to here.
34947 2011-05-22  Bruno Haible  <bruno@clisp.org>
34949         wctomb: Move AC_LIBOBJ invocations to module description.
34950         * m4/wctomb.m4 (gl_FUNC_WCTOMB): Move AC_LIBOBJ and gl_PREREQ_WCTOMB
34951         invocations from here...
34952         * modules/wctomb (configure.ac): ... to here.
34954 2011-05-22  Bruno Haible  <bruno@clisp.org>
34956         wctob: Move AC_LIBOBJ invocations to module description.
34957         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_WCTOB. Move AC_LIBOBJ and
34958         gl_PREREQ_WCTOB invocations from here...
34959         * modules/wctob (configure.ac): ... to here.
34960         (Depends-on): Update conditions.
34962 2011-05-22  Bruno Haible  <bruno@clisp.org>
34964         wcsxfrm: Move AC_LIBOBJ invocations to module description.
34965         * m4/wcsxfrm.m4 (gl_FUNC_WCSXFRM): Move AC_LIBOBJ invocation from
34966         here...
34967         * modules/wcsxfrm (configure.ac): ... to here.
34969 2011-05-22  Bruno Haible  <bruno@clisp.org>
34971         wcstok: Move AC_LIBOBJ invocations to module description.
34972         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Move AC_LIBOBJ invocation from here...
34973         * modules/wcstok (configure.ac): ... to here.
34975 2011-05-22  Bruno Haible  <bruno@clisp.org>
34977         wcsstr: Move AC_LIBOBJ invocations to module description.
34978         * m4/wcsstr.m4 (gl_FUNC_WCSSTR): Move AC_LIBOBJ invocation from here...
34979         * modules/wcsstr (configure.ac): ... to here.
34981 2011-05-22  Bruno Haible  <bruno@clisp.org>
34983         wcsspn: Move AC_LIBOBJ invocations to module description.
34984         * m4/wcsspn.m4 (gl_FUNC_WCSSPN): Move AC_LIBOBJ invocation from here...
34985         * modules/wcsspn (configure.ac): ... to here.
34987 2011-05-22  Bruno Haible  <bruno@clisp.org>
34989         wcsrtombs: Move AC_LIBOBJ invocations to module description.
34990         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Move AC_LIBOBJ and
34991         gl_PREREQ_WCSRTOMBS invocations from here...
34992         * modules/wcsrtombs (configure.ac): ... to here.
34994 2011-05-22  Bruno Haible  <bruno@clisp.org>
34996         wcsrchr: Move AC_LIBOBJ invocations to module description.
34997         * m4/wcsrchr.m4 (gl_FUNC_WCSRCHR): Move AC_LIBOBJ invocation from
34998         here...
34999         * modules/wcsrchr (configure.ac): ... to here.
35001 2011-05-22  Bruno Haible  <bruno@clisp.org>
35003         wcspbrk: Move AC_LIBOBJ invocations to module description.
35004         * m4/wcspbrk.m4 (gl_FUNC_WCSPBRK): Move AC_LIBOBJ invocation from
35005         here...
35006         * modules/wcspbrk (configure.ac): ... to here.
35008 2011-05-22  Bruno Haible  <bruno@clisp.org>
35010         wcsnrtombs: Move AC_LIBOBJ invocations to module description.
35011         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): Move AC_LIBOBJ and
35012         gl_PREREQ_WCSNRTOMBS invocations from here...
35013         * modules/wcsnrtombs (configure.ac): ... to here.
35015 2011-05-22  Bruno Haible  <bruno@clisp.org>
35017         wcsnlen: Move AC_LIBOBJ invocations to module description.
35018         * m4/wcsnlen.m4 (gl_FUNC_WCSNLEN): Move AC_LIBOBJ invocation from
35019         here...
35020         * modules/wcsnlen (configure.ac): ... to here.
35022 2011-05-22  Bruno Haible  <bruno@clisp.org>
35024         wcsncpy: Move AC_LIBOBJ invocations to module description.
35025         * m4/wcsncpy.m4 (gl_FUNC_WCSNCPY): Move AC_LIBOBJ invocation from
35026         here...
35027         * modules/wcsncpy (configure.ac): ... to here.
35029 2011-05-22  Bruno Haible  <bruno@clisp.org>
35031         wcsncmp: Move AC_LIBOBJ invocations to module description.
35032         * m4/wcsncmp.m4 (gl_FUNC_WCSNCMP): Move AC_LIBOBJ invocation from
35033         here...
35034         * modules/wcsncmp (configure.ac): ... to here.
35036 2011-05-22  Bruno Haible  <bruno@clisp.org>
35038         wcsncat: Move AC_LIBOBJ invocations to module description.
35039         * m4/wcsncat.m4 (gl_FUNC_WCSNCAT): Move AC_LIBOBJ invocation from
35040         here...
35041         * modules/wcsncat (configure.ac): ... to here.
35043 2011-05-22  Bruno Haible  <bruno@clisp.org>
35045         wcsncasecmp: Move AC_LIBOBJ invocations to module description.
35046         * m4/wcsncasecmp.m4 (gl_FUNC_WCSNCASECMP): Move AC_LIBOBJ invocation
35047         from here...
35048         * modules/wcsncasecmp (configure.ac): ... to here.
35050 2011-05-22  Bruno Haible  <bruno@clisp.org>
35052         wcslen: Move AC_LIBOBJ invocations to module description.
35053         * m4/wcslen.m4 (gl_FUNC_WCSLEN): Move AC_LIBOBJ invocation from here...
35054         * modules/wcslen (configure.ac): ... to here.
35056 2011-05-22  Bruno Haible  <bruno@clisp.org>
35058         wcsdup: Move AC_LIBOBJ invocations to module description.
35059         * m4/wcsdup.m4 (gl_FUNC_WCSDUP): Move AC_LIBOBJ invocation from here...
35060         * modules/wcsdup (configure.ac): ... to here.
35062 2011-05-22  Bruno Haible  <bruno@clisp.org>
35064         wcscspn: Move AC_LIBOBJ invocations to module description.
35065         * m4/wcscspn.m4 (gl_FUNC_WCSCSPN): Move AC_LIBOBJ invocation from
35066         here...
35067         * modules/wcscspn (configure.ac): ... to here.
35069 2011-05-22  Bruno Haible  <bruno@clisp.org>
35071         wcscpy: Move AC_LIBOBJ invocations to module description.
35072         * m4/wcscpy.m4 (gl_FUNC_WCSCPY): Move AC_LIBOBJ invocation from here...
35073         * modules/wcscpy (configure.ac): ... to here.
35075 2011-05-22  Bruno Haible  <bruno@clisp.org>
35077         wcscoll: Move AC_LIBOBJ invocations to module description.
35078         * m4/wcscoll.m4 (gl_FUNC_WCSCOLL): Move AC_LIBOBJ invocation from
35079         here...
35080         * modules/wcscoll (configure.ac): ... to here.
35082 2011-05-22  Bruno Haible  <bruno@clisp.org>
35084         wcscmp: Move AC_LIBOBJ invocations to module description.
35085         * m4/wcscmp.m4 (gl_FUNC_WCSCMP): Move AC_LIBOBJ invocation from here...
35086         * modules/wcscmp (configure.ac): ... to here.
35088 2011-05-22  Bruno Haible  <bruno@clisp.org>
35090         wcschr: Move AC_LIBOBJ invocations to module description.
35091         * m4/wcschr.m4 (gl_FUNC_WCSCHR): Move AC_LIBOBJ invocation from here...
35092         * modules/wcschr (configure.ac): ... to here.
35094 2011-05-22  Bruno Haible  <bruno@clisp.org>
35096         wcscat: Move AC_LIBOBJ invocations to module description.
35097         * m4/wcscat.m4 (gl_FUNC_WCSCAT): Move AC_LIBOBJ invocation from here...
35098         * modules/wcscat (configure.ac): ... to here.
35100 2011-05-22  Bruno Haible  <bruno@clisp.org>
35102         wcscasecmp: Move AC_LIBOBJ invocations to module description.
35103         * m4/wcscasecmp.m4 (gl_FUNC_WCSCASECMP): Move AC_LIBOBJ invocation from
35104         here...
35105         * modules/wcscasecmp (configure.ac): ... to here.
35107 2011-05-22  Bruno Haible  <bruno@clisp.org>
35109         wcrtomb: Move AC_LIBOBJ invocations to module description.
35110         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Move AC_LIBOBJ and gl_PREREQ_WCRTOMB
35111         invocations from here...
35112         * modules/wcrtomb (configure.ac): ... to here.
35114 2011-05-22  Bruno Haible  <bruno@clisp.org>
35116         wcpncpy: Move AC_LIBOBJ invocations to module description.
35117         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Move AC_LIBOBJ invocation from
35118         here...
35119         * modules/wcpncpy (configure.ac): ... to here.
35121 2011-05-22  Bruno Haible  <bruno@clisp.org>
35123         wcpcpy: Move AC_LIBOBJ invocations to module description.
35124         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Move AC_LIBOBJ invocation from here...
35125         * modules/wcpcpy (configure.ac): ... to here.
35127 2011-05-22  Bruno Haible  <bruno@clisp.org>
35129         waitpid: Move AC_LIBOBJ invocations to module description.
35130         * m4/waitpid.m4 (gl_FUNC_WAITPID): Set HAVE_WAITPID. Move AC_LIBOBJ
35131         invocation from here...
35132         * modules/waitpid (configure.ac): ... to here.
35134 2011-05-22  Bruno Haible  <bruno@clisp.org>
35136         utimensat: Move AC_LIBOBJ invocations to module description.
35137         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Move AC_LIBOBJ invocations from
35138         here...
35139         * modules/utimensat (configure.ac): ... to here.
35141 2011-05-22  Bruno Haible  <bruno@clisp.org>
35143         usleep: Move AC_LIBOBJ invocations to module description.
35144         * m4/usleep.m4 (gl_FUNC_USLEEP): Move AC_LIBOBJ invocations from
35145         here...
35146         * modules/usleep (configure.ac): ... to here.
35148 2011-05-22  Bruno Haible  <bruno@clisp.org>
35150         unlockpt: Move AC_LIBOBJ invocations to module description.
35151         * m4/unlockpt.m4 (gl_FUNC_UNLOCKPT): Move AC_LIBOBJ and
35152         gl_PREREQ_UNLOCKPT invocations from here...
35153         * modules/unlockpt (configure.ac): ... to here.
35155 2011-05-22  Bruno Haible  <bruno@clisp.org>
35157         unlink: Respect rules for use of AC_LIBOBJ.
35158         * m4/unlink.m4 (gl_FUNC_UNLINK): Move AC_LIBOBJ invocation from here...
35159         * modules/unlink (configure.ac): ... to here.
35161 2011-05-22  Bruno Haible  <bruno@clisp.org>
35163         uname: Move AC_LIBOBJ invocations to module description.
35164         * m4/uname.m4 (gl_FUNC_UNAME): Call AC_CHECK_FUNCS instead of
35165         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_UNAME invocations from
35166         here...
35167         * modules/uname (configure.ac): ... to here.
35169 2011-05-22  Bruno Haible  <bruno@clisp.org>
35171         ttyname_r: Move AC_LIBOBJ invocations to module description.
35172         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Move AC_LIBOBJ and
35173         gl_PREREQ_TTYNAME_R invocations from here...
35174         * modules/ttyname_r (configure.ac): ... to here.
35176 2011-05-22  Bruno Haible  <bruno@clisp.org>
35178         tsearch: Move AC_LIBOBJ invocations to module description.
35179         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Move AC_LIBOBJ and gl_PREREQ_TSEARCH
35180         invocations from here...
35181         * modules/tsearch (configure.ac): ... to here.
35183 2011-05-22  Bruno Haible  <bruno@clisp.org>
35185         towctrans: Move AC_LIBOBJ invocations to module description.
35186         * m4/towctrans.m4 (gl_FUNC_TOWCTRANS): Set HAVE_TOWCTRANS. Move
35187         AC_LIBOBJ invocation from here...
35188         * modules/towctrans (configure.ac): ... to here.
35190 2011-05-22  Bruno Haible  <bruno@clisp.org>
35192         tmpfile: Move AC_LIBOBJ invocations to module description.
35193         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Move AC_LIBOBJ and gl_PREREQ_TMPFILE
35194         invocations from here...
35195         * modules/tmpfile (configure.ac): ... to here.
35197 2011-05-22  Bruno Haible  <bruno@clisp.org>
35199         times: Move AC_LIBOBJ invocations to module description.
35200         * m4/times.m4 (gl_FUNC_TIMES): Move AC_LIBOBJ invocation from here...
35201         * modules/times (configure.ac): ... to here.
35203 2011-05-22  Bruno Haible  <bruno@clisp.org>
35205         time_r: Move AC_LIBOBJ invocations to module description.
35206         * m4/time_r.m4 (gl_TIME_R): Move AC_LIBOBJ and gl_PREREQ_TIME_R
35207         invocations from here...
35208         * modules/time_r (configure.ac): ... to here.
35210 2011-05-22  Bruno Haible  <bruno@clisp.org>
35212         timegm: Move AC_LIBOBJ invocations to module description.
35213         * m4/timegm.m4 (gl_FUNC_TIMEGM): Move AC_LIBOBJ and gl_PREREQ_TIMEGM
35214         invocations from here...
35215         * modules/timegm (configure.ac): ... to here.
35217 2011-05-22  Bruno Haible  <bruno@clisp.org>
35219         tcgetsid: Move AC_LIBOBJ invocations to module description.
35220         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Set HAVE_TCGETSID. Move AC_LIBOBJ
35221         and gl_PREREQ_TCGETSID invocations from here...
35222         * modules/tcgetsid (configure.ac): ... to here.
35223         (Depends-on): Update conditions.
35225 2011-05-22  Bruno Haible  <bruno@clisp.org>
35227         symlinkat: Move AC_LIBOBJ invocations to module description.
35228         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move AC_LIBOBJ invocation from
35229         here...
35230         * modules/symlinkat (configure.ac): ... to here.
35232 2011-05-22  Bruno Haible  <bruno@clisp.org>
35234         symlink: Move AC_LIBOBJ invocations to module description.
35235         * m4/symlink.m4 (gl_FUNC_SYMLINK): Move AC_LIBOBJ invocations from
35236         here...
35237         * modules/symlink (configure.ac): ... to here.
35239 2011-05-22  Bruno Haible  <bruno@clisp.org>
35241         strverscmp: Move AC_LIBOBJ invocations to module description.
35242         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Call AC_CHECK_FUNCS instead of
35243         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRVERSCMP invocations
35244         from here...
35245         * modules/strverscmp (configure.ac): ... to here.
35247 2011-05-22  Bruno Haible  <bruno@clisp.org>
35249         strtok_r: Move AC_LIBOBJ invocations to module description.
35250         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_STRTOK_R. Move AC_LIBOBJ
35251         and gl_PREREQ_STRTOK_R invocations from here...
35252         * modules/strtok_r (configure.ac): ... to here.
35253         (Depends-on): Update conditions.
35255 2011-05-22  Bruno Haible  <bruno@clisp.org>
35257         strtoumax: Move AC_LIBOBJ invocations to module description.
35258         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Call AC_CHECK_FUNCS instead of
35259         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOUMAX invocations
35260         from here...
35261         * modules/strtoumax (configure.ac): ... to here.
35263 2011-05-22  Bruno Haible  <bruno@clisp.org>
35265         strtoimax: Move AC_LIBOBJ invocations to module description.
35266         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Call AC_CHECK_FUNCS instead of
35267         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOIMAX invocations
35268         from here...
35269         * modules/strtoimax (configure.ac): ... to here.
35271 2011-05-22  Bruno Haible  <bruno@clisp.org>
35273         strtoull: Move AC_LIBOBJ invocations to module description.
35274         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Call AC_CHECK_FUNCS instead of
35275         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOULL invocations
35276         from here...
35277         * modules/strtoull (configure.ac): ... to here.
35279 2011-05-22  Bruno Haible  <bruno@clisp.org>
35281         strtoll: Move AC_LIBOBJ invocations to module description.
35282         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Call AC_CHECK_FUNCS instead of
35283         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOLL invocations from
35284         here...
35285         * modules/strtoll (configure.ac): ... to here.
35287 2011-05-22  Bruno Haible  <bruno@clisp.org>
35289         strtoul: Move AC_LIBOBJ invocations to module description.
35290         * m4/strtoul.m4 (gl_FUNC_STRTOUL): Call AC_CHECK_FUNCS instead of
35291         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
35292         * modules/strtoul (configure.ac): ... to here.
35294 2011-05-22  Bruno Haible  <bruno@clisp.org>
35296         strtol: Move AC_LIBOBJ invocations to module description.
35297         * m4/strtol.m4 (gl_FUNC_STRTOL): Call AC_CHECK_FUNCS instead of
35298         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
35299         * modules/strtol (configure.ac): ... to here.
35301 2011-05-22  Bruno Haible  <bruno@clisp.org>
35303         strtod: Move AC_LIBOBJ invocations to module description.
35304         * m4/strtod.m4 (gl_FUNC_STRTOD): Move AC_LIBOBJ and gl_PREREQ_STRTOD
35305         invocations from here...
35306         * modules/strtod (configure.ac): ... to here.
35308 2011-05-22  Bruno Haible  <bruno@clisp.org>
35310         strstr*: Move AC_LIBOBJ invocations to module description.
35311         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Move AC_LIBOBJ
35312         invocations from here...
35313         * modules/strstr-simple (configure.ac): ... to here.
35314         * modules/strstr (configure.ac): ... and here.
35316 2011-05-22  Bruno Haible  <bruno@clisp.org>
35318         strsignal: Move AC_LIBOBJ invocations to module description.
35319         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Set HAVE_STRSIGNAL. Move
35320         AC_LIBOBJ and gl_PREREQ_STRSIGNAL invocations from here...
35321         * modules/strsignal (configure.ac): ... to here.
35322         (Depends-on): Update conditions.
35324 2011-05-22  Bruno Haible  <bruno@clisp.org>
35326         strsep: Move AC_LIBOBJ invocations to module description.
35327         * m4/strsep.m4 (gl_FUNC_STRSEP): Call AC_CHECK_FUNCS instead of
35328         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRSEP invocations from
35329         here...
35330         * modules/strsep (configure.ac): ... to here.
35332 2011-05-22  Bruno Haible  <bruno@clisp.org>
35334         strptime: Move AC_LIBOBJ invocations to module description.
35335         * m4/strptime.m4 (gl_FUNC_STRPTIME): Move AC_LIBOBJ and
35336         gl_PREREQ_STRPTIME invocations from here...
35337         * modules/strptime (configure.ac): ... to here.
35339 2011-05-22  Bruno Haible  <bruno@clisp.org>
35341         strpbrk: Move AC_LIBOBJ invocations to module description.
35342         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Call AC_CHECK_FUNCS instead of
35343         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRPBRK invocations from
35344         here...
35345         * modules/strpbrk (configure.ac): ... to here.
35347 2011-05-22  Bruno Haible  <bruno@clisp.org>
35349         strnlen: Move AC_LIBOBJ invocations to module description.
35350         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Move AC_LIBOBJ and gl_PREREQ_STRNLEN
35351         invocations from here...
35352         * modules/strnlen (configure.ac): ... to here.
35354 2011-05-22  Bruno Haible  <bruno@clisp.org>
35356         strndup: Move AC_LIBOBJ invocations to module description.
35357         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_STRNDUP. Move AC_LIBOBJ
35358         invocations from here...
35359         * modules/strndup (configure.ac): ... to here.
35360         (Depends-on): Update conditions.
35362 2011-05-22  Bruno Haible  <bruno@clisp.org>
35364         strncat: Move AC_LIBOBJ invocations to module description.
35365         * m4/strncat.m4 (gl_FUNC_STRNCAT): Move AC_LIBOBJ and gl_PREREQ_STRNCAT
35366         invocations from here...
35367         * modules/strncat (configure.ac): ... to here.
35369 2011-05-22  Bruno Haible  <bruno@clisp.org>
35371         strdup, strdup-posix: Move AC_LIBOBJ invocations to module description.
35372         * m4/strdup.m4 (gl_FUNC_STRDUP): Move AC_LIBOBJ and gl_PREREQ_STRDUP
35373         invocations from here...
35374         * modules/strdup (configure.ac): ... to here.
35375         * modules/strdup-posix (configure.ac): ... and here.
35377 2011-05-22  Bruno Haible  <bruno@clisp.org>
35379         strcspn: Move AC_LIBOBJ invocations to module description.
35380         * m4/strcspn.m4 (gl_FUNC_STRCSPN): Call AC_CHECK_FUNCS instead of
35381         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRCSPN invocations from
35382         here...
35383         * modules/strcspn (configure.ac): ... to here.
35385 2011-05-22  Bruno Haible  <bruno@clisp.org>
35387         strchrnul: Move AC_LIBOBJ invocations to module description.
35388         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Move AC_LIBOBJ and
35389         gl_PREREQ_STRCHRNUL invocations from here...
35390         * modules/strchrnul (configure.ac): ... to here.
35392 2011-05-22  Bruno Haible  <bruno@clisp.org>
35394         strcasestr*: Move AC_LIBOBJ invocations to module description.
35395         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
35396         Move AC_LIBOBJ and gl_PREREQ_STRCASESTR invocations from here...
35397         * modules/strcasestr-simple (configure.ac): ... to here.
35398         * modules/strcasestr (configure.ac): ... and here.
35400 2011-05-22  Bruno Haible  <bruno@clisp.org>
35402         strcase: Move AC_LIBOBJ invocations to module description.
35403         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Set HAVE_STRNCASECMP.
35404         (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Call AC_CHECK_FUNCS instead
35405         of AC_REPLACE_FUNCS. Move AC_LIBOBJ, gl_PREREQ_STRCASECMP,
35406         gl_PREREQ_STRNCASECMP invocations from here...
35407         * modules/strcase (configure.ac): ... to here.
35409 2011-05-22  Bruno Haible  <bruno@clisp.org>
35411         stpncpy: Move AC_LIBOBJ invocations to module description.
35412         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Move AC_LIBOBJ invocations from
35413         here...
35414         * modules/stpncpy (configure.ac): ... to here.
35416 2011-05-22  Bruno Haible  <bruno@clisp.org>
35418         stpcpy: Move AC_LIBOBJ invocations to module description.
35419         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Call AC_CHECK_FUNCS instead of
35420         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STPCPY invocations from
35421         here...
35422         * modules/stpcpy (configure.ac): ... to here.
35424 2011-05-21  Bruno Haible  <bruno@clisp.org>
35426         stat: Move AC_LIBOBJ invocations to module description.
35427         * m4/stat.m4 (gl_PREREQ_STAT): New macro, extracted from gl_FUNC_STAT.
35428         (gl_FUNC_STAT): Move AC_LIBOBJ and gl_PREREQ_STAT invocations from
35429         here...
35430         * modules/stat (configure.ac): ... to here.
35432 2011-05-21  Bruno Haible  <bruno@clisp.org>
35434         sleep: Move AC_LIBOBJ invocations to module description.
35435         * m4/sleep.m4 (gl_FUNC_SLEEP): Move AC_LIBOBJ invocations from here...
35436         * modules/sleep (configure.ac): ... to here.
35438 2011-05-21  Bruno Haible  <bruno@clisp.org>
35440         signbit: Move AC_LIBOBJ invocations to module description.
35441         * m4/signbit.m4 (gl_SIGNBIT): Move AC_LIBOBJ invocations from here...
35442         * modules/signbit (configure.ac): ... to here.
35444 2011-05-21  Bruno Haible  <bruno@clisp.org>
35446         sigprocmask: Move AC_LIBOBJ invocations to module description.
35447         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Move AC_LIBOBJ and
35448         gl_PREREQ_SIGPROMASK invocations from here...
35449         * modules/sigprocmask (configure.ac): ... to here.
35451 2011-05-21  Bruno Haible  <bruno@clisp.org>
35453         sigaction: Move AC_LIBOBJ invocations to module description.
35454         * m4/sigaction.m4 (gl_SIGACTION): Move AC_LIBOBJ and
35455         gl_PREREQ_SIGACTION invocations from here...
35456         * modules/sigaction (configure.ac): ... to here.
35458 2011-05-21  Bruno Haible  <bruno@clisp.org>
35460         sig2str: Move AC_LIBOBJ invocations to module description.
35461         * m4/sig2str.m4 (gl_FUNC_SIG2STR): Call AC_CHECK_FUNCS instead of
35462         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_SIG2STR invocations from
35463         here...
35464         * modules/sig2str (configure.ac): ... to here.
35466 2011-05-21  Bruno Haible  <bruno@clisp.org>
35468         setlocale: Move AC_LIBOBJ invocations to module description.
35469         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Move AC_LIBOBJ and
35470         gl_PREREQ_SETLOCALE invocations from here...
35471         * modules/setlocale (configure.ac): ... to here.
35473 2011-05-21  Bruno Haible  <bruno@clisp.org>
35475         unsetenv: Move AC_LIBOBJ invocations to module description.
35476         * m4/setenv.m4 (gl_FUNC_UNSETENV): Set HAVE_UNSETENV. Move AC_LIBOBJ
35477         and gl_PREREQ_UNSETENV invocations from here...
35478         * modules/unsetenv (configure.ac): ... to here.
35479         (Depends-on): Update.
35481 2011-05-21  Bruno Haible  <bruno@clisp.org>
35483         setenv: Move AC_LIBOBJ invocations to module description.
35484         * m4/setenv.m4 (gl_FUNC_SETENV): Move AC_LIBOBJ invocations from
35485         here...
35486         * modules/setenv (configure.ac): ... to here.
35488 2011-05-21  Bruno Haible  <bruno@clisp.org>
35490         selinux-h: Move AC_LIBOBJ invocations to module description.
35491         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Move
35492         AC_LIBOBJ invocation from here...
35493         * modules/selinux-h (configure.ac): ... to here.
35495 2011-05-21  Bruno Haible  <bruno@clisp.org>
35497         select: Respect rules for use of AC_LIBOBJ.
35498         * m4/select.m4 (gl_FUNC_SELECT): Move AC_LIBOBJ invocations from
35499         here...
35500         * modules/select (configure.ac): ... to here.
35502 2011-05-21  Bruno Haible  <bruno@clisp.org>
35504         scandir: Move AC_LIBOBJ invocations to module description.
35505         * m4/scandir.m4 (gl_FUNC_SCANDIR): Move AC_LIBOBJ and gl_PREREQ_SCANDIR
35506         invocations from here...
35507         * modules/scandir (configure.ac): ... to here.
35509 2011-05-21  Bruno Haible  <bruno@clisp.org>
35511         rpmatch: Move AC_LIBOBJ invocations to module description.
35512         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Call AC_CHECK_FUNCS instead of
35513         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RPMATCH invocations from
35514         here...
35515         * modules/rpmatch (configure.ac): ... to here.
35517 2011-05-21  Bruno Haible  <bruno@clisp.org>
35519         rmdir: Respect rules for use of AC_LIBOBJ.
35520         * m4/rmdir.m4 (gl_FUNC_RMDIR): Move AC_LIBOBJ invocation from here...
35521         * modules/rmdir (configure.ac): ... to here.
35523 2011-05-21  Bruno Haible  <bruno@clisp.org>
35525         renameat: Move AC_LIBOBJ invocations to module description.
35526         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Move AC_LIBOBJ invocations from
35527         here...
35528         * modules/renameat (configure.ac): ... to here.
35530 2011-05-21  Bruno Haible  <bruno@clisp.org>
35532         rename: Respect rules for use of AC_LIBOBJ.
35533         * m4/rename.m4 (gl_FUNC_RENAME): Move AC_LIBOBJ invocations from
35534         here...
35535         * modules/rename (configure.ac): ... to here.
35537 2011-05-21  Bruno Haible  <bruno@clisp.org>
35539         remove: Move AC_LIBOBJ invocations to module description.
35540         * m4/remove.m4 (gl_FUNC_REMOVE): Move AC_LIBOBJ invocations from
35541         here...
35542         * modules/remove (configure.ac): ... to here.
35544 2011-05-21  Bruno Haible  <bruno@clisp.org>
35546         relocatable-lib: Move AC_LIBOBJ invocations to module description.
35547         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_SEPARATE): Remove
35548         macro.
35549         (gl_RELOCATABLE_LIBRARY): Move AC_LIBOBJ invocation from here...
35550         * modules/relocatable-lib (configure.ac): ... to here.
35551         * modules/relocatable-prog-wrapper (configure.ac): Invoke
35552         gl_RELOCATABLE_LIBRARY instead of gl_RELOCATABLE_LIBRARY_SEPARATE.
35554 2011-05-21  Bruno Haible  <bruno@clisp.org>
35556         relocatable-prog: Move AC_LIBOBJ invocations to module description.
35557         * m4/relocatable.m4 (gl_RELOCATABLE): Move AC_LIBOBJ invocation from
35558         here...
35559         * modules/relocatable-prog (configure.ac): ... to here.
35561 2011-05-21  Bruno Haible  <bruno@clisp.org>
35563         regex: Move AC_LIBOBJ invocations to module description.
35564         * m4/regex.m4 (gl_REGEX): Move AC_LIBOBJ and gl_PREREQ_REGEX
35565         invocations from here...
35566         * modules/regex (configure.ac): ... to here.
35568 2011-05-21  Bruno Haible  <bruno@clisp.org>
35570         realloc-*: Move AC_LIBOBJ invocations to module description.
35571         * m4/realloc.m4 (gl_REPLACE_REALLOC): Remove macro.
35572         (gl_FUNC_REALLOC_GNU, gl_FUNC_REALLOC_POSIX): Inline it here. Move
35573         AC_LIBOBJ invocations from here...
35574         * modules/realloc-gnu (configure.ac): ... to here.
35575         * modules/realloc-posix (configure.ac): ... and here.
35577 2011-05-21  Bruno Haible  <bruno@clisp.org>
35579         readutmp: Move AC_LIBOBJ invocations to module description.
35580         * m4/readutmp.m4 (gl_READUTMP): Move AC_LIBOBJ invocation from here...
35581         * modules/readutmp (configure.ac): ... to here.
35583 2011-05-21  Bruno Haible  <bruno@clisp.org>
35585         readlinkat: Move AC_LIBOBJ invocations to module description.
35586         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Move AC_LIBOBJ invocation from
35587         here...
35588         * modules/readlinkat (configure.ac): ... to here.
35590 2011-05-21  Bruno Haible  <bruno@clisp.org>
35592         readlink: Move AC_LIBOBJ invocations to module description.
35593         * m4/readlink.m4 (gl_FUNC_READLINK): Move AC_LIBOBJ and
35594         gl_PREREQ_READLINK invocations from here...
35595         * modules/readlink (configure.ac): ... to here.
35597 2011-05-21  Bruno Haible  <bruno@clisp.org>
35599         readline: Move AC_LIBOBJ invocations to module description.
35600         * m4/readline.m4 (gl_FUNC_READLINE): Move AC_LIBOBJ and
35601         gl_PREREQ_READLINE invocations from here...
35602         * modules/readline (configure.ac): ... to here.
35604 2011-05-21  Bruno Haible  <bruno@clisp.org>
35606         read: Move AC_LIBOBJ invocations to module description.
35607         * m4/read.m4 (gl_FUNC_READ): Move AC_LIBOBJ invocation from here...
35608         * modules/read (configure.ac): ... to here.
35610 2011-05-21  Bruno Haible  <bruno@clisp.org>
35612         rawmemchr: Move AC_LIBOBJ invocations to module description.
35613         * m4/rawmemchr.m4 (gl_FUNC_RAWMEMCHR): Call AC_CHECK_FUNCS instead of
35614         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RAWMEMCHR invocations
35615         from here...
35616         * modules/rawmemchr (configure.ac): ... to here.
35618 2011-05-21  Bruno Haible  <bruno@clisp.org>
35620         random_r: Move AC_LIBOBJ invocations to module description.
35621         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move AC_LIBOBJ and
35622         gl_PREREQ_RANDOM_R invocations from here...
35623         * modules/random_r (configure.ac): ... to here.
35625 2011-05-21  Bruno Haible  <bruno@clisp.org>
35627         pwrite: Move AC_LIBOBJ invocations to module description.
35628         * m4/pwrite.m4 (gl_FUNC_PWRITE): Move AC_LIBOBJ invocation from here...
35629         * modules/pwrite (configure.ac): ... to here.
35631 2011-05-21  Bruno Haible  <bruno@clisp.org>
35633         putenv: Move AC_LIBOBJ invocations to module description.
35634         * m4/putenv.m4 (gl_FUNC_PUTENV): Move AC_LIBOBJ invocation from here...
35635         * modules/putenv (configure.ac): ... to here.
35637 2011-05-21  Bruno Haible  <bruno@clisp.org>
35639         login_tty: Move AC_LIBOBJ invocations to module description.
35640         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Move AC_LIBOBJ invocation from here...
35641         * modules/login_tty (configure.ac): ... to here.
35643 2011-05-21  Bruno Haible  <bruno@clisp.org>
35645         openpty: Move AC_LIBOBJ invocations to module description.
35646         * m4/pty.m4 (gl_FUNC_OPENPTY): Move AC_LIBOBJ invocations from here...
35647         * modules/openpty (configure.ac): ... to here.
35649 2011-05-21  Bruno Haible  <bruno@clisp.org>
35651         forkpty: Move AC_LIBOBJ invocations to module description.
35652         * m4/pty.m4 (gl_FUNC_FORKPTY): Move AC_LIBOBJ invocations from here...
35653         * modules/forkpty (configure.ac): ... to here.
35655 2011-05-21  Bruno Haible  <bruno@clisp.org>
35657         ptsname: Move AC_LIBOBJ invocations to module description.
35658         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Move AC_LIBOBJ and gl_PREREQ_PTSNAME
35659         invocations from here...
35660         * modules/ptsname (configure.ac): ... to here.
35662 2011-05-21  Bruno Haible  <bruno@clisp.org>
35664         pread: Move AC_LIBOBJ invocations to module description.
35665         * m4/pread.m4 (gl_FUNC_PREAD): Move AC_LIBOBJ invocation from here...
35666         * modules/pread (configure.ac): ... to here.
35668 2011-05-21  Bruno Haible  <bruno@clisp.org>
35670         posix_spawn*: Move AC_LIBOBJ invocations to module description.
35671         * m4/posix_spawn.m4 (gl_PREREQ_POSIX_SPAWN_INTERNAL): Renamed from
35672         gl_POSIX_SPAWN_INTERNAL. Move AC_LIBOBJ invocation from here...
35673         * modules/posix_spawn (configure.ac): ... to here.
35674         * modules/posix_spawnp (configure.ac): ... and here.
35676 2011-05-21  Bruno Haible  <bruno@clisp.org>
35678         popen: Move AC_LIBOBJ invocations to module description.
35679         * m4/popen.m4 (gl_FUNC_POPEN): Move AC_LIBOBJ and gl_PREREQ_POPEN
35680         invocations from here...
35681         * modules/popen (configure.ac): ... to here.
35683 2011-05-21  Bruno Haible  <bruno@clisp.org>
35685         poll: Move AC_LIBOBJ invocations to module description.
35686         * m4/poll.m4 (gl_FUNC_POLL): Move AC_LIBOBJ and gl_PREREQ_POLL
35687         invocations from here...
35688         * modules/poll (configure.ac): ... to here.
35690 2011-05-21  Bruno Haible  <bruno@clisp.org>
35692         pipe-posix: Move AC_LIBOBJ invocations to module description.
35693         * m4/pipe.m4 (gl_FUNC_PIPE): Move AC_LIBOBJ invocation from here...
35694         * modules/pipe-posix (configure.ac): ... to here.
35696 2011-05-21  Bruno Haible  <bruno@clisp.org>
35698         openat: Respect rules for use of AC_LIBOBJ.
35699         * m4/openat.m4 (gl_FUNC_OPENAT): Call AC_CHECK_FUNCS instead of
35700         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
35701         * modules/openat (configure.ac): ... to here.
35703 2011-05-21  Bruno Haible  <bruno@clisp.org>
35705         obstack-printf*: Move AC_LIBOBJ invocations to module description.
35706         * m4/obstack-printf.m4 (gl_REPLACE_OBSTACK_PRINTF): Move AC_LIBOBJ
35707         invocation from here...
35708         * modules/obstack-printf (configure.ac): ... to here.
35709         * modules/obstack-printf-posix (configure.ac): ... and here.
35711 2011-05-21  Bruno Haible  <bruno@clisp.org>
35713         nl_langinfo: Move AC_LIBOBJ invocations to module description.
35714         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Move AC_LIBOBJ invocations
35715         from here...
35716         * modules/nl_langinfo (configure.ac): ... to here.
35718 2011-05-21  Bruno Haible  <bruno@clisp.org>
35720         nanosleep: Move AC_LIBOBJ invocations to module description.
35721         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Move AC_LIBOBJ and
35722         gl_PREREQ_NANOSLEEP invocations from here...
35723         * modules/nanosleep (configure.ac): ... to here.
35725 2011-05-21  Bruno Haible  <bruno@clisp.org>
35727         mountlist: Move AC_LIBOBJ invocations to module description.
35728         * m4/mountlist.m4 (gl_MOUNTLIST): Move AC_LIBOBJ and
35729         gl_PREREQ_MOUNTLIST_EXTRA invocations from here...
35730         * modules/mountlist (configure.ac): ... to here.
35732 2011-05-21  Bruno Haible  <bruno@clisp.org>
35734         mktime: Respect rules for use of AC_LIBOBJ.
35735         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove macro.
35736         (gl_FUNC_MKTIME): Inline it here. Set gl_cv_func_working_mktime. Move
35737         AC_LIBOBJ and gl_PREREQ_MKTIME invocations from here...
35738         (gl_FUNC_MKTIME_INTERNAL): ... and here...
35739         * modules/mktime (configure.ac): ... to here.
35740         * modules/mktime-internal (configure.ac): ... and here.
35741         * m4/timegm.m4 (gl_FUNC_TIMEGM): Update.
35743 2011-05-21  Bruno Haible  <bruno@clisp.org>
35745         mkstemps: Move AC_LIBOBJ invocations to module description.
35746         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Move AC_LIBOBJ invocation from
35747         here...
35748         * modules/mkstemps (configure.ac): ... to here.
35750 2011-05-21  Bruno Haible  <bruno@clisp.org>
35752         mkstemp: Move AC_LIBOBJ invocations to module description.
35753         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Move AC_LIBOBJ and
35754         gl_PREREQ_MKSTEMP invocations from here...
35755         * modules/mkstemp (configure.ac): ... to here.
35757 2011-05-21  Bruno Haible  <bruno@clisp.org>
35759         mkostemps: Move AC_LIBOBJ invocations to module description.
35760         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Move AC_LIBOBJ invocation from
35761         here...
35762         * modules/mkostemps (configure.ac): ... to here.
35764 2011-05-21  Bruno Haible  <bruno@clisp.org>
35766         mkostemp: Move AC_LIBOBJ invocations to module description.
35767         * m4/mkostemp.m4 (gl_FUNC_MKOSTEMP): Move AC_LIBOBJ and
35768         gl_PREREQ_MKOSTEMP invocations from here...
35769         * modules/mkostemp (configure.ac): ... to here.
35771 2011-05-21  Bruno Haible  <bruno@clisp.org>
35773         mknod: Move AC_LIBOBJ invocations to module description.
35774         * m4/mknod.m4 (gl_FUNC_MKNOD): Move AC_LIBOBJ invocations from here...
35775         * modules/mknod (configure.ac): ... to here.
35777 2011-05-21  Bruno Haible  <bruno@clisp.org>
35779         mkfifoat: Move AC_LIBOBJ invocations to module description.
35780         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Move AC_LIBOBJ invocations from
35781         here...
35782         * modules/mkfifoat (configure.ac): ... to here.
35784 2011-05-21  Bruno Haible  <bruno@clisp.org>
35786         mkfifo: Respect rules for use of AC_LIBOBJ.
35787         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Move AC_LIBOBJ invocations from
35788         here...
35789         * modules/mkfifo (configure.ac): ... to here.
35791 2011-05-21  Bruno Haible  <bruno@clisp.org>
35793         mkdtemp: Move AC_LIBOBJ invocations to module description.
35794         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Move AC_LIBOBJ and gl_PREREQ_MKDTEMP
35795         invocations from here...
35796         * modules/mkdtemp (configure.ac): ... to here.
35798 2011-05-21  Bruno Haible  <bruno@clisp.org>
35800         mkdir: Move AC_LIBOBJ invocations to module description.
35801         * m4/mkdir.m4 (gl_FUNC_MKDIR): Move AC_LIBOBJ invocations from here...
35802         * modules/mkdir (configure.ac): ... to here.
35804 2011-05-21  Bruno Haible  <bruno@clisp.org>
35806         memset: Move AC_LIBOBJ invocations to module description.
35807         * m4/memset.m4 (gl_FUNC_MEMSET): Call AC_CHECK_FUNCS instead of
35808         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMSET invocations from
35809         here...
35810         * modules/memset (configure.ac): ... to here.
35812 2011-05-21  Bruno Haible  <bruno@clisp.org>
35814         memrchr: Move AC_LIBOBJ invocations to module description.
35815         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Call AC_CHECK_FUNCS instead of
35816         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMRCHR invocations from
35817         here...
35818         * modules/memrchr (configure.ac): ... to here.
35820 2011-05-21  Bruno Haible  <bruno@clisp.org>
35822         mempcpy: Move AC_LIBOBJ invocations to module description.
35823         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Call AC_CHECK_FUNCS instead of
35824         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMPCPY invocations from
35825         here...
35826         * modules/mempcpy (configure.ac): ... to here.
35828 2011-05-21  Bruno Haible  <bruno@clisp.org>
35830         memmove: Move AC_LIBOBJ invocations to module description.
35831         * m4/memmove.m4 (gl_FUNC_MEMMOVE): Call AC_CHECK_FUNCS instead of
35832         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMMOVE invocations from
35833         here...
35834         * modules/memmove (configure.ac): ... to here.
35836 2011-05-21  Bruno Haible  <bruno@clisp.org>
35838         memmem*: Move AC_LIBOBJ invocations to module description.
35839         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Call AC_CHECK_FUNCS instead of
35840         AC_REPLACE_FUNCS. Set HAVE_MEMMEM. Move AC_LIBOBJ invocations from
35841         here...
35842         (gl_FUNC_MEMMEM): ... and here...
35843         * modules/memmem-simple (configure.ac): ... to here.
35844         * modules/memmem (configure.ac): ... and here.
35846 2011-05-21  Bruno Haible  <bruno@clisp.org>
35848         memcpy: Move AC_LIBOBJ invocations to module description.
35849         * m4/memcpy.m4 (gl_FUNC_MEMCPY): Call AC_CHECK_FUNCS instead of
35850         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMCPY invocations from
35851         here...
35852         * modules/memcpy (configure.ac): ... to here.
35854 2011-05-21  Bruno Haible  <bruno@clisp.org>
35856         memcmp: Simplify autoconf macro.
35857         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Merge the cross-compilation code into
35858         the AC_RUN_IFELSE invocation. Set gl_func_memcmp.
35859         * modules/memcmp (Depends-on, configure.ac): Test gl_func_memcmp.
35861 2011-05-21  Bruno Haible  <bruno@clisp.org>
35863         memcmp: Move AC_LIBOBJ invocations to module description.
35864         * m4/memcmp.m4 (AC_FUNC_MEMCMP): Remove macro.
35865         (gl_FUNC_MEMCMP): Inline it here. Set gl_cv_func_memcmp_working. Move
35866         AC_LIBOBJ and gl_PREREQ_MEMCMP invocations from here...
35867         * modules/memcmp (configure.ac): ... to here.
35868         (Depends-on): Update conditions.
35870 2011-05-21  Bruno Haible  <bruno@clisp.org>
35872         memchr: Respect rules for use of AC_LIBOBJ.
35873         * m4/memchr.m4 (gl_FUNC_MEMCHR): Move AC_LIBOBJ and gl_PREREQ_MEMCHR
35874         invocations from here...
35875         * modules/memchr (configure.ac): ... to here.
35877 2011-05-21  Bruno Haible  <bruno@clisp.org>
35879         mbtowc: Move AC_LIBOBJ invocations to module description.
35880         * m4/mbtowc.m4 (gl_FUNC_MBTOWC): Move AC_LIBOBJ and gl_PREREQ_MBTOWC
35881         invocations from here...
35882         * modules/mbtowc (configure.ac): ... to here.
35884 2011-05-21  Bruno Haible  <bruno@clisp.org>
35886         mbsrtowcs: Move AC_LIBOBJ invocations to module description.
35887         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Move AC_LIBOBJ and
35888         gl_PREREQ_MBSRTOWCS invocations from here...
35889         * modules/mbsrtowcs (configure.ac): ... to here.
35891 2011-05-21  Bruno Haible  <bruno@clisp.org>
35893         mbsnrtowcs: Move AC_LIBOBJ invocations to module description.
35894         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): Move AC_LIBOBJ and
35895         gl_PREREQ_MBSNRTOWCS invocations from here...
35896         * modules/mbsnrtowcs (configure.ac): ... to here.
35898 2011-05-21  Bruno Haible  <bruno@clisp.org>
35900         mbsinit: Move AC_LIBOBJ invocations to module description.
35901         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Move AC_LIBOBJ and gl_PREREQ_MBSINIT
35902         invocations from here...
35903         * modules/mbsinit (configure.ac): ... to here.
35905 2011-05-21  Bruno Haible  <bruno@clisp.org>
35907         mbrlen: Move AC_LIBOBJ invocations to module description.
35908         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Move AC_LIBOBJ and gl_PREREQ_MBRLEN
35909         invocations from here...
35910         * modules/mbrlen (configure.ac): ... to here.
35912 2011-05-21  Bruno Haible  <bruno@clisp.org>
35914         mbrtowc: Respect rules for use of AC_LIBOBJ.
35915         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Move AC_LIBOBJ and gl_PREREQ_MBRTOWC
35916         invocations from here...
35917         * modules/mbrtowc (configure.ac): ... to here.
35919 2011-05-21  Bruno Haible  <bruno@clisp.org>
35921         malloc-*: Move AC_LIBOBJ invocations to module description.
35922         * m4/malloc.m4 (gl_REPLACE_MALLOC): Remove macro.
35923         (gl_FUNC_MALLOC_GNU, gl_FUNC_MALLOC_POSIX): Inline it here. Move
35924         AC_LIBOBJ invocations from here...
35925         * modules/malloc-gnu (configure.ac): ... to here.
35926         * modules/malloc-posix (configure.ac): ... and here.
35928 2011-05-21  Bruno Haible  <bruno@clisp.org>
35930         lstat, openat: Respect rules for use of AC_LIBOBJ.
35931         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Renamed from
35932         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. Set variable
35933         gl_cv_func_lstat_dereferences_slashed_symlink. Don't invoke AC_LIBOBJ.
35934         (gl_PREREQ_LSTAT): New macro, extracted from gl_FUNC_LSTAT.
35935         (gl_FUNC_LSTAT): Update. Remove gl_PREREQ_LSTAT code.
35936         * modules/lstat (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_LSTAT
35937         here.
35938         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
35940 2011-05-21  Bruno Haible  <bruno@clisp.org>
35942         lseek: Move AC_LIBOBJ invocations to module description.
35943         * m4/lseek.m4 (gl_REPLACE_LSEEK): Remove macro.
35944         (gl_FUNC_LSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
35945         * modules/lseek (configure.ac): ... to here.
35947 2011-05-21  Bruno Haible  <bruno@clisp.org>
35949         linkat: Move AC_LIBOBJ invocations to module description.
35950         * m4/linkat.m4 (gl_FUNC_LINKAT): Move AC_LIBOBJ invocations from
35951         here...
35952         * modules/linkat (configure.ac): ... to here.
35954 2011-05-21  Bruno Haible  <bruno@clisp.org>
35956         link: Respect rules for use of AC_LIBOBJ.
35957         * m4/link.m4 (gl_FUNC_LINK): Move AC_LIBOBJ invocations from here...
35958         * modules/link (configure.ac): ... to here.
35960 2011-05-21  Bruno Haible  <bruno@clisp.org>
35962         lchown: Move AC_LIBOBJ invocations to module description.
35963         * m4/lchown.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
35964         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
35965         * modules/lchown (configure.ac): ... to here.
35967 2011-05-21  Bruno Haible  <bruno@clisp.org>
35969         iswctype: Move AC_LIBOBJ invocations to module description.
35970         * m4/iswctype.m4 (gl_FUNC_ISWCTYPE): Move AC_LIBOBJ invocation from
35971         here...
35972         * modules/iswctype (configure.ac): ... to here.
35974 2011-05-21  Bruno Haible  <bruno@clisp.org>
35976         iswblank: Move AC_LIBOBJ invocations to module description.
35977         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Move AC_LIBOBJ invocation from
35978         here...
35979         * modules/iswblank (configure.ac): ... to here.
35981 2011-05-21  Bruno Haible  <bruno@clisp.org>
35983         atanl: Move AC_LIBOBJ invocations to module description.
35984         * m4/atanl.m4 (gl_FUNC_ATANL): Move AC_LIBOBJ invocation from here...
35985         * modules/atanl (configure.ac): ... to here.
35987 2011-05-21  Bruno Haible  <bruno@clisp.org>
35989         acosl: Move AC_LIBOBJ invocations to module description.
35990         * m4/acosl.m4 (gl_FUNC_ACOSL): Move AC_LIBOBJ invocation from here...
35991         * modules/acosl (configure.ac): ... to here.
35993 2011-05-21  Bruno Haible  <bruno@clisp.org>
35995         asinl: Respect rules for use of AC_LIBOBJ.
35996         * m4/asinl.m4 (gl_FUNC_ASINL): Move AC_LIBOBJ invocation from here...
35997         * modules/asinl (configure.ac): ... to here.
35999 2011-05-21  Bruno Haible  <bruno@clisp.org>
36001         tanl: Move AC_LIBOBJ invocations to module description.
36002         * m4/tanl.m4 (gl_FUNC_TANL): Move AC_LIBOBJ invocations from here...
36003         * modules/tanl (configure.ac): ... to here.
36005 2011-05-21  Bruno Haible  <bruno@clisp.org>
36007         cosl: Move AC_LIBOBJ invocations to module description.
36008         * m4/cosl.m4 (gl_FUNC_COSL): Move AC_LIBOBJ invocations from here...
36009         * modules/cosl (configure.ac): ... to here.
36011 2011-05-21  Bruno Haible  <bruno@clisp.org>
36013         sinl: Move AC_LIBOBJ invocations to module description.
36014         * m4/sinl.m4 (gl_FUNC_SINL): Move AC_LIBOBJ invocations from here...
36015         * modules/sinl (configure.ac): ... to here.
36017 2011-05-21  Bruno Haible  <bruno@clisp.org>
36019         logl: Move AC_LIBOBJ invocations to module description.
36020         * m4/logl.m4 (gl_FUNC_LOGL): Move AC_LIBOBJ invocation from here...
36021         * modules/logl (configure.ac): ... to here.
36023 2011-05-21  Bruno Haible  <bruno@clisp.org>
36025         expl: Move AC_LIBOBJ invocations to module description.
36026         * m4/expl.m4 (gl_FUNC_EXPL): Move AC_LIBOBJ invocation from here...
36027         * modules/expl (configure.ac): ... to here.
36029 2011-05-21  Bruno Haible  <bruno@clisp.org>
36031         roundl: Move AC_LIBOBJ invocations to module description.
36032         * m4/roundl.m4 (gl_FUNC_ROUNDL): Move AC_LIBOBJ invocation from here...
36033         * modules/roundl (configure.ac): ... to here.
36035 2011-05-21  Bruno Haible  <bruno@clisp.org>
36037         round: Move AC_LIBOBJ invocations to module description.
36038         * m4/round.m4 (gl_FUNC_ROUND): Move AC_LIBOBJ invocation from here...
36039         * modules/round (configure.ac): ... to here.
36041 2011-05-21  Bruno Haible  <bruno@clisp.org>
36043         roundf: Move AC_LIBOBJ invocations to module description.
36044         * m4/roundf.m4 (gl_FUNC_ROUNDF): Move AC_LIBOBJ invocation from here...
36045         * modules/roundf (configure.ac): ... to here.
36047 2011-05-21  Bruno Haible  <bruno@clisp.org>
36049         truncl: Move AC_LIBOBJ invocations to module description.
36050         * m4/truncl.m4 (gl_FUNC_TRUNCL): Move AC_LIBOBJ invocation from here...
36051         * modules/truncl (configure.ac): ... to here.
36053 2011-05-21  Bruno Haible  <bruno@clisp.org>
36055         trunc: Move AC_LIBOBJ invocations to module description.
36056         * m4/trunc.m4 (gl_FUNC_TRUNC): Move AC_LIBOBJ invocation from here...
36057         * modules/trunc (configure.ac): ... to here.
36059 2011-05-21  Bruno Haible  <bruno@clisp.org>
36061         truncf: Move AC_LIBOBJ invocations to module description.
36062         * m4/truncf.m4 (gl_FUNC_TRUNCF): Move AC_LIBOBJ invocation from here...
36063         * modules/truncf (configure.ac): ... to here.
36065 2011-05-21  Bruno Haible  <bruno@clisp.org>
36067         ceill: Move AC_LIBOBJ invocations to module description.
36068         * m4/ceill.m4 (gl_FUNC_CEILL): Move AC_LIBOBJ invocation from here...
36069         * modules/ceill (configure.ac): ... to here.
36071 2011-05-21  Bruno Haible  <bruno@clisp.org>
36073         ceil: Move AC_LIBOBJ invocations to module description.
36074         * m4/ceil.m4 (gl_FUNC_CEIL): Move AC_LIBOBJ invocation from here...
36075         * modules/ceil (configure.ac): ... to here.
36077 2011-05-21  Bruno Haible  <bruno@clisp.org>
36079         ceilf: Move AC_LIBOBJ invocations to module description.
36080         * m4/ceilf.m4 (gl_FUNC_CEILF): Move AC_LIBOBJ invocation from here...
36081         * modules/ceilf (configure.ac): ... to here.
36083 2011-05-21  Bruno Haible  <bruno@clisp.org>
36085         floorl: Respect rules for use of AC_LIBOBJ.
36086         * m4/floorl.m4 (gl_FUNC_FLOORL): Move AC_LIBOBJ invocation from here...
36087         * modules/floorl (configure.ac): ... to here.
36089 2011-05-21  Bruno Haible  <bruno@clisp.org>
36091         floor: Respect rules for use of AC_LIBOBJ.
36092         * m4/floor.m4 (gl_FUNC_FLOOR): Move AC_LIBOBJ invocation from here...
36093         * modules/floor (configure.ac): ... to here.
36095 2011-05-21  Bruno Haible  <bruno@clisp.org>
36097         floorf: Move AC_LIBOBJ invocations to module description.
36098         * m4/floorf.m4 (gl_FUNC_FLOORF): Move AC_LIBOBJ invocation from here...
36099         * modules/floorf (configure.ac): ... to here.
36101 2011-05-20  Bruno Haible  <bruno@clisp.org>
36103         sqrtl: Respect rules for use of AC_LIBOBJ.
36104         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Move AC_LIBOBJ invocation from here...
36105         * modules/sqrtl (configure.ac): ... to here.
36107 2011-05-20  Bruno Haible  <bruno@clisp.org>
36109         ldexpl: Respect rules for use of AC_LIBOBJ.
36110         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Move AC_LIBOBJ invocation from here...
36111         * modules/ldexpl (configure.ac): ... to here.
36113 2011-05-20  Bruno Haible  <bruno@clisp.org>
36115         frexpl*: Respect rules for use of AC_LIBOBJ.
36116         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Move AC_LIBOBJ
36117         invocation from here...
36118         * modules/frexpl (configure.ac): ... to here.
36119         * modules/frexpl-nolibm (configure.ac): ... and here.
36121 2011-05-20  Bruno Haible  <bruno@clisp.org>
36123         frexp, frexp-nolibm: Move AC_LIBOBJ invocations to module description.
36124         * m4/frexp.m4 (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Move AC_LIBOBJ
36125         invocation from here...
36126         * modules/frexp (configure.ac): ... to here.
36127         * modules/frexp-nolibm (configure.ac): ... and here.
36129 2011-05-20  Bruno Haible  <bruno@clisp.org>
36131         isnan: Respect rules for use of AC_LIBOBJ.
36132         * m4/isnan.m4 (gl_ISNAN): Don't do the AC_LIBOBJ and gl_PREREQ_ISNAN*
36133         invocations here.
36134         * modules/isnanf (configure.ac): Require gl_ISNAN if it exists. Test
36135         REPLACE_ISNAN.
36136         * modules/isnand (configure.ac): Likewise.
36137         * modules/isnanl (configure.ac): Likewise.
36139 2011-05-20  Bruno Haible  <bruno@clisp.org>
36141         isnanl*: Respect rules for use of AC_LIBOBJ.
36142         * m4/isnanl.m4 (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Move AC_LIBOBJ
36143         invocation from here...
36144         * modules/isnanl (configure.ac): ... to here.
36145         * modules/isnanl-nolibm (configure.ac): ... and here.
36147 2011-05-20  Bruno Haible  <bruno@clisp.org>
36149         isnand*: Move AC_LIBOBJ invocations to module description.
36150         * m4/isnand.m4 (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Move AC_LIBOBJ
36151         invocation from here...
36152         * modules/isnand (configure.ac): ... to here.
36153         * modules/isnand-nolibm (configure.ac): ... and here.
36155 2011-05-20  Bruno Haible  <bruno@clisp.org>
36157         isnanf*: Move AC_LIBOBJ invocations to module description.
36158         * m4/isnanf.m4 (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Move AC_LIBOBJ
36159         invocation from here...
36160         * modules/isnanf (configure.ac): ... to here.
36161         * modules/isnanf-nolibm (configure.ac): ... and here.
36163 2011-05-20  Bruno Haible  <bruno@clisp.org>
36165         isnan*: Separate the AC_LIBOBJ invocations.
36166         * m4/isnanf.m4 (gl_PREREQ_ISNANF): Renamed from gl_BUILD_ISNANF. Remove
36167         AC_LIBOBJ invocation.
36168         (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Update. Invoke AC_LIBOBJ
36169         here.
36170         * m4/isnand.m4 (gl_PREREQ_ISNAND): Renamed from gl_BUILD_ISNAND. Remove
36171         AC_LIBOBJ invocation.
36172         (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Update. Invoke AC_LIBOBJ
36173         here.
36174         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Renamed from gl_BUILD_ISNANL. Remove
36175         AC_LIBOBJ invocation.
36176         (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Update. Invoke AC_LIBOBJ
36177         here.
36178         * m4/isnan.m4 (gl_ISNAN): Update. Invoke AC_LIBOBJ here.
36180 2011-05-08  Bruno Haible  <bruno@clisp.org>
36182         isinf: Move AC_LIBOBJ invocations to module description.
36183         * m4/isinf.m4 (gl_ISINF): Move AC_LIBOBJ invocation from here...
36184         * modules/isinf (configure.ac): ... to here.
36186 2011-05-08  Bruno Haible  <bruno@clisp.org>
36188         isfinite: Move AC_LIBOBJ invocations to module description.
36189         * m4/isfinite.m4 (gl_ISFINITE): Move AC_LIBOBJ invocation from here...
36190         * modules/isfinite (configure.ac): ... to here.
36192 2011-05-08  Bruno Haible  <bruno@clisp.org>
36194         isblank: Move AC_LIBOBJ invocations to module description.
36195         * m4/isblank.m4 (gl_FUNC_ISBLANK): Move AC_LIBOBJ invocation from
36196         here...
36197         * modules/isblank (configure.ac): ... to here.
36199 2011-05-08  Bruno Haible  <bruno@clisp.org>
36201         isapipe: Move AC_LIBOBJ invocations to module description.
36202         * m4/isapipe.m4 (gl_ISAPIPE): Set HAVE_ISAPIPE. Move AC_LIBOBJ and
36203         gl_PREREQ_ISAPIPE invocations from here...
36204         * modules/isapipe (configure.ac): ... to here.
36205         (Depends-on): Update condition.
36207 2011-05-08  Bruno Haible  <bruno@clisp.org>
36209         ioctl: Move AC_LIBOBJ invocations to module description.
36210         * m4/ioctl.m4 (gl_FUNC_IOCTL): Set HAVE_IOCTL. Move AC_LIBOBJ
36211         invocations from here...
36212         * modules/ioctl (configure.ac): ... to here.
36213         (Depends-on): Update condition.
36215 2011-05-08  Bruno Haible  <bruno@clisp.org>
36217         imaxdiv: Move AC_LIBOBJ invocations to module description.
36218         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Move AC_LIBOBJ and gl_PREREQ_IMAXDIV
36219         invocations from here...
36220         * modules/imaxdiv (configure.ac): ... to here.
36222 2011-05-08  Bruno Haible  <bruno@clisp.org>
36224         imaxabs: Move AC_LIBOBJ invocations to module description.
36225         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Move AC_LIBOBJ and gl_PREREQ_IMAXABS
36226         invocations from here...
36227         * modules/imaxabs (configure.ac): ... to here.
36229 2011-05-08  Bruno Haible  <bruno@clisp.org>
36231         getaddrinfo: Move AC_LIBOBJ invocations to module description.
36232         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Set HAVE_GETADDRINFO, Move
36233         AC_LIBOBJ invocations from here...
36234         * modules/getaddrinfo (configure.ac): ... to here.
36235         (Depends-on): Add conditions.
36237 2011-05-08  Bruno Haible  <bruno@clisp.org>
36239         inet_pton. getaddrinfo: Respect rules for use of AC_LIBOBJ.
36240         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Set HAVE_INET_PTON. Call
36241         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
36242         gl_PREREQ_INET_PTON. Move tests for declaration of inet_pton here...
36243         (gl_PREREQ_INET_PTON): ... from here.
36244         * modules/inet_pton (configure.ac): Invoke AC_LIBOBJ and
36245         gl_PREREQ_INET_PTON here.
36246         (Depends-on): Update condition.
36248 2011-05-08  Bruno Haible  <bruno@clisp.org>
36250         inet_ntop. getaddrinfo: Respect rules for use of AC_LIBOBJ.
36251         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Set HAVE_INET_NTOP. Call
36252         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
36253         gl_PREREQ_INET_NTOP. Move tests for declaration of inet_ntop here...
36254         (gl_PREREQ_INET_NTOP): ... from here.
36255         * modules/inet_ntop (configure.ac): Invoke AC_LIBOBJ and
36256         gl_PREREQ_INET_NTOP here.
36257         (Depends-on): Update condition.
36259 2011-05-08  Bruno Haible  <bruno@clisp.org>
36261         iconv_open: Move AC_LIBOBJ invocations to module description.
36262         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN, gl_REPLACE_ICONV_OPEN): Move
36263         AC_LIBOBJ invocations from here...
36264         * modules/iconv_open (configure.ac): ... to here.
36266 2011-05-08  Bruno Haible  <bruno@clisp.org>
36268         iconv_open, iconv_open-utf: Respect rules for use of AC_LIBOBJ.
36269         If module 'iconv_open' is among the main modules and module
36270         'iconv_open-utf' is among the tests dependencies, then
36271         REPLACE_ICONV_UTF will be defined to 1, hence iconv_open() in lib may
36272         return the special iconv_t values. Therefore iconv() and iconv_close()
36273         must support these special iconv_t values, already in lib, not only in
36274         tests.
36275         * m4/iconv_open-utf.m4: New file, extracted from m4/iconv_open.m4.
36276         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke
36277         gl_FUNC_ICONV_OPEN_UTF_SUPPORT if present.
36278         (gl_FUNC_ICONV_OPEN_UTF): Remove macro.
36279         * modules/iconv_open (Files): Add lib/iconv.c, lib/iconv_close.c.
36280         (Depends-on): Add the dependencies of iconv_open-utf.
36281         * modules/iconv_open-utf (Files): Add m4/iconv_open-utf.m4. Remove
36282         m4/iconv_open.m4, lib/iconv.c, lib/iconv_close.c.
36283         (Depends-on): Remove modules needed by lib/iconv.c, lib/iconv_close.c.
36285 2011-05-08  Bruno Haible  <bruno@clisp.org>
36287         group-member: Move AC_LIBOBJ invocations to module description.
36288         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Move AC_LIBOBJ and
36289         gl_PREREQ_GROUP_MEMBER invocations from here...
36290         * modules/group-member (configure.ac): ... to here.
36292 2011-05-08  Bruno Haible  <bruno@clisp.org>
36294         grantpt: Move AC_LIBOBJ invocations to module description.
36295         * m4/grantpt.m4 (gl_FUNC_GRANTPT): Move AC_LIBOBJ and gl_PREREQ_GRANTPT
36296         invocations from here...
36297         * modules/grantpt (configure.ac): ... to here.
36299 2011-05-08  Bruno Haible  <bruno@clisp.org>
36301         glob: Move AC_LIBOBJ invocations to module description.
36302         * m4/glob.m4 (gl_GLOB): Move AC_LIBOBJ and gl_PREREQ_GLOB invocations
36303         from here...
36304         * modules/glob (configure.ac): ... to here.
36306 2011-05-08  Bruno Haible  <bruno@clisp.org>
36308         getusershell: Move AC_LIBOBJ invocations to module description.
36309         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Set HAVE_GETUSERSHELL.
36310         Move AC_LIBOBJ invocation from here...
36311         * modules/getusershell (configure.ac): ... to here.
36312         (Depends-on): Update condition.
36314 2011-05-08  Bruno Haible  <bruno@clisp.org>
36316         gettimeofday: Move AC_LIBOBJ invocations to module description.
36317         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
36318         gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Move AC_LIBOBJ and
36319         gl_PREREQ_GETTIMEOFDAY invocations from here...
36320         * modules/gettimeofday (configure.ac): ... to here.
36322 2011-05-08  Bruno Haible  <bruno@clisp.org>
36324         gettimeofday, tzset: Respect rules for use of AC_LIBOBJ.
36325         * modules/tzset (configure.ac): Don't invoke gl_FUNC_TZSET_CLOBBER,
36326         just gl_FUNC_TZSET.
36327         * m4/tzset.m4 (gl_FUNC_TZSET): New macro.
36328         (gl_FUNC_TZSET_CLOBBER): Remove actions.
36329         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Invoke
36330         gl_FUNC_TZSET_CLOBBER and its actions here, if present.
36332 2011-05-08  Bruno Haible  <bruno@clisp.org>
36334         getsubopt: Move AC_LIBOBJ invocations to module description.
36335         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Move AC_LIBOBJ and
36336         gl_PREREQ_GETSUBOPT invocations from here...
36337         * modules/getsubopt (configure.ac): ... to here.
36339 2011-05-08  Bruno Haible  <bruno@clisp.org>
36341         getpass-gnu: Move AC_LIBOBJ invocations to module description.
36342         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): Set REPLACE_GETPASS. Move
36343         AC_LIBOBJ and gl_PREREQ_GETPASS invocations from here...
36344         * modules/getpass-gnu (configure.ac): ... to here.
36346 2011-05-08  Bruno Haible  <bruno@clisp.org>
36348         getpass: Move AC_LIBOBJ invocations to module description.
36349         * m4/getpass.m4 (gl_FUNC_GETPASS): Set HAVE_GETPASS. Move AC_LIBOBJ and
36350         gl_PREREQ_GETPASS invocations from here...
36351         * modules/getpass (configure.ac): ... to here.
36353 2011-05-08  Bruno Haible  <bruno@clisp.org>
36355         getpagesize: Move AC_LIBOBJ invocations to module description.
36356         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Move AC_LIBOBJ invocation
36357         from here...
36358         * modules/getpagesize (configure.ac): ... to here.
36360 2011-05-08  Bruno Haible  <bruno@clisp.org>
36362         getopt: Move AC_LIBOBJ invocations to module description.
36363         * m4/getopt.m4 (gl_REPLACE_GETOPT): Remove macro.
36364         (gl_FUNC_GETOPT): Inline it here. Move AC_LIBOBJ and gl_PREREQ_GETOPT
36365         invocations from here...
36366         * modules/getopt-gnu (configure.ac): ... to here.
36367         * modules/getopt-posix (configure.ac): ... and here.
36368         (Depends-on): Update condition.
36370 2011-05-08  Bruno Haible  <bruno@clisp.org>
36372         getopt, argp: Respect rules for use of AC_LIBOBJ.
36373         * m4/argp.m4 (gl_ARGP): Don't invoke gl_REPLACE_GETOPT.
36374         (gl_REPLACE_GETOPT_ALWAYS): New macro.
36375         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Test whether
36376         gl_REPLACE_GETOPT_ALWAYS is defined. Set REPLACE_GETOPT.
36378 2011-05-08  Bruno Haible  <bruno@clisp.org>
36380         getlogin_r: Move AC_LIBOBJ invocations to module description.
36381         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Move AC_LIBOBJ and
36382         gl_PREREQ_GETLOGIN_R invocations from here...
36383         * modules/getlogin_r (configure.ac): ... to here.
36385 2011-05-08  Bruno Haible  <bruno@clisp.org>
36387         getlogin: Move AC_LIBOBJ invocations to module description.
36388         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Move AC_LIBOBJ invocation from
36389         here...
36390         * modules/getlogin (configure.ac): ... to here.
36392 2011-05-08  Bruno Haible  <bruno@clisp.org>
36394         getloadavg: Move AC_LIBOBJ invocations to module description.
36395         * m4/getloadavg.m4 (gl_FUNC_GETDELIM): Set HAVE_GETLOADAVG. Move
36396         AC_LIBOBJ and gl_PREREQ_GETLOADAVG invocations from here...
36397         * modules/getloadavg (configure.ac): ... to here.
36399 2011-05-08  Bruno Haible  <bruno@clisp.org>
36401         gethrxtime: Move AC_LIBOBJ invocations to module description.
36402         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Move code that determines
36403         LIB_GETHRXTIME from here...
36404         (gl_GETHRXTIME): ... to here. Move AC_LIBOBJ and gl_PREREQ_GETHRXTIME
36405         invocations from here...
36406         * modules/gethrxtime (configure.ac): ... to here.
36408 2011-05-08  Bruno Haible  <bruno@clisp.org>
36410         gethostname: Move AC_LIBOBJ invocations to module description.
36411         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Move AC_LIBOBJ and
36412         gl_PREREQ_GETHOSTNAME invocations from here...
36413         * modules/gethostname (configure.ac): ... to here.
36415 2011-05-08  Bruno Haible  <bruno@clisp.org>
36417         getgroups: Move AC_LIBOBJ invocations to module description.
36418         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Move AC_LIBOBJ invocations from
36419         here...
36420         * modules/getgroups (configure.ac): ... to here.
36422 2011-05-08  Bruno Haible  <bruno@clisp.org>
36424         getdtablesize: Move AC_LIBOBJ invocations to module description.
36425         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Move AC_LIBOBJ
36426         invocation from here...
36427         * modules/getdtablesize (configure.ac): ... to here.
36429 2011-05-08  Bruno Haible  <bruno@clisp.org>
36431         getdomainname: Move AC_LIBOBJ invocations to module description.
36432         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Move AC_LIBOBJ and
36433         gl_PREREQ_GETDOMAINNAME invocations from here...
36434         * modules/getdomainname (configure.ac): ... to here.
36436 2011-05-08  Bruno Haible  <bruno@clisp.org>
36438         getline: Move AC_LIBOBJ invocations to module description.
36439         * m4/getline.m4 (gl_FUNC_GETLINE): Move AC_LIBOBJ and gl_PREREQ_GETLINE
36440         invocations from here...
36441         * modules/getline (configure.ac): ... to here.
36443 2011-05-08  Bruno Haible  <bruno@clisp.org>
36445         getline: Simplify.
36446         * m4/getline.m4 (gl_PREREQ_GETLINE): Don't invoke gl_FUNC_GETDELIM.
36447         It's already handled through the module dependency.
36449 2011-05-08  Bruno Haible  <bruno@clisp.org>
36451         getdelim: Move AC_LIBOBJ invocations to module description.
36452         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Set HAVE_GETDELIM. Move AC_LIBOBJ
36453         and gl_PREREQ_GETDELIM invocations from here...
36454         * modules/getdelim (configure.ac): ... to here.
36455         (Depends-on): Fix condition.
36457 2011-05-08  Bruno Haible  <bruno@clisp.org>
36459         getcwd: Move AC_LIBOBJ invocations to module description.
36460         * m4/getcwd.m4 (gl_FUNC_GETCWD): Move AC_LIBOBJ and gl_PREREQ_GETCWD
36461         invocations from here...
36462         * modules/getcwd (configure.ac): ... to here.
36464 2011-05-08  Bruno Haible  <bruno@clisp.org>
36466         getcwd-lgpl: Move AC_LIBOBJ invocations to module description.
36467         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): Move AC_LIBOBJ invocation from
36468         here...
36469         * modules/getcwd-lgpl (configure.ac): ... to here.
36471 2011-05-07  Bruno Haible  <bruno@clisp.org>
36473         crypto/gc: Move AC_LIBOBJ invocations to module description.
36474         * m4/gc.m4 (gl_GC): Move AC_LIBOBJ invocations from here...
36475         * modules/crypto/gc (configure.ac): ... to here.
36477 2011-05-07  Bruno Haible  <bruno@clisp.org>
36479         fwriting: Move AC_LIBOBJ invocations to module description.
36480         * m4/fwriting.m4 (gl_FUNC_FWRITINT): Move AC_LIBOBJ invocation from
36481         here...
36482         * modules/fwriting (configure.ac): ... to here.
36484 2011-05-07  Bruno Haible  <bruno@clisp.org>
36486         fwritable: Move AC_LIBOBJ invocations to module description.
36487         * m4/fwritable.m4 (gl_FUNC_FWRITABLE): Move AC_LIBOBJ invocation from
36488         here...
36489         * modules/fwritable (configure.ac): ... to here.
36491 2011-05-07  Bruno Haible  <bruno@clisp.org>
36493         futimens: Move AC_LIBOBJ invocations to module description.
36494         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Move AC_LIBOBJ invocations from
36495         here...
36496         * modules/futimens (configure.ac): ... to here.
36498 2011-05-07  Bruno Haible  <bruno@clisp.org>
36500         ftruncate: Move AC_LIBOBJ invocations to module description.
36501         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Move AC_LIBOBJ and
36502         gl_PREREQ_FTRUNCATE invocations from here...
36503         * modules/ftruncate (configure.ac): ... to here.
36505 2011-05-07  Bruno Haible  <bruno@clisp.org>
36507         fsync: Move AC_LIBOBJ invocations to module description.
36508         * m4/fsync.m4 (gl_FUNC_FSYNC): Move AC_LIBOBJ and gl_PREREQ_FSYNC
36509         invocations from here...
36510         * modules/fsync (configure.ac): ... to here.
36512 2011-05-07  Bruno Haible  <bruno@clisp.org>
36514         fsusage: Move AC_LIBOBJ invocations to module description.
36515         * m4/fsusage.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and
36516         gl_PREREQ_FSUSAGE_EXTRA invocations from here...
36517         * modules/fsusage (configure.ac): ... to here.
36519 2011-05-07  Bruno Haible  <bruno@clisp.org>
36521         freopen: Move AC_LIBOBJ invocations to module description.
36522         * m4/freopen.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and gl_PREREQ_FREOPEN
36523         invocations from here...
36524         * modules/freopen (configure.ac): ... to here.
36526 2011-05-07  Bruno Haible  <bruno@clisp.org>
36528         free: Move AC_LIBOBJ invocations to module description.
36529         * m4/free.m4 (gl_FUNC_FREE): Move AC_LIBOBJ and missing gl_PREREQ_FREE
36530         invocations from here...
36531         * modules/free (configure.ac): ... to here.
36533 2011-05-07  Bruno Haible  <bruno@clisp.org>
36535         freadable: Move AC_LIBOBJ invocations to module description.
36536         * m4/freadable.m4 (gl_FUNC_FREADABLE): Move AC_LIBOBJ invocation from
36537         here...
36538         * modules/freadable (configure.ac): ... to here.
36540 2011-05-07  Bruno Haible  <bruno@clisp.org>
36542         fpurge: Move AC_LIBOBJ invocations to module description.
36543         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set HAVE_FPURGE. Move AC_LIBOBJ
36544         invocations from here...
36545         * modules/fpurge (configure.ac): ... to here.
36547 2011-05-07  Bruno Haible  <bruno@clisp.org>
36549         fpending: Move AC_LIBOBJ invocations to module description.
36550         * m4/fpending.m4 (gl_PREREQ_FPENDING): New macro, extracted from
36551         gl_FUNC_FPENDING.
36552         (gl_FUNC_FPENDING): Move AC_LIBOBJ and gl_PREREQ_FPENDING
36553         invocations from here...
36554         * modules/fpending (configure.ac): ... to here.
36556 2011-05-07  Bruno Haible  <bruno@clisp.org>
36558         fopen: Move AC_LIBOBJ invocations to module description.
36559         * m4/fopen.m4 (gl_FUNC_FOPEN): Move AC_LIBOBJ and gl_PREREQ_FOPEN
36560         invocations from here...
36561         * modules/fopen (configure.ac): ... to here.
36563 2011-05-07  Bruno Haible  <bruno@clisp.org>
36565         fnmatch, fnmatch-gnu: Move AC_LIBOBJ invocations to module description.
36566         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): New macro, extracted from
36567         gl_FUNC_FNMATCH_POSIX.
36568         (gl_FUNC_FNMATCH_POSIX): Move AC_LIBOBJ and gl_PREREQ_FNMATCH
36569         invocations from here...
36570         * modules/fnmatch (configure.ac): ... to here.
36571         * modules/fnmatch-gnu (configure.ac): ... and here.
36573 2011-05-07  Bruno Haible  <bruno@clisp.org>
36575         flock: Move AC_LIBOBJ invocations to module description.
36576         * m4/flock.m4 (gl_FUNC_FLOCK): Move AC_LIBOBJ and gl_PREREQ_FLOCK
36577         invocations from here...
36578         * modules/flock (configure.ac): ... to here.
36580 2011-05-07  Bruno Haible  <bruno@clisp.org>
36582         fileblocks: Move AC_LIBOBJ invocations to module description.
36583         * m4/fileblocks.m4 (gl_FILEBLOCKS): Move AC_LIBOBJ and
36584         gl_PREREQ_FILEBLOCKS invocations from here...
36585         * modules/fileblocks (configure.ac): ... to here.
36587 2011-05-06  Bruno Haible  <bruno@clisp.org>
36589         fflush: Move AC_LIBOBJ invocations to module description.
36590         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Remove macro.
36591         (gl_FUNC_FFLUSH): Inline it here. Move AC_LIBOBJ and gl_PREREQ_FFLUSH
36592         invocations from here...
36593         * modules/fflush (configure.ac): ... to here.
36595 2011-05-06  Bruno Haible  <bruno@clisp.org>
36597         fdopendir: Move AC_LIBOBJ invocations to module description.
36598         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Move AC_LIBOBJ invocations from
36599         here...
36600         * modules/fdopendir (configure.ac): ... to here.
36601         (Depends-on): Improve conditions.
36603 2011-05-06  Bruno Haible  <bruno@clisp.org>
36605         _Exit: Move AC_LIBOBJ invocations to module description.
36606         * m4/_Exit.m4 (gl_FUNC__EXIT): Move AC_LIBOBJ and gl_PREREQ__EXIT
36607         invocations from here...
36608         * modules/_Exit (configure.ac): ... to here.
36610 2011-05-21  Bruno Haible  <bruno@clisp.org>
36612         euidaccess: Respect rules for use of AC_LIBOBJ.
36613         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
36614         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_EUIDACCESS invocations
36615         from here...
36616         * modules/euidaccess (configure.ac): ... to here.
36618 2011-05-06  Bruno Haible  <bruno@clisp.org>
36620         error: Move AC_LIBOBJ invocations to module description.
36621         * m4/error.m4 (gl_ERROR): Inline AC_FUNC_ERROR_AT_LINE. Remove
36622         AC_LIBSOURCES invocation. Move AC_LIBOBJ and gl_PREREQ_ERROR
36623         invocations from here...
36624         * modules/error (configure.ac): ... to here.
36626 2011-05-06  Bruno Haible  <bruno@clisp.org>
36628         duplocale: Move AC_LIBOBJ invocations to module description.
36629         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Move AC_LIBOBJ and
36630         gl_PREREQ_DUPLOCALE invocations from here...
36631         * modules/duplocale (configure.ac): ... to here.
36633 2011-05-05  Bruno Haible  <bruno@clisp.org>
36635         dirfd: Move AC_LIBOBJ invocations to module description.
36636         * m4/dirfd.m4 (gl_PREREQ_DIRFD): New macro, extracted from
36637         gl_FUNC_DIRFD.
36638         (gl_FUNC_DIRFD): Move AC_LIBOBJ and gl_PREREQ_DIRFD invocations from
36639         here...
36640         * modules/dirfd (configure.ac): ... to here.
36641         (Depends-on): Fix condition.
36643 2011-05-05  Bruno Haible  <bruno@clisp.org>
36645         chown: Respect rules for use of AC_LIBOBJ.
36646         * m4/chown.m4 (gl_FUNC_CHOWN): Move AC_LIBOBJ invocations from here...
36647         * modules/chown (configure.ac): ... to here.
36649 2011-05-05  Bruno Haible  <bruno@clisp.org>
36651         chdir-long: Move AC_LIBOBJ invocations to module description.
36652         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Move AC_LIBOBJ and
36653         gl_PREREQ_CHDIR_LONG invocations from here...
36654         * modules/chdir-long (configure.ac): ... to here.
36656 2011-05-05  Bruno Haible  <bruno@clisp.org>
36658         canonicalize-lgpl: Move AC_LIBOBJ invocations to module description.
36659         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Move AC_LIBOBJ invocation
36660         from here...
36661         * modules/canonicalize-lgpl (configure.ac): ... to here.
36663 2011-05-05  Bruno Haible  <bruno@clisp.org>
36665         calloc-posix, calloc-gnu: Move AC_LIBOBJs to module description.
36666         * m4/calloc.m4 (gl_REPLACE_CALLOC): Remove macro.
36667         (gl_FUNC_CALLOC_GNU, gl_FUNC_CALLOC_POSIX): Instead, just set
36668         REPLACE_CALLOC.
36669         * modules/calloc-posix (configure.ac): Invoke AC_LIBOBJ here.
36670         * modules/calloc-gnu (configure.ac): Likewise.
36672 2011-05-05  Bruno Haible  <bruno@clisp.org>
36674         btowc: Move AC_LIBOBJ invocations to module description.
36675         * m4/btowc.m4 (gl_FUNC_BTOWC): Move AC_LIBOBJ and gl_PREREQ_BTOWC
36676         invocations from here...
36677         * modules/btowc (configure.ac): ... to here.
36679 2011-05-21  Bruno Haible  <bruno@clisp.org>
36681         atexit: Move AC_LIBOBJ invocations to module description.
36682         * m4/atexit.m4 (gl_FUNC_ATEXIT): Call AC_CHECK_FUNCS instead of
36683         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_ATEXIT invocations from
36684         here...
36685         * modules/atexit (configure.ac): ... to here.
36687 2011-05-05  Bruno Haible  <bruno@clisp.org>
36689         atoll: Move AC_LIBOBJ invocations to module description.
36690         * m4/atoll.m4 (gl_FUNC_ATOLL): Move AC_LIBOBJ and gl_PREREQ_ATOLL
36691         invocations from here...
36692         * modules/atoll (configure.ac): ... to here.
36694 2011-05-05  Bruno Haible  <bruno@clisp.org>
36696         argz: Move AC_LIBOBJ invocations to module description.
36697         * m4/argz.m4 (gl_FUNC_ARGZ): Move AC_LIBOBJ invocation from here...
36698         * modules/argz (configure.ac): ... to here.
36700 2011-05-05  Bruno Haible  <bruno@clisp.org>
36702         alphasort: Move AC_LIBOBJ invocations to module description.
36703         * m4/alphasort.m4 (gl_FUNC_ALPHASORT): Move AC_LIBOBJ and
36704         gl_PREREQ_ALPHASORT invocations from here...
36705         * modules/alphasort (configure.ac): ... to here.
36707 2011-06-15  Paul Eggert  <eggert@cs.ucla.edu>
36709         verify: new macro verify_expr; verify_true deprecated
36710         * NEWS: Mention this.
36711         * doc/verify.texi (Compile-time Assertions): Document this.
36712         * lib/verify.h (verify_true): Deprecate.
36713         (verify_expr): New macro.
36714         * tests/test-verify.c (function): Test verify_expr.
36716 2011-06-14  Jim Meyering  <meyering@redhat.com>
36718         init.sh: give more portable redirection-related advice in a comment
36719         * tests/init.sh (stderr_fileno_): Update the advice in comments.
36720         See http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/22488
36721         for lots of discussion.  Stefano Lattarini suggested the solution
36722         of putting "9>&2" after the command.  Reported by Bruno Haible.
36724 2011-06-13  Bruno Haible  <bruno@clisp.org>
36726         locale-zh: Reject zh_CN.GB18030 locale on Solaris 8.
36727         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On Solaris 8, set LOCALE_ZH_CN to
36728         'none'.
36730 2011-06-13  Paul Eggert  <eggert@cs.ucla.edu>
36732         ftoastr: use strtof only if HAVE_STRTOF
36733         This is needed on HP-UX 11.11 with GCC 4.2.4; see Bruno Haible's report
36734         <http://lists.gnu.org/r/bug-gnulib/2011-06/msg00154.html>.
36735         * lib/ftoastr.c (STRTOF) [LENGTH == 1]: Use strtof only if HAVE_STRTOF.
36736         * modules/ftoastr (configure.ac): Check for strtof.
36738 2011-06-13  Bruno Haible  <bruno@clisp.org>
36740         gnulib-tool: Addendum to 2011-06-08 commit.
36741         * gnulib-tool (func_emit_lib_Makefile_am): If options --makefile-name
36742         and --witness-c-macro have been given, augment AM_CPPFLAGS.
36744 2011-06-13  Bruno Haible  <bruno@clisp.org>
36746         fseeko: Provide a non-inline replacement of fseek().
36747         * lib/stdio.in.h (fseek): Don't provide if module 'fseek' is not used.
36748         * modules/fseeko (Depends-on): Add fseek.
36749         * modules/fseek (License): Change to LGPLv2+.
36751 2011-06-13  Bruno Haible  <bruno@clisp.org>
36753         ftello: Provide a non-inline replacement of ftell().
36754         * lib/stdio.in.h (ftell): Don't provide if module 'ftell' is not used.
36755         * m4/ftell.m4 (gl_FUNC_FTELL): Replace ftell also if the system does
36756         not have ftello() (such as on mingw).
36757         * modules/ftello (Depends-on): Add ftell.
36758         * modules/ftell (License): Change to LGPLv2+.
36760 2011-05-07  Bruno Haible  <bruno@clisp.org>
36762         ftell: Move AC_LIBOBJ invocations to module description.
36763         * m4/ftell.m4 (gl_FUNC_FTELL): Move AC_LIBOBJ invocation from here...
36764         * modules/ftell (configure.ac): ... to here.
36766 2011-05-07  Bruno Haible  <bruno@clisp.org>
36768         ftello: Respect rules for use of AC_LIBOBJ.
36769         * m4/ftello.m4 (gl_REPLACE_FTELLO): Remove macro.
36770         (gl_FUNC_FTELLO): Inline it here. Move AC_LIBOBJ invocation from
36771         here...
36772         * modules/ftello (configure.ac): ... to here.
36774 2011-05-07  Bruno Haible  <bruno@clisp.org>
36776         fseeko: Simplify.
36777         * m4/fseeko.m4 (gl_HAVE_FSEEKO): Remove macro.
36778         (gl_FUNC_FSEEKO): Inline it here.
36780 2011-05-07  Bruno Haible  <bruno@clisp.org>
36782         fseek: Move AC_LIBOBJ invocations to module description.
36783         * m4/fseek.m4 (gl_REPLACE_FSEEK): Remove macro.
36784         (gl_FUNC_FSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
36785         * modules/fseek (configure.ac): ... to here.
36787 2011-05-07  Bruno Haible  <bruno@clisp.org>
36789         fseek: Respect rules for use of AC_LIBOBJ.
36790         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Move gl_REPLACE_FSEEK invocation from
36791         here...
36792         * m4/fseek.m4 (gl_FUNC_FSEEK): ... to here.
36794 2011-05-07  Bruno Haible  <bruno@clisp.org>
36796         fseeko: Respect rules for use of AC_LIBOBJ.
36797         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Remove macro.
36798         (gl_FUNC_FSEEKO): Inline it here. Move AC_LIBOBJ invocation from
36799         here...
36800         * modules/fseeko (configure.ac): ... to here.
36802 2011-06-13  Bruno Haible  <bruno@clisp.org>
36804         gnulib-tool: Allow comments in the 'Depends-on' section.
36805         * doc/gnulib.texi (Module description): Mention comment syntax in the
36806         Depends-on section.
36807         * gnulib-tool (func_get_dependencies): Filter out comment lines.
36809 2011-06-13  Bruno Haible  <bruno@clisp.org>
36811         file-set.h: guard __attibute__ use, now that it's not always defined
36812         * lib/file-set.h (record_file): Use __attribute__ only with compiler
36813         versions that support it.  This fixes a coreutils build failure with
36814         the vendor cc on HP-UX 11.31.
36816 2011-06-12  Bruno Haible  <bruno@clisp.org>
36818         acl: Add support for HP-UX >= 11.11 JFS ACLs.
36819         * doc/acl-resources.txt: Add info about the ACL APIs on HP-UX.
36820         * m4/acl.m4 (gl_FUNC_ACL): Also test for HP-UX 11.11 API.
36821         * lib/acl-internal.h [HP-UX 11.11]: Include <aclv.h>.
36822         (acl, aclsort): New declarations.
36823         (aclv_nontrivial): New declaration.
36824         * lib/file-has-acl.c (aclv_nontrivial) [HP-UX 11.11]: New function.
36825         (file_has_acl): Read also the second kind of HP-UX ACLs.
36826         * lib/set-mode-acl.c (qset_acl) [HP-UX 11.11]: Try to set the second
36827         kind of HP-UX ACLs if the first kind fails.
36828         * lib/copy-acl.c (qcopy_acl) [HP-UX 11.11]: Read and set also the
36829         second kind of HP-UX ACLs.
36830         * tests/test-sameacls.c [HP-UX 11.11]: Include <aclv.h>.
36831         (main) [HP-UX 11.11]: Test also whether the second kind of HP-UX ACLs
36832         agree.
36833         * tests/test-file-has-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
36834         hpuxjfs.
36835         Handle hpuxjfs.
36836         * tests/test-set-mode-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
36837         hpuxjfs.
36838         Handle hpuxjfs.
36839         * tests/test-copy-acl.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
36840         (func_test_same_acls): Use both lsacl and getacl.
36841         Handle hpuxjfs.
36842         * tests/test-copy-file.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
36843         (func_test_same_acls): Use both lsacl and getacl.
36844         Handle hpuxjfs.
36846 2011-06-12  Bruno Haible  <bruno@clisp.org>
36848         acl: Complete the 2010-08-10 fix.
36849         * lib/file-has-acl.c (file_has_acl) [HP-UX]: Also test against ENOTSUP.
36850         * lib/set-mode-acl.c (qset_acl) [HP-UX]: Likewise.
36851         * lib/copy-acl.c (qcopy_acl) [HP-UX]: Test for the errno values
36852         explicitly.
36853         * tests/test-sameacls.c (main) [HP-UX]: Also test against ENOTSUP.
36854         Reported in <http://debbugs.gnu.org/db/60/6053.html>.
36856 2011-06-12  Bruno Haible  <bruno@clisp.org>
36858         spawn-pipe tests: Comments.
36859         * tests/test-spawn-pipe-child.c (main): Update comment.
36860         Reported by James Youngman <jay@gnu.org>.
36862 2011-06-11  James Youngman  <jay@gnu.org>
36864         New module 'stat-size'.
36865         * modules/stat-size: New module.  Provides macros for accessing
36866         file size information in instances of struct stat.  Depends on the
36867         fileblocks module because it calls st_blocks.
36868         * lib/stat-size.h: New file, adapted from coreutils' system.h.
36869         * doc/gnulib.texi: Include stat-size.texi.
36870         * doc/stat-size.texi: Documentation for this module.
36871         * m4/stat-size.m4: New file; defines gl_STAT_SIZE.
36872         * m4/fileblocks.m4: Mention that stat-size depends on the call to
36873         AC_STRUCT_ST_BLOCKS.
36875 2011-06-09  Bruno Haible  <bruno@clisp.org>
36877         thread: Support pthreads-win32.
36878         * lib/glthread/thread.h (gl_thread_self): Define differently on
36879         pthreads-win32.
36880         (gl_null_thread): New declaration.
36881         (gl_thread_self_pointer): New macro.
36882         * lib/glthread/thread.c (gl_null_thread): New constant.
36883         * tests/test-lock.c: Use gl_thread_self_pointer instead of
36884         gl_thread_self.
36885         * tests/test-tls.c: Likewise.
36886         Suggested by Paul Eggert. Reported by Eric Blake.
36888 2011-06-09  Bruno Haible  <bruno@clisp.org>
36890         thread: Fix confusion between NULL and 0.
36891         * lib/glthread/thread.h (gl_thread_self): Use NULL and 0 appropriately.
36892         Reported by Paul Eggert.
36894 2011-06-09  Bruno Haible  <bruno@clisp.org>
36896         spawn-pipe tests: Avoid test failure on HP-UX 11.
36897         * tests/test-spawn-pipe-child.c (main) [HP-UX]: Don't assert that fd 2
36898         is closed.
36900 2011-06-09  Bruno Haible  <bruno@clisp.org>
36902         acl tests: Fix compilation error on HP-UX 11.
36903         * tests/test-sameacls.c: Include <sys/acl.h> also on HP-UX.
36905 2011-06-09  Bruno Haible  <bruno@clisp.org>
36907         rmdir: Avoid test failure on HP-UX 10.20.
36908         * tests/test-rmdir.h (test_rmdir_func): Accept ENOTEMPTY error, like
36909         EEXIST.
36911 2011-06-08  Eric Blake  <eblake@redhat.com>
36913         perror: fix test on mingw
36914         * modules/perror-tests (Depends-on): Add dup2.
36916         strerror_r-posix: fix on MacOS
36917         * m4/strerror.m4 (gl_FUNC_STRERROR): Flush out MacOS bug.
36918         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Likewise, and fix
36919         logic bug.
36920         * lib/strerror_r.c (strerror_r): Fix the bug.
36921         * lib/strerror.c (strerror): Likewise.
36922         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
36923         problem.
36924         * doc/posix-functions/strerror.texi (strerror): Likewise.
36925         * doc/posix-functions/perror.texi (perror): Likewise.
36926         * tests/test-strerror.c (main): Enhance test.
36927         * tests/test-strerror_r.c (main): Likewise.
36929 2011-06-08  Bruno Haible  <bruno@clisp.org>
36931         gnulib-tool: Better isolation between different gnulib-tool invocations.
36932         * gnulib-tool: New option --witness-c-macro.
36933         (witness_c_macro): New variable.
36934         (func_emit_lib_Makefile_am): If --witness-c-macro was specified, let
36935         AM_CPPFLAGS define it as a C macro.
36936         (func_emit_tests_Makefile_am): Likewise.
36937         (func_import): Store witness_c_macro setting in gnulib-cache.m4 and
36938         read it from there.
36939         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): Define through
36940         m4_define, not AC_DEFUN.
36941         (gl_MODULE_INDICATOR_SET_VARIABLE_AUX,
36942         gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR): New macros.
36943         (gl_MODULE_INDICATOR_SET_VARIABLE): Use them.
36944         * modules/arpa_inet (Makefile.am): Use sed expression s/.../.../, not
36945         s|...|...|, to substitute the values of the GNULIB_* module indicator
36946         variables.
36947         * modules/dirent (Makefile.am): Likewise.
36948         * modules/fcntl-h (Makefile.am): Likewise.
36949         * modules/iconv-h (Makefile.am): Likewise.
36950         * modules/langinfo (Makefile.am): Likewise.
36951         * modules/locale (Makefile.am): Likewise.
36952         * modules/math (Makefile.am): Likewise.
36953         * modules/netdb (Makefile.am): Likewise.
36954         * modules/poll-h (Makefile.am): Likewise.
36955         * modules/pty (Makefile.am): Likewise.
36956         * modules/search (Makefile.am): Likewise.
36957         * modules/signal (Makefile.am): Likewise.
36958         * modules/spawn (Makefile.am): Likewise.
36959         * modules/stdio (Makefile.am): Likewise.
36960         * modules/stdlib (Makefile.am): Likewise.
36961         * modules/string (Makefile.am): Likewise.
36962         * modules/sys_ioctl (Makefile.am): Likewise.
36963         * modules/sys_select (Makefile.am): Likewise.
36964         * modules/sys_socket (Makefile.am): Likewise.
36965         * modules/sys_stat (Makefile.am): Likewise.
36966         * modules/sys_times (Makefile.am): Likewise.
36967         * modules/sys_utsname (Makefile.am): Likewise.
36968         * modules/sys_wait (Makefile.am): Likewise.
36969         * modules/termios (Makefile.am): Likewise.
36970         * modules/time (Makefile.am): Likewise.
36971         * modules/unistd (Makefile.am): Likewise.
36972         * modules/wchar (Makefile.am): Likewise.
36974 2011-06-08  Eric Blake  <eblake@redhat.com>
36976         strerror: simplify replacement
36977         * m4/strerror.m4 (gl_PREREQ_STRERROR): Delete.
36978         * modules/strerror (configure.ac): No prereqs needed here...
36979         * modules/strerror-override (configure.ac): ...but this needs it.
36980         (Files): Add file for needed prereq macro.
36982 2011-06-08  Bruno Haible  <bruno@clisp.org>
36984         strerror_r-posix: Tweaks.
36985         * m4/strerror.m4 (gl_FUNC_STRERROR): Omit the code that tests
36986         gl_cv_func_strerror_r_works if gl_FUNC_STRERROR_R_WORKS is not present.
36987         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Fix AC_CACHE_CHECK
36988         message. Move gl_HEADER_STRING_H_DEFAULTS invocation from here...
36989         (gl_FUNC_STRERROR_R): ... to here.
36990         (gl_PREREQ_STRERROR_R): Test for __xpg_strerror_r.
36992 2011-06-07  Eric Blake  <eblake@redhat.com>
36994         perror: document fixed bugs
36995         * doc/posix-functions/perror.texi (perror): Document recent
36996         patches.
36998 2011-06-07  Paul Eggert  <eggert@cs.ucla.edu>
37000         stat-time: get_stat_birthtime failure is better-defined
37001         * lib/stat-time.h (get_stat_birthtime): If the time is not available,
37002         return a timestamp whose tv_sec and tv_nsec values are both -1.
37003         Previously, the spec said only that the tv_nsec value was negative.
37004         This upward-compatible change simplifies GNU tar a bit.
37006 2011-06-07  Eric Blake  <eblake@redhat.com>
37008         strerror_r-posix: work around cygwin 1.7.9
37009         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Split...
37010         (gl_FUNC_STRERROR_R_WORKS): ...into new macro, to detect Cygwin
37011         bug without replacing strerror_r.
37012         * m4/strerror.m4 (gl_FUNC_STRERROR): Replace strerror if
37013         strerror_r is buggy, but without requiring strerror_r compilation.
37014         * doc/posix-functions/strerror_r.texi (strerror_r): Fix docs.
37016         test-perror: relax test to ignore cygwin bug
37017         * tests/test-perror2.c (main): Relax test on requiring detection
37018         of stream errors, and use unbuffered stream.
37019         * doc/posix-functions/dprintf.texi (dprintf): Document bug.
37020         * doc/posix-functions/fprintf.texi (fprintf): Likewise.
37021         * doc/posix-functions/fputc.texi (fputc): Likewise.
37022         * doc/posix-functions/fputs.texi (fputs): Likewise.
37023         * doc/posix-functions/fputws.texi (fputws): Likewise.
37024         * doc/posix-functions/fwprintf.texi (fwprintf): Likewise.
37025         * doc/posix-functions/fwrite.texi (fwrite): Likewise.
37026         * doc/posix-functions/getopt.texi (getopt): Likewise.
37027         * doc/posix-functions/perror.texi (perror): Likewise.
37028         * doc/posix-functions/printf.texi (printf): Likewise.
37029         * doc/posix-functions/psiginfo.texi (psiginfo): Likewise.
37030         * doc/posix-functions/psignal.texi (psignal): Likewise.
37031         * doc/posix-functions/putc.texi (putc): Likewise.
37032         * doc/posix-functions/putc_unlocked.texi (putc_unlocked):
37033         Likewise.
37034         * doc/posix-functions/putchar.texi (putchar): Likewise.
37035         * doc/posix-functions/putchar_unlocked.texi (putchar_unlocked):
37036         Likewise.
37037         * doc/posix-functions/puts.texi (puts): Likewise.
37038         * doc/posix-functions/putwc.texi (putwc): Likewise.
37039         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
37040         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
37041         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
37042         * doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise.
37043         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
37044         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
37045         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
37046         * doc/posix-functions/wprintf.texi (wprintf): Likewise.
37048 2011-05-22  Bruno Haible  <bruno@clisp.org>
37050         strerror: Move AC_LIBOBJ invocations to module description.
37051         * m4/strerror.m4 (gl_FUNC_STRERROR): Move AC_LIBOBJ and
37052         gl_PREREQ_STRERROR invocations from here...
37053         * modules/strerror (configure.ac): ... to here.
37055 2011-05-21  Bruno Haible  <bruno@clisp.org>
37057         perror: Use common idiom.
37058         * modules/perror (configure.ac): Reorder statements.
37060 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
37062         tests: fix usage message in 'mktempd_'
37063         * tests/init.sh (mktempd_): In the usage message, use literal
37064         'mktempd_', not '$ME' (which is even undefined), as the name of
37065         the subroutine.
37067 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
37069         tests init: new function 'fatal_', for hard errors
37070         Before this patch, the only way offered by tests/init.sh to
37071         properly signal a hard error was the `framework_failure_'
37072         function.  But the error message issued by that function,
37073         as its name would suggest, refers to a set-up failure in the
37074         testsuite, while hard errors can obviously also be due to
37075         other reasons.  The best way to fix this inconsistency is to
37076         introduce a new function with a more general error message.
37077         * tests/init.sh (fatal_): New function.
37079 2011-06-06  Eric Blake  <eblake@redhat.com>
37081         canonicalize-lgpl: use common idiom
37082         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Prefer older rm -rf
37083         over newer POSIX -Rf.
37084         Reported by Bruno Haible.
37086         canonicalize-lgpl: work around AIX realpath bug
37087         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Expose AIX bug.
37088         * doc/posix-functions/realpath.texi (realpath): Document it.
37089         Reported by Bruno Haible.
37091         strerror: work around FreeBSD bug
37092         * lib/strerror.c (strerror): Special case 0.
37093         Reported by Bruno Haible.
37095         strerror-override: avoid bloating errno module
37096         * modules/errno (Files, configure.ac): Move replacement strings...
37097         * modules/strerror-override: ...to new module.
37098         * modules/strerror (Depends-on): Add strerror-override.
37099         * modules/strerror_r-posix (Depends-on): Likewise.
37100         * MODULES.html.sh: Document new module.
37101         Reported by Bruno Haible.
37103 2011-06-06  Bruno Haible  <bruno@clisp.org>
37105         spawn-pipe tests: Rename program.
37106         * tests/test-spawn-pipe-main.c: Renamed from tests/test-spawn-pipe.c.
37107         * tests/test-spawn-pipe-child.c: Update comment.
37108         * tests/test-spawn-pipe.sh: Update.
37109         * modules/spawn-pipe-tests (Files, Makefile.am): Update.
37111         spawn-pipe tests: Link the child program only against libc.
37112         * tests/test-spawn-pipe-child.c: New file, extracted from
37113         tests/test-spawn-pipe.c.
37114         (main): Expect only one argument.
37115         (is_open): New function, copied from tests/test-pipe.c.
37116         * tests/test-spawn-pipe.c: Don't include <errno.h>.
37117         (child_main): Remove function.
37118         (test_pipe): Pass only one argument to the child program.
37119         (main): Remove child process code. Expect the child program's name as
37120         first argument.
37121         * tests/test-spawn-pipe.sh: Pass the child program's name as first
37122         argument.
37123         * modules/spawn-pipe-tests (Files): Add tests/test-spawn-pipe-child.c.
37124         (Makefile.am): Add test-spawn-pipe-child to check_PROGRAMS. Link
37125         test-spawn-pipe-child against no libraries.
37127 2011-06-06  Bruno Haible  <bruno@clisp.org>
37129         careadlinkat: Avoid mismatch between ssize_t and int.
37130         * lib/careadlinkat.h (careadlinkatcwd): Declare as a function always.
37131         * lib/careadlinkat.c (careadlinkatcwd): Define always.
37133 2011-06-06  Jim Meyering  <meyering@redhat.com>
37135         gnulib-common.m4: add _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE
37136         * m4/gnulib-common.m4 (gl_COMMON): Emit definitions of
37137         _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE.
37139 2011-06-05  Bruno Haible  <bruno@clisp.org>
37141         ansi-c++-opt: Interoperability with libtool.
37142         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is not found,
37143         set the variable to "no", not to ":".
37144         * NEWS: Mention the change.
37146 2011-06-05  Bruno Haible  <bruno@clisp.org>
37148         acl: Fix test failure on AIX 7.
37149         * tests/test-sameacls.c (main) [AIX]: Fix aclx_printStr invocation.
37150         Based on a patch by Jørn Amundsen <Jorn.Amundsen@ntnu.no>.
37152 2011-06-05  Bruno Haible  <bruno@clisp.org>
37154         pipe-filter-ii: Fix test failure on AIX and IRIX.
37155         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): When write() fails
37156         with EAGAIN, retry with a smaller buffer size.
37158 2011-06-05  Bruno Haible  <bruno@clisp.org>
37160         localename: Fix link dependencies.
37161         * modules/localename (Link): Mention $(LIBTHREAD) or $(LTLIBTHREAD).
37162         * modules/localename-tests (Makefile.am): Link test-localename with
37163         $(LIBTHREAD).
37165 2011-06-05  Bruno Haible  <bruno@clisp.org>
37167         error: Avoid gcc warning.
37168         * lib/error.c (strerror_r): Declare also when its return type is 'int'.
37170 2011-06-05  Bruno Haible  <bruno@clisp.org>
37172         unsetenv: Avoid gcc warning.
37173         * lib/unsetenv.c (unsetenv): Provide declaration if system lacks it.
37175 2011-06-05  Bruno Haible  <bruno@clisp.org>
37177         setenv: Avoid gcc warning.
37178         * lib/setenv.c (setenv): Provide declaration if system lacks it.
37180 2011-06-05  Bruno Haible  <bruno@clisp.org>
37182         sys_select: Ensure memset is declared also on AIX 7.
37183         * lib/sys_select.in.h: Include <string.h> also on AIX.
37184         * doc/posix-headers/sys_select.texi: Mention that <sys/select.h> is not
37185         self-contained also on AIX 7.1.
37187 2011-06-04  Jim Meyering  <meyering@redhat.com>
37189         maint.mk: sc_unmarked_diagnostics: don't hard-code "error"
37190         * top/maint.mk (sc_unmarked_diagnostics): Don't hard-code the
37191         function name, "error".
37192         (_gl_translatable_diag_func_re): New configurable variable.
37194 2011-06-04  Bruno Haible  <bruno@clisp.org>
37196         getopt: Avoid gcc warning.
37197         * lib/getopt.c (_getopt_internal_r): Remove unused variable 'ambig'.
37199 2011-06-04  Bruno Haible  <bruno@clisp.org>
37201         strerror_r: Fix comments.
37202         * lib/strerror_r.c (strerror_r): Update comments after 2011-06-01
37203         commit.
37205 2011-06-04  Bruno Haible  <bruno@clisp.org>
37207         perror: Fix compilation error.
37208         * lib/perror.c: Don't include intprops.h, verify.h, strerror-impl.h.
37209         Undefine fprintf, not sprintf.
37210         * modules/perror (Depends-on): Remove intprops, verify.
37212 2011-06-04  Bruno Haible  <bruno@clisp.org>
37214         setlocale: Enable replacement on Cygwin 1.5.
37215         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Set REPLACE_SETLOCALE also on
37216         Cygwin 1.5.x.
37217         * doc/posix-functions/setlocale.texi: Mention that the problem with the
37218         LC_CTYPE category also exists on Cygwin 1.5.x.
37220 2011-06-04  Bruno Haible  <bruno@clisp.org>
37222         strerror-override: Don't disable symbol renamings.
37223         * lib/strerror-override.h: Include errno.h and stddef.h, not string.h.
37224         * lib/strerror-override.c: Include config.h.
37225         (strerror_override): Don't undefine.
37227 2011-06-03  Bruno Haible  <bruno@clisp.org>
37229         Copyright: Use LGPL 2.1 instead of LGPL 2.0.
37230         * lib/localename.h: Update copyright header.
37231         * lib/localename.c: Likewise.
37232         * lib/relocatable.h: Likewise.
37233         * lib/relocatable.c: Likewise.
37235 2011-06-02  Bruno Haible  <bruno@clisp.org>
37237         doc: Fix a module name.
37238         * doc/posix-functions/open.texi: Fix module name 'nonblocking'.
37240 2011-06-02  Bruno Haible  <bruno@clisp.org>
37242         pipe2: Remove dependency on 'nonblocking' module.
37243         * lib/pipe2.c: Include verify.h. Include nonblocking.h only if
37244         O_NONBLOCK is defined by gnulib.
37245         (pipe2) [WIN32]: If O_NONBLOCK is not defined by gnulib, verify that it
37246         is zero.
37247         * modules/pipe2 (Depends-on): Add verify. Remove nonblocking.
37248         * tests/test-pipe2.c: Include nonblocking.h only if O_NONBLOCK is
37249         defined by gnulib.
37250         (get_nonblocking_flag): New function.
37251         (main): Test O_NONBLOCK flag only if it is nonzero.
37252         * doc/glibc-functions/pipe2.texi: Mention the 'nonblocking' module.
37254 2011-06-03  Jim Meyering  <meyering@redhat.com>
37256         maint: three new prohibit-header-without-use rules
37257         Prohibit use of cloexec.h, posixver.h, same.h without use.
37258         * top/maint.mk (sc_prohibit_cloexec_without_use): New rule.
37259         (sc_prohibit_posixver_without_use): Likewise.
37260         (sc_prohibit_same_without_use): Likewise.
37262 2011-06-02  Paul Eggert  <eggert@cs.ucla.edu>
37264         allocator: 'die' routine is now given requested size
37265         * lib/allocator.h (struct allocator.die): New size arg.
37266         * lib/careadlinkat.c (careadlinkat): Pass size to 'die' function.
37267         If the actual problem is an ssize_t limitation, not a size_t or
37268         malloc failure, fail with errno==ENAMETOOLONG instead of calling 'die'.
37270 2011-06-01  Eric Blake  <eblake@redhat.com>
37272         strerror: drop strerror_r dependency
37273         * lib/strerror_r.c (strerror_r): Move gnulib replacement strings...
37274         * lib/strerror-override.c (strerror_override): ...to new file.
37275         * lib/strerror-override.h: Add prototype.
37276         * lib/strerror-impl.h: Delete.
37277         * lib/strerror.c (strerror): New implementation.
37278         * modules/errno (Files): Add new files.
37279         (configure.ac): Compile new file as appropriate.
37280         * modules/strerror (Files): Drop unused file.
37281         (Depends-on): Drop strerror_r-posix.
37282         * MODULES.html.sh: Document strerror_r-posix.
37283         Requested by Sam Steingold.
37285         perror: call strerror_r directly
37286         * modules/perror (Files): Drop strerror-impl.h.
37287         * lib/perror.c (perror): Use our own stack buffer, rather than
37288         calling a wrapper that uses static storage.
37289         * doc/posix-functions/perror.texi (perror): Document a limitation
37290         of our replacement.
37292         strerror_r: fix includes for FreeBSD
37293         * lib/strerror_r.c (includes): Use <stdlib.h> unconditionally,
37294         since we use abort on some platforms.
37295         Reported by Matthias Bolte.
37297 2011-05-31  Bruno Haible  <bruno@clisp.org>
37299         Fix link errors in tests: openat-die uses gettext-h.
37300         * modules/areadlinkat-tests (Makefile.am): Link test-areadlinkat
37301         against $(LIBINTL).
37302         * modules/dirent-safer-tests (Makefile.am): Link test-dirent-safer
37303         against $(LIBINTL).
37304         * modules/fdopendir-tests (Makefile.am): Link test-fdopendir against
37305         $(LIBINTL).
37306         * modules/fdutimensat-tests (Makefile.am): Link test-fdutimensat
37307         against $(LIBINTL).
37308         * modules/linkat-tests (Makefile.am): Link test-linkat against
37309         $(LIBINTL).
37310         * modules/mkfifoat-tests (Makefile.am): Link test-mkfifoat against
37311         $(LIBINTL).
37312         * modules/openat-safer-tests (Makefile.am): Link test-openat-safer
37313         against $(LIBINTL).
37314         * modules/openat-tests (Makefile.am): Link test-fchownat, test-fstatat,
37315         test-mkdirat, test-openat, test-unlinkat against $(LIBINTL).
37316         * modules/readlinkat-tests (Makefile.am): Link test-readlinkat against
37317         $(LIBINTL).
37318         * modules/symlinkat-tests (Makefile.am): Link test-symlinkat against
37319         $(LIBINTL).
37320         * modules/utimensat-tests (Makefile.am): Link test-utimensat against
37321         $(LIBINTL).
37322         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
37324 2011-05-31  Bruno Haible  <bruno@clisp.org>
37326         Fix link errors in tests: wait-process uses gettext-h.
37327         * modules/nonblocking-pipe-tests (Makefile.am): Set
37328         test_nonblocking_pipe_main_LDADD.
37329         * modules/nonblocking-socket-tests (Makefile.am): Link
37330         test-nonblocking-socket-main against $(LIBINTL).
37331         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
37333 2011-05-29  Paul Eggert  <eggert@cs.ucla.edu>
37335         assert-h: work around 'verify' incompatibility
37336         * lib/verify.h: Use @...@ directives, not ifdef.
37337         * modules/assert-h (assert.h): Implement the directives.
37338         (assert.h): Substitute the symbol-prefix more consistently.
37340 2011-05-29  Jim Meyering  <meyering@redhat.com>
37342         trim: remove three superfluous assignments
37343         * lib/trim.c (trim2): Remove three superfluous assignments
37344         and correct brace positioning.
37346 2011-05-29  Bruno Haible  <bruno@clisp.org>
37348         wctype-h: Avoid namespace pollution on Solaris 2.6.
37349         * lib/wctype.in.h: On Solaris, undefine 'multibyte' and a few other
37350         identifiers.
37351         * doc/posix-headers/wctype.texi: Mention the problem.
37352         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
37354 2011-05-28  Jim Meyering  <meyering@redhat.com>
37356         parse-datetime.y: accommodate -Wstrict-overflow
37357         * lib/parse-datetime.y (yylex): Rearrange pointer arithmetic to
37358         placate -Wstrict-overflow.
37360         trim: avoid a warning from -O2 -Wstrict-overflow
37361         * lib/trim.c (trim2): Declare local to be "unsigned int", not "int".
37363 2011-05-29  Bruno Haible  <bruno@clisp.org>
37365         gnulib-tool: Fix bug in yesterday's commit.
37366         * gnulib-tool (func_create_testdir): Don't add gltests to $subdirs
37367         twice.
37369 2011-05-29  Bruno Haible  <bruno@clisp.org>
37371         Allow multiple gnulib generated include files to be combined.
37372         * gnulib-tool (func_compute_include_guard_prefix): New function.
37373         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Resolve also
37374         ${gl_include_guard_prefix} references.
37375         (func_import, func_create_testdir): Invoke
37376         func_compute_include_guard_prefix.
37377         * lib/arpa_inet.in.h: Use the @GUARD_PREFIX@ placeholder.
37378         * lib/ctype.in.h: Likewise.
37379         * lib/dirent.in.h: Likewise.
37380         * lib/errno.in.h: Likewise.
37381         * lib/fcntl.in.h: Likewise.
37382         * lib/float.in.h: Likewise.
37383         * lib/getopt.in.h: Likewise.
37384         * lib/iconv.in.h: Likewise.
37385         * lib/langinfo.in.h: Likewise.
37386         * lib/locale.in.h: Likewise.
37387         * lib/math.in.h: Likewise.
37388         * lib/netdb.in.h: Likewise.
37389         * lib/netinet_in.in.h: Likewise.
37390         * lib/poll.in.h: Likewise.
37391         * lib/pthread.in.h: Likewise.
37392         * lib/pty.in.h: Likewise.
37393         * lib/sched.in.h: Likewise.
37394         * lib/se-selinux.in.h: Likewise.
37395         * lib/search.in.h: Likewise.
37396         * lib/signal.in.h: Likewise.
37397         * lib/spawn.in.h: Likewise.
37398         * lib/stdarg.in.h: Likewise.
37399         * lib/stddef.in.h: Likewise.
37400         * lib/stdint.in.h: Likewise.
37401         * lib/stdio.in.h: Likewise.
37402         * lib/stdlib.in.h: Likewise.
37403         * lib/string.in.h: Likewise.
37404         * lib/strings.in.h: Likewise.
37405         * lib/sys_file.in.h: Likewise.
37406         * lib/sys_ioctl.in.h: Likewise.
37407         * lib/sys_select.in.h: Likewise.
37408         * lib/sys_socket.in.h: Likewise.
37409         * lib/sys_stat.in.h: Likewise.
37410         * lib/sys_time.in.h: Likewise.
37411         * lib/sys_times.in.h: Likewise.
37412         * lib/sys_uio.in.h: Likewise.
37413         * lib/sys_utsname.in.h: Likewise.
37414         * lib/sys_wait.in.h: Likewise.
37415         * lib/sysexits.in.h: Likewise.
37416         * lib/termios.in.h: Likewise.
37417         * lib/time.in.h: Likewise.
37418         * lib/unistd.in.h: Likewise.
37419         * lib/wchar.in.h: Likewise.
37420         * lib/wctype.in.h: Likewise.
37421         * modules/arpa_inet (Makefile.am): Substitute @GUARD_PREFIX@.
37422         * modules/ctype (Makefile.am): Likewise.
37423         * modules/dirent (Makefile.am): Likewise.
37424         * modules/errno (Makefile.am): Likewise.
37425         * modules/fcntl-h (Makefile.am): Likewise.
37426         * modules/float (Makefile.am): Likewise.
37427         * modules/getopt-posix (Makefile.am): Likewise.
37428         * modules/iconv-h (Makefile.am): Likewise.
37429         * modules/langinfo (Makefile.am): Likewise.
37430         * modules/locale (Makefile.am): Likewise.
37431         * modules/math (Makefile.am): Likewise.
37432         * modules/netdb (Makefile.am): Likewise.
37433         * modules/netinet_in (Makefile.am): Likewise.
37434         * modules/poll-h (Makefile.am): Likewise.
37435         * modules/pthread (Makefile.am): Likewise.
37436         * modules/pty (Makefile.am): Likewise.
37437         * modules/sched (Makefile.am): Likewise.
37438         * modules/search (Makefile.am): Likewise.
37439         * modules/selinux-h (Makefile.am): Likewise.
37440         * modules/signal (Makefile.am): Likewise.
37441         * modules/spawn (Makefile.am): Likewise.
37442         * modules/stdarg (Makefile.am): Likewise.
37443         * modules/stddef (Makefile.am): Likewise.
37444         * modules/stdint (Makefile.am): Likewise.
37445         * modules/stdio (Makefile.am): Likewise.
37446         * modules/stdlib (Makefile.am): Likewise.
37447         * modules/string (Makefile.am): Likewise.
37448         * modules/strings (Makefile.am): Likewise.
37449         * modules/sys_file (Makefile.am): Likewise.
37450         * modules/sys_ioctl (Makefile.am): Likewise.
37451         * modules/sys_select (Makefile.am): Likewise.
37452         * modules/sys_socket (Makefile.am): Likewise.
37453         * modules/sys_stat (Makefile.am): Likewise.
37454         * modules/sys_time (Makefile.am): Likewise.
37455         * modules/sys_times (Makefile.am): Likewise.
37456         * modules/sys_uio (Makefile.am): Likewise.
37457         * modules/sys_utsname (Makefile.am): Likewise.
37458         * modules/sys_wait (Makefile.am): Likewise.
37459         * modules/sysexits (Makefile.am): Likewise.
37460         * modules/termios (Makefile.am): Likewise.
37461         * modules/time (Makefile.am): Likewise.
37462         * modules/unistd (Makefile.am): Likewise.
37463         * modules/wchar (Makefile.am): Likewise.
37464         * modules/wctype-h (Makefile.am): Likewise.
37465         * modules/assert-h (Makefile.am): Replace _GL_VERIFY_H specially.
37467 2011-05-29  Bruno Haible  <bruno@clisp.org>
37469         assert-h: Allow multiple gnulib generated replacements to coexist.
37470         * lib/verify.h (struct _gl_verify_type): Avoid identical redefinition.
37472 2011-05-29  Bruno Haible  <bruno@clisp.org>
37474         argp: Allow coexistence with strerror_r-posix module.
37475         * lib/argp-help.c (__argp_failure): If strerror_r is defined as a macro
37476         (either to __xpg_strerror_r by glibc's <string.h> or to rpl_strerror_r
37477         by gnulib's <string.h> replacement), assume it has the POSIX signature,
37478         not the glibc signature.
37480 2011-05-28  Bruno Haible  <bruno@clisp.org>
37482         gnulib-tool: Alternative structure of testdirs, similar to --import.
37483         * gnulib-tool: New option --single-configure.
37484         (func_usage): Document it.
37485         (single_configure): New variable.
37486         (func_modules_transitive_closure_separately,
37487         func_modules_transitive_closure_separately,
37488         func_determine_use_libtests, func_modules_add_dummy_separately,
37489         func_modules_to_filelist_separately): New functions, extracted from
37490         func_import.
37491         (func_emit_tests_Makefile_am): Handle $single_configure = true case.
37492         (func_import): Use the new functions.
37493         (func_create_testdir): Set final_modules. Handle $single_configure =
37494         true case.
37496 2011-05-28  Bruno Haible  <bruno@clisp.org>
37498         getloadavg: Remove an unreliable safety check.
37499         * m4/getloadavg.m4 (gl_GETLOADAVG): Drop argument. Remove test whether
37500         getloadavg.c is in place.
37501         * modules/getloadavg (configure.ac): Drop argument of gl_GETLOADAVG.
37502         Reported by Sam Steingold <sds@gnu.org>.
37504 2011-05-28  Bruno Haible  <bruno@clisp.org>
37506         doc: Cleanup yet another file produced by texinfo.tex.
37507         * doc/Makefile (mostlyclean): Remove also gnulib.cn.
37509 2011-05-28  Bruno Haible  <bruno@clisp.org>
37511         Finish the conditional dependencies mechanism.
37512         * gnulib-tool: New option --no-conditional-dependencies.
37513         (func_usage): Document it. Don't mark --conditional-dependencies as
37514         experimental.
37515         (cond_dependencies): The possible values can now be true, false, empty.
37516         (func_modules_transitive_closure, func_emit_autoconf_snippets): Update.
37517         (func_import): Store setting in gnulib-cache.m4 and read it from there.
37518         * doc/gnulib-tool.texi (Conditional dependencies): New section.
37520 2011-05-28  Bruno Haible  <bruno@clisp.org>
37522         doc: Use a recent texinfo.tex.
37523         * doc/Makefile (tex_opts): New variable.
37524         (%.dvi, %.pdf): Pass it to texi2dvi and texi2pdf.
37526 2011-05-28  Jim Meyering  <meyering@redhat.com>
37528         intprops.h: adjust comment to match code change
37529         * lib/intprops.h (_GL_INT_CONVERT): Adjust comment: now that E is used
37530         only once, it *may* have side effects.  Also fix an unrelated typo.
37531         (_GL_INT_SIGNED): Likewise.
37533 2011-05-26  Simon Josefsson  <simon@josefsson.org>
37535         * lib/gen-uni-tables.c: Say "gen-uni-tables.c" consistently.
37537 2011-05-26  Bruno Haible  <bruno@clisp.org>
37539         mbsrchr: Avoid collision with system function on Interix.
37540         * lib/string.in.h (mbsrchr): Define as rpl_mbsrchr also on Interix.
37541         Reported by Markus Duft <mduft@gentoo.org>.
37543 2011-05-15  James Youngman  <jay@gnu.org>
37545         getopt: for ambiguous options, enumerate the possibilities.
37546         * lib/getopt.c (_getopt_internal_r): Merge glibc change printing
37547         the ambiguous options when an ambiguous prefix is given. This was
37548         http://sourceware.org/bugzilla/show_bug.cgi?id=7101.  The merged
37549         glibc change was
37550         http://sourceware.org/git/?p=glibc.git;a=commit;h=bd25564e1e98910ed69043ed6a6f884ce60e5780.
37552 2011-05-25  Eric Blake  <eblake@redhat.com>
37554         getcwd: work around mingw bug
37555         * lib/getcwd-lgpl.c (rpl_getcwd): Guarantee correct error.
37556         * doc/posix-functions/getcwd.texi (getcwd): Document it.
37557         Reported by Matthias Bolte.
37559 2011-05-24  Paul Eggert  <eggert@cs.ucla.edu>
37561         test-intprops: disable -Wtype-limits diagnostics
37562         * tests/test-intprops.c: Use a pragma to ignore -Wtype-limits
37563         diagnostics.  Otherwise, the integer overflow macros generate many
37564         diagnostics.  Reported by Jim Meyering in
37565         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00528.html>.
37567         intprops: shorten, to pacify gcc -Woverlength-strings
37568         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT):
37569         (_GL_BINARY_OP_OVERFLOW): Say "0 * (x)" rather than "(x) - (x)",
37570         so that, for example, verify (INT_MULTIPLY_OVERFLOW (...)) is less
37571         likely to run afoul of C compiler limits for string constant lengths.
37572         See <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00528.html>.
37574 2011-05-24  Eric Blake  <eblake@redhat.com>
37576         docs: document recently fixed glibc printf bug
37577         * doc/posix-functions/fprintf.texi (fprintf): Document it.
37578         * doc/posix-functions/printf.texi (printf): Likewise.
37579         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
37580         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
37582         closein-tests: convert to init.sh
37583         * modules/closein-tests (Files): Add init.sh
37584         * tests/test-closein.sh Use it.
37586         yesno-tests: convert to init.sh
37587         * modules/yesno-tests (Files): Add init.sh.
37588         * tests/test-yesno.sh: Use it.
37590         atexit-tests: ensure reliable exit status
37591         * tests/test-atexit.sh: Prefer 'Exit' over 'exit'.
37592         Reported by Bruno Haible.
37594 2011-05-24  Bruno Haible  <bruno@clisp.org>
37596         strerror_r-posix: Respect rules for use of AC_LIBOBJ.
37597         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Move AC_LIBOBJ and
37598         gl_PREREQ_STRERROR_R invocations from here...
37599         * modules/strerror_r-posix (configure.ac): ... to here.
37601 2011-05-24  Eric Blake  <eblake@redhat.com>
37603         strerror_r: fix missing header
37604         * lib/strerror_r.c: Avoid compiler warning about snprintf.
37606         strerror_r: fix AIX test failures
37607         * lib/strerror_r.c (strerror_r): Convert silent truncation to
37608         ERANGE failure.
37610         strerror_r: fix Solaris test failures
37611         * lib/strerror_r.c (strerror_r): Partially populate buf on ERANGE
37612         failures.
37613         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
37615         strerror_r: enforce POSIX recommendations
37616         * lib/strerror_r.c (safe_copy): New helper method.
37617         (strerror_r): Guarantee a non-empty string.
37618         * tests/test-strerror_r.c (main): Enhance tests to incorporate
37619         recent POSIX rulings and to match our strerror guarantees.
37620         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
37622 2011-05-24  Jim Meyering  <meyering@redhat.com>
37624         test-perror2.c: avoid warning about unused variable
37625         * tests/test-perror2.c (main): Remove declaration of unused "fp".
37627 2011-05-24  Eric Blake  <eblake@redhat.com>
37629         perror: avoid spurious test failure on HP-UX
37630         * tests/test-perror.sh: Use Exit to avoid wrong exit status.
37632         tests: fix logic bug in init.sh
37633         * tests/init.sh: (gl_set_x_corrupts_stderr_): Clear for successful
37634         shell.
37636 2011-05-24  Jim Meyering  <meyering@redhat.com>
37638         utimensat: do not reference an out-of-scope buffer
37639         Otherwise, with __linux__ defined, "times" would point to a buffer, "ts"
37640         declared in an inner scope, yet "times" would be dereferenced outside
37641         the scope in which "ts" was valid.
37642         * lib/utimensat.c (rpl_utimensat) [__linux__]: Move the declaration
37643         of ts[2] "out/up", so that the use of aliased "times" (via
37644         "times = ts;") does not end up referencing an out-of-scope "ts"
37646         opendir-safer.c: don't clobber errno; don't close negative FD
37647         * lib/opendir-safer.c (opendir_safer):
37648         [HAVE_FDOPENDIR || GNULIB_FDOPENDIR]: Don't close a negative
37649         file descriptor, and more importantly, don't clobber the
37650         offending errno value with EINVAL.  Before, upon failure
37651         of dup_safer, we would pass the negative file descriptor to
37652         fdopendir, which would clobber errno.
37654 2011-05-23  Bruno Haible  <bruno@clisp.org>
37656         idcache: Fix module description.
37657         * modules/idcache (Include): Set to "idcache.h".
37659 2011-05-23  Paul Eggert  <eggert@cs.ucla.edu>
37661         gnulib-tool: fix portability problem with MacOS sed
37662         A sed command like "/x/{s/a/b/}" is not portable; a newline is needed
37663         before the "}".  Problem reported by Leo in
37664         <http://lists.gnu.org/r/emacs-devel/2011-05/msg00717.html>.
37665         * gnulib-tool (func_modules_transitive_closure): Insert newlines in
37666         sed_extract_condition1, sed_extract_condition2.
37668 2011-05-23  Bruno Haible  <bruno@clisp.org>
37670         hash: Simplify autoconf macro.
37671         * m4/hash.m4 (gl_HASH): Don't require AM_STDBOOL_H.
37673 2011-05-23  Bruno Haible  <bruno@clisp.org>
37675         getugroups: Fix module description.
37676         * modules/getugroups (Include): Set to "getugroups.h".
37678 2011-05-23  Bruno Haible  <bruno@clisp.org>
37680         linkat: Simplify autoconf macro.
37681         * m4/linkat.m4 (gl_FUNC_LINKAT): Don't require gl_FUNC_LINK.
37683 2011-05-23  Bruno Haible  <bruno@clisp.org>
37684             Eric Blake  <eblake@redhat.com>
37686         linkat, renameat: Update dependencies.
37687         * modules/renameat (Depends-on): Add dosname, save-cwd. Remove stpcpy.
37688         * modules/linkat (Depends-on): Likewise. Remove also readlink,
37689         symlinkat.
37691 2011-05-23  Jim Meyering  <meyering@redhat.com>
37693         maint.mk: more tight_scope improvements
37694         * top/maint.mk: (_gl_TS_var_match): Use $(_gl_TS_extern) here, too.
37695         (_gl_TS_headers): Define only in if-0'd block.
37696         (_gl_TS_dir): Omit the $(srcdir)/ prefix.  Sometimes we need it,
37697         sometimes we must *not* use it.  Adjust uses accordingly.
37698         (sc_tight_scope): Use much simpler grep-based test to determine
37699         whether we skip this rule.
37701         maint.mk: generalize/improve the tight-scope rule
37702         * top/maint.mk: Emit a warning when the test is skipped.
37703         (_gl_TS_dir): Add $(srcdir)/ prefix.
37704         (_gl_TS_function_match): Simplify, rather than trying
37705         to enumerate common types.  Otherwise, it would fail to match an
37706         "extern unsigned char const *" declaration in idutils.
37707         (_gl_TS_extern): Do not endorse use of "XTERN", but do provide
37708         a way to support use of that type of macro.
37709         (_gl_TS_var_match): Simplify regexp.
37710         (_gl_TS_obj_files): New configurable variable.
37711         (_gl_TS_headers): Likewise.
37713 2011-05-22  Paul Eggert  <eggert@cs.ucla.edu>
37715         verify: fix bug when gnulib <assert.h> is also included
37716         * lib/verify.h (verify, verify_true): Define if _GL_VERIFY_H
37717         is defined, not if _GL_STATIC_ASSERT_H is not defined.
37718         Perhaps there's a better way, but this fixes the immediate problem.
37719         Problem reported by Bruno Haible in
37720         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00478.html>.
37722 2011-05-22  Bruno Haible  <bruno@clisp.org>
37724         xgetcwd: Simplify autoconf macro.
37725         * m4/xgetcwd.m4 (gl_XGETCWD): Don't require gl_FUNC_GETCWD.
37727 2011-05-22  Bruno Haible  <bruno@clisp.org>
37729         New module 'mktime-internal'.
37730         * modules/mktime-internal: New file.
37731         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Move contents to ...
37732         * m4/mktime.m4 (gl_FUNC_MKTIME_INTERNAL): New macro. Define
37733         mktime_internal as a C macro if libc has __mktime_internal.
37734         * modules/timegm (Depends-on): Add mktime-internal. Remove mktime. Add
37735         conditions.
37736         * MODULES.html.sh (Date and time <time.h>): Add mktime-internal.
37738 2011-05-22  Bruno Haible  <bruno@clisp.org>
37740         timegm: Correct mktime replacement statements.
37741         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Set REPLACE_MKTIME, instead of
37742         defining mktime as a C macro. This completes a 2009-07-28 commit.
37744 2011-05-22  Bruno Haible  <bruno@clisp.org>
37746         timegm: Simplify autoconf macro.
37747         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Don't require gl_TIME_R.
37749 2011-05-21  Paul Eggert  <eggert@cs.ucla.edu>
37751         clock-time: change to LGPLv2+.
37752         * modules/clock-time: Change from GPL to LGPLv2+.  Actually, it's
37753         BSD-like but we have no mark for that; this is good enough for now.
37755 2011-05-21  Bruno Haible  <bruno@clisp.org>
37757         strerror_r: Fix comments.
37758         * lib/strerror_r.c (strerror_r): Fix comment about Cygwin and sys_nerr.
37760 2011-05-21  Bruno Haible  <bruno@clisp.org>
37762         relocatable-prog-wrapper: Fix possible link error.
37763         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Move determination of
37764         HAVE_SETENV and REPLACE_SETENV and AC_LIBOBJ invocation from here...
37765         (gl_FUNC_SETENV): ... to here.
37766         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL_SEPARATE): Update comment.
37767         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): Likewise.
37769 2011-05-21  Bruno Haible  <bruno@clisp.org>
37771         relocatable-prog-wrapper: Assume strerror() exists.
37772         * modules/relocatable-prog-wrapper (Files): Remove lib/strerror.c,
37773         m4/strerror.m4.
37774         (configure.ac): Don't invoke gl_FUNC_STRERROR_SEPARATE.
37775         * lib/relocwrapper.c: Remove mention of strerror module.
37776         * lib/strerror.c: Assume REPLACE_STRERROR is 1.
37777         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Remove macro.
37778         (gl_FUNC_STRERROR): Inline it here. Don't define REPLACE_STRERROR as a
37779         C macro.
37781 2011-05-21  Bruno Haible  <bruno@clisp.org>
37783         select: Simplify replacement idiom.
37784         * m4/select.m4 (gl_FUNC_SELECT): Set REPLACE_SELECT also on native
37785         Win32 platforms.
37786         * lib/sys_select.in.h (select): Simplify accordingly.
37787         * modules/select (Depends-on): Likewise.
37789 2011-05-21  Bruno Haible  <bruno@clisp.org>
37791         mkdir-p: Simplify autoconf macro.
37792         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't require gl_FUNC_LCHMOD,
37793         gl_FUNC_LCHOWN.
37795 2011-05-21  Eric Blake  <eblake@redhat.com>
37797         strerror_r: avoid clobbering strerror on cygwin
37798         * lib/strerror_r.c (strerror_r): Don't use cygwin's strerror_r;
37799         fall back instead to sys_errlist.
37800         * modules/strerror (configure.ac): Add witness.
37801         * tests/test-strerror_r.c (main): Enhance test.
37802         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
37803         * tests/test-perror2.c (main): Free memory before exit.
37805 2011-05-21  Bruno Haible  <bruno@clisp.org>
37807         mkdtemp: Use gnulib naming conventions.
37808         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Renamed from gt_FUNC_MKDTEMP.
37809         * modules/mkdtemp (configure.ac): Update.
37811 2011-05-20  Eric Blake  <eblake@redhat.com>
37813         strerror_r: avoid corrupting errno on Solaris
37814         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Check for Solaris behavior.
37815         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
37817         strerror_r: avoid compiler warning
37818         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't return a char*.
37820         strerror_r: simplify AIX code
37821         * lib/strerror_r.c (strerror_r): Filter out buflen of 1 up front.
37823         test-perror: avoid spurious failure on FreeBSD
37824         * modules/perror-tests (Depends-on): Add strerror, now that
37825         strerror_r no longer pulls it in.
37827 2011-05-20  Bruno Haible  <bruno@clisp.org>
37829         strerror_r-posix: Remove unused dependencies.
37830         * modules/strerror_r-posix (Depends-on): Remove strerror.
37831         Reported by Eric Blake.
37833 2011-05-20  Paul Eggert  <eggert@cs.ucla.edu>
37835         intprops: remove assumption about A|B representation
37836         * lib/intprops.h (_GL_BINARY_OP_OVERFLOW): Do not assume that A|B
37837         is a valid integer if both A and B are.  Although this is true for
37838         all known practical hosts, the C standard doesn't guarantee it,
37839         and the code need not assume it.  Also, this change may work around
37840         HP-UX 11.23 and IRIX 6.5 cc bugs reported by Bruno Haible in
37841         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00426.html>.
37843 2011-05-20  Eric Blake  <eblake@redhat.com>
37845         perror: work around FreeBSD bug
37846         * m4/perror.m4 (gl_FUNC_PERROR): Also replace perror if strerror_r
37847         is broken.  Move AC_LIBOBJ...
37848         * modules/perror (configure.ac): Here.
37849         * doc/posix-functions/perror.texi (perror): Document this.
37850         * tests/test-perror2.c (main): Enhance test.
37852         test-perror: check for strerror interactions
37853         * tests/macros.h (STREQ): Add macro.
37854         * modules/perror-tests (Files): Add second test.
37855         * tests/test-perror2.c (main): New file.
37856         * doc/posix-functions/perror.texi (perror): Document glibc bug.
37858         test-perror: rewrite to use init script
37859         * modules/perror-tests (Files): Add init.sh.
37860         * tests/test-perror.sh: Use temporary directory.
37862 2011-05-20  Jim Meyering  <meyering@redhat.com>
37864         maint: replace misused "a" with "an"
37865         * doc/intprops.texi: "a integer"
37866         * doc/regex.texi: "a explanation"
37867         * lib/alignof.h: "a object"
37868         * lib/argmatch.h: "a explanation"
37869         * lib/argp-help.c: "a option" and "a OPTION_DOC"
37870         * lib/stdint.in.h: "a integer"
37871         * lib/userspec.c: "a owner"
37872         * doc/gnulib.texi: Fix "a idea", and reword.
37874 2011-05-19  Jim Meyering  <meyering@redhat.com>
37876         maint: correct misuse of "a" and "an"
37877         * doc/regex.texi (Collating Symbol Operators): s/an close.../a close/
37878         * lib/argp-help.c: "an docum...": s/an/a/
37879         * lib/argp-parse.c: "An vector": s/An/A/
37880         * lib/execute.c: "an native": s/an/a/
37881         * lib/spawn-pipe.c: Likewise.
37882         * lib/gc.h: "an Gc_rc": s/an/a/
37883         * lib/unigbrk.in.h: "an grapheme": s/an/a/
37884         * lib/fts.c: "an stat.st_dev": s/an/a/
37886 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
37888         intprops-tests: work around HP-UX 11.23 cc bug with constants
37889         * tests/test-intprops.c (VERIFY): New macro.
37890         (main): Use it, instead of verify, to work around the compiler bug; see
37891         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00401.html>.
37893         intprops: work around IRIX 6.5 cc bug with 0u - 0u + -1
37894         See http://lists.gnu.org/r/bug-gnulib/2011-05/msg00406.html
37895         * lib/intprops.h (_GL_INT_NEGATE_CONVERT): New macro.
37896         (_GL_INT_SIGNED, _GL_INT_MAXIMUM, _GL_DIVIDE_OVERFLOW):
37897         (_GL_REMAINDER_OVERFLOW): Use it.
37899         intprops-tests: revert unsigned part of previous change
37900         * tests/test-intprops.c (UINT_MAX, ULONG_MAX, UINTMAX_MAX, U0, U1):
37901         Remove; they weren't actually needed.  All uses of U0 and U1 removed,
37902         and other casts to 'unsigned int' reverted to 'u' suffixes.  See
37903         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00406.html>.
37905 2011-05-19  Bruno Haible  <bruno@clisp.org>
37907         strerror_r: Work around strerror_r() change in Cygwin 1.7.8.
37908         * lib/strerror_r.c (strerror_r) [CYGWIN]: Recognize when the system's
37909         strerror_r() returned without filling the buffer.
37910         Reported by Eric Blake.
37912 2011-05-19  Eric Blake  <eblake@redhat.com>
37914         strerror_r: guarantee unchanged errno
37915         * lib/strerror_r.c (strerror_r): Guarantee unchanged errno.
37916         * lib/strerror-impl.h (strerror): Set errno to match strerror_r
37917         failure.
37918         * tests/test-strerror_r.c (main): Enhance test.
37920 2011-05-19  Bruno Haible  <bruno@clisp.org>
37922         strerror_r: Reorder #if blocks.
37923         * lib/strerror_r.c (strerror_r): Reorder conditionals in the function
37924         for consistency with the previous commit.
37926 2011-05-19  Bruno Haible  <bruno@clisp.org>
37928         perror: Avoid clobbering the strerror buffer when possible.
37929         * lib/strerror-impl.h: New file, extracted from lib/strerror.c.
37930         * lib/strerror.c: Include it.
37931         * modules/strerror (Files): Add lib/strerror-impl.h.
37932         * lib/perror.c: Include <stdlib.h>, intprops.h, verify.h.
37933         (my_strerror): New function, defined through lib/strerror-impl.h.
37934         (perror): Use it instead of strerror.
37935         * modules/perror (Files): Add lib/strerror-impl.h.
37936         (Depends-on): Remove strerror. Add intprops, verify, strerror_r-posix.
37938 2011-05-19  Eric Blake  <eblake@redhat.com>
37940         strerror_r: fix on newer cygwin
37941         * lib/strerror_r.c (strerror_r): Cygwin now has
37942         __xpg_strerror_r, use it.
37944 2011-05-19  Bruno Haible  <bruno@clisp.org>
37946         strerror_r: Avoid clobbering the strerror buffer when possible.
37947         * lib/strerror.c: Define _NETBSD_SOURCE. Include <nl_types.h>.
37948         (sys_nerr, sys_errlist): New declarations.
37949         (strerror_r): Be careful not to clobber the strerror buffer on NetBSD,
37950         HP-UX, native Win32, IRIX, and 32-bit Solaris.
37951         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Test whether catgets exists.
37953 2011-05-19  Bruno Haible  <bruno@clisp.org>
37955         strerror_r: Fix test failure on mingw.
37956         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't define
37957         EXTEND_STRERROR_R.
37958         * lib/strerror_r.c (strerror_r): Test the various GNULIB_defined_*
37959         macros from errno.in.h instead.
37961 2011-05-19  Eric Blake  <eblake@redhat.com>
37963         strerror: relax test for Solaris
37964         * tests/test-strerror.c (main): Permit Solaris behavior.
37965         * tests/test-strerror_r.c (main): Likewise.
37967         strerror: enforce POSIX ruling on strerror(0)
37968         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Expose BSD bug.
37969         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
37970         * lib/strerror_r.c (rpl_strerror_r): Work around it.
37971         * doc/posix-functions/strerror.texi (strerror): Document it.
37972         * doc/posix-functions/strerror_r.texi (strerror_r): Likewise.
37973         * tests/test-strerror.c (main): Strengthen test.
37974         * tests/test-strerror_r.c (main): Likewise.
37976 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
37978         intprop-tests: port to older and more-pedantic compilers
37979         * modules/intprops-tests (Files): Add tests/macros.h.
37980         * tests/test-intprops.c: Include macros.h.
37981         (TYPE_IS_INTEGER): Use ASSERT, not verify, to test this macro, as
37982         it's no longer documented to expand to an integer constant expression.
37983         (TYPE_SIGNED): Use ASSERT, not verify, to test this macro when the
37984         argument is floating point, as it's no longer documented to expand
37985         to an integer constant expression in that case.
37986         (UINT_MAX, ULONG_MAX, UINTMAX_MAX): Redefine to work around
37987         compiler bugs reported by Bruno Haible.  See
37988         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00401.html>.
37989         (U0, U1): New constants, to work around the same bugs.  Also,
37990         in tests, use e.g., "(unsigned int) 39" rather than "39u".
37992         intprops: work around C compiler bugs
37993         * lib/intprops.h (INT_MULTIPLY_RANGE_OVERFLOW): Work around compiler
37994         bug in Sun C 5.11 2010/08/13 and other compilers; see
37995         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00401.html>.
37997         intprops: TYPE_IS_INTEGER, TYPE_SIGNED not integer constant exprs
37998         * doc/intprops.texi (Integer Type Determination): Fix
37999         documentation for TYPE_IS_INTEGER: it returns an constant
38000         expression, not an integer constant expression.  Fix doc for
38001         TYPE_SIGNED: it returns an integer constant expression only if its
38002         argument is an integer type.  (TYPE_IS_INTEGER is the same, but is
38003         hardly worth documented that way....)
38005 2011-05-18  Bruno Haible  <bruno@clisp.org>
38007         strerror_r: Avoid clobbering the strerror buffer when possible.
38008         * lib/strerror_r.c (strerror_r): Merge the three implementations.
38009         Handle gnulib defined errno values here. When strerror() returns NULL
38010         or an empty string, return EINVAL.
38011         * lib/strerror.c (strerror): Always call strerror_r. Don't handle
38012         gnulib defined errno values here.
38013         * modules/strerror (Depends-on): Add verify, strerror_r-posix.
38015 2011-05-18  Eric Blake  <eblake@redhat.com>
38017         fnmatch: avoid compiler warning
38018         * lib/fnmatch_loop.c (FCT): Use correct type.
38019         Reported by Matthias Bolte.
38021 2011-05-13  Jim Meyering  <meyering@redhat.com>
38023         maint.mk: three new prohibit_<HDR>_without_use rules
38024         * top/maint.mk (sc_prohibit_stdio--_without_use): New rule.
38025         (sc_prohibit_stdio-safer_without_use): Likewise.
38026         (sc_prohibit_xfreopen_without_use): Likewise.
38028 2011-05-17  Jim Meyering  <meyering@redhat.com>
38030         announce-gen: fail if the NEWS delta is empty
38031         If there's nothing noteworthy in NEWS, then either you forgot
38032         or you shouldn't be releasing.
38033         * build-aux/announce-gen: Die if the NEWS delta is effectively empty.
38035 2011-05-17  Pádraig Brady  <P@draigBrady.com>
38037         * top/maint.mk (_gl_tight_scope:): Automatically exclude compiler
38038         reserved symbols starting with double underscore from the check.
38040 2011-05-17  Paul Eggert  <eggert@cs.ucla.edu>
38042         intprops: add doc
38043         * doc/intprops.texi: New file, documenting intprops.
38044         * doc/gnulib.texi (Particular Modules): Include it.
38046         verify: add doc to gnulib manual and fix example
38047         * doc/gnulib.texi (Compile-time Assertions): New node, for 'verify'.
38048         * doc/verify.texi (Compile-time Assertions): Update 'assert' doc.
38049         (Compile-time Assertions): Fix example so it can't overflow.
38051 2011-05-17  Jim Meyering  <meyering@redhat.com>
38053         warnings.m4: don't usurp save_CPPFLAGS variable name
38054         * m4/warnings.m4: Prefix local temporary variable name with gl_.
38056         doc: fix typo
38057         * doc/gnulib-intro.texi (Target Platforms): s/is/are/
38059 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
38060             Bruno Haible  <bruno@clisp.org>
38062         doc: Tweak recent change.
38063         * README (Portability guidelines): Tweak new text.
38064         * doc/gnulib-intro.texi (Target Platforms): Likewise. Mention
38065         Interix 6.1.
38067 2011-05-16  Eric Blake  <eblake@redhat.com>
38069         inttypes: avoid autoconf warning
38070         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Only expand once.
38071         * m4/stdint.m4 (gl_STDINT_H): Likewise.
38073 2011-05-16  Sam Steingold  <sds@gnu.org>
38074         and Eric Blake  <eblake@redhat.com>
38076         vc-list-files: accept multiple directory operands
38077         * build-aux/vc-list-files: Iterate over all remaining operands.
38079 2011-05-16  Bruno Haible  <bruno@clisp.org>
38081         Fix confusion regarding deprecated modules.
38082         * modules/calloc (Status, Notice): Mark module as deprecated, not
38083         obsolete.
38084         * modules/fnmatch-posix (Status, Notice): Likewise.
38085         * modules/getdate (Status, Notice): Likewise.
38086         * modules/getopt (Status, Notice): Likewise.
38087         * modules/malloc (Status, Notice): Likewise.
38088         * modules/pipe (Status, Notice): Likewise.
38089         * modules/realloc (Status, Notice): Likewise.
38090         * modules/rename-dest-slash (Status, Notice): Likewise.
38091         * modules/unictype/bidicategory-all (Status, Notice): Likewise.
38092         * modules/unictype/bidicategory-byname (Status, Notice): Likewise.
38093         * modules/unictype/bidicategory-name (Status, Notice): Likewise.
38094         * modules/unictype/bidicategory-of (Status, Notice): Likewise.
38095         * modules/unictype/bidicategory-test (Status, Notice): Likewise.
38097 2011-05-16  Bruno Haible  <bruno@clisp.org>
38099         doc: List the target platforms.
38100         * doc/gnulib-intro.texi (Target Platforms): New section.
38101         * doc/gnulib.texi (Introduction): Update menu.
38102         * README (Portability guidelines): Refer to the new section. Update
38103         statement about oldest supported environment. Remove rationale why
38104         <errno.h>, <string.h>, <stdlib.h> are assumed. Update example of an
38105         unportable C89 function.
38106         Reported by Bastien Roucariès <roucaries.bastien@gmail.com> and
38107         Charles Wilson <cygwin@cwilson.fastmail.fm>. Feedback from Paul Eggert.
38109 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
38111         * build-aux/bootstrap (gnulib_tool): Handle symlink timestamps better.
38113 2011-05-13  Paul Eggert  <eggert@cs.ucla.edu>
38115         intprops-tests: new module
38116         * modules/intprops-tests, tests/test-intprops.c: New files.
38118         intprops: add safe, portable integer overflow checking
38119         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_TWOS_COMPLEMENT):
38120         (_GL_INT_SIGNED, _GL_INT_MINIMUM, _GL_INT_MAXIMUM):
38121         (_GL_SIGNED_INT_MINIMUM, INT_ADD_RANGE_OVERFLOW):
38122         (INT__SUBTRACT__RANGE_OVERFLOW, INT_NEGATE_RANGE_OVERFLOW):
38123         (INT_MULTIPLY_RANGE_OVERFLOW, INT_REMAINDER_RANGE_OVERFLOW):
38124         (INT_LEFT_SHIFT_RANGE_OVERFLOW, _GL_ADD_OVERFLOW):
38125         (_GL__SUBTRACT__OVERFLOW, _GL_MULTIPLY_OVERFLOW, _GL_DIVIDE_OVERFLOW):
38126         (_GL_REMAINDER_OVERFLOW, _GL_UNSIGNED_NEG_MULTIPLE, INT_ADD_OVERFLOW):
38127         (INT__SUBTRACT__OVERFLOW, INT_NEGATE_OVERFLOW, INT_MULTIPLY_OVERFLOW):
38128         (INT_DIVIDE_OVERFLOW, INT_REMAINDER_OVERFLOW):
38129         (INT_LEFT_SHIFT_OVERFLOW, _GL_BINARY_OP_OVERFLOW): New macros.
38131 2011-05-12  James Youngman  <jay@gnu.org>
38133         Add a test for glibc's Bugzilla bug #12378.
38134         * m4/fnmatch.m4: Use gnulib's fnmatch if the system fnmatch
38135         doesn't allow the literal matching of a lone "[" (which is
38136         required by POSIX).
38137         * tests/test-fnmatch.c (main): Check that "[/b" matches itself.
38139 2011-05-11  Ulrich Drepper  <drepper@gmail.com>
38141         Sync glibc change fixing Bugzilla bug #12378.
38142         * lib/fnmatch_loop.c (FCT): When matching '[' keep track of
38143         beginning and fall back to matching as normal character if the
38144         string ends before the matching ']' is found.  This is what POSIX
38145         requires.
38147 2011-05-13  Eric Blake  <eblake@redhat.com>
38149         getcwd-lgpl: relax test for FreeBSD
38150         * doc/posix-functions/getcwd.texi (getcwd): Document portability
38151         issue.
38152         * tests/test-getcwd-lgpl.c (main): Relax test.
38153         Reported by Matthias Bolte.
38155 2011-05-11  Eric Blake  <eblake@redhat.com>
38157         test-fflush: silence compiler warning
38158         * tests/test-fflush.c (main): Don't fclose a NULL pointer.
38160 2011-05-11  Bruno Haible  <bruno@clisp.org>
38162         canonicalize, canonicalize-lgpl: Avoid crash dialog on MacOS X.
38163         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Add GL_NOCRASH code.
38164         * modules/canonicalize (Depends-on): Add 'nocrash'.
38165         * modules/canonicalize-lgpl (Depends-on): Likewise.
38166         * doc/posix-functions/realpath.texi: Update platforms list.
38167         Reported by Ryan Schmidt <ryandesign@macports.org>.
38169 2011-05-11  Bruno Haible  <bruno@clisp.org>
38171         group-member: Declare function in <unistd.h>.
38172         * lib/unistd.in.h (group_member): New declaration.
38173         * lib/group-member.h: Remove file.
38174         * lib/group-member.c: Include <unistd.h> instead of group-member.h.
38175         * tests/test-unistd-c++.cc: Check signature of group_member.
38176         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Require
38177         gl_UNISTD_H_DEFAULTS. Set HAVE_GROUP_MEMBER.
38178         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether group_member is declared.
38179         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GROUP_MEMBER,
38180         HAVE_GROUP_MEMBER.
38181         * modules/group-member (Files): Remove lib/group-member.h.
38182         (Depends-on): Add unistd. Specify conditions.
38183         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
38184         (Include): Change to <unistd.h>.
38185         * modules/unistd (Makefile.am): Substitute GNULIB_GROUP_MEMBER,
38186         HAVE_GROUP_MEMBER.
38187         * NEWS: Mention the change.
38188         * lib/euidaccess.c: Don't include group-member.h.
38190 2011-05-11  Bruno Haible  <bruno@clisp.org>
38192         group-member: Document module.
38193         * doc/glibc-functions/group_member.texi: Mention the 'group-member'
38194         module.
38196 2011-05-11  Bruno Haible  <bruno@clisp.org>
38198         fclose: Fix mistake earlier today.
38199         * lib/fclose.c (rpl_fclose): Don't assume that EOF < 0.
38201 2011-05-11  Eric Blake  <eblake@redhat.com>
38203         fclose: preserve fflush errors
38204         * lib/fclose.c (rpl_fclose): Don't lose fflush errors.
38205         Reported by Jim Meyering.
38207         bootstrap: support a prereq of 'rpcgen -' on RHEL5
38208         * build-aux/bootstrap (check_versions): When no specific version
38209         is required, merely check that the app produces an exit status
38210         that indicates its existence.
38212         maint.mk: drop redundant check
38213         * top/maint.mk (sc_the_the): Delete; sc_prohibit_doubled_word does
38214         the same but better.
38216 2011-05-11  Bruno Haible  <bruno@clisp.org>
38218         fclose: Fix possible link error.
38219         * lib/fclose.c (rpl_fclose): Invoke _gl_unregister_fd, not
38220         unregister_shadow_fd. Improve comments.
38221         * lib/sockets.c (close_fd_maybe_socket): Add comments. Reported by
38222         Eric Blake.
38224 2011-05-11  Jim Meyering  <meyering@redhat.com>
38226         maint.mk: improve "can not" detection and generalize rule name
38227         * top/maint.mk (sc_prohibit_undesirable_word_seq): Renamed from
38228         sc_prohibit_can_not, since we'll probably add a few more word pairs here.
38229         Use the same technique as in sc_prohibit_doubled_word, so that
38230         we recognize "can not" also when the words are separated by a newline.
38231         Suggested by Eric Blake.
38232         (perl_filename_lineno_text_): Define.  Factored out of...
38233         (prohibit_doubled_word_): ...here.  Use the new definition.
38234         (prohibit_undesirable_word_seq_): New var.  Use it here, too.
38235         (prohibit_undesirable_word_seq_RE_): New overridable variable.
38236         (ignore_undesirable_word_sequence_RE_): New overridable variable.
38238 2011-05-10  Eric Blake  <eblake@redhat.com>
38240         fclose: avoid double close race when possible
38241         * lib/fclose.c (rpl_fclose): Rewrite to avoid double-close race on
38242         all but WINDOWS_SOCKETS.
38244 2011-05-10  Bastien Roucariès  <roucaries.bastien@gmail.com>
38246         openat: correct new comment
38247         * lib/openat-proc.c (openat_proc_name): Correct the comment.
38249 2011-05-10  Jim Meyering  <meyering@redhat.com>
38251         openat: add comments
38252         * lib/openat-proc.c (openat_proc_name): Add comments,
38253         mostly from Eric Blake.
38255 2011-05-09  Eric Blake  <eblake@redhat.com>
38257         openat: reduce syscalls in first probe of /proc
38258         * lib/openat-proc.c (openat_proc_name): Require that /proc/self/fd
38259         be a directory.  Simplify the probe for .. bugs.
38260         * modules/openat (Depends-on): Drop same-inode.
38261         Reported by Bastien ROUCARIES.
38263 2011-05-09  Jim Meyering  <meyering@redhat.com>
38265         maint.mk: change semantics/name of tight_scope variables
38266         * top/maint.mk (_gl_TS_var_match, _gl_TS_function_match):
38267         Rename variables to align with semantics that make them more useful.
38269         maint.mk: tweak new rule's name not to impinge
38270         * top/maint.mk (_gl_tight_scope): Rename from sc_tight_scope-0.
38271         (sc_tight_scope): Use new rule name rather than $@-0.
38273         maint.mk: add a syntax-check rule to ensure tightly-scoped symbols
38274         * top/maint.mk (sc_tight_scope): New rule.
38275         (sc_tight_scope-0): New rule, ifdef'd out.
38276         (_gl_TS_dir): Default.
38277         (_gl_TS_unmarked_extern_functions, _gl_TS_function_regex): Define.
38278         (_gl_TS_unmarked_extern_vars, _gl_TS_var_regex): Define.
38280 2011-05-09  Simon Josefsson  <simon@josefsson.org>
38282         * m4/gc.m4: Remove gl_PREREQ_GC (not used).  Reported by Bruno
38283         Haible <bruno@clisp.org>.
38285 2011-05-08  Bruno Haible  <bruno@clisp.org>
38287         Comments.
38288         * m4/isnanf.m4: Add comment.
38289         * m4/isnanl.m4: Likewise.
38291 2011-05-08  Bruno Haible  <bruno@clisp.org>
38293         glob: Remove obsolete macro.
38294         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): Remove macro.
38296 2011-05-08  Paul Eggert  <eggert@cs.ucla.edu>
38298         intprops: Sun C 5.11 supports __typeof__
38299         * lib/intprops.h (_GL_HAVE___TYPEOF__): New macro, which is set
38300         for either GCC 2 or later, as before, or for Sun C 5.11 or later,
38301         which is new.
38302         (_GL_SIGNED_TYPE_OR_EXPR): Use it.
38304         intprops: switch to usual gnulib indenting and naming
38305         * lib/intprops.h (_GL_INTPROPS_H): Rename from GL_INTPROPS_H.
38306         (_GL_SIGNED_TYPE_OR_EXPR): Rename from signed_type_or_expr__.
38308         * tests/test-inttostr.c (IS_TIGHT): Adjust to above renaming.
38310 2011-05-08  Jim Meyering  <meyering@redhat.com>
38312         maint.mk: suppress "Entering/Leaving directory" diag in announcement
38313         * top/maint.mk (release-prep): Use make's --no-print-directory
38314         option when generating the announcement.  This eliminates the
38315         pesky "make[2]: Entering/Leaving directory" diagnostics in the
38316         generated announcement template.
38318 2011-05-08  Bruno Haible  <bruno@clisp.org>
38320         tzset: Fix gettimeofday wrapper on Solaris 2.6.
38321         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): When invoking
38322         gl_GETTIMEOFDAY_REPLACE_LOCALTIME, also set REPLACE_GETTIMEOFDAY.
38324 2011-05-07  Paul Eggert  <eggert@cs.ucla.edu>
38326         ignore-value, verify: Omit include files from lib_SOURCES.
38327         * modules/ignore-value, modules/verify (Makefile.am):
38328         Don't put ignore-value.h, or verify.h, into lib_SOURCES, as
38329         that leads Automake to duplicate use of am__objects_... variables
38330         in Makefile.in.  See
38331         <http://lists.gnu.org/r/emacs-devel/2011-05/msg00257.html>.
38333 2011-05-07  Bruno Haible  <bruno@clisp.org>
38335         fclose: Simplify autoconf macro.
38336         * m4/fclose.m4 (gl_FUNC_FCLOSE): Assume gl_FUNC_FFLUSH_STDIN is
38337         defined.
38339 2011-05-07  Bruno Haible  <bruno@clisp.org>
38341         canonicalize-lgpl: Fix autoconf macro ordering bug.
38342         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Require
38343         gl_STDLIB_H_DEFAULTS.
38345 2011-05-06  Eric Blake  <eblake@redhat.com>
38347         maintainer-makefile: make sc_po_check easier to tune
38348         * top/maint.mk (sc_po_check): Allow overriding which non-VC files
38349         to probe for strings, such as an alternate location for gnulib.
38351         fclose: guarantee behavior on seekable stdin
38352         * modules/fclose (Depends-on): Add fflush.
38353         * doc/posix-functions/fclose.texi (fclose): Document this.
38354         * tests/test-fclose.c (main): Make test for this unconditional.
38356 2011-05-06  Bruno Haible  <bruno@clisp.org>
38358         fflush, fpurge: Relicense under LGPLv2+.
38359         * modules/fflush (License): Change from LGPLv3+ to LGPLv2+.
38360         * modules/fpurge (License): Likewise.
38361         With permission from Eric Blake and Jim Meyering.
38362         Suggested by Eric Blake.
38364 2011-05-06  Karl Berry  <karl@gnu.org>
38366         * MODULES.html.sh (func_all_modules): remove exit.
38368 2011-05-06  Jim Meyering  <meyering@redhat.com>
38370         maint.mk: use info-gnu@ as the default only for a stable release
38371         * top/maint.mk: Don't default to info-gnu for alpha or beta releases.
38372         For those, just use $(PACKAGE_BUGREPORT), in which case we don't have
38373         to set the Mail-Followup-To header.  Prompted by Reuben Thomas in
38374         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26488
38376 2011-05-05  Paul Eggert  <eggert@cs.ucla.edu>
38378         assert-h: new module, which supports C1X-style static_assert
38379         * lib/assert.in.h, m4/assert_h.m4, modules/assert-h: New files.
38380         * lib/verify.h: Revamp so that this can be copied into assert.h,
38381         while retaining the ability to use it standalone as before.
38382         Rename private identifiers so as not to encroach on the
38383         standard C namespace, since this is now used by assert.h.
38384         (_GL_VERIFY_TYPE): New macro, factoring out differing parts of
38385         the old verify_true.
38386         (_GL_VERIFY_TRUE): New macro, with much of the contents of
38387         the old verify_true.  Use _GL_VERIFY_TYPE.
38388         (_GL_VERIFY): New macro, with much of the contents of the old verify.
38389         (static_assert): New macro, if _GL_STATIC_ASSERT_H
38390         is defined and static_assert is not; _GL_STATIC_ASSERT_H is
38391         defined when this file is copied into the replacement assert.h.
38392         (_Static_assert): New macro, if _GL_STATIC_ASSERT_H is defined
38393         and _Static_assert is not built in.
38394         (verify_true, verify): Define only if _GL_STATIC_ASSERT_H is not
38395         defined, and use the new macros mentioned above.
38396         * doc/posix-headers/assert.texi: Document this.
38398 2011-05-05  Bruno Haible  <bruno@clisp.org>
38400         fclose, fflush: Respect rules for use of AC_LIBOBJ.
38401         * m4/fflush.m4 (gl_FUNC_FFLUSH): Don't invoke gl_REPLACE_FCLOSE.
38402         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_FFLUSH_STDIN and
38403         gl_REPLACE_FCLOSE here.
38404         * modules/fflush (Depends-on): Remove fclose.
38405         * doc/posix-functions/fclose.texi: Mention module 'fflush' only in
38406         combination with module 'fclose'.
38408 2011-05-05  Bruno Haible  <bruno@clisp.org>
38410         fflush, fseeko: Respect rules for use of AC_LIBOBJ.
38411         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): New macro, extracted from
38412         gl_FUNC_FFLUSH.
38413         (gl_FUNC_FFLUSH): Use it.
38414         (gl_REPLACE_FFLUSH): Don't invoke gl_REPLACE_FSEEKO.
38415         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Invoke gl_FUNC_FFLUSH_STDIN and
38416         gl_REPLACE_FSEEKO here.
38418 2011-05-05  Bruno Haible  <bruno@clisp.org>
38420         tzset: Relicense under LGPL.
38421         * modules/tzset (License): Change to LGPL.
38422         No agreement needed; it's a no-op.
38424         strtoimax, strtoumax: Relicense under LGPL.
38425         * modules/strtoimax (License): Change to LGPL.
38426         * modules/strtoumax (License): Likewise.
38427         With permission from Jim Meyering, Paul Eggert:
38428         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00124.html>
38429         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00109.html>
38431         getgroups: Relicense under LGPL.
38432         * modules/getgroups (License): Change to LGPL.
38433         With permission from Jim Meyering, Paul Eggert, Eric Blake:
38434         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00111.html>
38435         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00148.html>
38436         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00138.html>
38438         nanosleep: Relicense under LGPL.
38439         * modules/nanosleep (License): Change to LGPL.
38440         With permission from Jim Meyering, Paul Eggert, Eric Blake, Bruno
38441         Haible:
38442         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00111.html>
38443         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00148.html>
38444         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00138.html>
38445         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00131.html>
38447         futimens: Relicense under LGPL.
38448         * modules/futimens (License): Change to LGPL.
38449         With permission from Eric Blake:
38450         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00138.html>
38452         fflush: Relicense under LGPL.
38453         * modules/fflush (License): Change to LGPL.
38454         With permission from Eric Blake, Bruno Haible, Jim Meyering:
38455         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00138.html>
38456         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00131.html>
38457         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00133.html>
38459         tmpfile: Relicense under LGPL.
38460         * modules/tmpfile (License): Change to LGPL.
38461         With permission from Ben Pfaff:
38462         <http://lists.gnu.org/r/bug-gnulib/2010-12/msg00185.html>
38464         isfinite: Relicense under LGPL.
38465         * modules/isfinite (License): Change to LGPL.
38466         With permission from Ben Pfaff, Bruno Haible:
38467         <http://lists.gnu.org/r/bug-gnulib/2010-12/msg00185.html>
38468         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00130.html>
38470         acosl..tanl: Relicense under LGPL.
38471         * modules/acosl (License): Change to LGPL.
38472         * modules/asinl (License): Likewise.
38473         * modules/atanl (License): Likewise.
38474         * modules/cosl (License): Likewise.
38475         * modules/expl (License): Likewise.
38476         * modules/logl (License): Likewise.
38477         * modules/sinl (License): Likewise.
38478         * modules/sqrtl (License): Likewise.
38479         * modules/tanl (License): Likewise.
38480         Source code originally from glibc and Paolo Bonzini. Agreements:
38481         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00137.html>
38482         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00128.html>
38484 2011-05-05  Bruno Haible  <bruno@clisp.org>
38486         signal: Define sighandler_t.
38487         * lib/signal.in.h (sighandler_t): New type.
38488         * m4/signal_h.m4 (gl_SIGNAL_H): Require AC_USE_SYSTEM_EXTENSIONS. Test
38489         whether sighandler_t is defined.
38490         (gl_SIGNAL_H_DEFAULTS): Initialize HAVE_SIGHANDLER_T.
38491         * modules/signal (Depends-on): Add extensions.
38492         (Makefile.am): Substitute HAVE_SIGHANDLER_T.
38493         * doc/posix-headers/signal.texi: Mention the problem with sighandler_t.
38494         Suggested by Markus Steinborn <gnugv_maintainer@yahoo.de>.
38496 2011-05-05  Eric Blake  <eblake@redhat.com>
38498         maint: remove useless REPLACE_*_H macros
38499         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Delete.
38500         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
38501         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
38502         * m4/poll_h.m4 (gl_REPLACE_POLL_H): Likewise.
38503         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
38504         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
38505         * m4/wchar_h.m4 (gl_REPLACE_WCHAR_H): Likewise.
38506         * m4/btowc.m4: Update callers.
38507         * m4/dirfd.m4: Likewise.
38508         * m4/duplocale.m4: Likewise.
38509         * m4/fchdir.m4: Likewise.
38510         * m4/fdopendir.m4: Likewise.
38511         * m4/inet_ntop.m4: Likewise.
38512         * m4/inet_pton.m4: Likewise.
38513         * m4/ioctl.m4: Likewise.
38514         * m4/mbrlen.m4: Likewise.
38515         * m4/mbrtowc.m4: Likewise.
38516         * m4/mbsinit.m4: Likewise.
38517         * m4/mbsnrtowcs.m4: Likewise.
38518         * m4/mbsrtowcs.m4: Likewise.
38519         * m4/poll.m4: Likewise.
38520         * m4/setlocale.m4: Likewise.
38521         * m4/wcrtomb.m4: Likewise.
38522         * m4/wcsnrtombs.m4: Likewise.
38523         * m4/wcsrtombs.m4: Likewise.
38524         * m4/wctob.m4: Likewise.
38525         * m4/wcwidth.m4: Likewise.
38526         * modules/posix_spawn: Likewise.
38527         * modules/posix_spawn_file_actions_addclose: Likewise.
38528         * modules/posix_spawn_file_actions_adddup2: Likewise.
38529         * modules/posix_spawn_file_actions_addopen: Likewise.
38530         * modules/posix_spawn_file_actions_destroy: Likewise.
38531         * modules/posix_spawn_file_actions_init: Likewise.
38532         * modules/posix_spawnattr_destroy: Likewise.
38533         * modules/posix_spawnattr_getflags: Likewise.
38534         * modules/posix_spawnattr_getpgroup: Likewise.
38535         * modules/posix_spawnattr_getschedparam: Likewise.
38536         * modules/posix_spawnattr_getschedpolicy: Likewise.
38537         * modules/posix_spawnattr_getsigdefault: Likewise.
38538         * modules/posix_spawnattr_getsigmask: Likewise.
38539         * modules/posix_spawnattr_init: Likewise.
38540         * modules/posix_spawnattr_setflags: Likewise.
38541         * modules/posix_spawnattr_setpgroup: Likewise.
38542         * modules/posix_spawnattr_setschedparam: Likewise.
38543         * modules/posix_spawnattr_setschedpolicy: Likewise.
38544         * modules/posix_spawnattr_setsigdefault: Likewise.
38545         * modules/posix_spawnattr_setsigmask: Likewise.
38546         * modules/posix_spawnp: Likewise.
38548 2011-05-04  Reuben Thomas  <rrt@sc3d.org>
38550         Add option to do-release-commit-and-tag to specify branch.
38551         * build-aux/do-release-commit-and-tag: Add --branch.
38553 2011-05-03  Bruno Haible  <bruno@clisp.org>
38555         Avoid unnecessary compilation units, through conditional dependencies.
38556         * modules/accept (Depends-on): Add conditions to the dependencies.
38557         * modules/acosl (Depends-on): Likewise.
38558         * modules/argz (Depends-on): Likewise.
38559         * modules/asinl (Depends-on): Likewise.
38560         * modules/atanl (Depends-on): Likewise.
38561         * modules/atoll (Depends-on): Likewise.
38562         * modules/bind (Depends-on): Likewise.
38563         * modules/btowc (Depends-on): Likewise.
38564         * modules/canonicalize-lgpl (Depends-on): Likewise.
38565         * modules/ceil (Depends-on): Likewise.
38566         * modules/ceilf (Depends-on): Likewise.
38567         * modules/ceill (Depends-on): Likewise.
38568         * modules/chdir-long (Depends-on): Likewise.
38569         * modules/chown (Depends-on): Likewise.
38570         * modules/close (Depends-on): Likewise.
38571         * modules/connect (Depends-on): Likewise.
38572         * modules/cosl (Depends-on): Likewise.
38573         * modules/dirfd (Depends-on): Likewise.
38574         * modules/dprintf (Depends-on): Likewise.
38575         * modules/dprintf-posix (Depends-on): Likewise.
38576         * modules/error (Depends-on): Likewise.
38577         * modules/euidaccess (Depends-on): Likewise.
38578         * modules/expl (Depends-on): Likewise.
38579         * modules/faccessat (Depends-on): Likewise.
38580         * modules/fchdir (Depends-on): Likewise.
38581         * modules/fclose (Depends-on): Likewise.
38582         * modules/fcntl (Depends-on): Likewise.
38583         * modules/fdopendir (Depends-on): Likewise.
38584         * modules/fflush (Depends-on): Likewise.
38585         * modules/floor (Depends-on): Likewise.
38586         * modules/floorf (Depends-on): Likewise.
38587         * modules/floorl (Depends-on): Likewise.
38588         * modules/fnmatch (Depends-on): Likewise.
38589         * modules/fopen (Depends-on): Likewise.
38590         * modules/fprintf-posix (Depends-on): Likewise.
38591         * modules/frexp (Depends-on): Likewise.
38592         * modules/frexp-nolibm (Depends-on): Likewise.
38593         * modules/frexpl (Depends-on): Likewise.
38594         * modules/frexpl-nolibm (Depends-on): Likewise.
38595         * modules/fseek (Depends-on): Likewise.
38596         * modules/fsusage (Depends-on): Likewise.
38597         * modules/ftell (Depends-on): Likewise.
38598         * modules/ftello (Depends-on): Likewise.
38599         * modules/futimens (Depends-on): Likewise.
38600         * modules/getcwd (Depends-on): Likewise.
38601         * modules/getcwd-lgpl (Depends-on): Likewise.
38602         * modules/getdelim (Depends-on): Likewise.
38603         * modules/getdomainname (Depends-on): Likewise.
38604         * modules/getgroups (Depends-on): Likewise.
38605         * modules/gethostname (Depends-on): Likewise.
38606         * modules/getline (Depends-on): Likewise.
38607         * modules/getlogin_r (Depends-on): Likewise.
38608         * modules/getopt-posix (Depends-on): Likewise.
38609         * modules/getpeername (Depends-on): Likewise.
38610         * modules/getsockname (Depends-on): Likewise.
38611         * modules/getsockopt (Depends-on): Likewise.
38612         * modules/getsubopt (Depends-on): Likewise.
38613         * modules/getusershell (Depends-on): Likewise.
38614         * modules/glob (Depends-on): Likewise.
38615         * modules/grantpt (Depends-on): Likewise.
38616         * modules/iconv_open (Depends-on): Likewise.
38617         * modules/iconv_open-utf (Depends-on): Likewise.
38618         * modules/inet_ntop (Depends-on): Likewise.
38619         * modules/inet_pton (Depends-on): Likewise.
38620         * modules/ioctl (Depends-on): Likewise.
38621         * modules/isapipe (Depends-on): Likewise.
38622         * modules/isfinite (Depends-on): Likewise.
38623         * modules/isinf (Depends-on): Likewise.
38624         * modules/lchown (Depends-on): Likewise.
38625         * modules/ldexpl (Depends-on): Likewise.
38626         * modules/link (Depends-on): Likewise.
38627         * modules/linkat (Depends-on): Likewise.
38628         * modules/listen (Depends-on): Likewise.
38629         * modules/logl (Depends-on): Likewise.
38630         * modules/lstat (Depends-on): Likewise.
38631         * modules/mbrlen (Depends-on): Likewise.
38632         * modules/mbrtowc (Depends-on): Likewise.
38633         * modules/mbsinit (Depends-on): Likewise.
38634         * modules/mbsnrtowcs (Depends-on): Likewise.
38635         * modules/mbsrtowcs (Depends-on): Likewise.
38636         * modules/mbtowc (Depends-on): Likewise.
38637         * modules/memcmp (Depends-on): Likewise.
38638         * modules/mkdir (Depends-on): Likewise.
38639         * modules/mkdtemp (Depends-on): Likewise.
38640         * modules/mkfifo (Depends-on): Likewise.
38641         * modules/mkfifoat (Depends-on): Likewise.
38642         * modules/mknod (Depends-on): Likewise.
38643         * modules/mkostemp (Depends-on): Likewise.
38644         * modules/mkostemps (Depends-on): Likewise.
38645         * modules/mkstemp (Depends-on): Likewise.
38646         * modules/mkstemps (Depends-on): Likewise.
38647         * modules/mktime (Depends-on): Likewise.
38648         * modules/nanosleep (Depends-on): Likewise.
38649         * modules/open (Depends-on): Likewise.
38650         * modules/openat (Depends-on): Likewise.
38651         * modules/perror (Depends-on): Likewise.
38652         * modules/poll (Depends-on): Likewise.
38653         * modules/popen (Depends-on): Likewise.
38654         * modules/posix_spawn (Depends-on): Likewise.
38655         * modules/posix_spawn_file_actions_addclose (Depends-on): Likewise.
38656         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
38657         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
38658         * modules/posix_spawnp (Depends-on): Likewise.
38659         * modules/pread (Depends-on): Likewise.
38660         * modules/printf-posix (Depends-on): Likewise.
38661         * modules/ptsname (Depends-on): Likewise.
38662         * modules/putenv (Depends-on): Likewise.
38663         * modules/pwrite (Depends-on): Likewise.
38664         * modules/readline (Depends-on): Likewise.
38665         * modules/readlink (Depends-on): Likewise.
38666         * modules/readlinkat (Depends-on): Likewise.
38667         * modules/recv (Depends-on): Likewise.
38668         * modules/recvfrom (Depends-on): Likewise.
38669         * modules/regex (Depends-on): Likewise.
38670         * modules/remove (Depends-on): Likewise.
38671         * modules/rename (Depends-on): Likewise.
38672         * modules/renameat (Depends-on): Likewise.
38673         * modules/rmdir (Depends-on): Likewise.
38674         * modules/round (Depends-on): Likewise.
38675         * modules/roundf (Depends-on): Likewise.
38676         * modules/roundl (Depends-on): Likewise.
38677         * modules/rpmatch (Depends-on): Likewise.
38678         * modules/select (Depends-on): Likewise.
38679         * modules/send (Depends-on): Likewise.
38680         * modules/sendto (Depends-on): Likewise.
38681         * modules/setenv (Depends-on): Likewise.
38682         * modules/setlocale (Depends-on): Likewise.
38683         * modules/setsockopt (Depends-on): Likewise.
38684         * modules/shutdown (Depends-on): Likewise.
38685         * modules/sigaction (Depends-on): Likewise.
38686         * modules/signbit (Depends-on): Likewise.
38687         * modules/sigprocmask (Depends-on): Likewise.
38688         * modules/sinl (Depends-on): Likewise.
38689         * modules/sleep (Depends-on): Likewise.
38690         * modules/snprintf (Depends-on): Likewise.
38691         * modules/snprintf-posix (Depends-on): Likewise.
38692         * modules/socket (Depends-on): Likewise.
38693         * modules/sprintf-posix (Depends-on): Likewise.
38694         * modules/sqrtl (Depends-on): Likewise.
38695         * modules/stat (Depends-on): Likewise.
38696         * modules/strchrnul (Depends-on): Likewise.
38697         * modules/strdup-posix (Depends-on): Likewise.
38698         * modules/strerror (Depends-on): Likewise.
38699         * modules/strerror_r-posix (Depends-on): Likewise.
38700         * modules/strndup (Depends-on): Likewise.
38701         * modules/strnlen (Depends-on): Likewise.
38702         * modules/strptime (Depends-on): Likewise.
38703         * modules/strsep (Depends-on): Likewise.
38704         * modules/strsignal (Depends-on): Likewise.
38705         * modules/strstr-simple (Depends-on): Likewise.
38706         * modules/strtod (Depends-on): Likewise.
38707         * modules/strtoimax (Depends-on): Likewise.
38708         * modules/strtok_r (Depends-on): Likewise.
38709         * modules/strtoumax (Depends-on): Likewise.
38710         * modules/symlink (Depends-on): Likewise.
38711         * modules/symlinkat (Depends-on): Likewise.
38712         * modules/tanl (Depends-on): Likewise.
38713         * modules/tcgetsid (Depends-on): Likewise.
38714         * modules/tmpfile (Depends-on): Likewise.
38715         * modules/trunc (Depends-on): Likewise.
38716         * modules/truncf (Depends-on): Likewise.
38717         * modules/truncl (Depends-on): Likewise.
38718         * modules/uname (Depends-on): Likewise.
38719         * modules/unlink (Depends-on): Likewise.
38720         * modules/unlockpt (Depends-on): Likewise.
38721         * modules/unsetenv (Depends-on): Likewise.
38722         * modules/usleep (Depends-on): Likewise.
38723         * modules/utimensat (Depends-on): Likewise.
38724         * modules/vasprintf (Depends-on): Likewise.
38725         * modules/vdprintf (Depends-on): Likewise.
38726         * modules/vdprintf-posix (Depends-on): Likewise.
38727         * modules/vfprintf-posix (Depends-on): Likewise.
38728         * modules/vprintf-posix (Depends-on): Likewise.
38729         * modules/vsnprintf (Depends-on): Likewise.
38730         * modules/vsnprintf-posix (Depends-on): Likewise.
38731         * modules/vsprintf-posix (Depends-on): Likewise.
38732         * modules/wcrtomb (Depends-on): Likewise.
38733         * modules/wcscasecmp (Depends-on): Likewise.
38734         * modules/wcscspn (Depends-on): Likewise.
38735         * modules/wcsdup (Depends-on): Likewise.
38736         * modules/wcsncasecmp (Depends-on): Likewise.
38737         * modules/wcsnrtombs (Depends-on): Likewise.
38738         * modules/wcspbrk (Depends-on): Likewise.
38739         * modules/wcsrtombs (Depends-on): Likewise.
38740         * modules/wcsspn (Depends-on): Likewise.
38741         * modules/wcsstr (Depends-on): Likewise.
38742         * modules/wcstok (Depends-on): Likewise.
38743         * modules/wcswidth (Depends-on): Likewise.
38744         * modules/wctob (Depends-on): Likewise.
38745         * modules/wctomb (Depends-on): Likewise.
38746         * modules/wctype (Depends-on): Likewise.
38747         * modules/wcwidth (Depends-on): Likewise.
38748         * modules/write (Depends-on): Likewise.
38750 2011-05-03  Bruno Haible  <bruno@clisp.org>
38752         Support for conditional dependencies.
38753         * doc/gnulib.texi (Module description): Document the syntax of
38754         conditional dependencies.
38755         * gnulib-tool: New option --conditional-dependencies.
38756         (func_usage): Document it.
38757         (cond_dependencies): New variable.
38758         (func_get_automake_snippet_conditional,
38759         func_get_automake_snippet_unconditional): New functions, extracted from
38760         func_get_automake_snippet.
38761         (func_get_automake_snippet): Use them.
38762         (sed_first_32_chars): New variable.
38763         (func_module_shellfunc_name): New function.
38764         (func_module_shellvar_name): New function.
38765         (func_module_conditional_name): New function.
38766         (func_uncond_add_module, func_conddep_add_module, func_cond_module_p,
38767         func_cond_module_condition): New functions.
38768         (func_modules_transitive_closure): Add support for conditional
38769         dependencies.
38770         (func_emit_lib_Makefile_am): For a conditional module, enclose the
38771         conditional automake snippet in an automake conditional.
38772         (func_emit_autoconf_snippets): Emit shell functions that contain the
38773         code for conditional modules.
38774         (func_import, func_create_testdir): Update specification.
38776 2011-05-03  Eric Blake  <eblake@redhat.com>
38778         test-getaddrinfo: report error information
38779         * tests/test-getaddrinfo.c (simple): Use err outside of dbprintf.
38781 2011-05-03  Jim Meyering  <meyering@redhat.com>
38783         bootstrap: avoid build failure when $GZIP is set
38784         * build-aux/bootstrap (check_versions): Do not treat $GZIP as a
38785         program name.  If defined at all, it is supposed to list gzip options.
38786         Reported by Alan Curry in http://debbugs.gnu.org/8609
38788 2011-05-03  Reuben Thomas  <rrt@sc3d.org>
38790         readme-release: new module with release instructions
38791         * modules/readme-release: New module.
38792         * top/README-release: New file, from coreutils, grep, diffutils.
38793         * MODULES.html.sh (Support for maintaining and releasing): Add it.
38795 2011-05-02  Eric Blake  <eblake@redhat.com>
38797         fflush: also replace fclose when fixing fflush
38798         * modules/fflush (Depends-on): Add fclose.
38799         * m4/fflush.m4 (gl_FUNC_FFLUSH): Also replace fclose.
38800         * lib/fclose.c (rpl_fclose): Don't cause spurious failures on
38801         memstreams with no backing fd.
38802         * doc/posix-functions/fclose.texi (fclose): Document the use of
38803         fflush module to fix the bug.
38804         * tests/test-fclose.c (main): Relax test when fclose is used in
38805         isolation.
38807         fclose: add some tests
38808         * modules/fclose-tests: New test module.
38809         * tests/test-fclose.c: New file.
38810         * doc/posix-functions/fclose.texi (fclose): Document the bug.
38812         fclose: reduced dependencies
38813         * modules/fclose (Depends-on): Switch from fflush/fseeko to
38814         simpler lseek.
38815         * lib/fclose.c (rpl_fclose): Likewise.
38816         Reported by Simon Josefsson.
38818         exit: drop remaining clients
38819         * modules/argmatch (Depends-on): Replace exit with stdlib.
38820         * modules/copy-file (Depends-on): Likewise.
38821         * modules/execute (Depends-on): Likewise.
38822         * modules/exitfail (Depends-on): Likewise.
38823         * modules/obstack (Depends-on): Likewise.
38824         * modules/pagealign_alloc (Depends-on): Likewise.
38825         * modules/pipe-filter-gi (Depends-on): Likewise.
38826         * modules/pipe-filter-ii (Depends-on): Likewise.
38827         * modules/savewd (Depends-on): Likewise.
38828         * modules/spawn-pipe (Depends-on): Likewise.
38829         * modules/wait-process (Depends-on): Likewise.
38830         * modules/xsetenv (Depends-on): Likewise.
38831         * modules/chdir-long (Depends-on): Add stdlib, for EXIT_FAILURE.
38832         * modules/git-merge-changelog (Depends-on): Likewise.
38833         * modules/long-options (Depends-on): Likewise.
38834         * modules/pt_chown (Depends-on): Likewise.
38835         * modules/sysexits (Depends-on): Likewise.
38837         freading: relax license from LGPLv3+ to LGPLv2+
38838         * modules/freading (License): Relax LGPL version.
38840 2011-05-02  Bruno Haible  <bruno@clisp.org>
38842         fchdir: Remove unused dependencies.
38843         * modules/fchdir (Depends-on): Remove include_next.
38845 2011-05-02  Bruno Haible  <bruno@clisp.org>
38847         gnulib-tool: Refactor.
38848         * gnulib-tool (func_emit_autoconf_snippet): New function, extracted
38849         from func_emit_autoconf_snippets.
38850         (func_emit_autoconf_snippets): Use it.
38852 2011-05-02  Simon Josefsson  <simon@josefsson.org>
38854         * NEWS: Document removal of 'exit'.
38855         * modules/exit: Remove file.
38857 2011-05-01  Bruno Haible  <bruno@clisp.org>
38859         Update DEPENDENCIES.
38860         * DEPENDENCIES (gettext): Recommend the newest release.
38861         Reported by Simon Josefsson.
38863 2011-05-01  Bruno Haible  <bruno@clisp.org>
38865         gnulib-tool: Reduce code duplication.
38866         * gnulib-tool (func_emit_autoconf_snippets): New function.
38867         (func_import, func_create_testdir): Use it.
38869 2011-04-30  Eric Blake  <eblake@redhat.com>
38871         fclose: don't fail on non-seekable input stream
38872         * modules/fclose (Depends-on): Add freading, fflush, fseeko.
38873         * lib/fclose.c (rpl_fclose): Skip fflush for non-seekable input,
38874         since fflush is allowed to fail in that case.
38876 2011-04-30  Bruno Haible  <bruno@clisp.org>
38878         dup3: cleanup
38879         * lib/dup3.c: Remove old code, leftover from 2009-12-16.
38881 2011-04-30  Bruno Haible  <bruno@clisp.org>
38883         netdb: Make it work in C++ mode.
38884         * lib/netdb.in.h (struct addrinfo): In C++, define as a C struct.
38885         (getaddrinfo, freeaddrinfo, getnameinfo): Use macros from c++defs
38886         module.
38887         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Invoke
38888         gl_MODULE_INDICATOR_FOR_TESTS.
38889         * modules/netdb-tests (Depends-on): Add netdb-c++-tests.
38890         * modules/netdb-c++-tests: New file.
38891         * tests/test-netdb-c++.cc: New file.
38893 2011-04-30  Bruno Haible  <bruno@clisp.org>
38895         New modules 'vfscanf', 'vscanf'.
38896         * modules/vfscanf: New file.
38897         * modules/vscanf: New file.
38898         * m4/stdio_h.m4 (gl_STDIO_H): Don't set GNULIB_VFSCANF, GNULIB_VSCANF
38899         here.
38900         * doc/posix-functions/vfscanf.texi: Mention module 'vfscanf'.
38901         * doc/posix-functions/vscanf.texi: Mention module 'vscanf'.
38903 2011-04-30  Bruno Haible  <bruno@clisp.org>
38905         passfd: Add comments.
38906         * lib/passfd.c: Add comments about platforms.
38908 2011-04-30  Bruno Haible  <bruno@clisp.org>
38910         sys_uio: Make <sys/uio.h> self-contained.
38911         * lib/sys_uio.in.h: Include <sys/types.h> before <sys/uio.h>.
38912         * doc/posix-headers/sys_uio.texi: Mention the OpenBSD problem.
38914 2011-04-30  Bruno Haible  <bruno@clisp.org>
38916         sys_socket: Ensure 'struct iovec' definition.
38917         * lib/sys_socket.in.h: Include <sys/uio.h> also on platforms that have
38918         <sys/socket.h>.
38919         * doc/posix-headers/sys_socket.texi: Mention the OpenBSD problem.
38921 2011-04-30  Bruno Haible  <bruno@clisp.org>
38923         sys_uio: Protect definition of 'struct iovec'.
38924         * lib/sys_uio.in.h (struct iovec): Avoid redefinition. In C++, define
38925         it as a C struct.
38927 2011-04-30  Bruno Haible  <bruno@clisp.org>
38929         manywarnings: fix indentation
38930         * m4/manywarnings.m4: Indent by 2 spaces consistently.
38932 2011-04-30  Pádraig Brady  <P@draigBrady.com>
38934         manywarnings: add -Wno-missing-field-initializers if needed.
38935         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add the above
38936         option if it's needed to allow initialization with { 0, }
38938 2011-04-29  Reuben Thomas  <rrt@sc3d.org>
38940         announce-gen: cosmetic improvement
38941         * build-aux/announce-gen: Strip any leading ./ from the NEWS file name.
38943 2011-04-29  Jim Meyering  <meyering@redhat.com>
38945         vc-list-files: indent with spaces, not TABs
38946         * build-aux/vc-list-files: Convert leading TABs to spaces,
38947         to match the style of most other files in gnulib.
38949         announce-gen: indent with spaces, not TABs
38950         * build-aux/announce-gen: Convert all TABs to spaces, to match
38951         the style of most other files in gnulib.
38953 2011-04-29  Eric Blake  <eblake@redhat.com>
38955         quotearg: avoid uninitialized variable use
38956         * lib/quotearg.c (quoting_options_from_style): Initialize
38957         remaining fields, and ensure that custom styles are only used via
38958         quoting_options rather than quoting_style.
38960 2011-04-29  Jim Meyering  <meyering@redhat.com>
38962         maint.mk: remove unused VC-tag variable
38963         * top/maint.mk (VC-tag): Remove unused variable.
38965 2011-04-29  Bruno Haible  <bruno@clisp.org>
38967         netdb: fix gai_strerror replacements
38968         * lib/netdb.in.h: Add _GL_FUNCDECL_RPL definitions.
38969         * modules/netdb: Substitute it.
38971 2011-04-29  Jim Meyering  <meyering@redhat.com>
38973         test-getcwd.c: avoid new set-but-not-used warning
38974         * tests/test-getcwd.c (test_abort_bug): Exit nonzero for any problem,
38975         not just the glibc/abort one that getcwd-abort-bug.m4 detects.
38976         * m4/getcwd-abort-bug.m4: Update this now-duplicated code to match,
38977         and adjust the code that sets gl_cv_func_getcwd_abort_bug accordingly.
38979         test-hash.c: avoid a new shadowing warning
38980         * tests/test-hash.c (main): Don't shadow "dup".
38982 2011-04-28  Eric Blake  <eblake@redhat.com>
38984         getaddrinfo: fix gai_strerror signature
38985         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Detect broken signatures,
38986         and work around mingw with UNICODE defined.
38987         (gl_PREREQ_GETADDRINFO): Drop redundant decl check.
38988         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Add witness.
38989         * modules/netdb (Makefile.am): Substitute it.
38990         * lib/netdb.in.h (gai_strerror): Declare replacement.
38991         * lib/gai_strerror.c (rpl_gai_strerror): Fix signature.
38992         * doc/posix-functions/gai_strerror.texi (gai_strerror): Document
38993         the fix.
38995         getsockopt: avoid compiler warning
38996         * lib/getsockopt.c (rpl_getsockopt): Add a cast for mingw.
38997         Reported by Matthias Bolte.
38999         tests: drop unused link dependency
39000         * modules/areadlinkat-tests (Makefile.am): Drop stale LDADD.
39001         * modules/dirent-safer-tests (Makefile.am): Likewise.
39002         * modules/fdopendir-tests (Makefile.am): Likewise.
39003         * modules/mkfifoat-tests (Makefile.am): Likewise.
39004         * modules/openat-safer-tests (Makefile.am): Likewise.
39005         * modules/openat-tests (Makefile.am): Likewise.
39006         * modules/readlinkat-tests (Makefile.am): Likewise.
39007         * modules/symlinkat-tests (Makefile.am): Likewise.
39008         * modules/linkat-tests (Makefile.am): Likewise.
39009         (Depends-on): Switch to filenamecat-lgpl.
39010         * modules/fdutimensat-tests (test_fdutimensat_LDADD): Drop unused
39011         LIBINTL.
39012         * modules/utimensat-tests (test_utimensat_LDADD): Likewise.
39013         * tests/test-linkat.c (main): Don't require xalloc.
39015         hash, mgetgroups: drop xalloc dependency
39016         * lib/hash.c (includes): Adjust includes.
39017         * lib/mgetgroups.c (includes): Likewise.
39018         (xgetgroups): Move...
39019         * lib/xgetgroups.c: ...to new file.
39020         * lib/mgetgroups.h (xgetgroups): Make declaration conditional.
39021         * modules/xgetgroups: New file, split from...
39022         * modules/mgetgroups: ...here.
39023         (Depends-on): Add xalloc-oversized.
39024         * modules/hash (Depends-on): Likewise.
39025         * modules/hash-tests (Depends-on): Drop xalloc.
39026         (test_hash_LDADD): Drop unused library.
39027         * tests/test-hash.c (main): Break xalloc dependency.
39028         (includes): Drop unused include.
39030         xalloc-oversized: new module
39031         * modules/xalloc-oversized: New module.
39032         * modules/xalloc (Depends-on): Add it.
39033         * lib/xalloc.h (xalloc_oversized): Move...
39034         * lib/xalloc-oversized.h: ...into new file.
39036         utimecmp: drop dependency on xmalloc
39037         * lib/utimecmp.c (utimecmp): Work even if hash table cache fails
39038         due to memory pressure.
39039         * modules/utimecmp (Depends-on): Drop xalloc.
39041 2011-04-27  Eric Blake  <eblake@redhat.com>
39043         getcwd: fix mingw bugs
39044         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Detect one mingw bug.
39045         * doc/posix-functions/getcwd.texi (getcwd): Document the problems.
39046         * lib/getcwd-lgpl.c (rpl_getcwd): Fix return type.
39048 2011-04-27  Bruno Haible  <bruno@clisp.org>
39050         mkstemps: Ensure declaration on MacOS X 10.5.
39051         * lib/stdlib.in.h: Include <unistd.h> when mkstemps is requested.
39052         * doc/glibc-functions/mkstemps.texi: Document header file problem on
39053         MacOS X.
39055 2011-04-27  Bruno Haible  <bruno@clisp.org>
39057         mkstemp: More documentation.
39058         * doc/posix-functions/mkstemp.texi: Document header file problem on
39059         MacOS X.
39061 2011-04-27  Bruno Haible  <bruno@clisp.org>
39063         mkstemp: Tweak configure message when cross-compiling.
39064         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): When cross-compiling, qualify the
39065         result as a guess.
39067 2011-04-27  Bruno Haible  <bruno@clisp.org>
39069         clean-temp: Clarify what it does.
39070         * lib/clean-temp.h: Add more comments.
39071         * doc/posix-functions/mkstemp.texi: Tweak reference to 'clean-temp'
39072         module.
39073         * doc/glibc-functions/mkostemp.texi: Mention 'clean-temp' here too.
39074         * doc/glibc-functions/mkstemps.texi: Likewise.
39075         * doc/glibc-functions/mkostemps.texi: Likewise.
39077 2011-04-27  Eric Blake  <eblake@redhat.com>
39079         fchdir: avoid extra chdir and fix test
39080         * modules/fchdir (Depends-on): Add dosname, filenamecat-lgpl,
39081         getcwd-lgpl.
39082         * lib/fchdir.c (get_name): Any absolute name will do; it does not
39083         have to be canonical.
39084         (canonicalize_file_name): Drop unused macro.
39085         * m4/dup2.m4 (gl_REPLACE_DUP2): Ensure dup2 is replaced.
39087         filenamecat-lgpl: fix licence
39088         * modules/filenamecat-lgpl (License): Mark as LGPLv2+, as intended
39089         when it was first created.
39091         linkat, renameat: add missing dependency
39092         * modules/linkat (Depends-on): Require getcwd-lgpl.
39093         * modules/renameat (Depends-on): Likewise.
39095         tests: reduce dependencies
39096         * tests/test-linkat.c (main): Use lighter-weight getcwd.
39097         * tests/test-renameat.c (main): Likewise.
39098         * modules/linkat-tests (Depends-on): Relax dependency.
39099         * modules/renameat-tests (Depends-on): Likewise.
39100         * modules/fchdir-tests (Depends-on): Likewise.  Also make cloexec
39101         dependency explicit.
39103         save-cwd: reduce default dependency
39104         * modules/save-cwd (Depends-on): Use getcwd-lgpl.
39105         * lib/save-cwd.c: Update comments.
39106         * NEWS: Document the semantic change.
39108         getcwd: enhance tests
39109         * tests/test-getcwd-lgpl.c: New file, taken from...
39110         * tests/test-getcwd.c: ...old contents.  Rewrite this file to
39111         repeat long path stress tests from m4 probe.
39112         * modules/getcwd-lgpl-tests: New module.
39113         * modules/getcwd-tests (Depends-on): Depend on lgpl tests.
39114         * m4/getcwd-abort-bug.m4: Update comment.
39115         * m4/getcwd-path-max.m4: Likewise.
39117         getcwd-lgpl: new module
39118         * modules/getcwd-lgpl: New module.
39119         * lib/getcwd-lgpl.c: New file.
39120         * doc/posix-functions/getcwd.texi (getcwd): Document it.
39121         * MODULES.html.sh (lacking POSIX:2008): Likewise.
39122         * modules/getcwd (configure.ac): Set C witness.
39123         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): New macro.
39125         getcwd: tweak comments
39126         * m4/getcwd-abort-bug.m4: Fix comments.
39127         * m4/getcwd-path-max.m4: Likewise.
39128         * m4/getcwd.m4: Likewise.
39130 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
39131         and Eric Blake  <eblake@redhat.com>
39133         mkstemp: replace if system version uses wrong permissions
39134         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Add test for non-owner
39135         read/write mode bits set in file created by mkstemp.
39136         * doc/posix-functions/mkstemp.texi (mkstemp): Document the fix.
39138 2011-04-27  Eric Blake  <eblake@redhat.com>
39140         passfd: avoid compiler warning
39141         * lib/passfd.c (sendfd, recvfd): Avoid shadowing names.
39142         Reported by Laine Stump.
39144 2011-04-27  J.T. Conklin  <jtc@acorntoolworks.com>  (tiny change)
39146         * gnulib-tool: change "join -a 2" to "join -a2", the latter is
39147         required by the NetBSD (and perhaps other 4.4BSD derived) join.
39149 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
39150         and Eric Blake  <eblake@redhat.com>
39152         mkstemp: mention clean-temp module
39153         * lib/mkstemp.c: Add comment.
39154         * doc/posix-functions/mkstemp.texi (mkstemp): Likewise.
39156 2011-04-26  Paul Eggert  <eggert@cs.ucla.edu>
39158         inttypes: also provide default values for 32-bit tests
39159         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Also provide default values
39160         for INT32_MAX_LT_INTMAX_MAX and for UINT32_MAX_LT_UINTMAX_MAX.
39162 2011-04-25  Paul Eggert  <eggert@cs.ucla.edu>
39164         strtoumax: remove dependency on strtoimax
39165         This is like the strtoull change of yesterday.
39166         * modules/strtoumax (Files): Add lib/strtoimax.c.
39167         (Depends-on): Remove strtoimax and add verify.
39169         inttypes-incomplete: new module
39170         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): New macro, containing
39171         all but the PRI* and SCN* parts of gl_INTTYPES_H.
39172         (gl_INTTYPES_PRI_SCN): New macro, containing the PRI* and SCN* parts
39173         of gl_INTTYPES_H.
39174         (gl_INTTYPES_H): Rewrite in terms of these new macros.
39175         (gl_INTTYPES_H_DEFAULTS): Provide defaults for the PRI* and SCN*
39176         parts, in case gl_INTTYPE_PRI_SCN is not invoked.
39177         * modules/imaxabs, modules/imaxdiv, modules/strtoimax (Depends-on):
39178         * modules/strtoumax, modules/xstrtol (Depends-on):
39179         Depend on inttypes-incomplete, not inttypes.
39180         * modules/inttypes-incomplete: New module, containing the contents
39181         of the old modules/inttypes module, except that the Files: section
39182         omits m4/inttypes-pri.m4, and the configure.ac section invokes
39183         gl_INTTYPES_INCOMPLETE rather than gl_INTTYPES_H.
39184         * modules/inttypes (Files): Remove lib/inttypes.in.h, m4/inttypes.m4.
39185         (Depends-on): Depend only on inttypes-incomplete.
39186         (Makefile.am): Remove everything; this is now in inttypes-incomplete.
39188         inttypes: omit now-redundant strtoimax and strtoumax work
39189         * m4/inttypes.m4 (gl_INTTYPES_H): Do not check for strtoimax and
39190         strtoumax decls; gl_FUNC_STRTOIMAX and gl_FUNC_STRTOUMAX now do this.
39192         strtoimax, strtoumax: simplify, port to HP-UX 11.00 64-bit
39193         This supports apps that need pointers to strtoimax and strtoumax,
39194         and ports to HP-UX 11.00 64.bit, which has macros that expand to
39195         nonexistent functions.  See
39196         <http://lists.gnu.org/r/bug-gnulib/2011-04/msg00241.html>
39197         et seq.
39198         * lib/inttypes.in.h (strtoimax, strtoumax): #undef before declaring.
39199         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't check whether it's
39200         a macro.
39201         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
39203 2011-04-25  Simon Josefsson  <simon@josefsson.org>
39205         * modules/gnumakefile (configure.ac): Replace TAB with SPCs.
39207 2011-04-25  Bruno Haible  <bruno@clisp.org>
39209         strtol, strtoul: Mark modules as obsolete.
39210         * modules/strtol (Status, Notice): New sections.
39211         * modules/strtoul (Status, Notice): New sections.
39213 2011-04-25  Bruno Haible  <bruno@clisp.org>
39215         strtod: Remove check for strtod, unless supporting old platforms.
39216         * modules/strtod-obsolete: New file.
39217         * m4/strtod-obsolete.m4: New file.
39218         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't check whether strtod is declared
39219         if gl_FUNC_STRTOD_OBSOLETE is not also defined.
39220         * modules/strtod (Depends-on): Add strtod-obsolete.
39221         * doc/posix-functions/strtod.texi: Mention module strtod-obsolete.
39223 2011-04-25  Bruno Haible  <bruno@clisp.org>
39225         strcase: Make module obsolete.
39226         * modules/strcase (Status, Notice): New sections.
39228 2011-04-25  Bruno Haible  <bruno@clisp.org>
39230         dup2: Remove check for dup2, unless supporting old obsolete platforms.
39231         * modules/dup2-obsolete: New file.
39232         * m4/dup2-obsolete.m4: New file.
39233         * m4/dup2.m4 (gl_FUNC_DUP2): Don't check whether dup2 exists if
39234         gl_FUNC_DUP2_OBSOLETE is not also defined.
39235         * modules/dup2 (Depends-on): Add dup2-obsolete.
39236         * doc/posix-functions/dup2.texi: Mention module dup2-obsolete.
39238 2011-04-25  Bruno Haible  <bruno@clisp.org>
39240         strnlen: Avoid memchr related link error on old obsolete platforms.
39241         * modules/memchr-obsolete: New file.
39242         * m4/memchr-obsolete.m4: New file.
39243         * m4/memchr.m4 (gl_FUNC_MEMCHR): Don't check whether memchr exists if
39244         gl_FUNC_MEMCHR_OBSOLETE is not also defined.
39245         * modules/memchr (Depends-on): Add memchr-obsolete.
39246         * modules/strnlen (Depends-on): Likewise.
39247         * doc/posix-functions/memchr.texi: Mention module memchr-obsolete.
39249 2011-04-25  Jim Meyering  <meyering@redhat.com>
39251         maint.mk: makefile_at_at_check extend and clean up
39252         * top/maint.mk (sc_makefile_at_at_check): Check *.mk files
39253         in addition to */Makefile.am.
39254         Exempt legitimate uses of @VAR@ notation, e.g.,
39255         MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@
39256         Remove obsolete coreutils-specific comment.
39257         Prompted by discussion here:
39258         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26074
39260 2011-04-24  Paul Eggert  <eggert@cs.ucla.edu>
39262         strtoul: remove dependency on strtol
39263         This is so that 'configure' need not check for strtol merely because
39264         the application needs strtoul.
39265         * modules/strtoul (Files): Add lib/strtol.c.
39266         (Depends-on): Remove strtol.
39268         strtoull: remove dependency on strtoul
39269         This is like the strtoll change.
39270         * modules/strtoull (Files): Add lib/strtol.c, lib/strtoul.c.
39271         (Depends-on): Remove strtoul.
39273         strtoll: remove dependency on strtol
39274         This is so that 'configure' need not check for strtol merely because
39275         the application needs strtoll.
39276         * modules/strtoll (Files): Add lib/strtol.c.
39277         (Depends-on): Remove strtol.
39279 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
39281         inttypes: Move some configure check to module 'imaxdiv'.
39282         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Require gl_INTTYPES_H_DEFAULTS
39283         instead of gl_INTTYPES_H.  Check for imaxdiv decl here.
39284         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxdiv decl here.
39286 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
39288         inttypes: Move some configure check to module 'imaxabs'.
39289         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Require gl_INTTYPES_H_DEFAULTS
39290         instead of gl_INTTYPES_H.  Check for imaxabs decl here.
39291         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxabs decl here.
39293 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
39295         inttypes: Remove configure tests that are not needed since 2009-12-31.
39296         * m4/inttypes.m4 (gl_INTTYPES_H): Remove determination of
39297         gl_cv_header_working_inttypes_h.
39299 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
39301         * modules/strnlen (Depends-on): Remove memchr.
39302         The strnlen implementation doesn't need the memchr module's fixes; see
39303         <http://lists.gnu.org/r/bug-gnulib/2011-04/msg00237.html>.
39305         strtol: remove dependency on wchar
39306         * lib/strtol.c: Include <wchar.h> only if USE_WIDE_CHAR is defined.
39307         * modules/strtol (Depends-on): Remove wchar.
39309 2011-04-21  Eric Blake  <eblake@redhat.com>
39311         passfd: fix test regression on Linux
39312         * modules/passfd-tests (configure.ac): Correct socketpair check.
39314         passfd: speed up configure and drop unused code
39315         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Rename...
39316         * m4/passfd.m4 (gl_PASSFD): ...to something more fitting of
39317         its use.  Drop test for setting unused HAVE_UNIXSOCKET_SCM_RIGHTS.
39318         Instead of probing at configure for unix_scm_rights_bsd44_way,
39319         instead probe for CMSG_FIRSTHDR at compile time.  Simplify BSD 4.3
39320         check to a struct member probe.
39321         * lib/passfd.c (includes): Nothing here requires <sys/un.h>.
39322         (sendfd, recvfd): Update preprocessor checks.
39323         * modules/passfd (Files): Reflect rename, and drop unused file.
39324         (Depends-on): Drop unused dependency.
39326         passfd: allow compilation on mingw
39327         * modules/sys_socket (Depends-on): Add sys_uio.
39328         * lib/sys_socket.in.h [!@HAVE_SYS_SOCKET_H@]: Use it for struct
39329         iovec and a minimal struct msghdr.
39330         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Detect recvmsg/sendmsg.
39331         * tests/test-sys_socket.c (main): Enhance test.
39332         * lib/passfd.c (include): Drop <sys/uio.h>; <sys/sockets.h> is
39333         guaranteed to provide what we need.
39334         (sendmsg, recvmsg): Declare fallbacks if we lack sendmsg.
39335         * modules/passfd-tests (Depends-on): Add sys_wait.
39336         * tests/test-passfd.c (main): Skip test on mingw, for now.
39337         * doc/posix-headers/sys_socket.texi (sys/socket.h): Document the
39338         partial 'struct msghdr' implementation.
39340         sys_uio: new module
39341         * modules/sys_uio: New module.
39342         * modules/sys_uio-tests: Likewise.
39343         * lib/sys_uio.in.h: New file.
39344         * m4/sys_uio_h.m4: Likewise.
39345         * tests/test-sys_uio.c: Likewise.
39346         * doc/posix-headers/sys_uio.texi (sys/uio.h): Document it.
39347         * MODULES.html.sh (systems lacking POSIX:2008): Likewise.
39349 2011-04-20  Jim Meyering  <meyering@redhat.com>
39351         useless-if-before-free: avoid false-positive
39352         * build-aux/useless-if-before-free: Adjust regexp for the non-brace
39353         disjunct so that it too requires a terminating ";".  Without that,
39354         this script would identify as useless one statement from gcc that
39355         was not:
39356           if (aligned_ptr)
39357             free (((void **) aligned_ptr) [-1]);
39359 2011-04-20  Giuseppe Scrivano  <gscrivano@gnu.org>
39361         doc: update users.txt.
39362         * users.txt: Add barcode.
39364 2011-04-19  Bruno Haible  <bruno@clisp.org>
39366         ioctl: Remove link dependency on native Windows.
39367         * lib/fd-hook.h: Renamed from lib/close-hook.h.
39368         (gl_close_fn, gl_ioctl_fn): New types.
39369         (struct fd_hook): Renamed from struct close_hook. Change type of
39370         private_close_fn field. Add private_ioctl_fn field.
39371         (close_hook_fn): Add parameter for primary close method.
39372         (execute_close_hooks, execute_all_close_hooks): Likewise.
39373         (ioctl_hook_fn): New type.
39374         (execute_ioctl_hooks, execute_all_ioctl_hooks): New declarations.
39375         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
39376         argument.
39377         (unregister_fd_hook): Renamed from unregister_close_hook.
39378         * lib/fd-hook.c: Renamed from lib/close-hook.c.
39379         Don't include <unistd.h>.
39380         (close): Remove undef.
39381         (anchor): Update.
39382         (execute_close_hooks): Add argument for primary close method.
39383         (execute_all_close_hooks): Likewise.
39384         (execute_ioctl_hooks, execute_all_ioctl_hooks): New functions.
39385         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
39386         argument. Allow each argument to be NULL.
39387         (unregister_fd_hook): Renamed from unregister_close_hook.
39388         * lib/close.c (rpl_close): Pass 'close' function pointer to
39389         execute_all_close_hooks.
39390         * lib/ioctl.c: Include <errno.h>, fd-hook.h.
39391         (primary_ioctl): New function.
39392         (ioctl): Don't call ioctlsocket here. Instead, call
39393         execute_all_ioctl_hooks.
39394         * lib/sockets.c (close_fd_maybe_socket): Add argument for primary
39395         close method.
39396         (ioctl_fd_maybe_socket): New function, with code from lib/ioctl.c.
39397         (fd_sockets_hook): Renamed from close_sockets_hook.
39398         (gl_sockets_startup, gl_sockets_cleanup): Update.
39399         * modules/fd-hook: Renamed from modules/close-hook. Update.
39400         * modules/close (Depends-on): Add fd-hook, remove close-hook.
39401         * modules/sockets (Depends-on): Likewise.
39402         * modules/ioctl (Depends-on): Add fd-hook.
39403         * tests/test-nonblocking.c (main): Use GNULIB_TEST_SOCKET, not
39404         GNULIB_SOCKET.
39406 2011-04-19  Bruno Haible  <bruno@clisp.org>
39408         Move the support of O_NONBLOCK in open() to the 'open' module.
39409         * modules/nonblocking (Depends-on): Remove 'open'.
39410         * m4/nonblocking.m4 (gl_NONBLOCKING_IO_BODY): Set
39411         gl_cv_have_open_O_NONBLOCK.
39412         * m4/open.m4 (gl_FUNC_OPEN): Replace open() also when required for
39413         O_NONBLOCK support.
39414         * doc/posix-functions/open.texi: Document support for O_NONBLOCK.
39416 2011-04-17  Bruno Haible  <bruno@clisp.org>
39418         pipe2: Simplify code.
39419         * lib/pipe2.c (pipe2): Reduce code duplication.
39421 2011-04-17  Bruno Haible  <bruno@clisp.org>
39423         nonblocking: Add comment.
39424         * lib/fcntl.in.h (O_NONBLOCK): Add comment.
39426 2011-04-17  Bruno Haible  <bruno@clisp.org>
39428         nonblocking: Add tests for sockets.
39429         * tests/test-nonblocking-socket.sh: New file.
39430         * tests/test-nonblocking-socket-main.c: New file.
39431         * tests/test-nonblocking-socket-child.c: New file.
39432         * tests/test-nonblocking-socket.h: New file.
39433         * tests/socket-server.h: New file.
39434         * tests/socket-client.h: New file.
39435         * modules/nonblocking-socket-tests: New file.
39436         * modules/nonblocking-tests (Depends-on): Add nonblocking-socket-tests.
39438 2011-04-17  Bruno Haible  <bruno@clisp.org>
39440         nonblocking: Add tests for pipes.
39441         * tests/test-nonblocking-pipe.sh: New file.
39442         * tests/test-nonblocking-pipe-main.c: New file.
39443         * tests/test-nonblocking-pipe-child.c: New file.
39444         * tests/test-nonblocking-pipe.h: New file.
39445         * tests/test-nonblocking-writer.h: New file.
39446         * tests/test-nonblocking-reader.h: New file.
39447         * tests/test-nonblocking-misc.h: New file.
39448         * modules/nonblocking-pipe-tests: New file.
39449         * modules/nonblocking-tests (Depends-on): Add nonblocking-pipe-tests.
39451 2011-04-16  Bruno Haible  <bruno@clisp.org>
39453         gettext: Clarify the needed programmer actions.
39454         * modules/gettext (Notice): New field.
39455         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
39457 2011-04-16  Bruno Haible  <bruno@clisp.org>
39459         strchrnul: Tweak last commit.
39460         * doc/glibc-functions/strchrnul.texi: Add more details about Cygwin
39461         bug.
39462         * lib/string.in.h (strchrnul): Use same arguments in _GL_FUNCDECL_RPL
39463         as in _GL_FUNCDECL_SYS.
39464         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Invoke gl_PREREQ_STRCHRNUL after
39465         AC_LIBOBJ. When cross-compiling, say "guessing yes" not "yes".
39467 2011-04-15  Eric Blake  <eblake@redhat.com>
39469         strchrnul: work around cygwin bug
39470         * doc/glibc-functions/strchrnul.texi (strchrnul): Document bug.
39471         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Detect it.
39472         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New witness.
39473         * modules/string (Makefile.am): Substitute it.
39474         * lib/string.in.h (strchrnul): Use it.
39476 2011-04-15  Bruno Haible  <bruno@clisp.org>
39478         Don't require lib/stdio-write.c when only module 'stdio' is used.
39479         * m4/stdio_h.m4 (gl_STDIO_H): Move the AC_LIBOBJ back into the m4_ifdef
39480         invocation.
39481         Reported by Rob Vermaas <rob.vermaas@gmail.com>.
39483 2011-04-14  Bruno Haible  <bruno@clisp.org>
39485         Support non-blocking pipe I/O in read() on native Windows.
39486         * lib/unistd.in.h: Include <sys/types.h> also for 'read'.
39487         (read): New declaration.
39488         * lib/read.c: New file.
39489         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_SCANF,
39490         _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM): New macros.
39491         (fgetc, fgets, fread, fscanf, getc, getchar, gets, scanf, vfscanf,
39492         vscanf): New declarations.
39493         * lib/stdio-read.c: New file.
39494         * m4/read.m4: New file.
39495         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_READ,
39496         REPLACE_READ.
39497         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FGETC, GNULIB_FGETS,
39498         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
39499         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF. In non-blocking I/O is
39500         desired and needs workarounds, set REPLACE_STDIO_READ_FUNCS.
39501         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FGETC, GNULIB_FGETS,
39502         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
39503         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
39504         * modules/read: New file.
39505         * modules/nonblocking (Files): Add lib/stdio-read.c.
39506         * modules/unistd (Makefile.am): Substitute GNULIB_READ, REPLACE_READ.
39507         * modules/stdio (Makefile.am): Substitute GNULIB_FGETC, GNULIB_FGETS,
39508         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
39509         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
39510         * modules/pread (Depends-on): Add read.
39511         * modules/safe-read (Depends-on): Likewise.
39512         * tests/test-stdio-c++.cc (fgetc, fgets, fread, fscanf, getc, getchar,
39513         gets, scanf, vfscanf, vscanf): Verify signatures.
39514         * doc/posix-functions/read.texi: Mention 'nonblocking' module and
39515         problem with non-blocking pipes.
39516         * doc/posix-functions/fgetc.texi: Likewise.
39517         * doc/posix-functions/fgets.texi: Likewise.
39518         * doc/posix-functions/fread.texi: Likewise.
39519         * doc/posix-functions/fscanf.texi: Likewise.
39520         * doc/posix-functions/getc.texi: Likewise.
39521         * doc/posix-functions/getchar.texi: Likewise.
39522         * doc/posix-functions/gets.texi: Likewise.
39523         * doc/posix-functions/scanf.texi: Likewise.
39524         * doc/posix-functions/vfscanf.texi: Likewise.
39525         * doc/posix-functions/vscanf.texi: Likewise.
39527 2011-04-14  Bruno Haible  <bruno@clisp.org>
39529         Support non-blocking pipe I/O in write() on native Windows.
39530         * lib/write.c (rpl_write): Split a write request that failed merely
39531         because the byte count was larger than the pipe buffer's size.
39532         * doc/posix-functions/write.texi: Mention the problem with large byte
39533         counts.
39535 2011-04-14  Bruno Haible  <bruno@clisp.org>
39537         wchar: Ensure that wchar_t gets defined on uClibc.
39538         * lib/wchar.in.h: On uClibc, include <stddef.h>.
39539         Reported by Giuseppe Scrivano <gscrivano@gnu.org>.
39541 2011-04-13  Bruno Haible  <bruno@clisp.org>
39543         safe-write, full-read: Avoid unnecessary compilation units.
39544         * modules/safe-write (Files): Add lib/safe-read.c, m4/safe-read.m4.
39545         (Depends-on): Remove safe-read. Add ssize_t.
39546         * modules/full-read (Files): Add lib/full-write.c.
39547         (Depends-on): Add full-write.
39549 2011-04-13  Bruno Haible  <bruno@clisp.org>
39551         Support non-blocking pipe I/O and SIGPIPE in pwrite().
39552         * modules/pwrite (Depends-on): Add 'write'.
39554 2011-04-13  Bruno Haible  <bruno@clisp.org>
39556         Support non-blocking pipe I/O in write() on native Windows.
39557         * lib/unistd.in.h (write): Enable replacement also if
39558         GNULIB_UNISTD_H_NONBLOCKING is 1.
39559         * lib/write.c: Enable replacement also if GNULIB_NONBLOCKING.
39560         (rpl_write): When failing to write on a non-blocking pipe, change
39561         errno from ENOSPC to EAGAIN.
39562         * lib/stdio.in.h (fprintf, fputc, fputs, fwrite, printf, putc,
39563         putchar, puts, vfprintf, vprintf): Enable replacement also if
39564         GNULIB_STDIO_H_NONBLOCKING is 1.
39565         * lib/stdio-write.c: Enable replacements also if GNULIB_NONBLOCKING.
39566         (CLEAR_ERRNO, HANDLE_ENOSPC): New macros.
39567         (CLEAR_LastError, HANDLE_ERROR_NO_DATA): New macros, extracted from
39568         CALL_WITH_SIGPIPE_EMULATION.
39569         (CALL_WITH_SIGPIPE_EMULATION): Use them.
39570         * m4/nonblocking.m4: New file.
39571         * m4/write.m4 (gl_FUNC_WRITE): Enable REPLACE_WRITE also if required
39572         for non-blocking I/O support.
39573         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
39574         GNULIB_UNISTD_H_NONBLOCKING.
39575         * m4/stdio_h.m4 (gl_STDIO_H): Enable REPLACE_STDIO_WRITE_FUNCS also if
39576         required for non-blocking I/O support.
39577         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_STDIO_H_NONBLOCKING.
39578         * modules/nonblocking (Files): Add m4/nonblocking.m4,
39579         lib/stdio-write.c, m4/asm-underscore.m4.
39580         (Depends-on): Add stdio, unistd.
39581         (configure.ac): Invoke gl_NONBLOCKING_IO. Define GNULIB_NONBLOCKING.
39582         Set GNULIB_STDIO_H_NONBLOCKING, GNULIB_UNISTD_H_NONBLOCKING.
39583         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_NONBLOCKING.
39584         * modules/stdio (Makefile.am): Substitute GNULIB_STDIO_H_NONBLOCKING.
39585         * doc/posix-functions/fprintf.texi: Mention 'nonblocking' module and
39586         problem with non-blocking pipes.
39587         * doc/posix-functions/fputc.texi: Likewise.
39588         * doc/posix-functions/fputs.texi: Likewise.
39589         * doc/posix-functions/fwrite.texi: Likewise.
39590         * doc/posix-functions/printf.texi: Likewise.
39591         * doc/posix-functions/putc.texi: Likewise.
39592         * doc/posix-functions/putchar.texi: Likewise.
39593         * doc/posix-functions/puts.texi: Likewise.
39594         * doc/posix-functions/vfprintf.texi: Likewise.
39595         * doc/posix-functions/vprintf.texi: Likewise.
39596         * doc/posix-functions/write.texi: Likewise.
39598 2011-04-10  Jim Meyering  <meyering@redhat.com>
39600         maint.mk: prohibit doubled words
39601         Detect them also when they're separated by a newline.
39602         There are 3 ways to customize it:
39603           - disable the test on a per file basis, as usual with rules using
39604             $(VC_LIST_EXCEPT)
39605           - replace the default doubled-word-selecting regexp (affects all files)
39606           - ignore a particular file-vs-doubled-word match
39607         I nearly used that last one to ignore the "is is" match in
39608         coreutils' NEWS file, since the text was "ls -is is ..."
39609         To do that, I would have added this line to cfg.mk:
39610           ignore_doubled_word_match_RE_ = ^NEWS:[0-9]+:is[ ]is$
39611         but it would have ignored any "is is" match in NEWS.
39612         Low probability, but still...
39613         Instead, I changed the text, slightly:
39614           -  ls -is is now consistent with ls -lis in ignoring values returned
39615           +  "ls -is" is now consistent with ls -lis in ignoring values returned
39616         * top/maint.mk (prohibit_double_word_RE_): Provide default.
39617         (prohibit_doubled_word_): Define.
39618         (sc_prohibit_doubled_word): New rule.
39619         (sc_prohibit_the_the): Remove.  Subsumed by the above.
39621 2011-04-10  Jim Meyering  <meyering@redhat.com>
39623         maint: fix doubled-word typo in comment
39624         * m4/gethostname.m4: s/is is/it is/
39625         * m4/getdomainname.m4: Likewise.
39627 2011-04-10  Jim Meyering  <meyering@redhat.com>
39629         maint: remove doubled word: s/it it/it/
39630         * lib/stat-time.h (get_stat_birthtime): s/it it/it/
39632 2011-04-10  Jim Meyering  <meyering@redhat.com>
39634         maint.mk: remove useless semicolon and backslash
39635         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Remove stray
39636         semicolon and backslash.
39638 2011-04-10  Bruno Haible  <bruno@clisp.org>
39640         stdint test: Fix compilation failure on OSF/1 with DTK compiler.
39641         * modules/stdint-tests (Depends-on): Add wchar.
39643 2011-04-10  Jim Meyering  <meyering@redhat.com>
39645         maint: remove doubled words in comments, e.g., s/a a/a/
39646         * lib/strptime.c (day_of_the_week): s/the the/the/
39647         * tests/test-chown.h (test_chown): s/a a/a/
39649         test-chown.h: correct a cast
39650         * tests/test-chown.h (test_chown): Cast -1 to gid_t (not uid_t)
39651         when the destination is a stat.st_gid.
39653 2011-04-09  Mats Erik Andersson  <mats.andersson@gisladisker.se>  (tiny change)
39655         getaddrinfo: Fix test for sa_len member.
39656         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): When testing for sa_len,
39657         include <sys/types.h> before <sys/socket.h>.
39659 2011-04-09  Paul Eggert  <eggert@cs.ucla.edu>
39661         maint: change "can not" to "cannot"
39662         * doc/posix-functions/iconv.texi (iconv): This one crossed line
39663         boundaries.
39665 2011-04-09  Jim Meyering  <meyering@redhat.com>
39667         maint: change "a a" to "a"
39668         * tests/test-lchown.h (test_lchown): s/a a/a/
39670         maint.mk: prohibit \<the the\>
39671         * top/maint.mk (sc_prohibit_the_the): New rule.
39673         maint: fix "the the" in comment
39674         * lib/count-one-bits.h: s/the the/the/
39676         maint: change "can not" to "cannot"
39677         But do not change the occurrences in maintain.texi or in
39678         build-aux/po/Makefile.in.in, which I presume comes from gettext.
39679         * doc/gnulib-tool.texi: s/can not/cannot/
39680         * doc/posix-functions/accept.texi (accept): Likewise.
39681         * doc/posix-functions/socket.texi (socket): Likewise.
39682         * lib/mbrtowc.c: Likewise.
39684         maint.mk: prohibit use of "can not"
39685         * top/maint.mk (sc_prohibit_can_not): New rule.
39686         Writing "can not" (rather than "cannot") is too common.  Prohibit it.
39688 2011-04-09  Bruno Haible  <bruno@clisp.org>
39690         careadlinkat: Guard against misuse of careadlinkatcwd.
39691         * lib/careadlinkat.c: Include <stdlib.h>.
39692         (careadlinkatcwd): Check that the fd argument is as expected.
39694 2011-04-09  Bruno Haible  <bruno@clisp.org>
39696         careadlinkat: Use common coding style.
39697         * lib/careadlinkat.c: Move gnulib includes after system includes.
39699 2011-04-09  Bruno Haible  <bruno@clisp.org>
39701         careadlinkat: Clarify specification.
39702         * lib/careadlinkat.h (careadlinkat): Clarify preadlinkat argument.
39703         (careadlinkatcwd): Add comment.
39704         * lib/careadlinkat.c (careadlinkat): Clarify preadlinkat argument.
39706 2011-04-09  Bruno Haible  <bruno@clisp.org>
39708         areadlinkat: Avoid link error on many platforms.
39709         * modules/areadlinkat (Depends-on): Add areadlink.
39711 2011-04-09  Bruno Haible  <bruno@clisp.org>
39713         allocator, careadlinkat: Fix double-inclusion guard.
39714         * lib/allocator.h: Fix double-inclusion guard.
39715         * lib/careadlinkat.h: Likewise.
39717 2011-04-09  Bruno Haible  <bruno@clisp.org>
39719         relocatable-prog-wrapper: Update after module 'areadlink' changed.
39720         * lib/relocwrapper.c: Update dependencies hierarchy.
39721         * build-aux/install-reloc: Update list of files to be compiled.
39722         * modules/relocatable-prog-wrapper (Files): Add lib/careadlinkat.[hc],
39723         lib/allocator.[hc].
39725 2011-04-08  Eric Blake  <eblake@redhat.com>
39727         strftime: silence gnulib-tool warning
39728         * modules/strftime-tests (Depends-on): Drop automatic dependency.
39730 2011-04-08  Bruno Haible  <bruno@clisp.org>
39732         verify: Fix syntax error with GCC 4.6 in C++ mode.
39733         * lib/verify.h (HAVE__STATIC_ASSERT): Don't define in C++ mode.
39734         (HAVE_STATIC_ASSERT): New macro.
39735         (verify_true, verify): Use 'static_assert' if it is supported and
39736         '_Static_assert' is not supported.
39738 2011-04-08  Paul Eggert  <eggert@cs.ucla.edu>
39740         allocator: New module.
39741         * modules/allocator, lib/allocator.c: New files.
39742         * lib/allocator.h (stdlib_allocator): New decl.
39743         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC, standard_allocator):
39744         Remove.  Do not include <stdlib.h>.
39745         (careadlinkat): Use stdlib_allocator instead of rolling our own.
39746         * modules/careadlinkat (Files): Remove lib/allocator.h.
39747         (Depends-on): Add allocator.
39749         stdlib: let modules use system malloc, realloc
39750         * lib/stdlib.in.h (malloc, realloc): Don't #define or add warnings
39751         if !_GL_USE_STDLIB_ALLOC.
39752         (malloc, realloc): Limit this change to a smaller scope.
39754         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC): Define.
39755         (malloc, realloc): Don't #undef; no longer needed.
39756         * lib/malloca.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
39757         * lib/progreloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
39758         * lib/setenv.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
39759         * lib/canonicalize-lgpl.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
39760         * lib/relocatable.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
39761         * lib/relocwrapper.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
39762         * lib/malloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
39763         * lib/realloc.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
39765         careadlinkat: rename members to avoid problem
39766         * lib/allocator.h (struct allocator): Rename members from
39767         malloc/realloc to allocate/reallocate, to avoid problems if malloc
39768         and realloc are #define'd.  Reported by Eric Blake in
39769         <http://lists.gnu.org/r/bug-gnulib/2011-04/msg00091.html>.
39770         * lib/careadlinkat.c (careadlinkat): Adjust to renaming.
39772 2011-04-08  Eric Blake  <eblake@redhat.com>
39774         nonblocking: reduce dependency
39775         * tests/test-nonblocking.c: Only test sockets when in use.
39776         * modules/nonblocking-tests (Depends-on): Drop socket.
39777         (Makefile.am): Link even if sockets are not present.
39778         * modules/pipe2-tests (Makefile.am): Likewise.
39779         * lib/ioctl.c (ioctl) [WIN32]: Fail if sockets are not also in use.
39781         pipe2: fix O_NONBLOCK support on mingw
39782         * modules/pipe2 (Depends-on): Add nonblocking.
39783         * lib/pipe2.c (pipe2) [WIN32]: Add O_NONBLOCK support.
39784         * tests/test-pipe2.c (is_nonblocking): Adjust test accordingly.
39785         * tests/test-nonblocking.c (main): Likewise.
39786         * modules/pipe2-tests (Makefile.am): Avoid link failure.
39788         fcntl-h: fix O_ACCMODE on cygwin
39789         * doc/posix-headers/fcntl.texi (fcntl.h): Document the bug.
39790         * lib/fcntl.in.h (O_ACCMODE): Fix it.
39792         pipe-filter: drop O_NONBLOCK workarounds
39793         * modules/pipe-filter-gi (Depends-on): Add fcntl-h.
39794         * modules/pipe-filter-ii (Depends-on): Likewise.
39795         * lib/pipe-filter-aux.h (O_NONBLOCK): Delete workaround.
39797         nonblocking: provide O_NONBLOCK for mingw
39798         * modules/nonblocking (Depends-on): Add open.
39799         (configure.ac): Set new witness macro.
39800         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide default for it.
39801         * modules/fcntl-h (Makefile.am): Substitute it.
39802         * lib/fcntl.in.h (O_NONBLOCK): Guarantee non-zero definition when
39803         nonblocking module is in use.
39804         * lib/nonblocking.c: Adjust portability test.
39805         * lib/open.c (open): Don't let native open see gnulib flag.
39806         * tests/test-fcntl-h.c (main): Enhance test.
39807         * tests/test-open.h (test_open): Likewise.
39808         * doc/posix-headers/fcntl.texi (fcntl.h): Document the replacement.
39810         careadlinkat: fix compilation error on mingw
39811         * lib/careadlinkat.c (standard_allocator): Avoid renaming fields
39812         within struct allocator.
39814 2011-04-06  Eric Blake  <eblake@redhat.com>
39816         binary-io: relicense under LGPLv2+
39817         * modules/binary-io (License): Relax to LGPLv2+.
39818         Requested for libvirt, and required by pipe2.
39820 2011-04-06  Paul Eggert  <eggert@cs.ucla.edu>
39822         verify: use _Static_assert if available
39823         * lib/verify.h (HAVE__STATIC_ASSERT): New macro.
39824         (verify_true, verify): Use it if available.  This generates better
39825         diagnostics with GCC 4.6.0 and later.
39827 2011-04-05  Bruno Haible  <bruno@clisp.org>
39829         Remove leftover generated .h files after config.status changed.
39831         * m4/alloca.m4 (gl_FUNC_ALLOCA): New automake conditional
39832         GL_GENERATE_ALLOCA_H.
39833         * modules/alloca-opt (Makefile.am): Remove alloca.h if
39834         GL_GENERATE_ALLOCA_H evaluates to false.
39836         * m4/argz.m4 (gl_FUNC_ARGZ): New automake conditional
39837         GL_GENERATE_ARGZ_H.
39838         * modules/argz (Makefile.am): Remove argz.h if GL_GENERATE_ARGZ_H
39839         evaluates to false.
39841         * m4/byteswap.m4 (gl_BYTESWAP): New automake conditional
39842         GL_GENERATE_BYTESWAP_H.
39843         * modules/byteswap (Makefile.am): Remove byteswap.h if
39844         GL_GENERATE_BYTESWAP_H evaluates to false.
39846         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): New automake conditional
39847         GL_GENERATE_ERRNO_H.
39848         * modules/errno (Makefile.am): Remove errno.h if GL_GENERATE_ERRNO_H
39849         evaluates to false.
39851         * m4/float_h.m4 (gl_FLOAT_H): New automake conditional
39852         GL_GENERATE_FLOAT_H.
39853         * modules/float (Makefile.am): Remove float.h if GL_GENERATE_FLOAT_H
39854         evaluates to false.
39856         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): New automake conditional
39857         GL_GENERATE_FNMATCH_H.
39858         * modules/fnmatch (Makefile.am): Remove fnmatch.h if
39859         GL_GENERATE_FNMATCH_H evaluates to false.
39861         * m4/glob.m4 (gl_GLOB_SUBSTITUTE, gl_GLOB): New automake conditional
39862         GL_GENERATE_GLOB_H.
39863         * modules/glob (Makefile.am): Remove glob.h if GL_GENERATE_GLOB_H
39864         evaluates to false.
39866         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H, gl_ICONV_H_DEFAULTS): New
39867         automake conditional GL_GENERATE_ICONV_H.
39868         * modules/iconv-h (Makefile.am): Remove iconv.h if GL_GENERATE_ICONV_H
39869         evaluates to false.
39871         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): New automake conditional
39872         GL_GENERATE_NETINET_IN_H.
39873         * modules/netinet_in (Makefile.am): Remove netinet/in.h if
39874         GL_GENERATE_NETINET_IN_H evaluates to false.
39876         * m4/pthread.m4 (gl_PTHREAD_CHECK): Set PTHREAD_H here. New automake
39877         conditional GL_GENERATE_PTHREAD_H.
39878         (gl_PTHREAD_DEFAULTS): Don't set PTHREAD_H here.
39879         * modules/pthread (Makefile.am): Remove pthread.h if
39880         GL_GENERATE_PTHREAD_H evaluates to false.
39882         * m4/sched_h.m4 (gl_SCHED_H): New automake conditional
39883         GL_GENERATE_SCHED_H.
39884         * modules/sched (Makefile.am): Remove sched.h if GL_GENERATE_SCHED_H
39885         evaluates to false.
39887         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): New automake
39888         conditional GL_GENERATE_SELINUX_CONTEXT_H.
39889         * modules/selinux-h (Makefile.am): Remove selinux/context.h if
39890         GL_GENERATE_SELINUX_CONTEXT_H evaluates to false.
39892         * m4/stdarg.m4 (gl_STDARG_H): New automake conditional
39893         GL_GENERATE_STDARG_H.
39894         * modules/stdarg (Makefile.am): Remove stdarg.h if
39895         GL_GENERATE_STDARG_H evaluates to false.
39897         * m4/stdbool.m4 (AM_STDBOOL_H): New automake conditional
39898         GL_GENERATE_STDBOOL_H.
39899         * modules/stdbool (Makefile.am): Remove stdbool.h if
39900         GL_GENERATE_STDBOOL_H evaluates to false.
39902         * m4/stddef_h.m4 (gl_STDDEF_H): Set STDDEF_H here. New automake
39903         conditional GL_GENERATE_STDDEF_H.
39904         (gl_STDDEF_H_DEFAULTS): Don't set STDDEF_H here.
39905         * modules/stddef (Makefile.am): Remove stddef.h if
39906         GL_GENERATE_STDDEF_H evaluates to false.
39908         * m4/stdint.m4 (gl_STDINT_H): New automake conditional
39909         GL_GENERATE_STDINT_H.
39910         * modules/stdint (Makefile.am): Remove stdint.h if
39911         GL_GENERATE_STDINT_H evaluates to false.
39913         * m4/sysexits.m4 (gl_SYSEXITS): New automake conditional
39914         GL_GENERATE_SYSEXITS_H.
39915         * modules/sysexits (Makefile.am): Remove sysexits.h if
39916         GL_GENERATE_SYSEXITS_H evaluates to false.
39918         Reported by Karl Berry and Ralf Wildenhues.
39920 2011-04-05  Bruno Haible  <bruno@clisp.org>
39922         Ensure to rebuild generated .h files when config.status has changed.
39923         * modules/arpa_inet (Makefile.am): Add dependency from .h file to
39924         config.status.
39925         * modules/ctype (Makefile.am): Likewise.
39926         * modules/dirent (Makefile.am): Likewise.
39927         * modules/errno (Makefile.am): Likewise.
39928         * modules/fcntl-h (Makefile.am): Likewise.
39929         * modules/float (Makefile.am): Likewise.
39930         * modules/getopt-posix (Makefile.am): Likewise.
39931         * modules/glob (Makefile.am): Likewise.
39932         * modules/iconv-h (Makefile.am): Likewise.
39933         * modules/inttypes (Makefile.am): Likewise.
39934         * modules/langinfo (Makefile.am): Likewise.
39935         * modules/locale (Makefile.am): Likewise.
39936         * modules/math (Makefile.am): Likewise.
39937         * modules/netdb (Makefile.am): Likewise.
39938         * modules/netinet_in (Makefile.am): Likewise.
39939         * modules/poll-h (Makefile.am): Likewise.
39940         * modules/pthread (Makefile.am): Likewise.
39941         * modules/pty (Makefile.am): Likewise.
39942         * modules/sched (Makefile.am): Likewise.
39943         * modules/search (Makefile.am): Likewise.
39944         * modules/selinux-h (Makefile.am): Likewise.
39945         * modules/signal (Makefile.am): Likewise.
39946         * modules/spawn (Makefile.am): Likewise.
39947         * modules/stdarg (Makefile.am): Likewise.
39948         * modules/stdbool (Makefile.am): Likewise.
39949         * modules/stddef (Makefile.am): Likewise.
39950         * modules/stdint (Makefile.am): Likewise.
39951         * modules/stdio (Makefile.am): Likewise.
39952         * modules/stdlib (Makefile.am): Likewise.
39953         * modules/string (Makefile.am): Likewise.
39954         * modules/strings (Makefile.am): Likewise.
39955         * modules/sys_file (Makefile.am): Likewise.
39956         * modules/sys_ioctl (Makefile.am): Likewise.
39957         * modules/sys_select (Makefile.am): Likewise.
39958         * modules/sys_socket (Makefile.am): Likewise.
39959         * modules/sys_stat (Makefile.am): Likewise.
39960         * modules/sys_time (Makefile.am): Likewise.
39961         * modules/sys_times (Makefile.am): Likewise.
39962         * modules/sys_utsname (Makefile.am): Likewise.
39963         * modules/sys_wait (Makefile.am): Likewise.
39964         * modules/sysexits (Makefile.am): Likewise.
39965         * modules/termios (Makefile.am): Likewise.
39966         * modules/time (Makefile.am): Likewise.
39967         * modules/unistd (Makefile.am): Likewise.
39968         * modules/wchar (Makefile.am): Likewise.
39969         * modules/wctype-h (Makefile.am): Likewise.
39970         Reported by Karl Berry, Eric Blake, and Ralf Wildenhues.
39972 2011-04-05  Bruno Haible  <bruno@clisp.org>
39974         pipe2: Relicense under LGPLv2+.
39975         * modules/pipe2 (License): Change to LGPLv2+.
39976         Requested by Eric Blake, for libvirt.
39978 2011-04-05  Bruce Korb  <bkorb@gnu.org>
39980         bootstrap: compute gnulib_extra_files after updating build_aux
39981         * build-aux/bootstrap (gnulib_extra_files): bootstrap.conf may
39982         change build_aux or also supply gnulib_extra_files.  Handle correctly.
39984 2011-04-05  Eric Blake  <eblake@redhat.com>
39986         bootstrap: preserve git whitelist item sorting
39987         * build-aux/bootstrap (sort_patterns): New function.
39988         (insert_sorted_if_absent): Use it to sink ! lines to the bottom.
39990 2011-04-05  Simon Josefsson  <simon@josefsson.org>
39992         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Don't trigger
39993         sc_space_tab check.
39995 2011-04-05  Paul Eggert  <eggert@cs.ucla.edu>
39997         areadlink, areadlinkat: rewrite in terms of careadlinkat
39998         * lib/areadlink.c, lib/areadlinkat.c: Include careadlinkat.h
39999         instead of errno.h, limits.h, stdint.h, stdlib.h, string.h, unistd.h.
40000         (SSIZE_MAX, INITIAL_BUF_SIZE): Remove.
40001         (malloc, realloc): Remove #undefs.
40002         (areadlink, areadlinkat): Rewrite in terms of careadlinkat.
40003         * modules/areadlink (Depends-on): Add careadlinkat.  Remove
40004         readlink, ssize_t, stdint, unistd.
40005         * modules/areadlinkat (Depends-on): Add careadlinkat.  Remove
40006         areadlink, stdint.
40008         careadlinkat: new module
40009         * lib/allocator.h, lib/careadlinkat.h, lib/careadlinkat.c:
40010         * modules/careadlinkat: New files, written by me with
40011         a review and feedback from Ben Pfaff in
40012         <http://lists.gnu.org/r/bug-gnulib/2011-04/msg00008.html>.
40014 2011-04-01  Bruno Haible  <bruno@clisp.org>
40016         wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr: Avoid errors in C++ mode.
40017         * lib/wchar.in.h (wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr): Use
40018         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS. On glibc >= 2.10
40019         systems, use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
40020         Reported by Bruce Korb <bruce.korb@gmail.com>.
40022 2011-04-01  Bruno Haible  <bruno@clisp.org>
40024         wcpcpy, wcpncpy: Ensure declaration on glibc >= 2.13 systems.
40025         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Require AC_USE_SYSTEM_EXTENSIONS.
40026         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Likewise.
40027         * modules/wcpcpy (Depends-on): Add extensions.
40028         * modules/wcpncpy (Depends-on): Likewise.
40029         * doc/posix-functions/wcpcpy.texi: Mention missing declaration on glibc
40030         systems.
40031         * doc/posix-functions/wcpncpy.texi: Likewise.
40032         * doc/posix-functions/wcwidth.texi: Likewise.
40034 2011-03-31  Eric Blake  <eblake@redhat.com>
40036         nonblocking: fix mingw test failures
40037         * lib/nonblocking.c (set_nonblocking_flag): Succeed when clearing
40038         non-blocking flag on regular file.
40039         (get_nonblocking_flag): Set errno on invalid fd.
40040         * tests/test-nonblocking.c (main): Avoid test failure on
40041         directories if fchdir is not active.
40042         * modules/nonblocking-tests (Depends-on): Drop unused dependency.
40044 2011-03-31  Bruno Haible  <bruno@clisp.org>
40046         Fix bug with gl_WARN_ON_USE_PREPARE, introduced on 2011-01-23.
40047         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): Hide the
40048         gl_WARN_ON_USE_PREPARE definition from 'aclocal'.
40049         Reported by Simon Josefsson <simon@josefsson.org>.
40051 2011-03-31  Bruno Haible  <bruno@clisp.org>
40052         and Eric Blake  <eblake@redhat.com>
40054         nonblocking: new module
40055         * modules/nonblocking: New module.
40056         * modules/nonblocking-tests: Likewise.
40057         * lib/nonblocking.h: New file.
40058         * lib/nonblocking.c: Likewise.
40059         * tests/test-nonblocking.c: New test.
40060         * lib/ioctl.c (ioctl) [mingw]: Update comment.
40062 2011-03-30  Bruno Haible  <bruno@clisp.org>
40064         stdio: Avoid GCC >= 4.4 warnings when using %lld and similar on mingw.
40065         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF): Use 'gnu_printf' format
40066         instead of 'printf' format for GCC >= 4.4.
40067         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): New macro.
40068         (fprintf, printf, vfprintf, vprintf): Declare with
40069         _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM when the function ends up calling
40070         the system's vfprintf() function.
40071         Reported by Daniel P. Berrange <berrange@redhat.com> via Eric Blake.
40073 2011-03-30  Eric Blake  <eblake@redhat.com>
40075         passfd: fix scoping bug
40076         * lib/passfd.c (sendfd, recvfd): Don't let buf go out of scope
40077         before sendmsg/recvmsg.
40079         passfd: standardize coding conventions
40080         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Drop check for something that
40081         can be learned at compile time.
40082         * lib/passfd.c (MSG_CMSG_CLOEXEC): Reduce number of in-function
40083         ifdefs.
40084         (sendfd, recvfd): Follow gnulib code conventions.
40086         passfd: fix incorrect sendmsg arguments
40087         * lib/passfd.c (sendfd): Avoid uninitialized msg_flags field, and
40088         incorrect msg_controllen value.
40089         * modules/passfd-tests (Depends-on): Check for alarm.
40090         * tests/test-passfd.c (main) [HAVE_DECL_ALARM]: Avoid hanging test.
40091         Reported by Bastien ROUCARIES.
40093 2011-03-30  Bruno Haible  <bruno@clisp.org>
40095         c-strcasestr: Relicense under LGPLv2+.
40096         * modules/c-strcasestr (License): Change to LGPLv2+.
40097         Requested by Eric Blake, for libvirt.
40099 2011-03-30  Simon Josefsson  <simon@josefsson.org>
40101         * users.txt: Add libidn2.  Fix libtasn1 link.
40103 2011-03-30  Jim Meyering  <meyering@redhat.com>
40105         tests: readlink* ("",... fails with EINVAL on newer kernels
40106         readlink and readlinkat have typically failed with ENOENT for
40107         the invalid, empty file name,  "".  However, with the advent
40108         of linux-2.6.39, they fail with EINVAL.
40109         * tests/test-areadlink.h (test_areadlink): Also accept EINVAL
40110         when operating on the empty file name.
40111         * tests/test-readlink.h (test_readlink): Likewise.
40113 2011-03-29  Bruno Haible  <bruno@clisp.org>
40115         Relicense some modules under LGPLv2+, for libidn2.
40116         * modules/array-mergesort (License): Change to LGPLv2+.
40117         * modules/c-strcaseeq (License): Likewise.
40118         * modules/striconveh (License): Likewise.
40119         * modules/striconveha (License): Likewise.
40120         * modules/uniconv/base (License): Likewise.
40121         * modules/uniconv/u8-conv-from-enc (License): Likewise.
40122         * modules/uniconv/u8-strconv-from-enc (License): Likewise.
40123         * modules/uniconv/u8-strconv-from-locale (License): Likewise.
40124         * modules/unictype/base (License): Likewise.
40125         * modules/unictype/bidiclass-of (License): Likewise.
40126         * modules/unictype/category-M (License): Likewise.
40127         * modules/unictype/category-none (License): Likewise.
40128         * modules/unictype/category-of (License): Likewise.
40129         * modules/unictype/category-test (License): Likewise.
40130         * modules/unictype/category-test-withtable (License): Likewise.
40131         * modules/unictype/combining-class (License): Likewise.
40132         * modules/unictype/joiningtype-of (License): Likewise.
40133         * modules/unictype/scripts (License): Likewise.
40134         * modules/uninorm/base (License): Likewise.
40135         * modules/uninorm/canonical-decomposition (License): Likewise.
40136         * modules/uninorm/composition (License): Likewise.
40137         * modules/uninorm/decompose-internal (License): Likewise.
40138         * modules/uninorm/decomposition-table (License): Likewise.
40139         * modules/uninorm/nfc (License): Likewise.
40140         * modules/uninorm/nfd (License): Likewise.
40141         * modules/uninorm/u32-normalize (License): Likewise.
40142         * modules/unistr/base (License): Likewise.
40143         * modules/unistr/u32-cpy (License): Likewise.
40144         * modules/unistr/u32-mbtouc-unsafe (License): Likewise.
40145         * modules/unistr/u32-to-u8 (License): Likewise.
40146         * modules/unistr/u32-uctomb (License): Likewise.
40147         * modules/unistr/u8-check (License): Likewise.
40148         * modules/unistr/u8-mblen (License): Likewise.
40149         * modules/unistr/u8-mbtouc (License): Likewise.
40150         * modules/unistr/u8-mbtouc-unsafe (License): Likewise.
40151         * modules/unistr/u8-mbtoucr (License): Likewise.
40152         * modules/unistr/u8-prev (License): Likewise.
40153         * modules/unistr/u8-strlen (License): Likewise.
40154         * modules/unistr/u8-to-u32 (License): Likewise.
40155         * modules/unistr/u8-uctomb (License): Likewise.
40156         * modules/unitypes (License): Likewise.
40157         Requested by Simon Josefsson.
40159 2011-03-29  Simon Josefsson  <simon@josefsson.org>
40161         lib-symbol-visibility: Add a notice.
40162         * modules/lib-symbol-visibility (Notice): New field.
40164 2011-03-29  Bruno Haible  <bruno@clisp.org>
40166         getaddrinfo: Doc fix.
40167         * doc/posix-functions/getaddrinfo.texi: Mention Windows problem in the
40168         section "fixed in Gnulib".
40170 2011-03-28  Simon Josefsson  <simon@josefsson.org>
40172         * doc/posix-functions/getaddrinfo.texi: Drop netdb.h discussion.
40173         Reported by Bastien ROUCARIES <roucaries.bastien@gmail.com>.
40175 2011-03-26  Bruno Haible  <bruno@clisp.org>
40177         unictype/property-byname: Reduce the number of load-time relocations.
40178         * lib/unictype/pr_byname.c: Include <stdlib.h>.
40179         (UC_PROPERTY_INDEX_*): New enumeration values.
40180         (uc_property_byname): Convert an index from the lookup table to an
40181         uc_property_t.
40182         * lib/unictype/pr_byname.gperf: Store indices instead of uc_property_t
40183         values.
40185 2011-03-26  Bruno Haible  <bruno@clisp.org>
40187         unictype/property-byname: Allow omitted word separators and aliases.
40188         * lib/unictype/pr_byname.gperf: Add property names without word
40189         separators. Add aliases from Unicode 6.0 PropertyAliases.txt, except
40190         for 'space'.
40192 2011-03-26  Bruno Haible  <bruno@clisp.org>
40194         unictype/joininggroup-byname: Allow hyphens, omitted word separators.
40195         * lib/unictype/joininggroup_byname.c (uc_joining_group_byname): Convert
40196         also hyphens to space.
40197         * lib/unictype/joininggroup_byname.gperf: Recognize the names also
40198         without spaces.
40199         * tests/unictype/test-joininggroup_byname.c (main): Add more tests.
40201 2011-03-26  Bruno Haible  <bruno@clisp.org>
40203         unictype/joiningtype-byname: Recognize long names as well.
40204         * lib/unictype.in.h (uc_joiningtype_class_byname): Allow argument to be
40205         a long name.
40206         * lib/unictype/joiningtype_byname.c: Include <string.h>,
40207         unictype/joiningtype_byname.h.
40208         (uc_joiningtype_class_byname): Use uc_joining_type_lookup.
40209         * lib/unictype/joiningtype_byname.gperf: New file.
40210         * modules/unictype/joiningtype-byname (Files): Add
40211         lib/unictype/joiningtype_byname.gperf.
40212         (Depends-on): Add gperf.
40213         (Makefile.am): Add rule for generating unictype/joiningtype_byname.h.
40214         * tests/unictype/test-joiningtype_byname.c (main): Test the recognition of
40215         long names.
40217         Tests for module 'unictype/joiningtype-longname'.
40218         * modules/unictype/joiningtype-longname-tests: New file.
40219         * tests/unictype/test-joiningtype_longname.c: New file.
40221         New module 'unictype/joiningtype-longname'.
40222         * lib/unictype.in.h (uc_joiningtype_class_long_name): New declaration.
40223         * lib/unictype/joiningtype_longname.c: New file.
40224         * modules/unictype/joiningtype-longname: New file.
40225         * modules/unictype/joiningtype-all (Depends-on): Add
40226         unictype/joiningtype-longname.
40228 2011-03-26  Bruno Haible  <bruno@clisp.org>
40230         unictype/bidiclass-byname: Recognize long names as well.
40231         * lib/unictype.in.h (uc_bidi_class_byname): Allow argument to be a long
40232         name.
40233         * lib/unictype/bidi_byname.c: Include <string.h>,
40234         unictype/bidi_byname.h.
40235         (uc_bidi_class_byname): Use uc_bidi_class_lookup.
40236         * lib/unictype/bidi_byname.gperf: New file.
40237         * modules/unictype/bidiclass-byname (Files): Add
40238         lib/unictype/bidi_byname.gperf.
40239         (Depends-on): Add gperf.
40240         (Makefile.am): Add rule for generating unictype/bidi_byname.h.
40241         * tests/unictype/test-bidi_byname.c (main): Test the recognition of
40242         long names.
40244         Tests for module 'unictype/bidiclass-longname'.
40245         * modules/unictype/bidiclass-longname-tests: New file.
40246         * tests/unictype/test-bidi_longname.c: New file.
40248         New module 'unictype/bidiclass-longname'.
40249         * lib/unictype.in.h (uc_bidi_class_long_name): New declaration.
40250         * lib/unictype/bidi_longname.c: New file.
40251         * modules/unictype/bidiclass-longname: New file.
40252         * modules/unictype/bidiclass-all (Depends-on): Add
40253         unictype/bidiclass-longname.
40255 2011-03-26  Bruno Haible  <bruno@clisp.org>
40257         unictype/bidi*: Rename modules.
40258         * modules/unictype/bidiclass-all: Renamed from
40259         modules/unictype/bidicategory-all.
40260         * modules/unictype/bidiclass-name: Renamed from
40261         modules/unictype/bidiclass-name.
40262         (Description): Update.
40263         * modules/unictype/bidiclass-name-tests: Renamed from
40264         modules/unictype/bidicategory-name-tests.
40265         * modules/unictype/bidiclass-byname: Renamed from
40266         modules/unictype/bidicategory-byname.
40267         (Description): Update.
40268         * modules/unictype/bidiclass-byname-tests: Renamed from
40269         modules/unictype/bidicategory-byname-tests.
40270         * modules/unictype/bidiclass-of: Renamed from
40271         modules/unictype/bidicategory-of.
40272         (Description): Update.
40273         * modules/unictype/bidiclass-of-tests: Renamed from
40274         modules/unictype/bidicategory-of-tests.
40275         * modules/unictype/bidiclass-test: Renamed from
40276         modules/unictype/bidicategory-test.
40277         (Description): Update.
40278         * modules/unictype/bidiclass-test-tests: Renamed from
40279         modules/unictype/bidicategory-test-tests.
40280         * modules/unictype/bidicategory-all: New file, a simple redirection.
40281         * modules/unictype/bidicategory-name: Likewise.
40282         * modules/unictype/bidicategory-byname: Likewise.
40283         * modules/unictype/bidicategory-of: Likewise.
40284         * modules/unictype/bidicategory-test: Likewise.
40285         * modules/unictype/property-bidi-* (Dependencies): Update.
40286         * lib/unictype/bidi_*.c: Update comment.
40288 2011-03-26  Bruno Haible  <bruno@clisp.org>
40290         unictype/bidi*: Rename functions, part 2.
40291         * modules/unictype/bidicategory-name (configure.ac): Update required
40292         libunistring version.
40293         * modules/unictype/bidicategory-byname (configure.ac): Likewise.
40295 2011-03-25  Bruno Haible  <bruno@clisp.org>
40297         New module 'unictype/combining-class-all'.
40298         * modules/unictype/combining-class-all: New file.
40300         Tests for module 'unictype/combining-class-byname'.
40301         * modules/unictype/combining-class-byname-tests: New file.
40302         * tests/unictype/test-combiningclass_byname.c: New file.
40304         New module 'unictype/combining-class-byname'.
40305         * lib/unictype.in.h (uc_combining_class_byname): New declaration.
40306         * lib/unictype/combiningclass_byname.c: New file.
40307         * lib/unictype/combiningclass_byname.gperf: New file.
40308         * modules/unictype/combining-class-byname: New file.
40310         Tests for module 'unictype/combining-class-longname'.
40311         * modules/unictype/combining-class-longname-tests: New file.
40312         * tests/unictype/test-combiningclass_longname.c: New file.
40314         New module 'unictype/combining-class-longname'.
40315         * lib/unictype.in.h (uc_combining_class_long_name): New declaration.
40316         * lib/unictype/combiningclass_longname.c: New file.
40317         * modules/unictype/combining-class-longname: New file.
40319         Tests for module 'unictype/combining-class-name'.
40320         * modules/unictype/combining-class-name-tests: New file.
40321         * tests/unictype/test-combiningclass_name.c: New file.
40323         New module 'unictype/combining-class-name'.
40324         * lib/unictype.in.h (uc_combining_class_name): New declaration.
40325         * lib/unictype/combiningclass_name.c: New file.
40326         * modules/unictype/combining-class-name: New file.
40328 2011-03-25  Bruno Haible  <bruno@clisp.org>
40330         unictype/combining-class: Rename source files.
40331         * lib/gen-uni-tables.c (main): Emit unictype/combiningclass.h instead
40332         of unictype/combining.h.
40333         * lib/unictype/combiningclass.c: Renamed from lib/unictype/combining.c.
40334         Update.
40335         * lib/unictype/combiningclass.h: Renamed from lib/unictype/combining.h.
40336         * modules/unictype/combining-class (Description): Fix.
40337         (Files, Makefile.am): Update.
40338         * tests/unictype/test-combiningclass.c: Renamed from
40339         tests/unictype/test-combining.c.
40340         * modules/unictype/combining-class-tests (Files, Makefile.am): Update.
40342 2011-03-25  Bruno Haible  <bruno@clisp.org>
40344         unictype: Update list of canonical combining classes.
40345         * lib/unictype.in.h (UC_CCC_ATA): New enumeration value.
40347 2011-03-25  Bruno Haible  <bruno@clisp.org>
40349         unictype/category-byname: Recognize long names as well.
40350         * lib/unictype.in.h (uc_general_category_byname): Allow argument to be
40351         a long name.
40352         * lib/unictype/categ_byname.c: Include <stdlib.h>, <string.h>,
40353         unictype/categ_byname.h.
40354         (UC_CATEGORY_INDEX_*): New enumeration values.
40355         (uc_general_category_byname): Use uc_general_category_lookup and
40356         convert from index to value.
40357         * lib/unictype/categ_byname.gperf: New file.
40358         * modules/unictype/category-byname (Files): Add
40359         lib/unictype/categ_byname.gperf.
40360         (Depends-on): Add gperf.
40361         (Makefile.am): Add rule for generating unictype/categ_byname.h.
40362         * tests/unictype/test-categ_byname.c (main): Test the recognition of
40363         long names.
40365         Tests for module 'unictype/category-longname'.
40366         * modules/unictype/category-longname-tests: New file.
40367         * tests/unictype/test-categ_longname.c: New file.
40369         New module 'unictype/category-longname'.
40370         * lib/unictype.in.h (uc_general_category_long_name): New declaration.
40371         * lib/unictype/categ_longname.c: New file.
40372         * modules/unictype/category-longname: New file.
40373         * modules/unictype/category-all (Depends-on): Add it.
40375 2011-03-25  Bruno Haible  <bruno@clisp.org>
40377         Tests for module 'unictype/category-LC'.
40378         * modules/unictype/category-LC-tests: New file.
40379         * tests/unictype/test-categ_LC.c: New file, automatically generated.
40381         New module 'unictype/category-LC'.
40382         * lib/unictype.in.h (UC_CATEGORY_MASK_LC): New enumeration value.
40383         (UC_CATEGORY_LC): New declaration.
40384         (UC_CASED_LETTER): New macro.
40385         * lib/gen-uni-tables.c (is_category_LC): New function.
40386         (output_categories): Also handle category LC.
40387         (UC_CATEGORY_MASK_LC): New enumeration value.
40388         (general_category_byname): Also handle category LC.
40389         * lib/unictype/categ_LC.c: New file.
40390         * lib/unictype/categ_LC.h: New file, automatically generated.
40391         * lib/unictype/categ_name.c (uc_general_category_name): Also handle
40392         category LC.
40393         * lib/unictype/categ_byname.c (uc_general_category_byname): Likewise.
40394         * modules/unictype/category-LC: New file.
40395         * modules/unictype/category-byname (Depends-on): Add
40396         unictype/category-LC.
40397         * modules/unictype/category-all (Depends-on): Likewise.
40399 2011-03-25  Eric Blake  <eblake@redhat.com>
40401         xmalloc: revert yesterday's regression
40402         * lib/xmalloc.c (xrealloc): Once again forward xrealloc(NULL,0) to
40403         realloc's underlying behavior (allowing allocation of zero-size
40404         objects, especially if malloc-gnu is also in use).
40406 2011-03-25  Reuben Thomas  <rrt@sc3d.org>
40408         maint.mk: add missing version to VC-tag
40409         * top/maint.mk: git tag was missing actual tag name; add it.
40411         valgrind: do leak checking, and exit with code 1 on error (not 0)
40412         * m4/valgrind-tests.m4: Add `--error-exitcode=1 --leak-check=full'
40413         to VALGRIND.
40415 2010-11-30  Reuben Thomas  <rrt@sc3d.org>
40417         posix-modules: say what it does.
40418         * posix-modules: Add a line to the --help output saying what it does.
40420 2011-03-24  Paul Eggert  <eggert@cs.ucla.edu>
40422         xmalloc: Do not leak if underlying realloc is C99 compatible.
40423         * lib/xmalloc.c (xrealloc): If N is zero, call 'free' directly.
40424         This avoids a leak on C99-based systems.  See
40425         <http://lists.gnu.org/r/bug-gnulib/2011-03/msg00243.html>.
40427 2011-03-24  Eric Blake  <eblake@redhat.com>
40429         realloc: document portability problem
40430         * doc/posix-functions/realloc.texi (realloc): Mention pitfalls of
40431         passing 0 size to realloc.
40433 2011-03-23  Ben Walton  <bwalton@artsci.utoronto.ca>
40435         doc: update users.txt
40436         * users.txt: Add cvsps, tmpwatch
40438 2011-03-23  Matt Rice  <ratmice@gmail.com>
40440         doc: update users.txt
40441         * users.txt: Add gdb.
40443 2011-03-23  Jim Meyering  <meyering@redhat.com>
40445         doc: update users.txt
40446         Looking through matches up to the following URL (there are still
40447         several more pages), I found several projects that use gnulib:
40448         http://codesearch.google.com/codesearch?start=50&q=gnulib-cache\.m4
40449         * users.txt: Add nagios plugins (nagiosplug), acct, gengetopt,
40450         gmediaserver, gtkreindeer, jugtail, libunistring, mini-httpd, reindeer.
40452 2011-03-22  Bruno Haible  <bruno@clisp.org>
40454         unictype/bidi*: Rename functions.
40455         * lib/unictype.in.h (uc_bidi_class_name, uc_bidi_class_byname,
40456         uc_bidi_class, uc_is_bidi_class): New declarations.
40457         * lib/unictype/bidi_byname.c (uc_bidi_class_byname): Renamed from
40458         uc_bidi_category_byname.
40459         (uc_bidi_category_byname): New function.
40460         * lib/unictype/bidi_name.c (u_bidi_class_name): Renamed from
40461         u_bidi_category_name.
40462         (uc_bidi_class_name): Renamed from uc_bidi_category_name.
40463         (uc_bidi_category_name): New function.
40464         * lib/unictype/bidi_of.c (uc_bidi_class): Renamed from
40465         uc_bidi_category.
40466         (uc_bidi_category): New function.
40467         * lib/unictype/bidi_test.c (uc_is_bidi_class): Renamed from
40468         uc_is_bidi_category. Invoke uc_bidi_class.
40469         (uc_is_bidi_category): New function.
40470         * tests/unictype/test-bidi_byname.c (main): Test uc_bidi_class_byname
40471         instead of uc_bidi_category_byname.
40472         * tests/unictype/test-bidi_name.c (main): Test uc_bidi_class_name
40473         instead of uc_bidi_category_name.
40474         * tests/unictype/test-bidi_of.c (main): Test uc_bidi_class instead of
40475         uc_bidi_category.
40476         * tests/unictype/test-bidi_test.c (main): Test uc_is_bidi_class
40477         instead of uc_is_bidi_category.
40479 2011-03-21  Bruno Haible  <bruno@clisp.org>
40481         New module 'unictype/joininggroup-all'.
40482         * modules/unictype/joininggroup-all: New file.
40484         Tests for module 'unictype/joininggroup-of'.
40485         * modules/unictype/joininggroup-of-tests: New file.
40486         * tests/unictype/test-joininggroup_of.c: New file.
40487         * tests/unictype/test-joininggroup_of.h: New file, automatically
40488         generated by gen-uni-tables.
40490         New module 'unictype/joininggroup-of'.
40491         * modules/unictype/joininggroup-of: New file.
40492         * lib/unictype/joininggroup_of.c: New file.
40493         * lib/unictype/joininggroup_of.h: New file, automatically generated by
40494         gen-uni-tables.
40496         Tests for module 'unictype/joininggroup-byname'.
40497         * modules/unictype/joininggroup-byname-tests: New file.
40498         * tests/unictype/test-joininggroup_byname.c: New file.
40500         New module 'unictype/joininggroup-byname'.
40501         * modules/unictype/joininggroup-byname: New file.
40502         * lib/unictype/joininggroup_byname.c: New file.
40503         * lib/unictype/joininggroup_byname.gperf: New file.
40505         Tests for module 'unictype/joininggroup-name'.
40506         * modules/unictype/joininggroup-name-tests: New file.
40507         * tests/unictype/test-joininggroup_name.c: New file.
40509         New module 'unictype/joininggroup-name'.
40510         * modules/unictype/joininggroup-name: New file.
40511         * lib/unictype/joininggroup_name.c: New file.
40512         * lib/unictype/joininggroup_name.h: New file.
40514         New module 'unictype/joiningtype-all'.
40515         * modules/unictype/joiningtype-all: New file.
40517         Tests for module 'unictype/joiningtype-of'.
40518         * modules/unictype/joiningtype-of-tests: New file.
40519         * tests/unictype/test-joiningtype_of.c: New file.
40520         * tests/unictype/test-joiningtype_of.h: New file, automatically
40521         generated by gen-uni-tables.
40523         New module 'unictype/joiningtype-of'.
40524         * modules/unictype/joiningtype-of: New file.
40525         * lib/unictype/joiningtype_of.c: New file.
40526         * lib/unictype/joiningtype_of.h: New file, automatically generated by
40527         gen-uni-tables.
40529         Tests for module 'unictype/joiningtype-byname'.
40530         * modules/unictype/joiningtype-byname-tests: New file.
40531         * tests/unictype/test-joiningtype_byname.c: New file.
40533         New module 'unictype/joiningtype-byname'.
40534         * modules/unictype/joiningtype-byname: New file.
40535         * lib/unictype/joiningtype_byname.c: New file.
40537         Tests for module 'unictype/joiningtype-name'.
40538         * modules/unictype/joiningtype-name-tests: New file.
40539         * tests/unictype/test-joiningtype_name.c: New file.
40541         New module 'unictype/joiningtype-name'.
40542         * modules/unictype/joiningtype-name: New file.
40543         * lib/unictype/joiningtype_name.c: New file.
40545         unictype: Add support for Arabic shaping properties.
40546         * lib/unictype.in.h (UC_JOINING_TYPE_*): New enumeration values.
40547         (uc_joining_type_name, uc_joining_type_byname, uc_joining_type): New
40548         declarations.
40549         (UC_JOINING_GROUP_*): New enumeration values.
40550         (uc_joining_group_name, uc_joining_group_byname, uc_joining_group): New
40551         declarations.
40552         * lib/gen-uni-tables.c (UC_JOINING_TYPE_*): New enumeration values.
40553         (unicode_joining_type): New variable.
40554         (UC_JOINING_GROUP_*): New enumeration values.
40555         (unicode_joining_group): New variable.
40556         (fill_arabicshaping, joining_type_as_c_identifier,
40557         output_joining_type_test, output_joining_type,
40558         joining_group_as_c_identifier, output_joining_group_test,
40559         output_joining_group): New functions.
40560         (main); Add an argument denoting the ArabicShaping.txt file. Invoke
40561         fill_arabicshaping and output_joining_type_test, output_joining_type,
40562         output_joining_group_test, output_joining_group.
40563         Reported by Simon Josefsson.
40565 2011-03-21  Jim Meyering  <meyering@redhat.com>
40567         strftime: fix a bug in yesterday's change
40568         * lib/strftime.c (add): Accommodate width's initial value of -1.
40569         Otherwise, nstrftime would copy uninitialized data into
40570         the result buffer.
40572 2011-03-21  Jim Meyering  <meyering@redhat.com>
40574         tests: add strftime-tests module
40575         * tests/test-strftime.c: New file.
40576         * modules/strftime-tests: New module.
40578 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
40580         strftime: don't assume a byte count fits in 'int'
40581         * lib/strftime.c (add): Don't assume first arg fits in 'int'.  I
40582         found this problem by static analysis, using gcc -Wstrict-overflow
40583         (GCC 4.5.2, x86-64).  This reported an optimization that depended
40584         on an integer overflow having undefined behavior, but it turns out
40585         that the argument is a size, which might not fit in 'int' anyway,
40587 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
40589         stdio: don't require ignore_value around fwrite
40591         This patch works around libc bug 11959
40592         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>.
40593         Without this patch, applications must often write
40594         ignore_value (fwrite (...)) even though the ignore_value is
40595         not helpful here.  It's common to write many objects, using
40596         fwrite/printf/etc., and then use ferror to detect output error.
40598         I considered making this patch optional, but decided against it,
40599         because libc is obviously being inconsistent here: there is no
40600         reason libc should insist that user code must inspect fwrite
40601         return's value without also insisting that it inspect printf's,
40602         putchar's, etc.  If user code wants to have a strict style where
40603         all these functions' values are checked (so that ferror need not
40604         be checked), we could add support for that style in a new gnulib
40605         module, but in the meantime it's better to be consistent and to
40606         support common usage.
40608         * lib/stdio.in.h (rpl_fwrite): Define this wrapper around fwrite,
40609         to work around libc bug 11959, if __USE_FORTIFY_LEVEL indicates
40610         that we are compiling in checking mode, and if not C++, and
40611         if not already wrapping fwrite for some other reason.
40612         (fwrite): #define to rpl_fwrite if the latter is defined.
40614 2011-03-20  Bruno Haible  <bruno@clisp.org>
40616         verror: Fix compilation error introduced on 2011-02-13.
40617         * lib/verror.h (verror, verror_at_line): Use _GL_ATTRIBUTE_FORMAT macro
40618         instead of __attribute__.
40619         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
40621 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
40622             Bruno Haible  <bruno@clisp.org>
40624         socklen: do not depend on sys_socket
40625         While trying to modify Emacs to use gnulib's socklen module,
40626         I discovered a circular dependency: socklen depends on sys_socket
40627         and vice versa.  Emacs can use socklen, but it does not need
40628         sys_socket because it has its own substitute for sys/socket.h.
40629         * m4/socklen.m4 (gl_SOCKET_HEADERS): New macro, extracted from
40630         gl_TYPE_SOCKLEN_T.
40631         (gl_CHECK_SOCKET_HEADERS): New macro, taken from parts of
40632         gl_PREREQ_SYS_H_SOCKET.
40633         (gl_TYPE_SOCKLEN_T): Require it instead of requiring
40634         gl_PREREQ_SYS_H_SOCKET.
40635         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_SOCKET): Require
40636         gl_CHECK_SOCKET_HEADERS instead of doing its work ourselves.
40637         * modules/socklen (Depends-on): Do not depend on sys_socket.
40638         (Include): Adjust to match the code used in gl_SOCKET_HEADERS.
40640 2011-03-20  Jim Meyering  <meyering@redhat.com>
40642         maint.mk: sort file names *after* new transformation
40643         * top/maint.mk (sc_po_check): Sorting before removing the $(srcdir)/
40644         prefix would have led to an unwarranted failure in GNU parted.
40645         Sort after that transformation.
40647 2011-03-19  Jim Meyering  <meyering@redhat.com>
40649         maint.mk: fix po-file syntax-check rule
40650         * top/maint.mk (sc_po_check): Fix fatal typo in yesterday's change.
40651         Patch by Bruno Haible.
40653 2011-03-19  Bruno Haible  <bruno@clisp.org>
40655         socklen: Update comment.
40656         * m4/socklen.m4: Update comment about platforms.
40658 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
40659             Bruno Haible  <bruno@clisp.org>
40661         inet_ntop, inet_pton: Simplify.
40662         * modules/inet_ntop (Depends-on): Remove socklen, since sys_socket is
40663         documented to provide socklen_t and we already depend on sys_socket.
40664         * modules/inet_pton (Depends-on): Likewise.
40665         * lib/arpa_inet.in.h: Adjust comment.
40667 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
40668             Bruno Haible  <bruno@clisp.org>
40670         netdb: Simplify.
40671         * modules/netdb (Depends-on): Remove socklen, since sys_socket is
40672         documented to provide socklen_t and we already depend on sys_socket.
40673         * lib/netdb.in.h: Adjust comment.
40675 2011-03-19  Bruno Haible  <bruno@clisp.org>
40677         sys_socket, netdb: Document problem with socklen_t.
40678         * doc/posix-headers/sys_socket.texi: Mention lack of socklen_t on some
40679         platforms.
40680         * doc/posix-headers/netdb.texi: Likewise.
40682 2011-03-18  Eric Blake  <eblake@redhat.com>
40684         maint.mk: let po check work in VPATH build
40685         * top/maint.mk (po_file): Allow cfg.mk override.
40686         (sc_po_check): Allow VPATH use.
40687         Reported by Jiri Denemark.
40689 2011-03-16  Jim Meyering  <meyering@redhat.com>
40691         maint.mk: allow fine-grained syntax-check exclusion via Make variables
40692         Before, you would have had to create one .x-sc_ file per rule in order
40693         to exempt offending files.  Now, you may instead use a Make variable --
40694         usually defined in cfg.mk -- whose name identifies the affected rule.
40695         * top/maint.mk (_sc_excl): Define.
40696         (VC_LIST_EXCEPT): Use it to exclude names on a per-rule basis.
40697         (_sc_search_regexp): When not using VC_LIST_EXCEPT, exclude here, too.
40699 2011-03-13  Bruno Haible  <bruno@clisp.org>
40701         ignore-value tests: Avoid warnings.
40702         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Define to
40703         empty for gcc < 3.4.
40705 2011-03-13  Bruno Haible  <bruno@clisp.org>
40707         passfd: Fix link error on Solaris.
40708         * modules/passfd (Description): Correct.
40709         (Depends-on): Add socketlib.
40710         (Link): New section.
40711         * modules/passfd-tests (Makefile.am): Link test-passfd with LIBSOCKET.
40713 2011-03-13  Bruno Haible  <bruno@clisp.org>
40715         passfd: Fix link error on AIX 5.2.
40716         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Define _LINUX_SOURCE_COMPAT.
40718 2011-03-13  Bruno Haible  <bruno@clisp.org>
40720         passfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4.
40721         * lib/sys_socket.in.h: Include <stddef.h>.
40722         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Include <stddef.h> before using
40723         CMSG_FIRSTHDR. Remove unused variable.
40725 2011-03-13  Bruno Haible  <bruno@clisp.org>
40727         passfd: Fix compilation error on OpenBSD.
40728         * lib/passfd.c: Include <sys/uio.h>.
40730 2011-03-13  Bruno Haible  <bruno@clisp.org>
40732         passfd test: Fix warnings.
40733         * tests/test-passfd.c: Include <sys/wait.h>.
40734         (main): Fix typo.
40736 2011-03-13  Bruno Haible  <bruno@clisp.org>
40738         passfd module, part 4, tweaks.
40739         * tests/test-passfd.c: Reorder includes.
40740         (main): Fix perror and printf calls.
40742 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
40744         passfd module, part 4.
40745         * modules/passfd-tests: New file.
40746         * tests/test-passfd.c: New file.
40748 2011-03-13  Jim Meyering  <meyering@redhat.com>
40750         Makefile: rely on GNU make; derive syntax-check rule names
40751         Rather than requiring that each sc_ rule be listed as a dependent
40752         of "check", use features of GNU make to derive the list.
40753         * Makefile (syntax-check-rules): Define.
40754         (check): Depend on the new variable, not the hard-coded list.
40756 2011-03-13  Bastien Roucariès  <roucaries.bastien@gmail.com>
40757             Bruno Haible  <bruno@clisp.org>
40759         passfd module, part 3.
40760         * lib/passfd.h (recvfd): Add a flags argument.
40761         * lib/passfd.c: Include <fcntl.h>, cloexec.h.
40762         (recvfd): Add a flags argument.
40763         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Test whether MSG_CMSG_CLOEXEC
40764         exists.
40765         * modules/passfd (Depends-on): Add cloexec.
40766         Suggested by Eric Blake.
40768 2011-03-13  Bruno Haible  <bruno@clisp.org>
40770         passfd module, part 2, tweaks.
40771         * modules/passfd (Files): Reorder.
40772         (Depends-on): Remove errno.
40773         (Include): Remove <sys/socket.h>, <sys/un.h>.
40774         * lib/passfd.h: Use a GPLv3+ header. Make C++ safe.
40775         * lib/passfd.c: Untabify. Use a GPLv3+ header. Really include the
40776         specification header. Include <sys/socket.h> always. Don't include
40777         <winsock2.h>. Use "#if HAVE_..." instead of "#ifdef HAVE_...".
40778         (sendfd): Clarify that it sets errno when it fails.
40779         (recvfd): Fix specification.
40781 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
40783         passfd module, part 2.
40784         * modules/passfd: New file.
40785         * lib/passfd.h: New file.
40786         * lib/passfd.c: New file.
40788 2011-03-12  Bruno Haible  <bruno@clisp.org>
40790         wcswidth, mbswidth: Avoid integer overflow.
40791         * lib/wcswidth.c: Include <limits.h>.
40792         * lib/wcswidth-impl.h (wcswidth): Avoid 'int' overflow.
40793         * lib/mbswidth.c: Include <limits.h>.
40794         (mbsnwidth): Avoid 'int' overflow.
40795         Reported by Jim Meyering.
40797 2011-03-12  Bruno Haible  <bruno@clisp.org>
40799         futimens, utimensat: Avoid endless recursion on Solaris 10.
40800         * lib/sys_stat.in.h (futimens, utimensat): Define with rpl_ prefix on
40801         Solaris.
40802         Reported by Ben Walton <bwalton@artsci.utoronto.ca> via Eric Blake
40803         in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8230>.
40805 2011-03-11  Jim Meyering  <meyering@redhat.com>
40807         maint.mk: relax a regexp to accommodate other formatting styles
40808         * top/maint.mk (sc_unmarked_diagnostics): Allow 0 or 1 space
40809         between "ngettext" and the following "(".
40811 2011-03-11  Pádraig Brady  <P@draigBrady.com>
40813         maint.mk: suppress a false positive warning
40814         * top/maint.mk ((sc_unmarked_diagnostics): Don't warn when
40815         diagnostics are marked with ngettext.
40817 2011-03-10  Eric Blake  <eblake@redhat.com>
40819         wchar: add explicit dependencies, for Tru64
40820         * modules/mbmemcasecoll (Depends-on): Add wchar.
40821         * modules/mbtowc (Depends-on): Likewise.
40822         * modules/vasnprintf (Depends-on): Likewise.
40823         * modules/unistdio/u-printf-args (Depends-on): Likewise.
40824         * modules/wctomb (Depends-on): Likewise.
40825         Reported by Peter O'Gorman.
40827 2011-03-08  Bruno Haible  <bruno@clisp.org>
40829         passfd module, part 1, tweaks.
40830         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Update AC_REQUIRE invocation.
40831         Improve indentation. Improve AC_MSG_CHECKING messages.
40832         * m4/sockpfaf.m4 (gl_SOCKET_FAMILY_UNIX): New macro, extracted from
40833         gl_SOCKET_FAMILIES.
40835 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
40837         passfd module, part 1.
40838         * m4/afunix.m4: New file.
40839         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Also test for UNIX domain
40840         sockets.
40842 2011-03-08  Bruno Haible  <bruno@clisp.org>
40844         regex-quote: New API.
40845         * lib/regex-quote.h: Include <stdbool.h>.
40846         (struct regex_quote_spec): New type.
40847         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
40848         New declarations.
40849         (regex_quote_length, regex_quote_copy, regex_quote): Take a
40850         'const struct regex_quote_spec *' argument.
40851         * lib/regex-quote.c (RE_*, PCRE_*): New macros.
40852         (pcre_special): New constant.
40853         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
40854         New functions.
40855         (regex_quote_length, regex_quote_copy, regex_quote): Take a
40856         'const struct regex_quote_spec *' argument.
40857         * modules/regex-quote (Depends-on): Add stdbool.
40858         * tests/test-regex-quote.c (check): Update for new API. Add test for
40859         anchored results.
40860         * NEWS: Mention the API change.
40861         Reported by Reuben Thomas and Eric Blake.
40863 2011-03-06  Bruno Haible  <bruno@clisp.org>
40865         regex-quote: Fix creation of POSIX extended regular expressions.
40866         * lib/regex-quote.c (ere_special): Add grouping and alternation
40867         operators.
40869 2011-03-05  Bruno Haible  <bruno@clisp.org>
40871         doc: Improve doc regarding autopoint vs. gnulib.
40872         * doc/gnulib-tool.texi (gettextize and autopoint): Recommend to
40873         disable autopoint while running autoreconf.
40874         Suggested by Ralf Wildenhues.
40876 2011-03-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40878         Update AC_OPENMP macro for Lahey compiler on GNU/Linux.
40879         * m4/openmp.m4 (AC_OPENMP): Sync from Autoconf.
40881 2011-03-03  Bruce Korb  <bkorb@gnu.org>
40883         parse-duration: remove xalloc.h dependency
40884         * lib/parse-duration.c (parse_period): handle NULL return from
40885         strdup instead of calling xstrdup().
40886         * modules/parse-duration: remove "xalloc" dependency
40888 2011-03-03  Matthew Booth  <mbooth@redhat.com>
40890         bootstrap: honor m4_base when running aclocal
40891         * build-aux/bootstrap: Fix hard-coded use of m4 directory name.
40893 2011-03-02  Jim Meyering  <meyering@redhat.com>
40895         getopt-gnu: relax license from LGPLv3+ to LGPLv2+
40896         * modules/getopt-gnu (License): Relax to LGPLv2+, for augeas,
40897         on request from Matt Booth.
40899 2011-03-01  Eric Blake  <eblake@redhat.com>
40901         test-link: work on Hurd
40902         * tests/test-link.h (test_link): Hurd rejects linking directories
40903         with EISDIR instead of the POSIX-mandated EPERM.
40905 2011-02-28  Paul Eggert  <eggert@cs.ucla.edu>
40907         stdio: simplify by moving files to printf-posix, sigpipe
40908         * m4/stdio_h.m4 (gl_STDIO_H): Do not require gl_ASM_SYMBOL_PREFIX,
40909         since this symbol is needed only if printf is replaced.
40910         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF):
40911         Require gl_ASM_SYMBOL_PREFIX.
40912         * modules/printf-posix (Files): Add m4/asm-underscore.m4.
40913         * modules/sigpipe (Files): Likewise.  Also, add m4/stdio-write.c.
40914         (Depends-on): Add 'raise'.
40915         (configure.ac): Require gl_ASM_SYMBOL_PREFIX.
40916         * modules/stdio (Files): Remove lib/stdio-write.c,
40917         m4/asm-underscore.m4.
40918         (Depends-on): Remove 'raise'.
40920         stdio: simplify by moving gl_STDIN_LARGE_OFFSET to fseeko, ftello
40921         * m4/fseeko.m4 (gl_STDIN_LARGE_OFFSET): Moved here, from ...
40922         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): ... here, because
40923         * modules/ftello (Files): Add m4/fseeko.m4, for gl_STDIN_LARGE_OFFSET.
40925 2011-02-28  Bruno Haible  <bruno@clisp.org>
40927         localcharset: Assume ANSI C behaviour of free().
40928         * lib/localcharset.c (get_charset_aliases): Remove NULL test before
40929         calling free().
40930         Suggested by Simon Josefsson <simon@josefsson.org>.
40932 2011-02-28  Corinna Vinschen  <vinschen@redhat.com>  (tiny change)
40933             Charles Wilson  <cygwin@cwilson.fastmail.fm>  (tiny change)
40934             Bruno Haible  <bruno@clisp.org>  (tiny change)
40936         On Cygwin, use /proc file system instead of win32 API.
40937         * lib/relocatable.c: On Cygwin, use file names from /proc, rather than
40938         Win32 file names.
40939         (DllMain): Simplify by removing Cygwin specific code.
40940         (find_shared_library_fullname): Use Linux specific implementation also
40941         for Cygwin.
40942         (get_shared_library_fullname): Update accordingly.
40943         * lib/progreloc.c: On Cygwin, use file names from /proc, rather than
40944         Win32 file names.
40945         (find_executable): On Cygwin, use /proc, like on Linux. Remove previous
40946         Cygwin specific code.
40948 2011-02-28  Christian Rössel  <christian.roessel@gmx.de>  (tiny change)
40949             Markus Geimer  <m.geimer@fz-juelich.de>  (tiny change)
40951         Fix OpenMP flag detection for various Fortran compilers.
40952         * m4/openmp.m4 (_AC_LANG_OPENMP(Fortran 77)): Use '!$'
40953         OpenMP-conditional compilation construct, to force compile
40954         failure with missing OpenMP flag.
40955         (AC_OPENMP): Add flags for Cray CCE and NEC SX compilers.
40957 2011-02-25  Eric Blake  <eblake@redhat.com>
40959         strstr: expand test coverage
40960         * tests/test-strstr.c (main): Add much shorter trigger.  Fix C89
40961         compilation.
40962         * tests/test-memmem.c (main): Duplicate tests.
40963         * tests/test-strcasestr.c (main): Likewise.
40964         * tests/test-c-strcasestr.c (main): Likewise.
40966 2011-02-25  Jim Meyering  <meyering@redhat.com>
40968         maint.mk: detect missing-NL-at-EOF, too
40969         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Adjust so that
40970         it also detects when a file lacks a newline at EOF.
40971         (require_exactly_one_NL_at_EOF_): Renamed from
40972         detect_empty_lines_at_EOF_.  I opted not to rename the rule,
40973         since people may well have .x-sc_... file names tied to the
40974         existing name.  Suggested by Eric Blake.
40976 2011-02-25  Paul Eggert  <eggert@cs.ucla.edu>
40978         dirname: move m4/dos.m4 functionality into lib/dosname.h
40980         m4/dos.m4 needs to go.  It laboriously invokes the C compiler, and
40981         extracts symbols from it, puts them into config.h; but it's much
40982         easier to use the symbols directly.  filename.h already does this,
40983         but it disagrees with dos.m4 in some respects.  This patch
40984         introduces a different include file dosname.h that packages up
40985         dos.m4, and then later we can work on merging filename.h and
40986         dosname.h.  Applications that need only the easy-to-configure
40987         symbols should consider including dosname.h rather than dirname.h.
40988         * NEWS: Mention incompatible changes.
40989         * m4/dos.m4: Remove.
40990         * lib/dosname.h, modules/dosname: New files.
40991         * lib/dirname.h (ISSLASH, FILE_SYSTEM_PREFIX_LEN):
40992         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE):
40993         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Move to lib/dosname.h.
40994         * lib/at-func.c, lib/at-func2.c, lib/openat.c, lib/savewd.c:
40995         Include dosname.h, not dirname.h.
40996         * lib/rmdir.c, lib/stat.c, lib/unlink.c, lib/unlinkat.c:
40997         Include dosname.h, for definitions of symbols like ISSLASH
40998         that used to be in config.h.
40999         * m4/dirname.m4 (gl_DIRNAME_LGPL): Do not require gl_AC_DOS.
41000         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
41001         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
41002         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
41003         * modules/dirname-lgpl (Files): Omit m4/dos.m4.
41004         * modules/rmdir (Files): Likewise.
41005         * modules/stat (Files): Likewise.
41006         * modules/unlink (Files): Likewise.
41007         * modules/dirname-lgpl (Depends-on): Add dosname.
41008         * modules/lstat (Depends-on): Likewise.
41009         * modules/openat (Depends-on): Likewise.
41010         * modules/rmdir (Depends-on): Likewise.
41011         * modules/savewd (Depends-on): Likewise.
41012         * modules/stat (Depends-on): Likewise.
41013         * modules/unlink (Depends-on): Likewise.
41014         * modules/openat (Depends-on): Remove dirname-lgpl.
41015         * modules/savewd (Depends-on): Likewise.
41016         * tests/test-dirname.c: Do not use removed symbols like
41017         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.  Instead, use
41018         the remaining symbols, e.g., ISSLASH ('\\').
41020 2011-02-25  Eric Blake  <eblake@redhat.com>
41022         strstr: revert patches that introduced bug and pessimization
41023         * lib/str-two-way.h: Add another reference.
41024         (two_way_short_needle, two_way_long_needle): Revert changes from
41025         2011-02-24; they pessimize search speed.
41026         (critical_factorization): Partially revert changes from
41027         2010-06-22; they violate the requirement that the left half of the
41028         needle be smaller than the period of the needle.
41030 2011-02-24  Paul Eggert  <eggert@cs.ucla.edu>
41032         filenamecat: remove unnecessary dependency on dirname-lgpl
41033         * modules/filenamecat (Depends-on): Remove dirname-lgpl, as there
41034         is no direct dependency, just an indirect one via filenamecat-lgpl.
41036         remove: remove unnecessary use of m4/dos.m4
41037         * m4/remove.m4 (gl_FUNC_REMOVE): Don't require gl_AC_DOS; not needed.
41038         * modules/remove (FILES): Remove m4/dos.m4.
41040         * lib/openat-proc.c: Don't include dirname.h; not needed.
41042         backupfile: remove unnecessary use of m4/dos.m4
41043         * m4/backupfile.m4 (gl_BACKUPFILE): Don't require gl_AC_DOS; none
41044         of its symbols are used by the backupfile code.  backupfile.c does
41045         use a symbol HAVE_DOS_FILE_NAMES, but that symbol is meant only
41046         for the rare case of programs that want all their backup file
41047         names to live within 8+3 limits, and dos.m4 doesn't address that.
41048         * modules/backupfile (Files): Remove m4/dos.m4.
41050 2011-02-24  Jim Meyering  <meyering@redhat.com>
41052         strstr: fix a bug whereby strstr would mistakenly return NULL
41053         * lib/str-two-way.h (two_way_short_needle): Correct off-by-one error
41054         in period calculation.
41055         (two_way_long_needle): Likewise.
41056         The original problem was reported by Mike Stump in
41057         http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/7834
41058         Ralf Wildenhues provided the short needle and haystack.
41059         * tests/test-strstr.c: Add Ralf's test case to trigger the bug.
41060         Add a more involved test to trigger the bug in two_way_long_needle.
41062 2011-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
41064         gnulib-tool: remove use of bold display in help screen
41065         * gnulib-tool (func_usage): Do not use bold display anymore in the
41066         help screen.  That was just meant to be a temporary emphasis for a
41067         backward-incompatible change.
41069 2011-02-23  Bruno Haible  <bruno@clisp.org>
41071         Fix misindentation of preprocessor directives.
41072         * lib/argp-namefrob.h: Reindent preprocessor directives.
41073         * lib/getopt_int.h (struct _getopt_data): Likewise.
41074         * lib/progreloc.c (maybe_executable, find_executable): Likewise.
41075         * lib/vasnprintf.c (decode_long_double): Likewise.
41076         * tests/test-argmatch.c: Insert blank lines, for clarity.
41077         * tests/test-exclude.c: Likewise.
41079 2011-02-22  Bruno Haible  <bruno@clisp.org>
41081         ioctl: Fix for MacOS X in 64-bit mode.
41082         * lib/ioctl.c (rpl_ioctl): Zero-extend, not sign-extend, the request
41083         value.
41084         Suggested by Eric Blake.
41085         Reported by Markus Gothe <nietzsche@lysator.liu.se>.
41087 2011-02-22  Jim Meyering  <meyering@redhat.com>
41089         maint: sc_cpp_indent_check: remove the "only in lib/" restriction
41090         * Makefile (sc_cpp_indent_check): Don't limit the check to files
41091         in lib/.
41093 2011-02-22  Eric Blake  <eblake@redhat.com>
41095         maint: avoid any CDPATH issue
41096         * Makefile (sc_cpp_indent_check): Anchor cd argument.
41098         maint: adjust cpp indentation for my modules, as well
41099         * Makefile (sc_cpp_indent_check): Add my name.
41100         * lib/fbufmode.c: Filter through cppi.
41101         * lib/fpurge.c: Likewise.
41102         * lib/freadable.c: Likewise.
41103         * lib/freading.c: Likewise.
41104         * lib/fwritable.c: Likewise.
41105         * lib/fwriting.c: Likewise.
41106         * lib/sigaction.c: Likewise.
41108 2011-02-22  Jim Meyering  <meyering@redhat.com>
41110         maint: adjust cpp indentation to reflect nesting depth
41111         I.e., in a block of code that begins with an unnested "#if",
41112         put one space between the "#" in column 1 and following token.
41113         For example,
41114         -#include <sys/vfs.h>
41115         +# include <sys/vfs.h>
41116         Do this only in .c files that are part of a module I maintain.
41117         * lib/linkat.c: Filter through cppi.
41118         * lib/nanosleep.c: Likewise.
41119         * lib/openat.c: Likewise.
41120         * lib/openat-die.c: Likewise.
41121         * lib/dup3.c: Likewise.
41122         * lib/fchownat.c: Likewise.
41123         * lib/flock.c: Likewise.
41124         * lib/fsync.c: Likewise.
41125         * lib/fts.c: Likewise.
41126         * lib/getpass.c: Likewise.
41127         * lib/gettimeofday.c: Likewise.
41128         * lib/userspec.c: Likewise.
41129         * Makefile (sc_cpp_indent_check): New rule, to check this.
41131 2011-02-22  Bruno Haible  <bruno@clisp.org>
41133         New module 'wctomb'.
41134         * lib/stdlib.in.h (wctomb): New declaration.
41135         * lib/wctomb.c: New file.
41136         * lib/wctomb-impl.h: New file.
41137         * m4/wctomb.m4: New file.
41138         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_WCTOMB,
41139         REPLACE_WCTOMB.
41140         * modules/stdlib (Makefile.am): Substitute GNULIB_WCTOMB,
41141         REPLACE_WCTOMB.
41142         * modules/wctomb: New file.
41143         * tests/test-stdlib-c++.cc: Test signature of wctomb.
41144         * doc/posix-functions/wctomb.texi: Mention the new module.
41145         * modules/wctob (Depends-on): Add wctomb.
41147 2011-02-22  Bruno Haible  <bruno@clisp.org>
41149         New module 'mbtowc'.
41150         * lib/stdlib.in.h (mbtowc): New declaration.
41151         * lib/mbtowc.c: New file.
41152         * lib/mbtowc-impl.h: New file, from libutf8 with modifications.
41153         * m4/mbtowc.m4: New file.
41154         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MBTOWC,
41155         REPLACE_MBTOWC.
41156         * modules/stdlib (Makefile.am): Substitute GNULIB_MBTOWC,
41157         REPLACE_MBTOWC.
41158         * modules/mbtowc: New file.
41159         * tests/test-stdlib-c++.cc: Test signature of mbtowc.
41160         * doc/posix-functions/mbtowc.texi: Mention the new module.
41161         * modules/btowc (Depends-on): Add mbtowc.
41163 2011-02-22  Bruno Haible  <bruno@clisp.org>
41165         wcrtomb: Add more tests for native Windows platforms.
41166         * tests/test-wcrtomb-w32-1.sh: New file.
41167         * tests/test-wcrtomb-w32-2.sh: New file.
41168         * tests/test-wcrtomb-w32-3.sh: New file.
41169         * tests/test-wcrtomb-w32-4.sh: New file.
41170         * tests/test-wcrtomb-w32-5.sh: New file.
41171         * tests/test-wcrtomb-w32.c: New file.
41172         * modules/wcrtomb-tests (Files): Add them.
41173         (Makefile.am): Arrange to run these tests.
41174         * tests/test-wcrtomb-w32-6.sh: New file, currently unused.
41175         * tests/test-wcrtomb-w32-7.sh: New file, currently unused.
41177 2011-02-20  Bruno Haible  <bruno@clisp.org>
41179         wcrtomb: Enhance test.
41180         * tests/test-wcrtomb.c (main): Add test against bug with NULL argument.
41182 2011-02-20  Bruno Haible  <bruno@clisp.org>
41184         mbrtowc: Tiny optimization.
41185         * lib/mbrtowc.c (mbrtowc): Delay pstate assignment until it is needed.
41187 2011-02-20  Jim Meyering  <meyering@redhat.com>
41189         test-exclude.c: remove unmatched #endif
41190         * tests/test-exclude.c: Remove stray #endif, left over from
41191         the change of a week ago.
41193 2011-02-19  Jim Meyering  <meyering@redhat.com>
41195         git-version-gen: skip "-dirty" check when appropriate
41196         * build-aux/git-version-gen: Don't run any git commands when the
41197         version string comes from .tarball-version.  Prior to this, we
41198         would run git update-index --refresh even from a just-unpacked
41199         tarball directory, and that could affect a .git/ directory in a
41200         parent of the build directory.  Reported by Mike Frysinger.
41202 2011-02-19  Bruno Haible  <bruno@clisp.org>
41204         unictype/property-byname: Reduce the size of the 'data' segment.
41205         * lib/unictype/pr_byname.gperf: Add gperf option '%pic'.
41207 2011-02-19  Bruno Haible  <bruno@clisp.org>
41209         unictype/scripts: Reduce the size of the 'data' segment.
41210         * lib/gen-uni-tables.c (output_scripts_byname): Emit gperf option
41211         '%pic'.
41212         * lib/unictype/scripts_byname.gperf: Regenerated.
41214 2011-02-19  Bruno Haible  <bruno@clisp.org>
41216         stdint: Update documentation.
41217         * doc/posix-headers/stdint.texi: Mention WCHAR_MIN, WCHAR_MAX problem.
41219 2011-02-18  Paul Eggert  <eggert@cs.ucla.edu>
41221         stdint: omit redundant check for wchar.h
41222         * m4/stdint.m4 (gl_STDINT_H): The earlier part of this macro now
41223         always tests whether wchar.h exists, so remove the now-redundant test.
41225 2011-02-18  Bruno Haible  <bruno@clisp.org>
41227         stdint: Cut dependency to module 'wchar'.
41228         * lib/stdint.in.h: Include wchar.h only when HAVE_WCHAR_H is 1. Also
41229         include the necessary prerequisites.
41230         * m4/stdint.m4 (gl_STDINT_H): Test whether wchar.h exists.
41231         * modules/stdint (Depends-on): Remove wchar.
41232         (Makefile.am): Substitute HAVE_WCHAR_H.
41233         This reverts part of a 2007-01-06 commit. Reported by Paul Eggert.
41235 2011-02-18  Eric Blake  <eblake@redhat.com>
41237         longlong: skip, rather than fail, on cross-compilation
41238         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Avoid aborting configure
41239         when cross-compiling; regression from 2011-02-16.
41241 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
41243         * NEWS: Mention 2011-02-08 change to stdlib.
41245 2011-02-17  Bruno Haible  <bruno@clisp.org>
41247         getloadavg: Add comments about platforms.
41248         * m4/getloadavg.m4: Add comment.
41249         * lib/getloadavg.c: Likewise.
41251 2011-02-17  Bruno Haible  <bruno@clisp.org>
41253         getloadavg: Fix link error on Solaris 2.6.
41254         * modules/getloadavg (Link): New section.
41255         * modules/getloadavg-tests (Makefile.am): Use GETLOADAVG_LIBS for
41256         linking test-getloadavg.
41257         * doc/glibc-functions/getloadavg.texi: Mention that Solaris 2.6 lacks
41258         getloadavg.
41260 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
41262         * lib/getloadavg.c (getloadavg) [sgi]: Make ldav_off of type ptrdiff_t.
41263         It was 'int', but this doesn't match the IRIX 6.5 manual.
41264         Suggested by Bruno Haible in
41265         <http://lists.gnu.org/r/bug-gnulib/2011-02/msg00207.html>.
41267 2011-02-17  Bruno Haible  <bruno@clisp.org>
41269         havelib: Fix comments.
41270         * m4/lib-link.m4 (AC_LIB_RPATH): Update comments after 2007-01-02
41271         change.
41273 2011-02-17  Bruno Haible  <bruno@clisp.org>
41275         havelib: Update config.rpath.
41276         * build-aux/config.rpath: Update to match libtool.m4 from libtool-2.4.
41278 2011-02-17  Bruno Haible  <bruno@clisp.org>
41280         getloadavg test: Add some plausibility checks.
41281         * tests/test-getloadavg.c (check_avg): Print a warning when the value
41282         is improbable.
41284 2011-02-16  Eric Blake  <eblake@redhat.com>
41286         maintainer-makefile: make syntax-check a no-op from tarballs
41287         * top/maint.mk (no-vc-detected): New rule.
41288         (local-checks-available): Use it to avoid hanging if someone tries
41289         'make syntax-check' from a tarball.  Also append to any non-syntax
41290         checks already defined in cfg.mk.
41292 2011-02-16  Paul Eggert  <eggert@cs.ucla.edu>
41294         longlong: tune, particularly for common case of c99
41296         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Don't bother compiling
41297         or running anything if c99, or if unsigned long long int does not
41298         work.  In either case, we know the answer without further tests.
41299         Do not compile _AC_TYPE_LONG_LONG_SNIPPET twice.  Instead, compile
41300         it at most once, and use its results for both long long int and
41301         unsigned long long int.  This is more likely to be efficient in
41302         the common case where the program wants to check for both long
41303         long int and unsigned long long int.
41304         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Don't bother compiling if c99,
41305         since the answer is already known.
41307 2011-02-15  Paul Eggert  <eggert@cs.ucla.edu>
41309         getloadavg: set errno
41310         * lib/getloadavg.c: Set errno when returning -1.  If no other
41311         error number looks appropriate, set it to ENOSYS if the getloadavg
41312         looks like it can't possibly ever work, ENOTSUP otherwise.
41313         Suggested by Bruno Haible in
41314         <http://lists.gnu.org/r/bug-gnulib/2011-02/msg00187.html>.
41316         getloadavg: trim unused parts and speed up 'configure'
41317         * NEWS: Document this.
41318         * lib/getloadavg.c: Ignore HAVE_GETLOADAVG; this file is now
41319         always compiled if getloadavg is absent.
41320         Move test code to ...
41321         * tests/test-getloadavg.c: New file, containing previous
41322         contents of test from lib/getloadavg.c.  It also contains
41323         suggestions by Bruno Haible in
41324         <http://lists.gnu.org/r/bug-gnulib/2011-02/msg00186.html>.
41325         * modules/getloadavg-tests: New file.
41326         * m4/getloadavg.m4 (gl_GETLOADAVG): Do not check for getloadavg twice.
41327         Do tests in the same order as they're needed for getloadavg.c.
41328         Omit setgid-related tests that generate symbols KMEM_GROUP,
41329         NEET_SETGID, GETLOADAVG_PRIVILEGED; nobody seems to use those any more.
41330         Do only the tests that are needed to see whether the system has
41331         getloadavg, moving the other tests into ...
41332         (gl_PREREQ_GETLOADAVG): ... here.  Do not define obsolete symbol
41333         NLIST_NAME_UNION; nobody should be using it.  Do not define
41334         symbols C_GETLOADAVG and HAVE_GETLOADAVG; they're no longer
41335         relevant, as the user of this module shouldn't care how getloadavg
41336         is implemented.
41338         getloadavg: omit unused var
41339         * lib/getloadavg.c (getloadavg): Omit unused local variable.
41341 2011-02-15  Jim Meyering  <meyering@redhat.com>
41343         doc: update users.txt
41344         * users.txt: Update iwhd's URL.
41346 2011-02-13  Bruno Haible  <bruno@clisp.org>
41348         Consistent macro naming for macros that use GCC __attribute__.
41349         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Renamed from
41350         _ATTRIBUTE_NONNULL_.
41351         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Likewise.
41352         * lib/hash.h (_GL_ATTRIBUTE_WUR): Renamed from ATTRIBUTE_WUR.
41353         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Renamed from
41354         ATTRIBUTE_DEPRECATED.
41355         * lib/openat.h (_GL_ATTRIBUTE_NORETURN): Renamed from
41356         ATTRIBUTE_NORETURN.
41357         * lib/sigpipe-die.h (_GL_ATTRIBUTE_NORETURN): Likewise.
41358         * lib/xmemdup0.h (_GL_ATTRIBUTE_NORETURN): Likewise.
41359         * lib/xstrtol.h (_GL_ATTRIBUTE_NORETURN): Likewise.
41360         * lib/xalloc.h (_GL_ATTRIBUTE_NORETURN): Likewise.
41361         (_GL_ATTRIBUTE_MALLOC): Renamed from ATTRIBUTE_MALLOC.
41362         (_GL_ATTRIBUTE_ALLOC_SIZE): Renamed from ATTRIBUTE_ALLOC_SIZE.
41363         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Renamed from
41364         ATTRIBUTE_SENTINEL.
41365         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK): Renamed from
41366         ATTRIBUTE_RETURN_CHECK.
41367         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Likewise.
41368         * tests/test-argmatch.c (_GL_ATTRIBUTE_NORETURN): Renamed from
41369         ATTRIBUTE_NORETURN.
41370         * tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN): Likewise.
41371         Reported by Paul Eggert.
41373 2011-02-13  Bruno Haible  <bruno@clisp.org>
41375         Don't interfere with a program's definition of __attribute__.
41376         * lib/argp.h (__attribute__): Remove definition.
41377         (_GL_ATTRIBUTE_FORMAT): New macro.
41378         (argp_error, __argp_error, argp_failure, __argp_failure): Use it.
41379         * lib/argp-fmtstream.h (__attribute__): Remove definition.
41380         (_GL_ATTRIBUTE_FORMAT): New macro.
41381         (__argp_fmtstream_printf, argp_fmtstream_printf): Use it.
41382         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__ only for
41383         GCC 3 or newer.
41384         * lib/error.h (__attribute__): Remove definition.
41385         (_GL_ATTRIBUTE_FORMAT): New macro.
41386         (error, error_at_line): Use it.
41387         * lib/hash.h (__attribute__): Remove definition.
41388         (ATTRIBUTE_WUR): Update definition. Define always.
41389         * lib/openat.h (__attribute__): Remove definition.
41390         (ATTRIBUTE_NORETURN): Update definition. Define always.
41391         * lib/sigpipe-die.h (__attribute__): Remove definition.
41392         (ATTRIBUTE_NORETURN): Update definition. Define always.
41393         * lib/vasnprintf.h (__attribute__): Remove definition.
41394         (_GL_ATTRIBUTE_FORMAT): New macro.
41395         (asnprintf, vasnprintf): Use it.
41396         * lib/xalloc.h (__attribute__): Remove definition.
41397         (ATTRIBUTE_NORETURN): Update definition. Define always.
41398         (ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE): Define always.
41399         * lib/xmemdup0.h (__attribute__): Remove definition.
41400         (ATTRIBUTE_NORETURN): Update definition. Define always.
41401         * lib/xprintf.h (__attribute__): Remove definition.
41402         (_GL_ATTRIBUTE_FORMAT): New macro.
41403         (xprintf, xvprintf, xfprintf, xvfprintf): Use it.
41404         * lib/xstrtol.h (__attribute__): Remove definition.
41405         (ATTRIBUTE_NORETURN): Update definition. Define always.
41406         * lib/xvasprintf.h (__attribute__): Remove definition.
41407         (_GL_ATTRIBUTE_FORMAT): New macro.
41408         (xasprintf, xvasprintf): Use it.
41409         * tests/test-argmatch.c (__attribute__): Remove definition.
41410         (ATTRIBUTE_NORETURN): Update definition. Define always.
41411         * tests/test-exclude.c (__attribute__): Remove definition.
41412         (ATTRIBUTE_NORETURN): Update definition. Define always.
41413         Reported by Paul Eggert.
41415 2011-02-13  Bruno Haible  <bruno@clisp.org>
41417         mbrtowc: Add more tests for native Windows platforms.
41418         * tests/test-mbrtowc-w32-1.sh: New file.
41419         * tests/test-mbrtowc-w32-2.sh: New file.
41420         * tests/test-mbrtowc-w32-3.sh: New file.
41421         * tests/test-mbrtowc-w32-4.sh: New file.
41422         * tests/test-mbrtowc-w32-5.sh: New file.
41423         * tests/test-mbrtowc-w32.c: New file.
41424         * modules/mbrtowc-tests (Files): Add them.
41425         (Makefile.am): Arrange to run these tests.
41426         * tests/test-mbrtowc-w32-6.sh: New file, currently unused.
41427         * tests/test-mbrtowc-w32-7.sh: New file, currently unused.
41429 2011-02-13  Bruno Haible  <bruno@clisp.org>
41431         mbrtowc: Work around native Windows bug.
41432         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Detect native Windows bug. Use the
41433         guess when no suitable locale for testing was found.
41434         * doc/posix-functions/mbrtowc.texi: Mention the native Windows bug.
41436 2011-02-13  Bruno Haible  <bruno@clisp.org>
41438         mbsinit: Work around mingw bug.
41439         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Replace mbsinit also on mingw.
41440         * lib/mbsinit.c (mbsinit): Provide an alternate definition for native
41441         Windows.
41442         * doc/posix-functions/mbsinit.texi: Mention the mingw bug.
41444 2011-02-13  Bruno Haible  <bruno@clisp.org>
41446         mbsinit: Don't crash for a NULL argument.
41447         * lib/mbsinit.c (mbsinit): When the argument is NULL, return 1.
41448         * tests/test-mbsinit.c (mbsinit): Check this behaviour.
41450 2011-02-13  Bruno Haible  <bruno@clisp.org>
41452         Don't interfere with a program's definition of __attribute__.
41453         * lib/stdio.in.h (__attribute__): Remove definition.
41454         (_GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_FORMAT_PRINTF): New macros.
41455         (dprintf, fprintf, obstack_printf, obstack_printf, obstack_vprintf,
41456         printf, snprintf, sprintf, asprintf, vasprintf, vdprintf, vfprintf,
41457         vsnprintf, vsprintf): Use _GL_ATTRIBUTE_FORMAT_PRINTF.
41458         * lib/string.in.h (__attribute__): Remove definition.
41459         Reported by Paul Eggert.
41461 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
41463         stdlib: don't get in the way of non-GCC __attribute__
41464         See thread starting at
41465         <http://lists.gnu.org/r/bug-gnulib/2011-02/msg00161.html>.
41466         Revert previous stdlib change, installing the following instead:
41467         * lib/stdlib.in.h (__attribute__): Remove.  We do not want
41468         to get in the way of a non-GCC compiler that supports __attribute__.
41469         (_GL_ATTRIBUTE_RETURN): New macro.
41470         (_Exit): Use it instead of __attribute__.
41472 2011-02-12  Bruno Haible  <bruno@clisp.org>
41474         quotearg test: Avoid test failure on mingw.
41475         * tests/test-quotearg.sh: Convert the locale identifier from native
41476         Windows syntax to Unix syntax.
41478 2011-02-12  Bruno Haible  <bruno@clisp.org>
41480         setlocale: Prefer gnulib's override over libintl's override.
41481         * lib/locale.in.h (GNULIB_defined_setlocale): New macro.
41482         * lib/gettext.h (setlocale): Redefine to rpl_setlocale if
41483         GNULIB_defined_setlocale is set.
41485 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
41487         stdlib: support non-GCC __attribute__
41489         Fix a serious and tricky problem encountered when attempting to
41490         add the getloadavg module to Emacs.  Emacs worked fine on RHEL
41491         5.5, but it crashed due to memory corruption on Solaris 10 with
41492         Sun C 5.11.  Emacs normally ORs 3-bit tags into their low-order
41493         bits that are otherwise zero.  This tagging is optional inside
41494         Emacs but is preferred and is used when __attribute__ ((__aligned
41495         (8))) works, as it does with both recent-enough GCC and with Sun C
41496         5.11.  However, Sun C 5.11 is not GCC and does not #define
41497         __GNUC__ and __GNUC_MINOR__.
41499         When I added the getloadavg module to Emacs, it brought in
41500         stdlib.in.h, which contained this fragment:
41502            #ifndef __attribute__
41503            # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
41504            #  define __attribute__(Spec)   /* empty */
41505            # endif
41506            #endif
41508         When files that include <stdlib.h> were compiled with Sun C 5.11,
41509         the above code disabled __attribute__ ((__aligned (8))), which
41510         caused variables to not be properly aligned, which eventually led
41511         to the pointer corruption mentioned above.  (This was a bit hard
41512         to diagnose, unfortunately.)
41514         Several "#define __attribute__(X) /* empty */" code snippets need
41515         to be eradicated from Gnulib to work with non-GCC compilers that
41516         support __attribute__.  The Autoconf way to do this is to test for
41517         each kind of attribute that we want support for, and selectively
41518         enable that in source code.
41520         Fix this problem just for stdlib.h, by adding a test for the
41521         __noreturn__ attribute, and change stdlib.in.h to use that test
41522         when needed.  This technique can be easily generalized to the
41523         other *.in.h files and attributes, and a similar technique can be
41524         used for *.h and *.c files.  This patch is enough to solve the
41525         problem for Emacs + getloadavg, and I thought I'd publish it for
41526         feedback before undertaking further, similar fixes in other
41527         modules.
41529         This patch does not arrange to #define HAVE_ATTRIBUTE_NORETURN
41530         because it's not needed for stdlib.h.  It merely substitutes the
41531         value directly into stdlib.h.  We may well need to #define it, or
41532         similar symbols, for other modules, but it's nice to also have an
41533         option to not #define it for applications like Emacs that do not
41534         need it.
41536         * lib/stdlib.in.h (__attribute__): Do not #define.
41537         (_GL_ATTRIBUTE_NORETURN): New macro, which in stdlib.h needs to
41538         be defined only if the _Exit module is also used.
41539         * m4/_Exit.m4 (gl_FUNC__EXIT): Require gl_ATTRIBUTE_NORETURN.
41540         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Subst
41541         HAVE_ATTRIBUTE_NORETURN and default it to 1, its value on GNU
41542         platforms.
41543         * modules/_Exit (Files): Add m4/attribute.m4.
41544         * modules/stdlib (Makefile.am): Substitute HAVE_ATTRIBUTE_NORETURN.
41545         * m4/attribute.m4: New file.
41547 2011-02-12  Bruno Haible  <bruno@clisp.org>
41549         wcsrtombs: Work around bug on native Windows.
41550         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_NULL): Test against mingw bug.
41551         * lib/wcsrtombs.c (rpl_wcsrtombs): When dest is NULL, pass SIZE_MAX
41552         instead of len.
41553         * doc/posix-functions/wcsrtombs.texi: Document mingw bug.
41555 2011-02-12  Bruno Haible  <bruno@clisp.org>
41557         mbsrtowcs: Work around bug on native Windows.
41558         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Require gt_LOCALE_FR. Test
41559         against mingw bug.
41560         * doc/posix-functions/mbsrtowcs.texi: Document mingw bug.
41562 2011-02-12  Bruno Haible  <bruno@clisp.org>
41564         Avoid setlocale bugs in tests.
41565         * modules/btowc (Dependencies): Add setlocale.
41566         * modules/c-strcase (Dependencies): Likewise.
41567         * modules/mbmemcasecmp (Dependencies): Likewise.
41568         * modules/mbmemcasecoll (Dependencies): Likewise.
41569         * modules/mbrtowc (Dependencies): Likewise.
41570         * modules/mbscasecmp (Dependencies): Likewise.
41571         * modules/mbscasestr (Dependencies): Likewise.
41572         * modules/mbschr (Dependencies): Likewise.
41573         * modules/mbscspn (Dependencies): Likewise.
41574         * modules/mbsinit (Dependencies): Likewise.
41575         * modules/mbsncasecmp (Dependencies): Likewise.
41576         * modules/mbsnrtowcs (Dependencies): Likewise.
41577         * modules/mbspbrk (Dependencies): Likewise.
41578         * modules/mbspcasecmp (Dependencies): Likewise.
41579         * modules/mbsrchr (Dependencies): Likewise.
41580         * modules/mbsrtowcs (Dependencies): Likewise.
41581         * modules/mbsspn (Dependencies): Likewise.
41582         * modules/mbsstr (Dependencies): Likewise.
41583         * modules/nl_langinfo (Dependencies): Likewise.
41584         * modules/quotearg (Dependencies): Likewise.
41585         * modules/unicase/locale-language (Dependencies): Likewise.
41586         * modules/unicase/ulc-casecmp (Dependencies): Likewise.
41587         * modules/unicase/ulc-casecoll (Dependencies): Likewise.
41588         * modules/unigbrk/ulc-grapheme-breaks (Dependencies): Likewise.
41589         * modules/unistdio/u8-vasnprintf (Dependencies): Likewise.
41590         * modules/unistdio/u16-vasnprintf (Dependencies): Likewise.
41591         * modules/unistdio/u32-vasnprintf (Dependencies): Likewise.
41592         * modules/unistdio/ulc-vasnprintf (Dependencies): Likewise.
41593         * modules/uniwbrk/ulc-wordbreaks (Dependencies): Likewise.
41594         * modules/vasnprintf-posix (Dependencies): Likewise.
41595         * modules/wcrtomb (Dependencies): Likewise.
41596         * modules/wcsnrtombs (Dependencies): Likewise.
41597         * modules/wcsrtombs (Dependencies): Likewise.
41599 2011-02-12  Bruno Haible  <bruno@clisp.org>
41601         setlocale: Workaround native Windows bug.
41602         * lib/setlocale.c (rpl_setlocale): On native Windows, when setlocale
41603         succeeds but sets LC_CTYPE to "C", report a failure.
41604         * tests/test-setlocale2.sh: New file.
41605         * tests/test-setlocale2.c: New file.
41606         * modules/setlocale-tests (Files): Add the new files.
41607         (Makefile.am): Enable test-setlocale2.sh test.
41608         * doc/posix-functions/setlocale.texi: Mention workaround.
41610 2011-02-11  Bruno Haible  <bruno@clisp.org>
41612         Tests for module 'setlocale'.
41613         * modules/setlocale-tests: New file.
41614         * tests/test-setlocale1.sh: New file.
41615         * tests/test-setlocale1.c: New file.
41617         New module 'setlocale'.
41618         * lib/locale.in.h (setlocale): New declaration.
41619         * lib/setlocale.c: New file, based on
41620         gettext/gettext-runtime/intl/setlocale.c.
41621         * m4/setlocale.m4: New file.
41622         * m4/locale_h.m4 (gl_LOCALE_H): Test whether setlocale is declared.
41623         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_SETLOCALE, REPLACE_SETLOCALE.
41624         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE,
41625         REPLACE_SETLOCALE.
41626         * modules/setlocale: New file.
41627         * tests/test-locale-c++.cc: Test the declaration of setlocale.
41628         * doc/posix-functions/setlocale.texi: Mention the new module.
41630 2011-02-11  Bruno Haible  <bruno@clisp.org>
41632         Prepare for locale dependent tests on mingw.
41633         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, don't try "ar"
41634         because it has the wrong locale encoding.
41635         * m4/locale-fr.m4 (gt_LOCALE_FR): On native Windows, try
41636         French_France.1252 instead of "fr".
41637         (gt_LOCALE_FR_UTF8): On native Windows, try French_France.65001.
41638         * m4/locale-ja.m4 (gt_LOCALE_JA): On native Windows, don't try "ja"
41639         because it has the wrong locale encoding.
41640         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Require AC_CANONICAL_HOST. On
41641         native Windows, try Turkish_Turkey.65001.
41642         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On native Windows, try
41643         Chinese_China.54936.
41645         Prepare for locale dependent tests on mingw.
41646         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, call setlocale
41647         differently.
41648         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
41649         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
41650         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
41651         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
41653 2011-02-11  Eric Blake  <eblake@redhat.com>
41655         strptime: avoid compiler warnings
41656         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT]: Avoid
41657         compiler warnings about dead code.
41658         Reported by Daniel P. Berrange.
41660 2011-02-11  Thien-Thi Nguyen  <ttn@gnuvola.org>
41662         doc: update users.txt
41663         * users.txt: Add rcs.
41665 2011-02-10  John W. Eaton  <jwe@gnu.org>
41667         doc: update users.txt
41668         * users.txt: Add octave.
41670 2011-02-10  Jim Meyering  <meyering@redhat.com>
41672         doc: update users.txt
41673         * users.txt: Add iwhd.
41675 2011-02-09  Bruno Haible  <bruno@clisp.org>
41677         gnulib-tool: Make copyright notice adjustment more robust.
41678         * gnulib-tool (func_import): In sed_transform_main_lib_file,
41679         sed_transform_build_aux_file, sed_transform_testsrelated_lib_file,
41680         allow a line break to occur after "GNU" in "GNU [Lesser] General Public
41681         License".
41682         Reported by Glenn Morris <rgm@gnu.org> via Paul Eggert.
41684 2011-02-06  Bruno Haible  <bruno@clisp.org>
41686         New module 'towctrans'.
41687         * modules/towctrans: New file.
41688         * lib/wctype.in.h (towctrans): New declaration.
41689         * lib/towctrans.c: New file.
41690         * lib/towctrans-impl.h: New file.
41691         * m4/towctrans.m4: New file.
41692         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towctrans is declared.
41693         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_TOWCTRANS.
41694         * modules/wctype-h (Makefile.am): Substitute GNULIB_TOWCTRANS.
41695         * tests/test-wctype-h-c++.cc: Test the declaration of towctrans.
41696         * doc/posix-functions/towctrans.texi: Mention the new module.
41698 2011-02-06  Bruno Haible  <bruno@clisp.org>
41700         New module 'wctrans'.
41701         * modules/wctrans: New file.
41702         * lib/wctype.in.h (wctrans): New declaration.
41703         * lib/wctrans.c: New file.
41704         * lib/wctrans-impl.h: New file.
41705         * m4/wctrans.m4: New file.
41706         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctrans is declared.
41707         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTRANS.
41708         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTRANS.
41709         * tests/test-wctype-h-c++.cc: Test the declaration of wctrans.
41710         * doc/posix-functions/wctrans.texi: Mention the new module.
41712 2011-02-06  Bruno Haible  <bruno@clisp.org>
41714         New module 'iswctype'.
41715         * modules/iswctype: New file.
41716         * lib/wctype.in.h (iswctype): New declaration.
41717         * lib/iswctype.c: New file.
41718         * lib/iswctype-impl.h: New file.
41719         * m4/iswctype.m4: New file.
41720         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether iswctype is declared.
41721         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWCTYPE.
41722         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWCTYPE.
41723         * tests/test-wctype-h-c++.cc: Test the declaration of iswctype.
41724         * doc/posix-functions/iswctype.texi: Mention the new module and the
41725         HP-UX 11.00 problem.
41727 2011-02-06  Bruno Haible  <bruno@clisp.org>
41729         New module 'wctype'.
41730         * modules/wctype: Change to represent the wctype() substitute.
41731         * lib/wctype.in.h (wctype): New declaration.
41732         * lib/wctype.c: New file.
41733         * lib/wctype-impl.h: New file.
41734         * m4/wctype.m4: New file.
41735         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctype is declared.
41736         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTYPE.
41737         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTYPE.
41738         * tests/test-wctype-h-c++.cc: Test the declaration of wctype.
41739         * doc/posix-functions/wctype.texi: Mention the new module and the
41740         HP-UX 11.00 problem.
41742 2011-02-06  Bruno Haible  <bruno@clisp.org>
41744         wctype-h: Ensure wctype_t and wctrans_t are defined.
41745         * lib/wctype.in.h (wctype_t, wctrans_t): New type declarations.
41746         * m4/wctype_h.m4 (gl_WCTYPE_H): Determine HAVE_WCTYPE_T, HAVE_WCTRANS_T.
41747         (gl_WCTYPE_H_DEFAULTS): Initialize HAVE_WCTYPE_T, HAVE_WCTRANS_T.
41748         * modules/wctype-h (Makefile.am): Substitute HAVE_WCTYPE_T,
41749         HAVE_WCTRANS_T.
41750         * tests/test-wctype-h.c: Check that wctype_t and wctrans_t are defined.
41752 2011-02-09  Paul Eggert  <eggert@cs.ucla.edu>
41754         flock: fix license typo
41756         * lib/flock.c: Fix typo in license.  One of the "Lesser"s was
41757         omitted.
41759 2011-02-08  Bruno Haible  <bruno@clisp.org>
41761         Split large sed scripts, for HP-UX sed.
41762         * modules/math (Makefile.am): Split sed scripts around 50 sed commands,
41763         to avoid HP-UX limit of 99 commands, in the near future.
41764         * modules/stdlib (Makefile.am): Likewise.
41765         * modules/unistd (Makefile.am): Likewise.
41766         * modules/wchar (Makefile.am): Likewise.
41767         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
41768         Suggestion by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> in
41769         <http://lists.gnu.org/r/bug-gnulib/2010-01/msg00216.html>.
41771 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
41772             Bruno Haible  <bruno@clisp.org>
41774         stdlib: improve random_r modularization
41775         * lib/stdlib.in.h: Encapsulate all the stuff having to do with
41776         random_r inside "#if @GNULIB_RANDOM_R@", so that it's clearer that
41777         you also need the random_r module to get this material right.
41778         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move check for random.h here ...
41779         * m4/stdlib_h.m4 (gl_STDLIB_H): ... from here.
41780         (gl_STDLIB_H_DEFAULTS): Default HAVE_RANDOM_H to 1, and AC_SUBST it.
41782 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
41784         stdlib: don't depend on stdint
41785         * lib/stdlib.in.h: Don't include <stdint.h> merely because
41786         GNULIB_POSIXCHECK is defined.  GNULIB_POSIXCHECK seems to
41787         be independent of whether stdint.h is needed.
41788         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Check for struct random_data
41789         here, instead of ...
41790         * m4/stdlib_h.m4 (gl_STDLIB_H): ... here.  Applications that need
41791         struct random_data should be using the random_r module, not just
41792         the stdlib module (which wouldn't make sense: what package needs
41793         just struct random_data without also needing random_r?).
41794         * modules/stdlib (Depends-on): Remove stdint.
41796         getloadavg: don't depend on c-strtod, cloexec, fcntl-safer
41797         See the thread rooted at
41798         <http://lists.gnu.org/r/bug-gnulib/2011-02/msg00090.html>.
41799         * lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h.
41800         Include <fcntl.h> only if (defined __linux__ || defined __CYGWIN__
41801         || defined SUNOS_5 || (defined LOAD_AVE_TYPE && !  defined
41802         __VMS)); previously it was always included (via fcntl--.h).
41803         (getloadavg): Do not use c_strtod.  Instead, approximate it by
41804         hand; this is good enough for load averages.  Also, do not use
41805         set_cloexec_flag; instead, use the O_CLOEXEC and F_DUPFD_CLOEXEC
41806         flags directly if available and don't bother otherwise.  (Packages
41807         that need the extra reliability should use the modules that define
41808         these flags on older platforms that lack them.)
41809         * modules/getloadavg (Depends-on): Remove c-strtod, cloexec,
41810         fcntl-safer.
41812 2011-02-08  Jim Meyering  <meyering@redhat.com>
41814         di-set.h, ino-map.h: add multiple-inclusion guard
41815         Technically, the guard is required only for ino-map.h, due to its
41816         INO_MAP_INSERT_FAILURE definition, but do both for consistency.
41817         * lib/di-set.h: Add file-spanning #ifndef _GL_DI_SET_H.
41818         * lib/ino-map.h: Likewise.
41820 2011-02-06  Bruno Haible  <bruno@clisp.org>
41822         iswblank: Ensure declaration on glibc systems.
41823         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Require gl_USE_SYSTEM_EXTENSIONS.
41824         * modules/iswblank (Dependencies): Add 'extensions'.
41825         * doc/posix-functions/iswblank.texi: Document the glibc problem.
41827 2011-02-06  Bruno Haible  <bruno@clisp.org>
41829         New module 'iswblank'.
41830         * lib/wctype.in.h (iswblank): Don't declare if GNULIB_ISWBLANK is 0.
41831         * modules/iswblank: New file.
41832         * modules/wctype-h (Files): Remove lib/iswblank.c.
41833         (Makefile.am): Substitute GNULIB_ISWBLANK.
41834         * m4/iswblank.m4: New file, partially extracted from m4/wctype_h.m4.
41835         * m4/wctype_h.m4 (gl_WCTYPE_MODULE_INDICATOR): New macro.
41836         (gl_WCTYPE_H_DEFAULTS): New macro.
41837         (gl_WCTYPE_H): Require it. Remove iswblank related code.
41838         * modules/iswblank-tests: New file.
41839         * tests/test-iswblank.c: New file, extraced from tests/test-wctype-h.c.
41840         * tests/test-wctype-h.c (main): Remove iswblank tests.
41841         * tests/test-wctype-h-c++.cc: Guard the signature test of iswblank.
41842         * doc/posix-functions/iswblank.texi: Mention module 'iswblank' instead
41843         of 'wctype-h'.
41844         * NEWS: Mention the change.
41845         * modules/mbchar (Depends-on): Add iswblank.
41847 2011-02-08  Bruno Haible  <bruno@clisp.org>
41849         di-set tests: Refactor.
41850         * tests/test-di-set.c: Include di-set.h early. Include macros.h. Drop
41851         unnecessary includes.
41852         (ASSERT): Remove macro.
41853         (main): Make C90 compliant by avoiding variable declaration after
41854         statement.
41855         * modules/di-set-tests (Files): Add tests/macros.h.
41857 2011-02-08  Bruno Haible  <bruno@clisp.org>
41859         ino-map tests: Refactor.
41860         * tests/test-ino-map.c: Include ino-map.h early. Include macros.h. Drop
41861         unnecessary includes.
41862         (ASSERT): Remove macro.
41863         (main): Make C90 compliant by avoiding variable declaration after
41864         statement.
41865         * modules/ino-map-tests (Files): Add tests/macros.h.
41867 2011-02-08  Jim Meyering  <meyering@redhat.com>
41869         di-set: add "const" to a cast
41870         * lib/di-set.c (di_set_insert): Cast hash_insert0 argument to
41871         "(void const *)", not "(void *)".  Spotted by Bruno Haible.
41873 2011-02-06  Bruno Haible  <bruno@clisp.org>
41875         Rename module 'wctype' to 'wctype-h'.
41876         * modules/wctype-h: Renamed from modules/wctype.
41877         * modules/wctype: Simplyfy to a redirection to 'wctype-h'.
41878         * modules/wctype-h-tests: Renamed from modules/wctype-tests.
41879         (Files, Depends-on, Makefile.am): Update.
41880         * modules/wctype-h-c++-tests: Renamed from modules/wctype-c++-tests.
41881         (Files, Makefile.am): Update.
41882         * tests/test-wctype-h.c: Renamed from tests/test-wctype.c.
41883         * tests/test-wctype-h-c++.cc: Renamed from tests/test-wctype-c++.cc.
41884         * doc/posix-headers/wctype.texi: Update.
41885         * doc/posix-functions/iswalnum.texi: Update.
41886         * doc/posix-functions/iswalpha.texi: Update.
41887         * doc/posix-functions/iswblank.texi: Update.
41888         * doc/posix-functions/iswcntrl.texi: Update.
41889         * doc/posix-functions/iswdigit.texi: Update.
41890         * doc/posix-functions/iswgraph.texi: Update.
41891         * doc/posix-functions/iswlower.texi: Update.
41892         * doc/posix-functions/iswprint.texi: Update.
41893         * doc/posix-functions/iswpunct.texi: Update.
41894         * doc/posix-functions/iswspace.texi: Update.
41895         * doc/posix-functions/iswupper.texi: Update.
41896         * doc/posix-functions/iswxdigit.texi: Update.
41897         * doc/posix-functions/towlower.texi: Update.
41898         * doc/posix-functions/towupper.texi: Update.
41899         * NEWS: Mention the change.
41900         * modules/fnmatch (Dependencies): Add wctype-h, remove wctype.
41901         * modules/mbchar (Dependencies): Likewise.
41902         * modules/mbswidth (Dependencies): Likewise.
41903         * modules/quotearg (Dependencies): Likewise.
41904         * modules/regex (Dependencies): Likewise.
41905         * modules/wcscasecmp (Dependencies): Likewise.
41906         * modules/wcsncasecmp (Dependencies): Likewise.
41907         * modules/wcwidth (Dependencies): Likewise.
41909 2011-02-06  Bruno Haible  <bruno@clisp.org>
41911         New module 'wcswidth'.
41912         * modules/wcswidth: New file.
41913         * lib/wchar.in.h (wcswidth): New declaration.
41914         * lib/wcswidth.c: New file.
41915         * lib/wcswidth-impl.h: New file, from libutf8 with modifications.
41916         * m4/wcswidth.m4: New file.
41917         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcswidth is declared.
41918         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSWIDTH, HAVE_WCSWIDTH,
41919         REPLACE_WCSWIDTH.
41920         * modules/wchar (Makefile.am): Substitute GNULIB_WCSWIDTH,
41921         HAVE_WCSWIDTH, REPLACE_WCSWIDTH.
41922         * tests/test-wchar-c++.cc: Test the declaration of wcswidth.
41923         * doc/posix-functions/wcswidth.texi: Mention the new module.
41925 2011-02-06  Bruno Haible  <bruno@clisp.org>
41927         New module 'wcstok'.
41928         * modules/wcstok: New file.
41929         * lib/wchar.in.h (wcstok): New declaration.
41930         * lib/wcstok.c: New file.
41931         * lib/wcstok-impl.h: New file, from libutf8 with modifications.
41932         * m4/wcstok.m4: New file.
41933         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcstok is declared.
41934         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSTOK, HAVE_WCSTOK.
41935         * modules/wchar (Makefile.am): Substitute GNULIB_WCSTOK, HAVE_WCSTOK.
41936         * tests/test-wchar-c++.cc: Test the declaration of wcstok.
41937         * doc/posix-functions/wcstok.texi: Mention the new module.
41939 2011-02-06  Bruno Haible  <bruno@clisp.org>
41941         New module 'wcsstr'.
41942         * modules/wcsstr: New file.
41943         * lib/wchar.in.h (wcsstr): New declaration.
41944         * lib/wcsstr.c: New file.
41945         * lib/wcsstr-impl.h: New file, from libutf8 with modifications.
41946         * m4/wcsstr.m4: New file.
41947         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsstr is declared.
41948         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSTR, HAVE_WCSSTR.
41949         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSTR, HAVE_WCSSTR.
41950         * tests/test-wchar-c++.cc: Test the declaration of wcsstr.
41951         * doc/posix-functions/wcsstr.texi: Mention the new module.
41953 2011-02-06  Bruno Haible  <bruno@clisp.org>
41955         New module 'wcspbrk'.
41956         * modules/wcspbrk: New file.
41957         * lib/wchar.in.h (wcspbrk): New declaration.
41958         * lib/wcspbrk.c: New file.
41959         * lib/wcspbrk-impl.h: New file, from libutf8 with modifications.
41960         * m4/wcspbrk.m4: New file.
41961         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcspbrk is declared.
41962         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSPBRK, HAVE_WCSPBRK.
41963         * modules/wchar (Makefile.am): Substitute GNULIB_WCSPBRK, HAVE_WCSPBRK.
41964         * tests/test-wchar-c++.cc: Test the declaration of wcspbrk.
41965         * doc/posix-functions/wcspbrk.texi: Mention the new module.
41967 2011-02-06  Bruno Haible  <bruno@clisp.org>
41969         New module 'wcsspn'.
41970         * modules/wcsspn: New file.
41971         * lib/wchar.in.h (wcsspn): New declaration.
41972         * lib/wcsspn.c: New file.
41973         * lib/wcsspn-impl.h: New file, from libutf8 with modifications.
41974         * m4/wcsspn.m4: New file.
41975         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsspn is declared.
41976         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSPN, HAVE_WCSSPN.
41977         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSPN, HAVE_WCSSPN.
41978         * tests/test-wchar-c++.cc: Test the declaration of wcsspn.
41979         * doc/posix-functions/wcsspn.texi: Mention the new module.
41981 2011-02-06  Bruno Haible  <bruno@clisp.org>
41983         New module 'wcscspn'.
41984         * modules/wcscspn: New file.
41985         * lib/wchar.in.h (wcscspn): New declaration.
41986         * lib/wcscspn.c: New file.
41987         * lib/wcscspn-impl.h: New file, from libutf8 with modifications.
41988         * m4/wcscspn.m4: New file.
41989         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscspn is declared.
41990         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCSPN, HAVE_WCSCSPN.
41991         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCSPN, HAVE_WCSCSPN.
41992         * tests/test-wchar-c++.cc: Test the declaration of wcscspn.
41993         * doc/posix-functions/wcscspn.texi: Mention the new module.
41995 2011-02-06  Bruno Haible  <bruno@clisp.org>
41997         New module 'wcsrchr'.
41998         * modules/wcsrchr: New file.
41999         * lib/wchar.in.h (wcsrchr): New declaration.
42000         * lib/wcsrchr.c: New file.
42001         * lib/wcsrchr-impl.h: New file, from libutf8 with modifications.
42002         * m4/wcsrchr.m4: New file.
42003         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsrchr is declared.
42004         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRCHR, HAVE_WCSRCHR.
42005         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRCHR, HAVE_WCSRCHR.
42006         * tests/test-wchar-c++.cc: Test the declaration of wcsrchr.
42007         * doc/posix-functions/wcsrchr.texi: Mention the new module.
42009 2011-02-06  Bruno Haible  <bruno@clisp.org>
42011         New module 'wcschr'.
42012         * modules/wcschr: New file.
42013         * lib/wchar.in.h (wcschr): New declaration.
42014         * lib/wcschr.c: New file.
42015         * lib/wcschr-impl.h: New file, from libutf8 with modifications.
42016         * m4/wcschr.m4: New file.
42017         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcschr is declared.
42018         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCHR, HAVE_WCSCHR.
42019         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCHR, HAVE_WCSCHR.
42020         * tests/test-wchar-c++.cc: Test the declaration of wcschr.
42021         * doc/posix-functions/wcschr.texi: Mention the new module.
42023 2011-02-06  Bruno Haible  <bruno@clisp.org>
42025         New module 'wcsdup'.
42026         * modules/wcsdup: New file.
42027         * lib/wchar.in.h (wcsdup): New declaration.
42028         * lib/wcsdup.c: New file.
42029         * lib/wcsdup-impl.h: New file, from libutf8 with modifications.
42030         * m4/wcsdup.m4: New file.
42031         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsdup is declared.
42032         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSDUP, HAVE_WCSDUP.
42033         * modules/wchar (Makefile.am): Substitute GNULIB_WCSDUP, HAVE_WCSDUP.
42034         * tests/test-wchar-c++.cc: Test the declaration of wcsdup.
42035         * doc/posix-functions/wcsdup.texi: Mention the new module.
42037 2011-02-06  Bruno Haible  <bruno@clisp.org>
42039         New module 'wcsxfrm'.
42040         * modules/wcsxfrm: New file.
42041         * lib/wchar.in.h (wcsxfrm): New declaration.
42042         * lib/wcsxfrm.c: New file.
42043         * lib/wcsxfrm-impl.h: New file.
42044         * m4/wcsxfrm.m4: New file.
42045         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsxfrm is declared.
42046         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSXFRM, HAVE_WCSXFRM.
42047         * modules/wchar (Makefile.am): Substitute GNULIB_WCSXFRM, HAVE_WCSXFRM.
42048         * tests/test-wchar-c++.cc: Test the declaration of wcsxfrm.
42049         * doc/posix-functions/wcsxfrm.texi: Mention the new module.
42051 2011-02-06  Bruno Haible  <bruno@clisp.org>
42053         New module 'wcscoll'.
42054         * modules/wcscoll: New file.
42055         * lib/wchar.in.h (wcscoll): New declaration.
42056         * lib/wcscoll.c: New file.
42057         * lib/wcscoll-impl.h: New file.
42058         * m4/wcscoll.m4: New file.
42059         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscoll is declared.
42060         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCOLL, HAVE_WCSCOLL.
42061         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCOLL, HAVE_WCSCOLL.
42062         * tests/test-wchar-c++.cc: Test the declaration of wcscoll.
42063         * doc/posix-functions/wcscoll.texi: Mention the new module.
42065 2011-02-06  Bruno Haible  <bruno@clisp.org>
42067         New module 'wcsncasecmp'.
42068         * modules/wcsncasecmp: New file.
42069         * lib/wchar.in.h (wcsncasecmp): New declaration.
42070         * lib/wcsncasecmp.c: New file.
42071         * lib/wcsncasecmp-impl.h: New file, from libutf8 with modifications.
42072         * m4/wcsncasecmp.m4: New file.
42073         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncasecmp is declared.
42074         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCASECMP, HAVE_WCSNCASECMP.
42075         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCASECMP,
42076         HAVE_WCSNCASECMP.
42077         * tests/test-wchar-c++.cc: Test the declaration of wcsncasecmp.
42078         * doc/posix-functions/wcsncasecmp.texi: Mention the new module.
42080 2011-02-06  Bruno Haible  <bruno@clisp.org>
42082         New module 'wcscasecmp'.
42083         * modules/wcscasecmp: New file.
42084         * lib/wchar.in.h (wcscasecmp): New declaration.
42085         * lib/wcscasecmp.c: New file.
42086         * lib/wcscasecmp-impl.h: New file, from libutf8 with modifications.
42087         * m4/wcscasecmp.m4: New file.
42088         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscasecmp is declared.
42089         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCASECMP, HAVE_WCSCASECMP.
42090         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCASECMP,
42091         HAVE_WCSCASECMP.
42092         * tests/test-wchar-c++.cc: Test the declaration of wcscasecmp.
42093         * doc/posix-functions/wcscasecmp.texi: Mention the new module.
42095 2011-02-05  Bruno Haible  <bruno@clisp.org>
42097         New module 'wcsncmp'.
42098         * modules/wcsncmp: New file.
42099         * lib/wchar.in.h (wcsncmp): New declaration.
42100         * lib/wcsncmp.c: New file.
42101         * lib/wcsncmp-impl.h: New file, from libutf8 with modifications.
42102         * m4/wcsncmp.m4: New file.
42103         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncmp is declared.
42104         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCMP, HAVE_WCSNCMP.
42105         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCMP, HAVE_WCSNCMP.
42106         * tests/test-wchar-c++.cc: Test the declaration of wcsncmp.
42107         * doc/posix-functions/wcsncmp.texi: Mention the new module.
42109 2011-02-05  Bruno Haible  <bruno@clisp.org>
42111         New module 'wcscmp'.
42112         * modules/wcscmp: New file.
42113         * lib/wchar.in.h (wcscmp): New declaration.
42114         * lib/wcscmp.c: New file.
42115         * lib/wcscmp-impl.h: New file, from libutf8 with modifications.
42116         * m4/wcscmp.m4: New file.
42117         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscmp is declared.
42118         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCMP, HAVE_WCSCMP.
42119         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCMP, HAVE_WCSCMP.
42120         * tests/test-wchar-c++.cc: Test the declaration of wcscmp.
42121         * doc/posix-functions/wcscmp.texi: Mention the new module.
42123 2011-02-05  Bruno Haible  <bruno@clisp.org>
42125         New module 'wcsncat'.
42126         * modules/wcsncat: New file.
42127         * lib/wchar.in.h (wcsncat): New declaration.
42128         * lib/wcsncat.c: New file.
42129         * lib/wcsncat-impl.h: New file, from libutf8 with modifications.
42130         * m4/wcsncat.m4: New file.
42131         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncat is declared.
42132         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCAT, HAVE_WCSNCAT.
42133         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCAT, HAVE_WCSNCAT.
42134         * tests/test-wchar-c++.cc: Test the declaration of wcsncat.
42135         * doc/posix-functions/wcsncat.texi: Mention the new module.
42137 2011-02-05  Bruno Haible  <bruno@clisp.org>
42139         New module 'wcscat'.
42140         * modules/wcscat: New file.
42141         * lib/wchar.in.h (wcscat): New declaration.
42142         * lib/wcscat.c: New file.
42143         * lib/wcscat-impl.h: New file, from libutf8 with modifications.
42144         * m4/wcscat.m4: New file.
42145         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscat is declared.
42146         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCAT, HAVE_WCSCAT.
42147         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCAT, HAVE_WCSCAT.
42148         * tests/test-wchar-c++.cc: Test the declaration of wcscat.
42149         * doc/posix-functions/wcscat.texi: Mention the new module.
42151 2011-02-05  Bruno Haible  <bruno@clisp.org>
42153         New module 'wcpncpy'.
42154         * modules/wcpncpy: New file.
42155         * lib/wchar.in.h (wcpncpy): New declaration.
42156         * lib/wcpncpy.c: New file.
42157         * lib/wcpncpy-impl.h: New file, from libutf8 with modifications.
42158         * m4/wcpncpy.m4: New file.
42159         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpncpy is declared.
42160         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPNCPY, HAVE_WCPNCPY.
42161         * modules/wchar (Makefile.am): Substitute GNULIB_WCPNCPY, HAVE_WCPNCPY.
42162         * tests/test-wchar-c++.cc: Test the declaration of wcpncpy.
42163         * doc/posix-functions/wcpncpy.texi: Mention the new module.
42165 2011-02-05  Bruno Haible  <bruno@clisp.org>
42167         New module 'wcsncpy'.
42168         * modules/wcsncpy: New file.
42169         * lib/wchar.in.h (wcsncpy): New declaration.
42170         * lib/wcsncpy.c: New file.
42171         * lib/wcsncpy-impl.h: New file, from libutf8 with modifications.
42172         * m4/wcsncpy.m4: New file.
42173         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncpy is declared.
42174         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCPY, HAVE_WCSNCPY.
42175         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCPY, HAVE_WCSNCPY.
42176         * tests/test-wchar-c++.cc: Test the declaration of wcsncpy.
42177         * doc/posix-functions/wcsncpy.texi: Mention the new module.
42179 2011-02-05  Bruno Haible  <bruno@clisp.org>
42181         New module 'wcpcpy'.
42182         * modules/wcpcpy: New file.
42183         * lib/wchar.in.h (wcpcpy): New declaration.
42184         * lib/wcpcpy.c: New file.
42185         * lib/wcpcpy-impl.h: New file, from libutf8 with modifications.
42186         * m4/wcpcpy.m4: New file.
42187         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpcpy is declared.
42188         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPCPY, HAVE_WCPCPY.
42189         * modules/wchar (Makefile.am): Substitute GNULIB_WCPCPY, HAVE_WCPCPY.
42190         * tests/test-wchar-c++.cc: Test the declaration of wcpcpy.
42191         * doc/posix-functions/wcpcpy.texi: Mention the new module.
42193 2011-02-05  Bruno Haible  <bruno@clisp.org>
42195         New module 'wcscpy'.
42196         * modules/wcscpy: New file.
42197         * lib/wchar.in.h (wcscpy): New declaration.
42198         * lib/wcscpy.c: New file.
42199         * lib/wcscpy-impl.h: New file, from libutf8 with modifications.
42200         * m4/wcscpy.m4: New file.
42201         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscpy is declared.
42202         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCPY, HAVE_WCSCPY.
42203         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCPY, HAVE_WCSCPY.
42204         * tests/test-wchar-c++.cc: Test the declaration of wcscpy.
42205         * doc/posix-functions/wcscpy.texi: Mention the new module.
42207 2011-02-05  Bruno Haible  <bruno@clisp.org>
42209         New module 'wcsnlen'.
42210         * modules/wcsnlen: New file.
42211         * lib/wchar.in.h (wcsnlen): New declaration.
42212         * lib/wcsnlen.c: New file.
42213         * lib/wcsnlen-impl.h: New file, from libutf8 with modifications.
42214         * m4/wcsnlen.m4: New file.
42215         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsnlen is declared.
42216         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNLEN, HAVE_WCSNLEN.
42217         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNLEN, HAVE_WCSNLEN.
42218         * tests/test-wchar-c++.cc: Test the declaration of wcsnlen.
42219         * doc/posix-functions/wcsnlen.texi: Mention the new module.
42221 2011-02-05  Bruno Haible  <bruno@clisp.org>
42223         New module 'wcslen'.
42224         * modules/wcslen: New file.
42225         * lib/wchar.in.h (wcslen): New declaration.
42226         * lib/wcslen.c: New file.
42227         * lib/wcslen-impl.h: New file, from libutf8 with modifications.
42228         * m4/wcslen.m4: New file.
42229         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcslen is declared.
42230         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSLEN, HAVE_WCSLEN.
42231         * modules/wchar (Makefile.am): Substitute GNULIB_WCSLEN, HAVE_WCSLEN.
42232         * tests/test-wchar-c++.cc: Test the declaration of wcslen.
42233         * doc/posix-functions/wcslen.texi: Mention the new module.
42235 2011-02-05  Bruno Haible  <bruno@clisp.org>
42237         New module 'wmemset'.
42238         * modules/wmemset: New file.
42239         * lib/wchar.in.h (wmemset): New declaration.
42240         * lib/wmemset.c: New file.
42241         * lib/wmemset-impl.h: New file, from libutf8 with modifications.
42242         * m4/wmemset.m4: New file.
42243         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemset is declared.
42244         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMSET, HAVE_WMEMSET.
42245         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMSET, HAVE_WMEMSET.
42246         * tests/test-wchar-c++.cc: Test the declaration of wmemset.
42247         * doc/posix-functions/wmemset.texi: Mention the new module.
42249 2011-02-05  Bruno Haible  <bruno@clisp.org>
42251         New module 'wmemmove'.
42252         * modules/wmemmove: New file.
42253         * lib/wchar.in.h (wmemmove): New declaration.
42254         * lib/wmemmove.c: New file.
42255         * lib/wmemmove-impl.h: New file, from libutf8 with modifications.
42256         * m4/wmemmove.m4: New file.
42257         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemmove is declared.
42258         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMMOVE, HAVE_WMEMMOVE.
42259         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMMOVE,
42260         HAVE_WMEMMOVE.
42261         * tests/test-wchar-c++.cc: Test the declaration of wmemmove.
42262         * doc/posix-functions/wmemmove.texi: Mention the new module.
42264 2011-02-05  Bruno Haible  <bruno@clisp.org>
42266         New module 'wmemcpy'.
42267         * modules/wmemcpy: New file.
42268         * lib/wchar.in.h (wmemcpy): New declaration.
42269         * lib/wmemcpy.c: New file.
42270         * lib/wmemcpy-impl.h: New file, from libutf8 with modifications.
42271         * m4/wmemcpy.m4: New file.
42272         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcpy is declared.
42273         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCPY, HAVE_WMEMCPY.
42274         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCPY, HAVE_WMEMCPY.
42275         * tests/test-wchar-c++.cc: Test the declaration of wmemcpy.
42276         * doc/posix-functions/wmemcpy.texi: Mention the new module.
42278 2011-02-05  Bruno Haible  <bruno@clisp.org>
42280         New module 'wmemcmp'.
42281         * modules/wmemcmp: New file.
42282         * lib/wchar.in.h (wmemcmp): New declaration.
42283         * lib/wmemcmp.c: New file.
42284         * lib/wmemcmp-impl.h: New file, from libutf8 with modifications.
42285         * m4/wmemcmp.m4: New file.
42286         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcmp is declared.
42287         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCMP, HAVE_WMEMCMP.
42288         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCMP, HAVE_WMEMCMP.
42289         * tests/test-wchar-c++.cc: Test the declaration of wmemcmp.
42290         * doc/posix-functions/wmemcmp.texi: Mention the new module.
42292 2011-02-07  Jim Meyering  <meyering@redhat.com>
42294         di-set, ino-map: new modules, from coreutils
42295         * lib/di-set.c: New file.
42296         * lib/di-set.h: Likewise.
42297         * lib/ino-map.c: Likewise.
42298         * lib/ino-map.h: Likewise.
42299         * modules/di-set: Likewise.
42300         * modules/di-set-tests: Likewise.
42301         * modules/ino-map: Likewise.
42302         * modules/ino-map-tests: Likewise.
42303         * tests/test-di-set.c: Likewise.
42304         * tests/test-ino-map.c: Likewise.
42306 2011-02-06  Paul Eggert  <eggert@cs.ucla.edu>
42308         getloadavg: merge minor changes from Emacs
42310         * lib/getloadavg.c (getloadavg_initialized): More-accurate comment.
42311         (getloadavg): Use memset, not bzero.
42313         2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
42314         * lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h
42315         clash (bug#86).
42317 2010-11-14  Bruno Haible  <bruno@clisp.org>
42319         Allow multiple gnulib generated replacements to coexist.
42320         * lib/getopt.in.h (struct option): Avoid identical redefinition.
42321         * lib/inttypes.in.h (imaxdiv_t): Likewise.
42322         * lib/langinfo.in.h (nl_item): Likewise.
42323         * lib/math.in.h (_NaN, NAN): Likewise.
42324         * lib/netdb.in.h (struct addrinfo): Likewise.
42325         * lib/poll.in.h (struct pollfd, nfds_t): Likewise.
42326         * lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t,
42327         pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t,
42328         pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t,
42329         pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy,
42330         pthread_cond_init, pthread_cond_signal, pthread_cond_wait,
42331         pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy,
42332         pthread_mutexattr_init, pthread_mutexattr_settype,
42333         pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock,
42334         pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t,
42335         pthread_spin_init, pthread_spin_destroy, pthread_spin_lock,
42336         pthread_spin_trylock, pthread_spin_unlock): Likewise.
42337         * lib/sched.in.h (struct sched_param): Likewise.
42338         * lib/se-selinux.in.h (security_class_t, security_context_t,
42339         is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon,
42340         matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon,
42341         lsetfilecon, fsetfilecon, security_check_context,
42342         security_check_context_raw, setexeccon, matchpathcon_init_prefix):
42343         Likewise.
42344         * lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn):
42345         Likewise.
42346         * lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint,
42347         _gl_function_taking_int_returning_void_t, union sigval,
42348         struct siginfo_t, siginfo_t, struct sigaction): Likewise.
42349         * lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t,
42350         verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
42351         * lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t,
42352         gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t,
42353         uint_least8_t, int_least16_t, uint_least16_t, int_least32_t,
42354         uint_least32_t, int_least64_t, uint_least64_t, gl_int_fast8_t,
42355         gl_uint_fast8_t, gl_int_fast16_t, gl_uint_fast16_t, gl_int_fast32_t,
42356         gl_uint_fast32_t, int_fast64_t, uint_fast64_t, gl_intptr_t,
42357         gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise.
42358         * lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise.
42359         * lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage,
42360         socklen_t, rpl_fd_isset): Likewise.
42361         * lib/sys_stat.in.h (rpl_mkdir): Likewise.
42362         * lib/sys_time.in.h (struct timeval): Likewise.
42363         * lib/sys_times.in.h (struct tms): Likewise.
42364         * lib/sys_utsname.in.h (struct utsname):
42365         * lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise.
42366         * lib/unistd.in.h (getpagesize): Likewise.
42367         * lib/wchar.in.h (mbstate_t): Likewise.
42368         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
42369         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit,
42370         towlower, towupper): Likewise.
42371         Reported by Sam Steingold <sds@gnu.org>.
42373 2011-02-05  Eric Blake  <eblake@redhat.com>
42375         unsetenv: work around Haiku issues
42376         * m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue.
42377         * doc/posix-functions/unsetenv.texi (unsetenv): Document it.
42379 2010-12-30  Bruce Korb  <bkorb@gnu.org>
42381         libposix: avoid calling error() within libposix
42382         * lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX
42383         is defined.
42385 2011-02-05  Eric Blake  <eblake@redhat.com>
42387         strerror_r-posix: port to cygwin
42388         * lib/strerror_r.c (strerror_r) [__CYGWIN__]: Add cygwin
42389         implementation.
42390         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Adjust comment.
42391         * tests/test-strerror_r.c (main): Fix test.
42392         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
42393         issue.
42395 2011-02-05  Bruno Haible  <bruno@clisp.org>
42397         New module 'wmemchr'.
42398         * modules/wmemchr: New file.
42399         * lib/wchar.in.h (wmemchr): New declaration.
42400         * lib/wmemchr.c: New file.
42401         * lib/wmemchr-impl.h: New file, from libutf8 with modifications.
42402         * m4/wmemchr.m4: New file.
42403         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemchr is declared.
42404         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCHR, HAVE_WMEMCHR.
42405         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCHR, HAVE_WMEMCHR.
42406         * tests/test-wchar-c++.cc: Test the declaration of wmemchr.
42407         * doc/posix-functions/wmemchr.texi: Mention the new module.
42409 2011-02-04  Eric Blake  <eblake@redhat.com>
42411         fdopendir: detect FreeBSD bug
42412         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Detect bug.
42413         * doc/posix-functions/fdopendir.texi (fdopendir): Document it.
42415 2011-02-04  Paul Eggert  <eggert@cs.ucla.edu>
42417         stdbool: do not define HAVE_STDBOOL_H
42418         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Renamed from
42419         AC_HEADER_STDBOOL.  All uses changed.  Do not define
42420         HAVE_STDBOOL_H, as gnulib does not need this.  This change is
42421         imported from the latest Autoconf git.  It was motivated by Emacs,
42422         which uses gnulib but does not need HAVE_STDBOOL_H.
42424 2011-02-04  Bruno Haible  <bruno@clisp.org>
42426         wcsnrtombs: Prepare for new module wwcsnrtombs.
42427         * lib/wcsnrtombs-impl.h: New file, extracted from lib/wcsnrtombs.c.
42428         * lib/wcsnrtombs.c: Include it.
42429         * modules/wcsnrtombs (Files): Add lib/wcsnrtombs-impl.h.
42431         wcsrtombs: Prepare for new module wwcsrtombs.
42432         * lib/wcsrtombs-impl.h: New file, extracted from lib/wcsrtombs.c.
42433         * lib/wcsrtombs.c: Include it.
42434         * modules/wcsrtombs (Files): Add lib/wcsrtombs-impl.h.
42436         mbsnrtowcs: Prepare for new module mbsnrtowwcs.
42437         * lib/mbsnrtowcs-impl.h: New file, extracted from lib/mbsnrtowcs.c.
42438         * lib/mbsnrtowcs.c: Include it.
42439         * modules/mbsnrtowcs (Files): Add lib/mbsnrtowcs-impl.h.
42441         mbsrtowcs: Prepare for new module mbsrtowwcs.
42442         * lib/mbsrtowcs-impl.h: New file, extracted from lib/mbsrtowcs.c.
42443         * lib/mbsrtowcs.c: Include it.
42444         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-impl.h.
42446 2011-02-04  Bruno Haible  <bruno@clisp.org>
42448         vasnprintf: Reduce use of malloc for small format strings.
42449         * lib/printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro.
42450         (arguments): Add room for the first 7 arguments.
42451         * lib/printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro.
42452         (char_directives, u8_directives, u16_directives, u32_directives): Add
42453         room for the first 7 directives.
42454         * lib/printf-parse.c: Include <string.h>.
42455         (PRINTF_PARSE): Change memory handling code so that it uses the first
42456         7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct.
42457         * lib/vasnprintf.c (VASNPRINTF): Update memory handling code.
42458         Reported by Pádraig Brady <P@draigbrady.com>.
42460 2011-01-31  Eric Blake  <eblake@redhat.com>
42462         dup2: work around Haiku bug
42463         * m4/dup2.m4 (gl_FUNC_DUP2): Test for bug.
42464         * lib/dup2.c (rpl_dup2) [!WIN32]: Add workaround.
42465         * doc/posix-functions/dup2.texi (dup2): Document the bug.
42466         * tests/test-dup2.c (main): Enhance test.
42468 2011-01-31  Simon Josefsson  <simon@josefsson.org>
42470         doc: off_t is not available in eglibc 2.11.2 stdio.h.
42471         * doc/posix-headers/stdio.texi (stdio.h): Mention that off_t isn't
42472         declared by eglibc 2.11.2.
42473         * lib/stdio.in.h: Likewise.
42475 2011-01-31  Eric Blake  <eblake@redhat.com>
42477         ignore-value: add missing test dependency
42478         * tests/test-ignore-value.c: Revert previous change; stdio.h
42479         provides off_t.
42480         * modules/ignore-value-tests (Depends-on): Add missing dependency.
42482 2011-01-30  Paul Eggert  <eggert@cs.ucla.edu>
42484         mktime: clarify long_int width checking
42485         * lib/mktime.c (long_int_is_wide_enough): Move this assertion to
42486         the top level, to make it clearer that the assumption about
42487         long_int width is being checked.  See
42488         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00554.html>.
42490 2011-01-30  Simon Josefsson  <simon@josefsson.org>
42492         ignore-value: Fix self-test.
42493         * tests/test-ignore-value.c: Include sys/types.h for off_t.
42495 2011-01-29  Paul Eggert  <eggert@cs.ucla.edu>
42497         TYPE_MAXIMUM: avoid theoretically undefined behavior
42498         * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
42499         negative number, which the C Standard says has undefined behavior.
42500         In practice this is not a problem, but might as well do it by the book.
42501         Reported by Rich Felker and Eric Blake; see
42502         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00493.html>.
42503         * lib/strtol.c (TYPE_MINIMUM, TYPE_MAXIMUM): Likewise.
42504         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
42505         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
42506         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Likewise.
42507         * m4/stdint.m4 (gl_STDINT_H): Likewise.
42508         * lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.
42510         mktime: #undef mktime before #defining it
42511         * lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.
42513         mktime: systematically normalize tm_isdst comparisons
42514         * lib/mktime.c (isdst_differ): New function.
42515         (__mktime_internal): Use it systematically for all isdst comparisons.
42516         This completes the fix for libc BZ #6723, and removes the need for
42517         normalizing tm_isdst.  See
42518         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
42519         (not_equal_tm) [DEBUG]: Use isdst_differ here, too.
42521         mktime: fix some integer overflow issues and sidestep the rest
42523         This was prompted by a bug report by Benjamin Lindner for MinGW
42524         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00472.html>.
42525         His bug is due to signed integer overflow (0 - INT_MIN), and I
42526         I scanned through mktime.c looking for other integer overflow
42527         problems, fixing all the bugs I found.
42529         Although the C Standard says the resulting code is still not safe
42530         in the presence of integer overflow, in practice it should be good
42531         enough for all real-world two's-complement implementations, except
42532         for debugging environments that deliberately trap on integer
42533         overflow (e.g., gcc -ftrapv).
42535         * lib/mktime.c (WRAPV): New macro.
42536         (SHR): Also check that long_int and time_t shift right in the
42537         usual way, before using the fast-but-unportable method.
42538         (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
42539         used.  The code already assumed two's complement, so there's
42540         no need to test for alternatives.  All uses removed.
42541         (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
42542         the C standard.  Problem reported by Rich Felker in
42543         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00488.html>.
42544         (twos_complement_arithmetic): Also check long_int and time_t.
42545         (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
42546         (guess_time_tm, ranged_convert, __mktime_internal): Use them.
42547         (__mktime_internal): Avoid integer overflow with unary subtraction
42548         in two instances where -1 - X is an adequate replacement for -X,
42549         since the calculations are approximate.
42551 2011-01-29  Eric Blake  <eblake@redhat.com>
42553         mktime: avoid infinite loop
42554         * m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed
42555         type; behavior is still undefined but portable to all known targets.
42556         Reported by Rich Felker.
42558 2011-01-29  Simon Josefsson  <simon@josefsson.org>
42560         rename, unlink, same-inode: Relicense.
42561         * modules/rename (License): Relax from LGPLv3+ to LGPLv2+.
42562         * modules/unlink (License): Likewise.
42563         * modules/same-inode (License): Likewise.
42565 2011-01-28  Paul Eggert  <eggert@cs.ucla.edu>
42567         mktime: avoid problems on NetBSD 5 / i386
42568         * lib/mktime.c (long_int): New type.  This works around a problem
42569         on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
42570         but time_t is 64 bits, and where I expect the existing code is
42571         wrong in some cases.
42572         (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
42573         (ydhms_diff): Bring back the compile-time check for wide-enough
42574         year and yday.
42576         mktime: fix misspelling in comment
42577         * lib/mktime.c (__mktime_internal): Fix misspelling in comment.
42578         This merges all recent glibc changes of importance.
42580 2011-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42582         move-if-change: cope with concurrent mv of identical file.
42583         * build-aux/move-if-change (CMPPROG): Accept environment
42584         variable as an override for `cmp'.
42585         (usage): Document CMPPROG.
42586         Adjust comparison to drop stdout.  Cope with failure of mv if
42587         the target file exists and is identical to the source, for
42588         parallel builds.
42589         Report from H.J. Lu against binutils in PR binutils/12283.
42591 2011-01-28  Bruce Korb  <bkorb@gnu.org>
42593         * users.txt: Mention sharutils.
42595 2011-01-28  Simon Josefsson  <simon@josefsson.org>
42597         * users.txt: Mention OATH Toolkit.
42599 2011-01-27  Bruno Haible  <bruno@clisp.org>
42601         Prepare for supporting FreeBSD 10.
42602         * build-aux/config.libpath: Remove handling of freebsd1*.
42604 2011-01-27  Gerald Pfeifer  <gerald@pfeifer.com>  (tiny change)
42606         Prepare for supporting FreeBSD 10.
42607         * build-aux/config.rpath: Remove handling of freebsd1* which soon would
42608         match FreeBSD 10.0.
42610 2011-01-27  Bruno Haible  <bruno@clisp.org>
42612         vma-iter, get-rusage-as: Add OpenBSD support.
42613         * modules/vma-iter (configure.ac): Test for mquery.
42614         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on OpenBSD.
42615         * lib/vma-iter.c: Include <sys/mman.h>.
42616         (vma_iterate): Add an implementation based on mquery().
42617         * lib/resource-ext.h (get_rusage_as): Update comments.
42618         * lib/get-rusage-as.c: Likewise.
42619         * lib/get-rusage-data.c: Likewise.
42621 2011-01-26  Karl Berry  <karl@gnu.org>
42623         * doc/Makefile (lang_env, makeinfo_prog, manual_opts): new
42624         variables to make it easier to override the makeinfo program used.
42626 2011-01-26  Eric Blake  <eblake@redhat.com>
42628         fcntl: work around Haiku F_DUPFD bugs
42629         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also catch Haiku errno bug.
42630         * lib/fcntl.c (rpl_fcntl) [F_DUPFD]: Work around Haiku losing
42631         cloexec bit on duplication.
42632         * doc/posix-functions/fcntl.texi (fcntl): Document the bug.
42634 2011-01-26  Bruno Haible  <bruno@clisp.org>
42636         Enable memory leak tests on AIX.
42637         * tests/test-dprintf-posix2.c (main): Don't skip the test on AIX.
42638         * tests/test-fprintf-posix3.c (main): Likewise.
42640 2011-01-26  Bruno Haible  <bruno@clisp.org>
42642         Tests for module 'get-rusage-data'.
42643         * modules/get-rusage-data-tests: New file.
42644         * tests/test-get-rusage-data.c: New file.
42646         New module 'get-rusage-data'.
42647         * lib/resource-ext.h (get_rusage_data): New declaration.
42648         * lib/get-rusage-data.c: New file.
42649         * modules/get-rusage-data: New file.
42651 2011-01-25  Bruno Haible  <bruno@clisp.org>
42653         get-rusage-as: Allow for easier testing.
42654         * lib/resource-ext.h (get_rusage_as): Add comment.
42655         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Define always.
42656         (main): New function for interactive testing.
42658 2011-01-25  Bruno Haible  <bruno@clisp.org>
42660         vma-iter: Treat Haiku like BeOS.
42661         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Haiku as well.
42662         * lib/vma-iter.c (vma_iterate) [Haiku]: Use the BeOS API.
42664 2011-01-25  Eric Blake  <eblake@redhat.com>
42666         c-stack: fix regression on cygwin when libsigsegv is present
42667         * lib/c-stack.c (die): Don't flatten error if sigsegv is present.
42669 2011-01-24  Bruno Haible  <bruno@clisp.org>
42671         vma-iter: Avoid empty intervals.
42672         * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback
42673         on an empty interval.
42675 2011-01-24  Jim Meyering  <meyering@redhat.com>
42677         u64: remove unnecessary #include
42678         * lib/u64.h: Don't include <stddef.h>.  It was not used.
42680 2011-01-23  Paul Eggert  <eggert@cs.ucla.edu>
42682         Allow the user to avoid the HAVE_RAW_DECL_* macros.
42683         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): New macro.
42685 2011-01-23  Bruno Haible  <bruno@clisp.org>
42687         New module 'vma-iter'.
42688         * lib/vma-iter.h: New file.
42689         * lib/vma-iter.c: New file, based on lib/get-rusage-as.c.
42690         * modules/vma-iter: New file.
42691         * lib/get-rusage-as.c: Include vma-iter.h. Don't include system headers
42692         for get_rusage_as_via_iterator.
42693         (vma_iterate_callback): New function.
42694         (get_rusage_as_via_iterator): Rewritten to use vma_iterate.
42695         * modules/get-rusage-as (Depends-on): Add vma-iter.
42697 2011-01-23  Bruno Haible  <bruno@clisp.org>
42699         uninorm: Tweak includes.
42700         * lib/uninorm/normalize-internal.h: Don't include <stddef.h>.
42701         Reported by Jim Meyering.
42703 2011-01-23  Bruno Haible  <bruno@clisp.org>
42705         get-rusage-as: Improve on NetBSD.
42706         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use
42707         /proc, like on FreeBSD.
42709 2011-01-23  Jim Meyering  <meyering@redhat.com>
42711         xreadlink.h: remove unnecessary #include
42712         * lib/xreadlink.h: Don't include <stddef.h>.  It was not used.
42714         maint.mk: add syntax-check rule: detect unnecessary #include <stddef.h>
42715         * top/maint.mk (sc_prohibit_stddef_without_use): New rule.
42717 2011-01-23  Bruno Haible  <bruno@clisp.org>
42719         get-rusage-as: Fix bug.
42720         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Restore the
42721         original limit when aborting the first loop.
42723 2011-01-23  Bruno Haible  <bruno@clisp.org>
42725         wctype: Ensure valid C syntax.
42726         * m4/wctype_h.m4 (gl_WCTYPE_H): Invoke gl_CHECK_NEXT_HEADERS
42727         unconditionally, instead of gl_NEXT_HEADERS conditionally.
42729 2011-01-21  Paul Eggert  <eggert@cs.ucla.edu>
42731         getopt: omit HAVE_OPTRESET, HAVE_GETOPT_CLIP from config.h
42732         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not put the
42733         symbols HAVE_OPTRESET and HAVE_GETOPT_CLIP into config.h,
42734         as they are needed only for configure's test case.
42735         This removes two unnecessary symbols from config.h.
42737         gl_CHECK_NEXT_HEADERS implies AC_CHECK_HEADERS_ONCE
42738         * m4/include_next.m4 (gl_CHECK_HEXT_HEADERS): Document this.
42739         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't bother to invoke
42740         AC_CHECK_HEADERS_ONCE on a header that we also invoke
42741         gl_CHECK_NEXT_HEADERS on, since the latter invokes the former.
42742         * m4/netdb_h.m4 (gl_HEADER_NETDB): Likewise.
42743         * m4/pthread.m4 (gl_PTHREAD_CHECK): Likewise.
42744         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
42745         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
42746         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
42747         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
42748         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
42749         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
42750         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
42751         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
42752         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
42753         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
42754         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
42756 2011-01-21  Eric Blake  <eblake@redhat.com>
42758         maintainer-makefile: work with older git for submodule check
42759         * top/maint.mk (public-submodule-commit): Rewrite to avoid
42760         merge-base --independent, which Ubuntu 10.04 git 1.7.0.4 lacks.
42761         Reported by Matthias Bolte.
42763         bootstrap: minor portability fixes
42764         * build-aux/bootstrap (me): Use $me instead of $0 in functions.
42765         (usage): Omit leading capital and trailing . on help phrases, per
42766         GNU Coding Standards.
42767         (check_versions, top level): Prefix messages with script name.
42769 2011-01-21  Benjamin Lindner  <bjmldn@gmail.com>  (tiny change)
42771         bootstrap: support --no-git option
42772         * build-aux/bootstrap: Add --no-git option, to be used when
42773         --gnulib-srcdir points to the exact desired checkout.
42775 2011-01-21  Eric Blake  <eblake@redhat.com>
42777         strerror_r-posix: work with glibc 2.13
42778         * lib/strerror_r.c (strerror_r): Fix return type.
42780 2011-01-21  Pádraig Brady  <P@draigBrady.com>
42781             Bruno Haible  <bruno@clisp.org>
42783         uN_strstr: New unit tests.
42784         * modules/unistr/u8-strstr-tests: New file.
42785         * modules/unistr/u16-strstr-tests: New file.
42786         * modules/unistr/u32-strstr-tests: New file.
42787         * tests/unistr/test-u-strstr.h: New file, based on tests/test-strstr.c.
42788         * tests/unistr/test-u8-strstr.c: New file.
42789         * tests/unistr/test-u16-strstr.c: New file.
42790         * tests/unistr/test-u32-strstr.c: New file.
42792 2011-01-21  Pádraig Brady  <P@draigBrady.com>
42793             Bruno Haible  <bruno@clisp.org>
42795         Make uN_strstr functions O(n) worst-case.
42796         * lib/unistr/u-strstr.h (FUNC): In the 8-bit case, use strstr. In the
42797         16-bit and 32-bit unit cases, use the unibyte algorithm from
42798         lib/mbsstr.c.
42799         * lib/unistr/u8-strstr.c: Include <string.h>.
42800         (UNIT_IS_UINT8_T): New macro.
42801         * lib/unistr/u16-strstr.c: Include malloca.h and str-kmp.h.
42802         (U_STRLEN, U_STRNLEN): New macros.
42803         * lib/unistr/u32-strstr.c: Include malloca.h and str-kmp.h.
42804         (U_STRLEN, U_STRNLEN): New macros.
42805         * modules/unistr/u8-strstr (Depends-on): Add strstr.
42806         (configure.ac): Update required libunistring version.
42807         * modules/unistr/u16-strstr (Files): Add lib/str-kmp.h.
42808         (Depends-on): Add unistr/u16-strlen, unistr/u16-strnlen, stdbool,
42809         malloca.
42810         (configure.ac): Update required libunistring version.
42811         * modules/unistr/u32-strstr (Files): Add lib/str-kmp.h.
42812         (Depends-on): Add unistr/u32-strlen, unistr/u32-strnlen, stdbool,
42813         malloca.
42814         (configure.ac): Update required libunistring version.
42816 2011-01-21  Pádraig Brady  <P@draigBrady.com>
42817             Bruno Haible  <bruno@clisp.org>
42819         Prepare for faster uN_strstr functions.
42820         * lib/str-kmp.h: Support definable UNITs.
42821         (knuth_morris_pratt): Renamed from knuth_morris_pratt_unibyte. Add
42822         needle_len argument.
42823         * lib/mbsstr.c (mbsstr): Adjust for the changed str-kmp.h.
42824         * lib/mbscasestr.c (mbscasestr): Likewise.
42826 2011-01-21  Pádraig Brady  <P@draigBrady.com>
42828         malloca-tests: make faster by unsetting MALLOC_PERTURB_
42829         * tests/test-malloca.c (main): Unset the environment variable
42830         to greatly speed up the test.
42831         * tests/init.sh: Don't say that MALLOC_PERTURB_ is cheap.
42832         * modules/malloca-tests: Depend on unsetenv.
42834 2011-01-21  Pádraig Brady  <P@draigBrady.com>
42836         ignore-value: remove stdint dependency
42837         * lib/ignore-value.h: Remove <stdint.h>
42838         * modules/ignore-value: Remove stdint dependency.
42840 2011-01-21  Jim Meyering  <meyering@redhat.com>
42842         maint.mk: adjust variable name to be consistent with other gl_ vars
42843         * top/maint.mk (gl_public_submodule_commit): Rename the variable
42844         to be lower case.
42846 2011-01-20  Jim Meyering  <meyering@redhat.com>
42848         maint.mk: make "check" depend on public-submodule-commit by default
42849         * top/maint.mk (GL_PUBLIC_SUBMODULE_COMMIT): New overridable variable.
42851 2011-01-20  Bruno Haible  <bruno@clisp.org>
42853         mbfile, mbiter: Complete change from 2008-12-21.
42854         * m4/mbfile.m4 (gl_MBFILE): Don't require AC_FUNC_MBRTOWC.
42855         * m4/mbiter.m4 (gl_MBITER): Likewise.
42857 2011-01-20  Jim Meyering  <meyering@redhat.com>
42859         init.sh: insert space between each function name and "()"
42860         * tests/init.sh: Make it a little easier to see that a function's
42861         name is "warn_", and not "warn" when looking at the first part of
42862         its definition: "warn_ ()".  Suggested by Ralf Wildenhues.
42864 2011-01-20  Jim Meyering  <meyering@redhat.com>
42866         mountlist: clean up code formatting
42867         * lib/mountlist.c (read_file_system_list): Split a long line,
42868         correct bracing style, use NULL in place of "(struct statfs *)0",
42869         don't parenthesize return value, add spaces around "=" and after
42870         ";-in-for-stmt".
42872 2011-01-14  Markus Duft  <mduft@gentoo.org>
42874         mountlist: add support for Interix
42875         * lib/mountlist.c (read_file_system_list) [MOUNTED_INTERIX_STATVFS]:
42876         Apply statvfs to all entries of /dev/fs.
42877         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for statvfs,
42878         and if found, AC_DEFINE MOUNTED_INTERIX_STATVFS.
42880 2011-01-20  Jim Meyering  <meyering@redhat.com>
42882         maint.mk: improve the public-submodule-commit rule
42883         * top/maint.mk (public-submodule-commit): Prefix with $(AM_V_GEN),
42884         to suppress printing of its commands... unless V=1.
42885         Add git submodule's --quiet option to suppress printing of e.g.,
42886         "Entering gnulib" output.
42887         "cd" into $(srcdir) before running git submodule.
42889 2011-01-20  Bruno Haible  <bruno@clisp.org>
42891         include_next: Fix bug introduced on 2011-01-18.
42892         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): New macro, extracted
42893         from gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. Omit test of
42894         ac_cv_header_... variable if the second argument is not 'check'.
42895         (gl_CHECK_NEXT_HEADERS, gl_NEXT_HEADERS): Invoke
42896         gl_NEXT_HEADERS_INTERNAL.
42898 2011-01-20  Bruno Haible  <bruno@clisp.org>
42900         Allow the user to avoid the GNULIB_TEST_* macros.
42901         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_TESTS): New macro.
42902         Suggested by Paul Eggert.
42904 2011-01-14  Jim Meyering  <meyering@redhat.com>
42906         bootstrap: avoid failure when there is no .gitmodules file
42907         ": ${gnulib_path=gnulib}" fails to set $gnulib_path when that variable
42908         has been assigned to, even when its value is the empty string.
42909         * build-aux/bootstrap (gnulib_path): Test explicitly for an empty
42910         "$gnulib_path", rather than using ${gnulib_path=gnulib}.
42911         Reported by John W. Eaton <jwe@gnu.org>.
42913 2011-01-19  Paul Eggert  <eggert@cs.ucla.edu>
42915         assume <ctype.h>, ..., <time.h> exist
42916         For years gnulib has been assuming the existence of the headers
42917         <ctype.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
42918         <stdio.h>, <stdlib.h>, <string.h>, and <time.h>.  Omit checks for
42919         them, since they don't appear to be needed.
42920         * README (Portability guidelines): Document this.
42921         * lib/flock.c: Assume <fcntl.h> exists.
42922         * lib/regex_internal.h: Assume <locale.h> exists.
42923         * m4/ctype.m4 (gl_CTYPE_H): Assume <ctype.h> exists.
42924         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Assume <errno.h> exists.
42925         * m4/fcntl_h.m4 (gl_FCNTL_H): Assume <fcntl.h> exists.
42926         * m4/flock.m4 (gl_PREREQ_FLOCK): Likewise.
42927         * m4/locale_h.m4 (gl_LOCALE_H): Assume <locale.h> exists.
42928         * m4/regex.m4 (gl_REGEX): Likewise.
42929         * m4/signal_h.m4 (gl_SIGNAL_H): Assume <signal.h> exists.
42930         * m4/stdio_h.m4 (gl_STDIO_H): Assume <stdio.h> exists.
42931         * m4/stdlib_h.m4 (gl_STDLIB_H): Assume <stdlib.h> exists.
42932         * m4/string_h.m4 (gl_STRING_H): Assume <string.h> exists.
42933         * tests/test-argp.c: Likewise.
42934         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Assume <time.h> exists.
42936         multiarch: remove AA_APPLE_UNIVERSAL_BUILD
42937         * m4/multiarch.m4 (gl_MULTIARCH): Don't AC_DEFINE
42938         AA_APPLE_UNIVERSAL_BUILD.  See
42939         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00247.html>.
42940         * NEWS: Document this.
42942 2011-01-19  Eric Blake  <eblake@redhat.com>
42944         c-stack: assume stack overflow if SA_SIGINFO unsupported
42945         * lib/c-stack.c (SIGACTION_WORKS): Rename...
42946         (SIGINFO_WORKS): ...since gnulib module guarantees that (most) of
42947         sigaction will work.
42948         (die): Assume stack overflow if siginfo doesn't work, to let Haiku
42949         behavior match Linux.
42950         * tests/test-c-stack.c (main): Prefer NULL for pointers.
42952         stdbool-tests: accommodate Haiku
42953         * tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool.
42955         binary-io: fix O_TEXT on Haiku
42956         * modules/binary-io (Depends-on): Add fcntl-h.
42957         * lib/binary-io.h (O_TEXT): Rely on replacement <fcntl.h> rather
42958         than blindly undefining O_TEXT.
42959         Reported by Scott McCreary.
42961 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
42963         include_next: do not check for standard headers like stddef.h
42965         I found this problem when modifying Emacs to use gnulib.
42966         I noticed that it added HAVE_STDDEF_H to config.h, even though
42967         gnulib always assumes <stddef.h> exists as per README and this
42968         symbol is unnecessary.
42969         * m4/include_next.m4 (gl_NEXT_HEADERS): New macro, which does not
42970         use AC_CHECK_HEADERS_ONCE, but which otherwise contains what
42971         gl_CHECK_NEXT_HEADERS used to contain.  This makes 'configure' run
42972         faster for headers like stddef.h that are known to exist.
42973         (gl_CHECK_NEXT_HEADERS): Use it.
42974         * m4/float_h.m4 (gl_FLOAT_H): For float.h, use gl_NEXT_HEADERS
42975         rather than gl_CHECK_NEXT_HEADERS.
42976         * m4/stdarg.m4 (gl_STDARG_H): Likewise, for stdarg.h.
42977         * m4/stddef_h.m4 (gl_STDDEF_H): Likewise, for stddef.h.
42979 2011-01-18  Eric Blake  <eblake@redhat.com>
42981         ansi-c++-opt: skip C++ dependency style if C++ is unused
42982         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Avoid full-blown dependency
42983         tests when we know C++ compilation is not desired.
42984         Reported by Scott McCreary.
42986 2011-01-18  Bruno Haible  <bruno@clisp.org>
42988         *printf-posix: Avoid test failures. Make tests work on MacOS X, Cygwin.
42989         * tests/test-fprintf-posix3.c: Include "resource-ext.h".
42990         (main): Perform test also when getrlimit and setrlimit don't exist or
42991         when setrlimit of RLIMIT_DATA fails (like on Cygwin). Instead of
42992         limiting the address space size using setrlimit, compare the address
42993         space size before and after the test.
42994         * tests/test-dprintf-posix2.c: Likewise.
42995         * tests/test-fprintf-posix3.sh: Update skip messages.
42996         * tests/test-dprintf-posix2.sh: Likewise.
42997         * modules/fprintf-posix-tests (Depends-on): Add get-rusage-as.
42998         * modules/dprintf-posix-tests (Depends-on): Likewise.
42999         Reported by Bruce Korb <bkorb@gnu.org> and
43000         Gary V. Vaughan <gary@gnu.org>.
43002 2011-01-18  Bruno Haible  <bruno@clisp.org>
43004         get-rusage-as: Improvement for Cygwin.
43005         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On Windows, ignore
43006         areas that are merely reserved.
43008 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
43010         strftime: remove dependencies on multibyte modules
43012         strftime depended on mbrlen, mbsinit, and wchar, but these modules
43013         are needed only if ! MULTIBYTE_IS_FORMAT_SAFE, and that is true
43014         only if __osf__ is defined, and I suspect OSF doesn't need these
43015         other modules.  If my guess is wrong, we'll need to come up with a
43016         variant of strftime that doesn't need the multibyte modules.
43018         I discovered this problem when attempting modify Emacs to use the
43019         strftime module.  With the previous gnulib, this caused Emacs to
43020         need 31 new files, ranging from lib/config.charset to
43021         m4/wint_t.m4.  This was overkill and I expect would be offputting
43022         to the Emacs maintainers.  After this change, only 6 new files are
43023         needed, namely strftime.[ch], srtftime.m4, stdbool.in.h,
43024         stdbool.m4, and tm_gmtoff.m4.
43026         * lib/strftime.c (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 always.
43027         Suggested by Bruno Haible in
43028         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00238.html>.
43029         * m4/strftime.m4 (gl_FUNC_STRFTIME): Do not require AC_TYPE_MBSTATE_T,
43030         and do not check for wchar.h.
43031         * modules/strftime (Files): Remove m4/mbstate_t.m4.
43032         (Depends-on): Remove mbrlen, mbsinit, wchar.
43034 2011-01-18  Bruno Haible  <bruno@clisp.org>
43036         Tests for module 'get-rusage-as'.
43037         * modules/get-rusage-as-tests: New file.
43038         * tests/test-get-rusage-as.c: New file.
43040         New module 'get-rusage-as'.
43041         * modules/get-rusage-as: New file.
43042         * lib/resource-ext.h: New file.
43043         * lib/get-rusage-as.c: New file.
43045 2011-01-17  Eric Blake  <eblake@redhat.com>
43047         sigaction: relax license from LGPLv3+ to LGPLv2+
43048         * modules/sigaction (License): Relax to LGPLv2+.
43050 2011-01-14  Bruno Haible  <bruno@clisp.org>
43052         filemode: Make function declarations usable in C++ mode.
43053         * lib/filemode.h: Enclose function declarations in extern "C" block.
43054         Reported by John W. Eaton <jwe@gnu.org>.
43056 2011-01-12  Rob Vermaas  <rob.vermaas@gmail.com>
43058         save-cwd: no longer include "xgetcwd.h"
43059         * lib/save-cwd.c: Don't include "xgetcwd.h"; it's no longer used.
43060         This avoids a compilation failure in projects that use save-cwd
43061         without also using the xgetcwd module.
43063 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
43065         ftoastr: split into 3 modules ftoastr, dtoastr, ldtoastr
43066         This is so that a program like Emacs, which needs only dtoastr,
43067         does not have to bother with distributing and compiling ftoastr
43068         and ldtoastr.
43069         * MODULES.html.sh: Document these modules (ftoastr wasn't documented).
43070         * modules/dtoastr, modules/ldtoastr: New files.
43071         * modules/ftoastr: Now works just for 'float'.
43072         (Files): Remove lib/dtoastr.c, lib/ldtoastr.c.
43073         (Makefile.am): Remove ftoastr.h (not needed and no effect),
43074         dtoastr.c, ldtoastr.c.
43076 2011-01-11  Jim Meyering  <meyering@redhat.com>
43078         save-cwd: remove #if-!HAVE_FCHDIR'd code; use the fchdir module
43079         There is no need to work around the lack of the fchdir function,
43080         since gnulib can now provide a replacement when required.
43081         * lib/save-cwd.c: Remove #if !HAVE_FCHDIR...#endif code.
43082         * modules/save-cwd (Depends-on): Add fchdir.
43084 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
43086         openat, save-cwd: avoid xmalloc
43088         This removes a direct (but undocumented) dependency of openat on
43089         xalloc, along with an indirect dependency via save-cwd.  It also
43090         removes a dependency of save-cwd on xgetcwd, and thereby
43091         indirectly on xalloc.  This change causes the openat substitute
43092         to fall back on save_cwd when memory is tight, and for save_cwd to
43093         fail instead of dying when memory is tight, but that's good enough.
43094         Problem and initial idea for fix reported by Bastien Roucaries in
43095         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00170.html>.
43097         * lib/openat-proc.c: Include stdlib.h (for malloc), not
43098         xalloc.h (for xmalloc).
43099         (openat_proc_name): Use malloc, not xmalloc.
43100         * lib/save-cwd.c (save_cwd): Use getcwd, not xgetcwd.
43101         * modules/save-cwd (Files): Depend on getcwd, not xgetcwd.
43103         openat: Increase OPENAT_BUFFER_SIZE from 512 to at least 1024
43104         This avoids heap allocation for file names whose lengths are in
43105         the range 512..1023, with the upper bound increasing to at most
43106         4031 depending on the platform's PATH_MAX.  (We do not want
43107         pathmax.h here as it might supply a non-constant PATH_MAX.)
43108         * lib/openat-priv.h (SAFER_ALLOCA_MAX, SAFER_ALLOCA): New macros.
43109         Perhaps they should be moved to malloca.h?
43110         (OPENAT_BUFFER_SIZE): Use them.
43112 2011-01-10  Bruno Haible  <bruno@clisp.org>
43114         doc: Update users.txt.
43115         * users.txt: Add recutils.
43117 2011-01-09  Karl Berry  <karl@gnu.org>
43119         * doc/posix-functions/gai_strerror.texi: Insert missing @item.
43121         * doc/configmake.texi: New file.
43122         * doc/gnulib.texi: Include it.
43123         * modules/configmake: Move documentation from here.
43125 2011-01-09  Bruno Haible  <bruno@clisp.org>
43127         Update to Unicode 6.0.0.
43128         * lib/gen-uni-tables.c (symbolic_width): Fix bounds of planes.
43129         (get_lbp): Update for Unicode 6.0.0.
43130         * lib/uniwidth/width.c (nonspacing_table_data): Add U+065F,
43131         U+0859..U+085B, U+093A, U+0956..U+0957, U+0F8D..U+0F8F, U+135D..U+135E,
43132         U+1BE6, U+1BE8..U+1BE9, U+1BED, U+1BEF..U+1BF1, U+1DFC, U+2D7F,
43133         U+11001, U+11038..U+11046. Remove U+06DE.
43134         (uc_width): Fix bounds of planes.
43135         * tests/uniwidth/test-uc_width2.sh: Same updates as in
43136         lib/uniwidth/width.c.
43137         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 6.0.0, with
43138         trailing whitespace removed.
43139         * tests/uninorm/NormalizationTest.txt: Update from Unicode 6.0.0,
43140         without comments, but with the original copyright notice.
43141         * lib/unicase/cased.h: Regenerated for Unicode 6.0.0.
43142         * lib/unicase/ignorable.h: Likewise.
43143         * lib/unicase/tocasefold.h: Likewise.
43144         * lib/unicase/tolower.h: Likewise.
43145         * lib/unicase/totitle.h: Likewise.
43146         * lib/unicase/toupper.h: Likewise.
43147         * lib/unictype/bidi_of.h: Likewise.
43148         * lib/unictype/blocks.h: Likewise.
43149         * lib/unictype/categ_C.h: Likewise.
43150         * lib/unictype/categ_Cn.h: Likewise.
43151         * lib/unictype/categ_L.h: Likewise.
43152         * lib/unictype/categ_Ll.h: Likewise.
43153         * lib/unictype/categ_Lm.h: Likewise.
43154         * lib/unictype/categ_Lo.h: Likewise.
43155         * lib/unictype/categ_Lu.h: Likewise.
43156         * lib/unictype/categ_M.h: Likewise.
43157         * lib/unictype/categ_Mc.h: Likewise.
43158         * lib/unictype/categ_Me.h: Likewise.
43159         * lib/unictype/categ_Mn.h: Likewise.
43160         * lib/unictype/categ_N.h: Likewise.
43161         * lib/unictype/categ_Nd.h: Likewise.
43162         * lib/unictype/categ_No.h: Likewise.
43163         * lib/unictype/categ_P.h: Likewise.
43164         * lib/unictype/categ_Po.h: Likewise.
43165         * lib/unictype/categ_S.h: Likewise.
43166         * lib/unictype/categ_Sc.h: Likewise.
43167         * lib/unictype/categ_Sk.h: Likewise.
43168         * lib/unictype/categ_Sm.h: Likewise.
43169         * lib/unictype/categ_So.h: Likewise.
43170         * lib/unictype/categ_of.h: Likewise.
43171         * lib/unictype/combining.h: Likewise.
43172         * lib/unictype/ctype_alnum.h: Likewise.
43173         * lib/unictype/ctype_alpha.h: Likewise.
43174         * lib/unictype/ctype_graph.h: Likewise.
43175         * lib/unictype/ctype_lower.h: Likewise.
43176         * lib/unictype/ctype_print.h: Likewise.
43177         * lib/unictype/ctype_punct.h: Likewise.
43178         * lib/unictype/ctype_upper.h: Likewise.
43179         * lib/unictype/decdigit.h: Likewise.
43180         * lib/unictype/digit.h: Likewise.
43181         * lib/unictype/numeric.h: Likewise.
43182         * lib/unictype/pr_alphabetic.h: Likewise.
43183         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
43184         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
43185         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
43186         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
43187         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
43188         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
43189         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
43190         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
43191         * lib/unictype/pr_case_ignorable.h: Likewise.
43192         * lib/unictype/pr_cased.h: Likewise.
43193         * lib/unictype/pr_changes_when_casefolded.h: Likewise.
43194         * lib/unictype/pr_changes_when_casemapped.h: Likewise.
43195         * lib/unictype/pr_changes_when_lowercased.h: Likewise.
43196         * lib/unictype/pr_changes_when_titlecased.h: Likewise.
43197         * lib/unictype/pr_changes_when_uppercased.h: Likewise.
43198         * lib/unictype/pr_combining.h: Likewise.
43199         * lib/unictype/pr_composite.h: Likewise.
43200         * lib/unictype/pr_currency_symbol.h: Likewise.
43201         * lib/unictype/pr_decimal_digit.h: Likewise.
43202         * lib/unictype/pr_deprecated.h: Likewise.
43203         * lib/unictype/pr_format_control.h: Likewise.
43204         * lib/unictype/pr_grapheme_base.h: Likewise.
43205         * lib/unictype/pr_grapheme_extend.h: Likewise.
43206         * lib/unictype/pr_grapheme_link.h: Likewise.
43207         * lib/unictype/pr_id_continue.h: Likewise.
43208         * lib/unictype/pr_id_start.h: Likewise.
43209         * lib/unictype/pr_ideographic.h: Likewise.
43210         * lib/unictype/pr_lowercase.h: Likewise.
43211         * lib/unictype/pr_math.h: Likewise.
43212         * lib/unictype/pr_numeric.h: Likewise.
43213         * lib/unictype/pr_other_alphabetic.h: Likewise.
43214         * lib/unictype/pr_other_id_continue.h: Likewise.
43215         * lib/unictype/pr_other_math.h: Likewise.
43216         * lib/unictype/pr_punctuation.h: Likewise.
43217         * lib/unictype/pr_sentence_terminal.h: Likewise.
43218         * lib/unictype/pr_terminal_punctuation.h: Likewise.
43219         * lib/unictype/pr_unassigned_code_value.h: Likewise.
43220         * lib/unictype/pr_unified_ideograph.h: Likewise.
43221         * lib/unictype/pr_uppercase.h: Likewise.
43222         * lib/unictype/pr_xid_continue.h: Likewise.
43223         * lib/unictype/pr_xid_start.h: Likewise.
43224         * lib/unictype/scripts.h: Likewise.
43225         * lib/unictype/scripts_byname.gperf: Likewise.
43226         * lib/unictype/sy_java_ident.h: Likewise.
43227         * lib/unigbrk/gbrkprop.h: Likewise.
43228         * lib/unilbrk/lbrkprop1.h: Likewise.
43229         * lib/unilbrk/lbrkprop2.h: Likewise.
43230         * lib/uninorm/decomposition-table2.h: Likewise.
43231         * lib/uniwbrk/wbrkprop.h: Likewise.
43232         * tests/unicase/test-cased.c: Likewise.
43233         * tests/unicase/test-ignorable.c: Likewise.
43234         * tests/unicase/test-uc_tolower.c: Likewise.
43235         * tests/unicase/test-uc_totitle.c: Likewise.
43236         * tests/unicase/test-uc_toupper.c: Likewise.
43237         * tests/unictype/test-categ_C.c: Likewise.
43238         * tests/unictype/test-categ_Cn.c: Likewise.
43239         * tests/unictype/test-categ_L.c: Likewise.
43240         * tests/unictype/test-categ_Ll.c: Likewise.
43241         * tests/unictype/test-categ_Lm.c: Likewise.
43242         * tests/unictype/test-categ_Lo.c: Likewise.
43243         * tests/unictype/test-categ_Lu.c: Likewise.
43244         * tests/unictype/test-categ_M.c: Likewise.
43245         * tests/unictype/test-categ_Mc.c: Likewise.
43246         * tests/unictype/test-categ_Me.c: Likewise.
43247         * tests/unictype/test-categ_Mn.c: Likewise.
43248         * tests/unictype/test-categ_N.c: Likewise.
43249         * tests/unictype/test-categ_Nd.c: Likewise.
43250         * tests/unictype/test-categ_No.c: Likewise.
43251         * tests/unictype/test-categ_P.c: Likewise.
43252         * tests/unictype/test-categ_Po.c: Likewise.
43253         * tests/unictype/test-categ_S.c: Likewise.
43254         * tests/unictype/test-categ_Sc.c: Likewise.
43255         * tests/unictype/test-categ_Sk.c: Likewise.
43256         * tests/unictype/test-categ_Sm.c: Likewise.
43257         * tests/unictype/test-categ_So.c: Likewise.
43258         * tests/unictype/test-ctype_alnum.c: Likewise.
43259         * tests/unictype/test-ctype_alpha.c: Likewise.
43260         * tests/unictype/test-ctype_graph.c: Likewise.
43261         * tests/unictype/test-ctype_lower.c: Likewise.
43262         * tests/unictype/test-ctype_print.c: Likewise.
43263         * tests/unictype/test-ctype_punct.c: Likewise.
43264         * tests/unictype/test-ctype_upper.c: Likewise.
43265         * tests/unictype/test-decdigit.h: Likewise.
43266         * tests/unictype/test-digit.h: Likewise.
43267         * tests/unictype/test-numeric.h: Likewise.
43268         * tests/unictype/test-pr_alphabetic.c: Likewise.
43269         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
43270         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
43271         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
43272         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
43273         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
43274         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
43275         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
43276         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
43277         * tests/unictype/test-pr_case_ignorable.c: Likewise.
43278         * tests/unictype/test-pr_cased.c: Likewise.
43279         * tests/unictype/test-pr_changes_when_casefolded.c: Likewise.
43280         * tests/unictype/test-pr_changes_when_casemapped.c: Likewise.
43281         * tests/unictype/test-pr_changes_when_lowercased.c: Likewise.
43282         * tests/unictype/test-pr_changes_when_titlecased.c: Likewise.
43283         * tests/unictype/test-pr_changes_when_uppercased.c: Likewise.
43284         * tests/unictype/test-pr_combining.c: Likewise.
43285         * tests/unictype/test-pr_composite.c: Likewise.
43286         * tests/unictype/test-pr_currency_symbol.c: Likewise.
43287         * tests/unictype/test-pr_decimal_digit.c: Likewise.
43288         * tests/unictype/test-pr_deprecated.c: Likewise.
43289         * tests/unictype/test-pr_format_control.c: Likewise.
43290         * tests/unictype/test-pr_grapheme_base.c: Likewise.
43291         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
43292         * tests/unictype/test-pr_grapheme_link.c: Likewise.
43293         * tests/unictype/test-pr_id_continue.c: Likewise.
43294         * tests/unictype/test-pr_id_start.c: Likewise.
43295         * tests/unictype/test-pr_ideographic.c: Likewise.
43296         * tests/unictype/test-pr_lowercase.c: Likewise.
43297         * tests/unictype/test-pr_math.c: Likewise.
43298         * tests/unictype/test-pr_numeric.c: Likewise.
43299         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
43300         * tests/unictype/test-pr_other_id_continue.c: Likewise.
43301         * tests/unictype/test-pr_other_math.c: Likewise.
43302         * tests/unictype/test-pr_punctuation.c: Likewise.
43303         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
43304         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
43305         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
43306         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
43307         * tests/unictype/test-pr_uppercase.c: Likewise.
43308         * tests/unictype/test-pr_xid_continue.c: Likewise.
43309         * tests/unictype/test-pr_xid_start.c: Likewise.
43310         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
43311         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
43312         changes.
43313         * lib/unictype/categ_Cc.h: Likewise.
43314         * lib/unictype/categ_Cf.h: Likewise.
43315         * lib/unictype/categ_Co.h: Likewise.
43316         * lib/unictype/categ_Cs.h: Likewise.
43317         * lib/unictype/categ_Lt.h: Likewise.
43318         * lib/unictype/categ_Nl.h: Likewise.
43319         * lib/unictype/categ_Pc.h: Likewise.
43320         * lib/unictype/categ_Pd.h: Likewise.
43321         * lib/unictype/categ_Pe.h: Likewise.
43322         * lib/unictype/categ_Pf.h: Likewise.
43323         * lib/unictype/categ_Pi.h: Likewise.
43324         * lib/unictype/categ_Ps.h: Likewise.
43325         * lib/unictype/categ_Z.h: Likewise.
43326         * lib/unictype/categ_Zl.h: Likewise.
43327         * lib/unictype/categ_Zp.h: Likewise.
43328         * lib/unictype/categ_Zs.h: Likewise.
43329         * lib/unictype/ctype_blank.h: Likewise.
43330         * lib/unictype/ctype_cntrl.h: Likewise.
43331         * lib/unictype/ctype_digit.h: Likewise.
43332         * lib/unictype/ctype_space.h: Likewise.
43333         * lib/unictype/ctype_xdigit.h: Likewise.
43334         * lib/unictype/mirror.h: Likewise.
43335         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
43336         * lib/unictype/pr_bidi_block_separator.h: Likewise.
43337         * lib/unictype/pr_bidi_common_separator.h: Likewise.
43338         * lib/unictype/pr_bidi_control.h: Likewise.
43339         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
43340         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
43341         * lib/unictype/pr_bidi_european_digit.h: Likewise.
43342         * lib/unictype/pr_bidi_pdf.h: Likewise.
43343         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
43344         * lib/unictype/pr_bidi_whitespace.h: Likewise.
43345         * lib/unictype/pr_dash.h: Likewise.
43346         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
43347         * lib/unictype/pr_diacritic.h: Likewise.
43348         * lib/unictype/pr_extender.h: Likewise.
43349         * lib/unictype/pr_hex_digit.h: Likewise.
43350         * lib/unictype/pr_hyphen.h: Likewise.
43351         * lib/unictype/pr_ids_binary_operator.h: Likewise.
43352         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
43353         * lib/unictype/pr_ignorable_control.h: Likewise.
43354         * lib/unictype/pr_iso_control.h: Likewise.
43355         * lib/unictype/pr_join_control.h: Likewise.
43356         * lib/unictype/pr_left_of_pair.h: Likewise.
43357         * lib/unictype/pr_line_separator.h: Likewise.
43358         * lib/unictype/pr_logical_order_exception.h: Likewise.
43359         * lib/unictype/pr_non_break.h: Likewise.
43360         * lib/unictype/pr_not_a_character.h: Likewise.
43361         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
43362         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
43363         * lib/unictype/pr_other_id_start.h: Likewise.
43364         * lib/unictype/pr_other_lowercase.h: Likewise.
43365         * lib/unictype/pr_other_uppercase.h: Likewise.
43366         * lib/unictype/pr_paired_punctuation.h: Likewise.
43367         * lib/unictype/pr_paragraph_separator.h: Likewise.
43368         * lib/unictype/pr_pattern_syntax.h: Likewise.
43369         * lib/unictype/pr_pattern_white_space.h: Likewise.
43370         * lib/unictype/pr_private_use.h: Likewise.
43371         * lib/unictype/pr_quotation_mark.h: Likewise.
43372         * lib/unictype/pr_radical.h: Likewise.
43373         * lib/unictype/pr_soft_dotted.h: Likewise.
43374         * lib/unictype/pr_space.h: Likewise.
43375         * lib/unictype/pr_titlecase.h: Likewise.
43376         * lib/unictype/pr_variation_selector.h: Likewise.
43377         * lib/unictype/pr_white_space.h: Likewise.
43378         * lib/unictype/pr_zero_width.h: Likewise.
43379         * lib/unictype/sy_c_ident.h: Likewise.
43380         * lib/unictype/sy_c_whitespace.h: Likewise.
43381         * lib/unictype/sy_java_whitespace.h: Likewise.
43382         * lib/uninorm/composition-table.gperf: Likewise.
43383         * lib/uninorm/decomposition-table1.h: Likewise.
43384         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Add test for rule
43385         LB8.
43386         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
43387         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
43388         * modules/unictype/*: Bump version number of expected libunistring
43389         version.
43391 2011-01-09  Bruno Haible  <bruno@clisp.org>
43393         Update to Unicode 5.2.0.
43394         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 5.2.0, with
43395         trailing whitespace removed.
43397 2011-01-09  Bruno Haible  <bruno@clisp.org>
43399         New Unicode character properties, from Unicode 5.2.0.
43400         * lib/unictype.in.h (UC_PROPERTY_CASED, UC_PROPERTY_CASE_IGNORABLE,
43401         UC_PROPERTY_CHANGES_WHEN_LOWERCASED,
43402         UC_PROPERTY_CHANGES_WHEN_UPPERCASED,
43403         UC_PROPERTY_CHANGES_WHEN_TITLECASED,
43404         UC_PROPERTY_CHANGES_WHEN_CASEFOLDED,
43405         UC_PROPERTY_CHANGES_WHEN_CASEMAPPED,
43406         uc_is_property_cased, uc_is_property_case_ignorable,
43407         uc_is_property_changes_when_lowercased,
43408         uc_is_property_changes_when_uppercased,
43409         uc_is_property_changes_when_titlecased,
43410         uc_is_property_changes_when_casefolded,
43411         uc_is_property_changes_when_casemapped): New declarations.
43412         * lib/unictype/pr_byname.gperf: Add the new properties.
43413         * modules/unictype/property-byname (Depends-on): Depend on the new
43414         properties modules.
43415         * modules/unictype/property-all (Depends-on): Likewise.
43416         * MODULES.html.sh (Unicode string functions): Add
43417         unictype/property-case-ignorable, unictype/property-cased,
43418         unictype/property-changes-when-casefolded,
43419         unictype/property-changes-when-casemapped,
43420         unictype/property-changes-when-lowercased,
43421         unictype/property-changes-when-titlecased,
43422         unictype/property-changes-when-uppercased.
43424         New module 'unictype/property-changes-when-casemapped'.
43425         * modules/unictype/property-changes-when-casemapped: New file.
43426         * lib/unictype/pr_changes_when_casemapped.c: New file.
43427         * lib/unictype/pr_changes_when_casemapped.h: New file, automatically
43428         generated by gen-uni-tables.
43429         * modules/unictype/property-changes-when-casemapped-tests: New file.
43430         * tests/unictype/test-pr_changes_when_casemapped.c: New file,
43431         automatically generated by gen-uni-tables.
43433         New module 'unictype/property-changes-when-casefolded'.
43434         * modules/unictype/property-changes-when-casefolded: New file.
43435         * lib/unictype/pr_changes_when_casefolded.c: New file.
43436         * lib/unictype/pr_changes_when_casefolded.h: New file, automatically
43437         generated by gen-uni-tables.
43438         * modules/unictype/property-changes-when-casefolded-tests: New file.
43439         * tests/unictype/test-pr_changes_when_casefolded.c: New file,
43440         automatically generated by gen-uni-tables.
43442         New module 'unictype/property-changes-when-titlecased'.
43443         * modules/unictype/property-changes-when-titlecased: New file.
43444         * lib/unictype/pr_changes_when_titlecased.c: New file.
43445         * lib/unictype/pr_changes_when_titlecased.h: New file, automatically
43446         generated by gen-uni-tables.
43447         * modules/unictype/property-changes-when-titlecased-tests: New file.
43448         * tests/unictype/test-pr_changes_when_titlecased.c: New file,
43449         automatically generated by gen-uni-tables.
43451         New module 'unictype/property-changes-when-uppercased'.
43452         * modules/unictype/property-changes-when-uppercased: New file.
43453         * lib/unictype/pr_changes_when_uppercased.c: New file.
43454         * lib/unictype/pr_changes_when_uppercased.h: New file, automatically
43455         generated by gen-uni-tables.
43456         * modules/unictype/property-changes-when-uppercased-tests: New file.
43457         * tests/unictype/test-pr_changes_when_uppercased.c: New file,
43458         automatically generated by gen-uni-tables.
43460         New module 'unictype/property-changes-when-lowercased'.
43461         * modules/unictype/property-changes-when-lowercased: New file.
43462         * lib/unictype/pr_changes_when_lowercased.c: New file.
43463         * lib/unictype/pr_changes_when_lowercased.h: New file, automatically
43464         generated by gen-uni-tables.
43465         * modules/unictype/property-changes-when-lowercased-tests: New file.
43466         * tests/unictype/test-pr_changes_when_lowercased.c: New file,
43467         automatically generated by gen-uni-tables.
43469         New module 'unictype/property-case-ignorable'.
43470         * modules/unictype/property-case-ignorable: New file.
43471         * lib/unictype/pr_case_ignorable.c: New file.
43472         * lib/unictype/pr_case_ignorable.h: New file, automatically generated
43473         by gen-uni-tables.
43474         * modules/unictype/property-case-ignorable-tests: New file.
43475         * tests/unictype/test-pr_case_ignorable.c: New file, automatically
43476         generated by gen-uni-tables.
43478         New module 'unictype/property-cased'.
43479         * modules/unictype/property-cased: New file.
43480         * lib/unictype/pr_cased.c: New file.
43481         * lib/unictype/pr_cased.h: New file, automatically generated by
43482         gen-uni-tables.
43483         * modules/unictype/property-cased-tests: New file.
43484         * tests/unictype/test-pr_cased.c: New file, automatically generated by
43485         gen-uni-tables.
43487 2011-01-09  Bruno Haible  <bruno@clisp.org>
43489         Update to Unicode 5.2.0.
43490         * lib/gen-uni-tables.c (output_predicate, output_category,
43491         output_combclass, output_bidi_category, output_decimal_digit_test,
43492         output_decimal_digit, output_digit_test, output_digit,
43493         output_numeric_test, output_numeric, output_mirror, output_scripts,
43494         output_scripts_byname, output_blocks, output_ident_category): Fix
43495         comment header.
43496         (is_WBP_MIDNUMLET, is_WBP_MIDLETTER): New functions, extracted from
43497         get_wbp.
43498         (PROP_CASED, PROP_CASE_IGNORABLE, PROP_CHANGES_WHEN_*): New enumeration
43499         items.
43500         (fill_properties): Also fill the peoperties Cased, Case_Ignorable,
43501         Changes_When_Lowercased, Changes_When_Uppercased,
43502         Changes_When_Titlecased, Changes_When_Casefolded,
43503         Changes_When_Casemapped.
43504         (is_property_alphabetic, is_property_default_ignorable_code_point):
43505         Update for Unicode 5.2.0.
43506         (is_property_cased, is_property_case_ignorable,
43507         is_property_changes_when_lowercased,
43508         is_property_changes_when_uppercased,
43509         is_property_changes_when_titlecased,
43510         is_property_changes_when_casefolded,
43511         is_property_changes_when_casemapped): New functions.
43512         (output_properties): Output also the properties cased, case_ignorable,
43513         changes_when_lowercased, changes_when_uppercased,
43514         changes_when_titlecased, changes_when_casefolded,
43515         changes_when_casemapped.
43516         (symbolic_width): Update for Unicode 5.2.0, incorporating changes from
43517         Unicode TR#11 revision 17 -> 19.
43518         (LBP_CP): New enumeration value.
43519         (LBP_*): Adjust values accordingly.
43520         (get_lbp): Update for Unicode 5.2.0, incorporating changes from Unicode
43521         TR#14 revision 22 -> 24.
43522         (debug_output_lbp): Allow for LBP_* bits >= 32. Support LBP_CP.
43523         (fill_org_lbp, debug_output_org_lbp, output_lbp): Support LBP_CP.
43524         (get_wbp): Update for Unicode 5.2.0, incorporating changes from Unicode
43525         TR#29 revision 13 -> 15. Use functions is_WBP_MIDNUMLET,
43526         is_WBP_MIDLETTER.
43527         (output_composition_tables): Allow for 24 bits instead of 16 bits in
43528         the code1 and code2 of each composition rule.
43529         * lib/unicase/cased.h: Regenerated for Unicode 5.2.0.
43530         * lib/unicase/ignorable.h: Likewise.
43531         * lib/unicase/tocasefold.h: Likewise.
43532         * lib/unicase/tolower.h: Likewise.
43533         * lib/unicase/totitle.h: Likewise.
43534         * lib/unicase/toupper.h: Likewise.
43535         * lib/unictype/bidi_of.h: Likewise.
43536         * lib/unictype/blocks.h: Likewise.
43537         * lib/unictype/categ_C.h: Likewise.
43538         * lib/unictype/categ_Cf.h: Likewise.
43539         * lib/unictype/categ_Cn.h: Likewise.
43540         * lib/unictype/categ_L.h: Likewise.
43541         * lib/unictype/categ_Ll.h: Likewise.
43542         * lib/unictype/categ_Lm.h: Likewise.
43543         * lib/unictype/categ_Lo.h: Likewise.
43544         * lib/unictype/categ_Lu.h: Likewise.
43545         * lib/unictype/categ_M.h: Likewise.
43546         * lib/unictype/categ_Mc.h: Likewise.
43547         * lib/unictype/categ_Mn.h: Likewise.
43548         * lib/unictype/categ_N.h: Likewise.
43549         * lib/unictype/categ_Nd.h: Likewise.
43550         * lib/unictype/categ_Nl.h: Likewise.
43551         * lib/unictype/categ_No.h: Likewise.
43552         * lib/unictype/categ_P.h: Likewise.
43553         * lib/unictype/categ_Pd.h: Likewise.
43554         * lib/unictype/categ_Po.h: Likewise.
43555         * lib/unictype/categ_S.h: Likewise.
43556         * lib/unictype/categ_Sc.h: Likewise.
43557         * lib/unictype/categ_So.h: Likewise.
43558         * lib/unictype/categ_of.h: Likewise.
43559         * lib/unictype/combining.h: Likewise.
43560         * lib/unictype/ctype_alnum.h: Likewise.
43561         * lib/unictype/ctype_alpha.h: Likewise.
43562         * lib/unictype/ctype_graph.h: Likewise.
43563         * lib/unictype/ctype_lower.h: Likewise.
43564         * lib/unictype/ctype_print.h: Likewise.
43565         * lib/unictype/ctype_punct.h: Likewise.
43566         * lib/unictype/ctype_upper.h: Likewise.
43567         * lib/unictype/decdigit.h: Likewise.
43568         * lib/unictype/digit.h: Likewise.
43569         * lib/unictype/numeric.h: Likewise.
43570         * lib/unictype/pr_alphabetic.h: Likewise.
43571         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
43572         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
43573         * lib/unictype/pr_bidi_european_digit.h: Likewise.
43574         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
43575         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
43576         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
43577         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
43578         * lib/unictype/pr_combining.h: Likewise.
43579         * lib/unictype/pr_composite.h: Likewise.
43580         * lib/unictype/pr_currency_symbol.h: Likewise.
43581         * lib/unictype/pr_dash.h: Likewise.
43582         * lib/unictype/pr_decimal_digit.h: Likewise.
43583         * lib/unictype/pr_deprecated.h: Likewise.
43584         * lib/unictype/pr_diacritic.h: Likewise.
43585         * lib/unictype/pr_extender.h: Likewise.
43586         * lib/unictype/pr_grapheme_base.h: Likewise.
43587         * lib/unictype/pr_grapheme_extend.h: Likewise.
43588         * lib/unictype/pr_grapheme_link.h: Likewise.
43589         * lib/unictype/pr_id_continue.h: Likewise.
43590         * lib/unictype/pr_id_start.h: Likewise.
43591         * lib/unictype/pr_ideographic.h: Likewise.
43592         * lib/unictype/pr_ignorable_control.h: Likewise.
43593         * lib/unictype/pr_logical_order_exception.h: Likewise.
43594         * lib/unictype/pr_lowercase.h: Likewise.
43595         * lib/unictype/pr_numeric.h: Likewise.
43596         * lib/unictype/pr_other_alphabetic.h: Likewise.
43597         * lib/unictype/pr_punctuation.h: Likewise.
43598         * lib/unictype/pr_sentence_terminal.h: Likewise.
43599         * lib/unictype/pr_terminal_punctuation.h: Likewise.
43600         * lib/unictype/pr_unassigned_code_value.h: Likewise.
43601         * lib/unictype/pr_unified_ideograph.h: Likewise.
43602         * lib/unictype/pr_uppercase.h: Likewise.
43603         * lib/unictype/pr_xid_continue.h: Likewise.
43604         * lib/unictype/pr_xid_start.h: Likewise.
43605         * lib/unictype/pr_zero_width.h: Likewise.
43606         * lib/unictype/scripts.h: Likewise.
43607         * lib/unictype/scripts_byname.gperf: Likewise.
43608         * lib/unictype/sy_java_ident.h: Likewise.
43609         * lib/unigbrk/gbrkprop.h: Likewise.
43610         * lib/unilbrk/lbrkprop1.h: Likewise.
43611         * lib/unilbrk/lbrkprop2.h: Likewise.
43612         * lib/unilbrk/lbrktables.h: Likewise.
43613         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for
43614         LBP_CP. Implement rule LB30.
43615         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0816..U+0819,
43616         U+081B..U+0823, U+0825..U+0827, U+0829..U+082D, U+0900, U+0955, U+109D,
43617         U+1A56, U+1A58..U+1A5E, U+1A60, U+1A62, U+1A65..U+1A6C, U+1A73..U+1A7C,
43618         U+1A7F, U+1CD0..U+1CD2, U+1CD4..U+1CE0, U+1CE2..U+1CE8, U+1CED, U+1DFD,
43619         U+2CEF..U+2CF1, U+A6F0..U+A6F1, U+A8E0..U+A8F1, U+A980..U+A982, U+A9B3,
43620         U+A9B6..U+A9B9, U+A9BC, U+AAB0, U+AAB2..U+AAB4, U+AAB7..U+AAB8,
43621         U+AABE..U+AABF, U+AAC1, U+ABE5, U+ABE8, U+ABED, U+11080..U+11081,
43622         U+110B3..U+110B6, U+110B9..U+110BA, U+110BD.
43623         (uc_width): Return 2 also for unassigned code points of planes 2 and 3.
43624         * lib/uninorm/composition-table.gperf: Regenerated for Unicode 5.2.0.
43625         * lib/uninorm/composition.c (struct composition_rule): Allow for 24
43626         bits instead of 16 bits in the code1 and code2 of each composition
43627         rule.
43628         (uc_composition): Update for Unicode 5.2.0.
43629         * lib/uninorm/decomposition-table1.h: Regenerated for Unicode 5.2.0.
43630         * lib/uninorm/decomposition-table2.h: Likewise.
43631         * lib/uniwbrk/wbrkprop.h: Likewise.
43632         * tests/unicase/test-cased.c: Likewise.
43633         * tests/unicase/test-ignorable.c: Likewise.
43634         * tests/unicase/test-uc_tolower.c: Likewise.
43635         * tests/unicase/test-uc_totitle.c: Likewise.
43636         * tests/unicase/test-uc_toupper.c: Likewise.
43637         * tests/unictype/test-categ_C.c: Likewise.
43638         * tests/unictype/test-categ_Cf.c: Likewise.
43639         * tests/unictype/test-categ_Cn.c: Likewise.
43640         * tests/unictype/test-categ_L.c: Likewise.
43641         * tests/unictype/test-categ_Ll.c: Likewise.
43642         * tests/unictype/test-categ_Lm.c: Likewise.
43643         * tests/unictype/test-categ_Lo.c: Likewise.
43644         * tests/unictype/test-categ_Lu.c: Likewise.
43645         * tests/unictype/test-categ_M.c: Likewise.
43646         * tests/unictype/test-categ_Mc.c: Likewise.
43647         * tests/unictype/test-categ_Mn.c: Likewise.
43648         * tests/unictype/test-categ_N.c: Likewise.
43649         * tests/unictype/test-categ_Nd.c: Likewise.
43650         * tests/unictype/test-categ_Nl.c: Likewise.
43651         * tests/unictype/test-categ_No.c: Likewise.
43652         * tests/unictype/test-categ_P.c: Likewise.
43653         * tests/unictype/test-categ_Pd.c: Likewise.
43654         * tests/unictype/test-categ_Po.c: Likewise.
43655         * tests/unictype/test-categ_S.c: Likewise.
43656         * tests/unictype/test-categ_Sc.c: Likewise.
43657         * tests/unictype/test-categ_So.c: Likewise.
43658         * tests/unictype/test-ctype_alnum.c: Likewise.
43659         * tests/unictype/test-ctype_alpha.c: Likewise.
43660         * tests/unictype/test-ctype_graph.c: Likewise.
43661         * tests/unictype/test-ctype_lower.c: Likewise.
43662         * tests/unictype/test-ctype_print.c: Likewise.
43663         * tests/unictype/test-ctype_punct.c: Likewise.
43664         * tests/unictype/test-ctype_upper.c: Likewise.
43665         * tests/unictype/test-decdigit.h: Likewise.
43666         * tests/unictype/test-digit.h: Likewise.
43667         * tests/unictype/test-numeric.h: Likewise.
43668         * tests/unictype/test-pr_alphabetic.c: Likewise.
43669         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
43670         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
43671         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
43672         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
43673         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
43674         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
43675         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
43676         * tests/unictype/test-pr_combining.c: Likewise.
43677         * tests/unictype/test-pr_composite.c: Likewise.
43678         * tests/unictype/test-pr_currency_symbol.c: Likewise.
43679         * tests/unictype/test-pr_dash.c: Likewise.
43680         * tests/unictype/test-pr_decimal_digit.c: Likewise.
43681         * tests/unictype/test-pr_deprecated.c: Likewise.
43682         * tests/unictype/test-pr_diacritic.c: Likewise.
43683         * tests/unictype/test-pr_extender.c: Likewise.
43684         * tests/unictype/test-pr_grapheme_base.c: Likewise.
43685         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
43686         * tests/unictype/test-pr_grapheme_link.c: Likewise.
43687         * tests/unictype/test-pr_id_continue.c: Likewise.
43688         * tests/unictype/test-pr_id_start.c: Likewise.
43689         * tests/unictype/test-pr_ideographic.c: Likewise.
43690         * tests/unictype/test-pr_ignorable_control.c: Likewise.
43691         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
43692         * tests/unictype/test-pr_lowercase.c: Likewise.
43693         * tests/unictype/test-pr_numeric.c: Likewise.
43694         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
43695         * tests/unictype/test-pr_punctuation.c: Likewise.
43696         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
43697         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
43698         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
43699         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
43700         * tests/unictype/test-pr_uppercase.c: Likewise.
43701         * tests/unictype/test-pr_xid_continue.c: Likewise.
43702         * tests/unictype/test-pr_xid_start.c: Likewise.
43703         * tests/unictype/test-pr_zero_width.c: Likewise.
43704         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
43705         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update for
43706         changed behaviour: line breaking is now disallowed between a letter
43707         or '=' and '('.
43708         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
43709         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
43710         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
43711         * tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.
43712         * tests/uniwidth/test-uc_width2.sh: Same updates as in
43713         lib/uniwidth/width.c.
43714         * tests/uninorm/NormalizationTest.txt: Update from Unicode 5.2.0,
43715         without comments, but with the original copyright notice.
43716         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
43717         changes.
43718         * lib/unictype/categ_Cc.h: Likewise.
43719         * lib/unictype/categ_Co.h: Likewise.
43720         * lib/unictype/categ_Cs.h: Likewise.
43721         * lib/unictype/categ_Lt.h: Likewise.
43722         * lib/unictype/categ_Me.h: Likewise.
43723         * lib/unictype/categ_Pc.h: Likewise.
43724         * lib/unictype/categ_Pe.h: Likewise.
43725         * lib/unictype/categ_Pf.h: Likewise.
43726         * lib/unictype/categ_Pi.h: Likewise.
43727         * lib/unictype/categ_Ps.h: Likewise.
43728         * lib/unictype/categ_Sk.h: Likewise.
43729         * lib/unictype/categ_Sm.h: Likewise.
43730         * lib/unictype/categ_Z.h: Likewise.
43731         * lib/unictype/categ_Zl.h: Likewise.
43732         * lib/unictype/categ_Zp.h: Likewise.
43733         * lib/unictype/categ_Zs.h: Likewise.
43734         * lib/unictype/ctype_blank.h: Likewise.
43735         * lib/unictype/ctype_cntrl.h: Likewise.
43736         * lib/unictype/ctype_digit.h: Likewise.
43737         * lib/unictype/ctype_space.h: Likewise.
43738         * lib/unictype/ctype_xdigit.h: Likewise.
43739         * lib/unictype/mirror.h: Likewise.
43740         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
43741         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
43742         * lib/unictype/pr_bidi_block_separator.h: Likewise.
43743         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
43744         * lib/unictype/pr_bidi_common_separator.h: Likewise.
43745         * lib/unictype/pr_bidi_control.h: Likewise.
43746         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
43747         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
43748         * lib/unictype/pr_bidi_pdf.h: Likewise.
43749         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
43750         * lib/unictype/pr_bidi_whitespace.h: Likewise.
43751         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
43752         * lib/unictype/pr_format_control.h: Likewise.
43753         * lib/unictype/pr_hex_digit.h: Likewise.
43754         * lib/unictype/pr_hyphen.h: Likewise.
43755         * lib/unictype/pr_ids_binary_operator.h: Likewise.
43756         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
43757         * lib/unictype/pr_iso_control.h: Likewise.
43758         * lib/unictype/pr_join_control.h: Likewise.
43759         * lib/unictype/pr_left_of_pair.h: Likewise.
43760         * lib/unictype/pr_line_separator.h: Likewise.
43761         * lib/unictype/pr_math.h: Likewise.
43762         * lib/unictype/pr_non_break.h: Likewise.
43763         * lib/unictype/pr_not_a_character.h: Likewise.
43764         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
43765         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
43766         * lib/unictype/pr_other_id_continue.h: Likewise.
43767         * lib/unictype/pr_other_id_start.h: Likewise.
43768         * lib/unictype/pr_other_lowercase.h: Likewise.
43769         * lib/unictype/pr_other_math.h: Likewise.
43770         * lib/unictype/pr_other_uppercase.h: Likewise.
43771         * lib/unictype/pr_paired_punctuation.h: Likewise.
43772         * lib/unictype/pr_paragraph_separator.h: Likewise.
43773         * lib/unictype/pr_pattern_syntax.h: Likewise.
43774         * lib/unictype/pr_pattern_white_space.h: Likewise.
43775         * lib/unictype/pr_private_use.h: Likewise.
43776         * lib/unictype/pr_quotation_mark.h: Likewise.
43777         * lib/unictype/pr_radical.h: Likewise.
43778         * lib/unictype/pr_soft_dotted.h: Likewise.
43779         * lib/unictype/pr_space.h: Likewise.
43780         * lib/unictype/pr_titlecase.h: Likewise.
43781         * lib/unictype/pr_variation_selector.h: Likewise.
43782         * lib/unictype/pr_white_space.h: Likewise.
43783         * lib/unictype/sy_c_ident.h: Likewise.
43784         * lib/unictype/sy_c_whitespace.h: Likewise.
43785         * lib/unictype/sy_java_whitespace.h: Likewise.
43786         * modules/uni*/*: Bump version number of expected libunistring version.
43787         Reported by Simon Josefsson.
43789 2011-01-09  Karl Heuer  <kwzh@gnu.org>
43791         useless-if-before-free: fix typo in --help and make the internal,
43792         automatic version date update process work once again.
43793         --help output contained a NUL character instead of the
43794         backslash-zero that was intended.  Also, the "must lie within
43795         the first 8 lines" line is on line 9, and hence not getting
43796         automatically updated.
43797         * build-aux/useless-if-before-free: Fix the former by adding a
43798         backslash, and the latter by condensing the three lines of what-it-does
43799         to a single line, leaving one line of slack for the future.
43801 2011-01-09  Bruno Haible  <bruno@clisp.org>
43803         uniwidth/width: Fix width of U+1D173..U+1D17A.
43804         * lib/gen-uni-tables.c (is_nonspacing, output_nonspacing_property,
43805         symbolic_width, output_width_property_test): New functions.
43806         (main): Invoke output_nonspacing_property, output_width_property_test.
43807         * lib/uniwidth/width.c (nonspacing_table_data): Set bits for
43808         U+1D173..U+1D17A.
43809         * tests/uniwidth/test-uc_width2.sh: For U+1D173..U+1D17A, expect 0, not
43810         1.
43811         * modules/uniwidth/*: Bump version number of expected libunistring
43812         version.
43813         * modules/unilbrk/*: Likewise.
43815 2011-01-08  Bruno Haible  <bruno@clisp.org>
43817         uninorm tests: Preserve copyright of Unicode data file.
43818         * tests/uninorm/NormalizationTest.txt: Re-add original copyright.
43819         Mention modifications.
43821 2011-01-08  Bruno Haible  <bruno@clisp.org>
43823         gen-uni-tables: Prepare for Unicode 5.2.0.
43824         * lib/gen-uni-tables.c (get_lbp): Allow for more than 32 LBP_* values.
43825         (debug_output_lbp, output_lbp): Update.
43827 2011-01-08  Bruno Haible  <bruno@clisp.org>
43829         unilbrk: Clarify gen-uni-tables.c code.
43830         * lib/gen-uni-tables.c (get_lbp): Assume REVISION_22 to be false. These
43831         were mistakes in UAX #14 revision 22 that are corrected in revision 24.
43832         Clarify what to do with unilbrk/lbrkprop.txt and uniwbrk/wbrkprop.txt.
43834 2011-01-07  Bruno Haible  <bruno@clisp.org>
43836         strtod: Restore errno when successfully parsing Infinity or NaN.
43837         * lib/strtod.c (strtod): After successfully parsing an Infinity or NaN,
43838         restore the original errno.
43840 2011-01-07  Bruno Haible  <bruno@clisp.org>
43842         remove test: Avoid failure on HP-UX 11.
43843         * tests/test-remove.c (main): Allow EEXIST as alternative error code.
43845 2011-01-07  Bruno Haible  <bruno@clisp.org>
43847         mkdir, mkdirat tests: Avoid failure on HP-UX 11.11.
43848         * tests/test-mkdir.h (test_mkdir): Allow EOPNOTSUPP as alternative
43849         error code.
43851 2011-01-07  Pádraig Brady  <P@draigBrady.com>
43853         ignore-value: fixup comments, and add Eric Blake
43854         as an author since he rewrote the macros.
43855         * lib/ignore-value.h (ignore_value):  State that
43856         we now support aggregates.  Also specify exactly
43857         when the GCC warn_unused_result feature was added.
43859 2011-01-06  Eric Blake  <eblake@redhat.com>
43861         ignore-value: support aggregate types
43862         * lib/ignore-value.h (ignore_value): Provide separate gcc
43863         definition.
43864         * modules/ignore-value-tests: New test module.
43865         * tests/test-ignore-value.c: New test.
43867         maint.mk: improve sc_prohibit_strcmp regex
43868         * top/maint.mk (sc_prohibit_strcmp): Detect strcmp()!=0, as
43869         documented.  Also, detect strcmp((expr),expr) == 0.  Exempt the
43870         definition of STRNEQ.
43872         signal: work around Haiku issue with SIGBUS
43873         * lib/siglist.h: Add comment.
43874         * lib/sig2str.c (numname_table): Swap SIGBUS order, to match
43875         strsignal's favoring of SIGSEGV.
43876         * tests/test-signal.c (main): Avoid test failure.
43877         * doc/posix-headers/signal.texi (signal.h): Document the issue.
43878         Reported by Scott McCreary.
43880         maint.mk: add pre-release check to ensure submodule commits are public
43881         * top/maint.mk (public-submodule-commit): New rule.
43882         (submodule-checks): New variable.
43883         (alpha beta stable): Depend on the variable.
43885 2011-01-05  Pádraig Brady  <P@draigBrady.com>
43886         and Jim Meyering  <meyering@redhat.com>
43888         ignore-value: make ignore_value more generic; deprecate ignore_ptr
43889         * lib/ignore-value.h: Include <stdint.h>, for decl of intptr_t.
43890         (ATTRIBUTE_DEPRECATED): Define.
43891         (_ignore_case): New function.
43892         (ignore_value): New macro, to replace the old function.
43893         (ignore_ptr): Arrange for any use to evoke a deprecation warning.
43894         * modules/ignore-value (Depends-on): Add stdint.
43896 2011-01-04  Eric Blake  <eblake@redhat.com>
43898         doc: regenerate INSTALL
43899         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Re-add
43900         @firstparagraphindent support, now that autoconf dropped it.
43901         (INSTALL_PRELUDE): Reinstate old macro.
43902         * doc/install.texi: Resync from autoconf.
43903         * doc/INSTALL: Reflect recent autoconf update.
43904         * doc/INSTALL.ISO: Likewise.
43905         * doc/INSTALL.UTF-8: Likewise.
43906         Reported by Karl Berry.
43908 2011-01-04  Bruce Korb  <address@hidden>
43910         git-version-gen: avoid a sub-shell
43911         * build-aux/git-version-gen: Redirect stderr in `...` via
43912         "exec 2>...", rather than via an added sub-shell.
43914 2011-01-03  Ben Pfaff  <blp@cs.stanford.edu>
43916         git-version-gen: use (...) rather than sh -c '...'
43917         * build-aux/git-version-gen: Rather than hard-coding a shell's name
43918         with "sh -c '...'", just use "(...)".  Less syntax is better, too.
43920 2011-01-03  Jim Meyering  <meyering@redhat.com>
43922         git-version-gen: convert leading TABs to spaces
43923         * build-aux/git-version-gen: Expand leading TABs.
43925         git-version-gen: handle failed "git rev-list"
43926         * build-aux/git-version-gen: Rather than leaking a "fatal" error
43927         from git and proceeding as if it had succeeded but printed no SHA1
43928         checksums, suppress the diagnostic and handle the failure.
43929         Reported by Bruce Korb in http://marc.info/?l=git&m=129399145930450&w=2
43931         git-version-gen: include command name in one more diagnostic
43932         * build-aux/git-version-gen: When the required .tarball-version file
43933         was missing or unreadable, you might see the diagnostic from "cat",
43934         but no trace of the name of the invoking script.  Now, you still see
43935         the diagnostic from cat, but also get one from "git-version-gen: ".
43936         Inspired by a patch from Bruce Korb.
43938         update-copyright: adjust test to match changed code
43939         * tests/test-update-copyright.sh: Change test's expected output
43940         to match new actual output.
43942 2011-01-02  Bruno Haible  <bruno@clisp.org>
43944         getlogin_r: Avoid test failure on HP-UX 11.
43945         * tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of
43946         ERANGE when the second argument is zero.
43947         * doc/posix-functions/getlogin_r.texi: Document the HP-UX 11
43948         portability problem.
43950 2011-01-02  Bruce Korb  <bkorb@gnu.org>
43952         * build-aux/update-copyright: doc Simon's changes
43954 2011-01-02  Simon Josefsson  <simon@josefsson.org>
43956         * build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER
43957         environment variable.
43959 2011-01-02  Bruno Haible  <bruno@clisp.org>
43961         unigbrk: Avoid gcc warnings.
43962         * lib/unigbrk/u16-grapheme-breaks.c (u16_grapheme_breaks): Remove
43963         unused variable.
43964         * lib/unigbrk/u16-grapheme-prev.c (u16_grapheme_prev): Likewise.
43965         * lib/unigbrk/u8-grapheme-prev.c (u8_grapheme_prev): Likewise.
43966         * tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
43967         * tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.
43968         * tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
43969         Change type of first argument to 'const char *'.
43970         (main): Remove unused variable.
43971         * tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Change
43972         type of first argument to 'const char *'.
43973         * tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
43974         Likewise.
43975         (main): Change type of variable 's'.
43976         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Cast column number
43977         to 'int'.
43979 2011-01-02  Bruno Haible  <bruno@clisp.org>
43981         pwrite: Fix test whether it works and make it work on HP-UX 11.11.
43982         * m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not
43983         AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11
43984         bug.
43985         * lib/pwrite.c: Undo 2010-12-31 patch.
43986         * doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug.
43988 2011-01-02  Bruno Haible  <bruno@clisp.org>
43990         pread: Fix test whether it works.
43991         * m4/pread.m4 (gl_FUNC_PREAD): Use AC_LANG_PROGRAM, not AC_LANG_SOURCE.
43993 2011-01-02  Bruno Haible  <bruno@clisp.org>
43995         Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
43996         * m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name
43997         ends in "6". Don't require a specific month name. Try also the locale
43998         names found on HP-UX 11 and Solaris 7.
44000 2011-01-02  Bruno Haible  <bruno@clisp.org>
44002         tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
44003         * lib/termios.in.h: In C++ mode, on HP-UX, include <sys/termios.h> with
44004         C linkage.
44005         * doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug.
44007 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
44009         Rename uc_is_grapheme_cluster_break() to uc_is_grapheme_break()
44010         for consistency, since the "cluster" term is not used elsewhere.
44011         * lib/unigbrk.in.h: Update name.
44012         * lib/unigbrk/u16-grapheme-breaks.c: Update name.
44013         * lib/unigbrk/u16-grapheme-next.c: Update name.
44014         * lib/unigbrk/u16-grapheme-prev.c: Update name.
44015         * lib/unigbrk/u32-grapheme-breaks.c: Update name.
44016         * lib/unigbrk/u32-grapheme-next.c: Update name.
44017         * lib/unigbrk/u32-grapheme-prev.c: Update name.
44018         * lib/unigbrk/u8-grapheme-breaks.c: Update name.
44019         * lib/unigbrk/u8-grapheme-next.c: Update name.
44020         * lib/unigbrk/u8-grapheme-prev.c: Update name.
44021         * lib/unigbrk/uc-is-grapheme-break.c: Update name.
44022         * tests/unigbrk/test-uc-is-grapheme-break.c: Update name.
44023         Suggested by Bruno Haible.
44025 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
44027         Remove module 'u8-grapheme-len' as too redundant with
44028         'u8-grapheme-next'.
44029         * modules/unigbrk/u8-grapheme-len: Delete file.
44030         * modules/unigbrk/u8-grapheme-len-tests: Delete file.
44031         * lib/unigbrk.in.h: Remove prototype for deleted function.
44032         * lib/unigbrk/u8-grapheme-len.c: Delete file.
44033         * tests/unigbrk/test-u8-grapheme-len.c: Delete file.
44035         Remove module 'u16-grapheme-len' as too redundant with
44036         'u16-grapheme-next'.
44037         * modules/unigbrk/u16-grapheme-len: Delete file.
44038         * modules/unigbrk/u16-grapheme-len-tests: Delete file.
44039         * lib/unigbrk.in.h: Remove prototype for deleted function.
44040         * lib/unigbrk/u16-grapheme-len.c: Delete file.
44041         * tests/unigbrk/test-u16-grapheme-len.c: Delete file.
44043         Remove module 'u32-grapheme-len' as too redundant with
44044         'u32-grapheme-next'.
44045         * modules/unigbrk/u32-grapheme-len: Delete file.
44046         * modules/unigbrk/u32-grapheme-len-tests: Delete file.
44047         * lib/unigbrk.in.h: Remove prototype for deleted function.
44048         * lib/unigbrk/u32-grapheme-len.c: Delete file.
44049         * tests/unigbrk/test-u32-grapheme-len.c: Delete file.
44051         Suggested by Bruno Haible.
44053 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
44055         * unigbrk.in.h: Fix typo: "ben" => "been".
44056         Reported by Bruno Haible.
44058 2011-01-01  Jim Meyering  <meyering@redhat.com>
44060         maint: update almost all copyright ranges to include 2011
44061         Run the new "make update-copyright" rule.
44063 2011-01-01  Jim Meyering  <meyering@redhat.com>
44065         maint: update-copyright: exempt doc/INSTALL*
44066         * Makefile (update-copyright): Also exclude doc/INSTALL*,
44067         since they are generated.  Suggested by Bruno Haible.
44069 2011-01-01  Jim Meyering  <meyering@redhat.com>
44071         maint: refine the update-copyright rule
44072         * Makefile (update-copyright): Also exclude any file that includes
44073         the "GENERATED AUTOMATICALLY" comment, being careful not to exclude
44074         code that merely generates the comment.
44076 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
44078         New module 'u8-grapheme-len'.
44079         * modules/unigbrk/u8-grapheme-len: New file.
44080         * modules/unigbrk/u8-grapheme-len-tests: New file.
44081         * lib/unigbrk.in.h: Add prototype for new function.
44082         * lib/unigbrk/u8-grapheme-len.c: New file.
44083         * tests/unigbrk/test-u8-grapheme-len.c: New file.
44085         New module 'u16-grapheme-len'.
44086         * modules/unigbrk/u16-grapheme-len: New file.
44087         * modules/unigbrk/u16-grapheme-len-tests: New file.
44088         * lib/unigbrk.in.h: Add prototype for new function.
44089         * lib/unigbrk/u16-grapheme-len.c: New file.
44090         * tests/unigbrk/test-u16-grapheme-len.c: New file.
44092         New module 'u32-grapheme-len'.
44093         * modules/unigbrk/u32-grapheme-len: New file.
44094         * modules/unigbrk/u32-grapheme-len-tests: New file.
44095         * lib/unigbrk.in.h: Add prototype for new function.
44096         * lib/unigbrk/u32-grapheme-len.c: New file.
44097         * tests/unigbrk/test-u32-grapheme-len.c: New file.
44099         New module 'u8-grapheme-next'.
44100         * modules/unigbrk/u8-grapheme-next: New file.
44101         * modules/unigbrk/u8-grapheme-next-tests: New file.
44102         * lib/unigbrk.in.h: Add prototype for new function.
44103         * lib/unigbrk/u8-grapheme-next.c: New file.
44104         * tests/unigbrk/test-u8-grapheme-next.c: New file.
44106         New module 'u16-grapheme-next'.
44107         * modules/unigbrk/u16-grapheme-next: New file.
44108         * modules/unigbrk/u16-grapheme-next-tests: New file.
44109         * lib/unigbrk.in.h: Add prototype for new function.
44110         * lib/unigbrk/u16-grapheme-next.c: New file.
44111         * tests/unigbrk/test-u16-grapheme-next.c: New file.
44113         New module 'u32-grapheme-next'.
44114         * modules/unigbrk/u32-grapheme-next: New file.
44115         * modules/unigbrk/u32-grapheme-next-tests: New file.
44116         * lib/unigbrk.in.h: Add prototype for new function.
44117         * lib/unigbrk/u32-grapheme-next.c: New file.
44118         * tests/unigbrk/test-u32-grapheme-next.c: New file.
44120         New module 'u8-grapheme-prev'.
44121         * modules/unigbrk/u8-grapheme-prev: New file.
44122         * modules/unigbrk/u8-grapheme-prev-tests: New file.
44123         * lib/unigbrk.in.h: Add prototype for new function.
44124         * lib/unigbrk/u8-grapheme-prev.c: New file.
44125         * tests/unigbrk/test-u8-grapheme-prev.c: New file.
44127         New module 'u16-grapheme-prev'.
44128         * modules/unigbrk/u16-grapheme-prev: New file.
44129         * modules/unigbrk/u16-grapheme-prev-tests: New file.
44130         * lib/unigbrk.in.h: Add prototype for new function.
44131         * lib/unigbrk/u16-grapheme-prev.c: New file.
44132         * tests/unigbrk/test-u16-grapheme-prev.c: New file.
44134         New module 'u32-grapheme-prev'.
44135         * modules/unigbrk/u32-grapheme-prev: New file.
44136         * modules/unigbrk/u32-grapheme-prev-tests: New file.
44137         * lib/unigbrk.in.h: Add prototype for new function.
44138         * lib/unigbrk/u32-grapheme-prev.c: New file.
44139         * tests/unigbrk/test-u32-grapheme-prev.c: New file.
44141         New module 'u8-grapheme-breaks'.
44142         * modules/unigbrk/u8-grapheme-breaks: New file.
44143         * modules/unigbrk/u8-grapheme-breaks-tests: New file.
44144         * lib/unigbrk.in.h: Add prototype for new function.
44145         * lib/unigbrk/u8-grapheme-breaks.c: New file.
44146         * tests/unigbrk/test-u8-grapheme-breaks.c: New file.
44148         New module 'u16-grapheme-breaks'.
44149         * modules/unigbrk/u16-grapheme-breaks: New file.
44150         * modules/unigbrk/u16-grapheme-breaks-tests: New file.
44151         * lib/unigbrk.in.h: Add prototype for new function.
44152         * lib/unigbrk/u16-grapheme-breaks.c: New file.
44153         * tests/unigbrk/test-u16-grapheme-breaks.c: New file.
44155         New module 'u32-grapheme-breaks'.
44156         * modules/unigbrk/u32-grapheme-breaks: New file.
44157         * modules/unigbrk/u32-grapheme-breaks-tests: New file.
44158         * lib/unigbrk.in.h: Add prototype for new function.
44159         * lib/unigbrk/u32-grapheme-breaks.c: New file.
44160         * tests/unigbrk/test-u32-grapheme-breaks.c: New file.
44162         New module 'ulc-grapheme-breaks'.
44163         * modules/unigbrk/ulc-grapheme-breaks: New file.
44164         * modules/unigbrk/ulc-grapheme-breaks-tests: New file.
44165         * m4/locale-ar.m4: New file.
44166         * lib/unigbrk/ulc-grapheme-breaks.c: New file.
44167         * tests/unigbrk/test-ulc-grapheme-breaks.c: New file.
44168         * tests/unigbrk/test-ulc-grapheme-breaks.sh: New file.
44170 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
44172         gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
44173         * lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c.  I had
44174         modified how this file was generated before I initially submitted
44175         the module, but failed to regenerate it.  This meant that several
44176         of the level2 entries were wrong.
44177         * lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
44178         Remove the division-by-2 that is folded into the table now that
44179         gbrkprop.h has been regenerated properly.  Now -1 entries are
44180         handled correctly.
44182         New module 'unigbrk/uc-gbrk-prop-tests'.
44183         * modules/unigbrk/uc-gbrk-prop-tests: New file.
44184         * lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
44185         * tests/unigbrk/test-uc-gbrk-prop.c: New file.
44186         * tests/unigbrk/test-uc-gbrk-prop.h: New file.
44188 2011-01-01  Bruno Haible  <bruno@clisp.org>
44190         Avoid use of hexadecimal escapes.
44191         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Use octal escapes
44192         instead of hexadecimal escapes.
44194 2011-01-01  Jim Meyering  <meyering@redhat.com>
44196         maint: new rule to update copyright year ranges
44197         * Makefile (update-copyright): New rule.
44199         maint: indent with TABs in Makefile
44200         * Makefile: Expand leading sequences of spaces to TABs
44202         version-etc: update the copyright year it reports
44203         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2011.
44205 2010-12-31  Bruno Haible  <bruno@clisp.org>
44207         isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
44208         * lib/isfinite.c (zerof, zerod, zerol): New variables.
44209         (gl_isfinitef, gl_isfinited, gl_isfinitel): Use them instead of literal
44210         zero.
44212 2010-12-31  Bruno Haible  <bruno@clisp.org>
44214         pwrite: Work around HP-UX 11.11 bug.
44215         * m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it
44216         works and set REPLACE_PWRITE if not.
44217         * lib/pwrite.c (pwrite): Add an implementation that uses the system
44218         function.
44219         * doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug.
44221 2010-12-31  Bruno Haible  <bruno@clisp.org>
44223         pread: Work around HP-UX 11 bugs.
44224         * m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works
44225         and set REPLACE_PREAD if not.
44226         * doc/posix-functions/pread.texi: Document the HP-UX 11 bugs.
44228 2010-12-31  Eric Blake  <eblake@redhat.com>
44230         nl_langinfo: fix YESEXPR on Irix 6.5
44231         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug.
44232         * lib/nl_langinfo.c (rpl_nl_langinfo): Work around it.
44233         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document
44234         it.
44236 2010-12-31  Bruno Haible  <bruno@clisp.org>
44238         iconv: Document HP-UX 11 bug.
44239         * doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug.
44241 2010-12-31  Bruno Haible  <bruno@clisp.org>
44243         ldexpl: Fix link error on HP-UX 11.
44244         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When replacing ldexpl, set
44245         LDEXPL_LIBM, using $ISNANL_LIBM.
44247 2010-12-31  Eric Blake  <eblake@redhat.com>
44249         ftello: avoid compilation failure with SunStudio c89
44250         * lib/ftello.c (ftello): Use lseek, not llseek.
44252         tests: avoid failing coreutils tests on cygwin
44253         * tests/init.sh (find_exe_basenames_): Exempt [.exe.
44254         (create_exe_shims_): Return 0 when skipping.
44256 2010-12-31  Bruno Haible  <bruno@clisp.org>
44258         sys_select: Avoid warning about missing memset declaration on HP-UX 11.
44259         * lib/sys_select.in.h: On HP-UX, include also <string.h>.
44261 2010-12-31  Bruno Haible  <bruno@clisp.org>
44263         waitpid: Fix link error in C++ mode.
44264         * lib/sys_wait.in.h: Remove extern "C" { ... } group.
44266 2010-12-31  Bruno Haible  <bruno@clisp.org>
44268         isnan: Use GCC built-ins when possible.
44269         * lib/math.in.h (gl_isnan_f): Use __builtin_isnanf instead of
44270         __builtin_isnan.
44271         (gl_isnan_l): Use __builtin_isnanl instead of __builtin_isnan.
44272         (isnan): Define using GCC built-ins for GCC >= 4.0.
44274 2010-12-31  Bruno Haible  <bruno@clisp.org>
44276         isnand: Fix mistake.
44277         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): Use __builtin_isnan, not
44278         __builtin_isnand.
44280 2010-12-31  Bruno Haible  <bruno@clisp.org>
44282         open: Avoid C++ error on HP-UX 11.
44283         * lib/fcntl.in.h (open): Disable _GL_CXXALIASWARN invocation on HP-UX.
44285 2010-12-31  Bruno Haible  <bruno@clisp.org>
44287         time_r: Add missing declarations on HP-UX 11.
44288         * lib/time.in.h (localtime_r, gmtime_r): Test HAVE_DECL_LOCALTIME_R
44289         instead of HAVE_LOCALTIME_R.
44290         * m4/time_r.m4 (gl_TIME_R): Test whether localtime_r is declared. Set
44291         HAVE_LOCALTIME_R always.
44292         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
44293         HAVE_DECL_LOCALTIME_R, not HAVE_LOCALTIME_R.
44294         * modules/time (Makefile.am): Substitute HAVE_DECL_LOCALTIME_R, not
44295         HAVE_LOCALTIME_R.
44296         * doc/posix-functions/gmtime_r.texi: Document the HP-UX 11 problem.
44297         * doc/posix-functions/localtime_r.texi: Likewise.
44299 2010-12-29  Eric Blake  <eblake@redhat.com>
44301         mountlist: tweak previous commit
44302         * lib/mountlist.c (me_remote): Guarantee trailing backslash.
44303         Reported by Paul Eggert.
44305         mountlist: fix local drive detection on cygwin
44306         * lib/mountlist.c (ME_REMOTE) [__CYGWIN__]: Provide implementation
44307         that works for cygwin.
44309 2010-12-29  Paul Eggert  <eggert@cs.ucla.edu>
44311         ftoastr, snprintf: ftoastr + snprintf module
44312         * lib/ftoastr.c: Use GNULIB_SNPRINTF, not GNULIB_SNPRINTF_POSIX,
44313         since the snprintf module now should be good enough here.
44314         * modules/snprintf (configure.ac): Add gl_MODULE_INDICATOR([snprintf]).
44315         It seems odd to have both gl_STDIO_MODULE_INDICATOR([snprintf])
44316         and gl_MODULE_INDICATOR([snprintf]), but the former enables
44317         GNULIB_SNPRINTF only for the test directory, and the latter
44318         doesn't arrange for gl_STDIO_H_DEFAULTS to be called, so neither
44319         seems to suffice by itself.
44321 2010-12-28  Paul Eggert  <eggert@cs.ucla.edu>
44323         alloca: one step towards thread-safety
44324         * lib/alloca.c (find_stack_direction): New arg PTR, to avoid the
44325         need for a static variable.  All callers changed.  This does not
44326         make the alloca replacement thread-safe, but it's one step.
44328         tests: minor indenting change
44329         * tests/init.sh: Sync from coreutils housekeeping patch
44330         <http://lists.gnu.org/r/coreutils/2010-12/msg00116.html>
44331         to keep lines within 80 columns.
44333 2010-12-28  Jim Meyering  <meyering@redhat.com>
44335         regex: don't infloop on persistent failing calloc
44336         * lib/regexec.c (build_trtable): Return failure indication upon
44337         calloc failure.  Otherwise, re_search_internal could infloop on OOM.
44338         In glibc, this was fixed for version 2.13:
44339         http://sourceware.org/bugzilla/show_bug.cgi?id=12348
44341 2010-12-28  Bruno Haible  <bruno@clisp.org>
44342             Paul Eggert <eggert@cs.ucla.edu>
44344         linkat: Make implementation robust against system behaviour variations.
44345         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Define
44346         LINK_FOLLOWS_SYMLINKS to -1 if it needs a runtime test in the Solaris
44347         way, and to -2 if it needs a generic runtime test.
44348         * lib/linkat.c (solaris_optimized_link_immediate,
44349         solaris_optimized_link_follow): New functions.
44350         * tests/test-linkat.c (EXPECT_LINK_HARDLINKS_SYMLINKS): New macro.
44351         (check_same_link): Use it.
44353 2010-12-26  Ben Pfaff  <blp@cs.stanford.edu>
44355         New module 'unigbrk/base'.
44356         * modules/unigbrk/base: New file.
44357         * lib/unigbrk.in.h: New file.
44359         New module 'unigbrk/uc-gbrk-prop'.
44360         * lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h.
44361         * modules/unigbrk/uc-gbrk-prop: New file.
44362         * lib/unigbrk/gbrkprop.h: New file.
44363         * lib/unigbrk/uc-gbrk-prop.c: New file.
44365         New module 'unigbrk/uc-is-grapheme-break'.
44366         * modules/unigbrk/uc-is-grapheme-break: New file.
44367         * modules/unigbrk/uc-is-grapheme-break-tests: New file.
44368         * lib/unigbrk/uc-is-grapheme-break.c: New file.
44369         * tests/unigbrk/test-uc-is-grapheme-break.c: New file.
44370         * tests/unigbrk/test-uc-is-grapheme-break.sh: New file.
44371         * tests/unigbrk/GraphemeBreakTest.txt: New file.
44373         With corrections and tweaks by Bruno Haible <bruno@clisp.org>.
44375 2010-12-27  Bruno Haible  <bruno@clisp.org>
44377         linkat test: Avoid failure on Solaris 11 2010-11.
44378         * tests/test-linkat.c (main): Allow ENOTDIR as alternative error code.
44380 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
44382         utimens: work around glibc rounding bug on more platforms
44383         * lib/utimens.c (fdutimens): Work around rounding bug even if
44384         HAVE_WORKING_UTIMES.  Reported for Linux 2.4.21 by Bruno Haible in
44385         <http://lists.gnu.org/r/bug-gnulib/2010-12/msg00298.html>.
44387 2010-12-27  Bruno Haible  <bruno@clisp.org>
44389         select tests: Improve comments.
44390         * tests/test-select.c (do_select): Add comments.
44392 2010-12-27  Bruno Haible  <bruno@clisp.org>
44394         select tests: Safer way of handling timeout.
44395         * tests/test-select.c (do_select_nowait): Zero-initialize the timeout
44396         at every invocation.
44398 2010-12-27  Bruno Haible  <bruno@clisp.org>
44400         select tests: Use 'bool' where appropriate.
44401         * tests/test-select.c (connect_to_socket): Change argument type to
44402         'bool'.
44404 2010-12-27  Bruno Haible  <bruno@clisp.org>
44406         select tests: Use existing modules.
44407         * modules/select-tests (Depends-on): Add pipe-posix, unistd.
44408         (configure.ac): Don't test for unistd.h.
44409         * tests/test-select.c: Include <unistd.h> always. Use pipe() as
44410         declared in <unistd.h>.
44412 2010-12-27  Bruno Haible  <bruno@clisp.org>
44414         mbrtowc: Work around a Solaris 7 bug.
44415         * m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
44416         (gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
44417         (gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
44418         MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
44419         MBRTOWC_NULL_ARG1_BUG.
44420         * lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
44421         MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
44422         * tests/test-mbrtowc.c (main): Test support of a NULL first argument.
44423         * doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.
44425 2010-12-27  Jim Meyering  <meyering@redhat.com>
44427         read-file.c: tweak syntax
44428         * lib/read-file.c (fread_file): Remove space after "*" in function
44429         definitions.
44431 2010-12-27  Bruno Haible  <bruno@clisp.org>
44433         times test: Avoid gcc warnings on OSF/1.
44434         * tests/test-times.c (main): Cast printf arguments from clock_t to
44435         'long int'.
44437 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
44439         utimens: work around glibc rounding bug on older Linux kernels
44440         * lib/utimens.c (fdutimens): If invoking futimesat or futimes
44441         on Linux with a glibc whose utimes might not work, then work
44442         around a longstanding glibc bug involving rounding rather than
44443         truncated time stamps.  Reported for Linux 2.4.21 by Bruno Haible in
44444         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00113.html>.
44446 2010-12-26  Bruno Haible  <bruno@clisp.org>
44448         inet_ntop: Hide mismatch of declaration on NonStop Kernel.
44449         * lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of
44450         _GL_CXXALIAS_SYS.
44451         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
44453 2010-12-26  Bruno Haible  <bruno@clisp.org>
44455         inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
44456         * lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
44457         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
44458         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
44459         looking for the declaration.
44460         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
44461         * doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
44462         problem.
44463         * doc/posix-functions/inet_pton.texi: Likewise.
44465 2010-12-26  Bruno Haible  <bruno@clisp.org>
44467         arpa_inet: Use the common idioms with C++ support.
44468         * lib/arpa_inet.in.h: Include c++defs.h.
44469         (inet_ntop, inet_pton): Declare using the macros with C++ namespace
44470         support.
44471         * modules/arpa_inet (Depends-on): Add c++defs.
44472         (Makefile.am): Substitute the contents of c++defs.h.
44473         * modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests.
44474         * modules/arpa_inet-c++-tests: New file.
44475         * tests/test-arpa_inet-c++.cc: New file.
44477 2010-12-25  Bruno Haible  <bruno@clisp.org>
44479         Fix more C++ link errors on Solaris 8.
44480         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Add
44481         $(LIB_EACCESS).
44482         * modules/stdio-c++-tests (test_stdio_c___LDADD): Likewise.
44483         * modules/stdlib-c++-tests (test_stdlib_c___LDADD): Likewise.
44484         * modules/sys_ioctl-c++-tests (test_sys_ioctl_c___LDADD): Likewise.
44485         * modules/wchar-c++-tests (test_wchar_c___LDADD): Likewise.
44486         * modules/wctype-c++-tests (test_wctype_c___LDADD): Likewise.
44488 2010-12-25  Bruno Haible  <bruno@clisp.org>
44490         printf-posix: Fix link error when a non-GCC compiler is used.
44491         * lib/stdio.in.h (printf): When not using GCC, override printf
44492         correctly.
44493         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
44495 2010-12-25  Bruno Haible  <bruno@clisp.org>
44497         strerror_r-posix: Update doc.
44498         * doc/posix-functions/strerror_r.texi: Update doc about the return
44499         value. See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=12204>.
44501 2010-12-25  Paul Eggert  <eggert@cs.ucla.edu>
44503         utimens: simplify the logic of the previous change
44504         * m4/utimes.m4 (gl_FUNC_UTIMES): Simplify the logic a bit.
44505         This should not affect whether the test succeeds or fails.
44507         utimens: configure better on hosts with NFS clock skew
44508         * m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL)
44509         uses the clock of the local host.  It might use the clock of the
44510         NFS server.  Reported for Linux 2.4.21 client by Bruno Haible in
44511         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00113.html>.
44513 2010-12-25  Bruno Haible  <bruno@clisp.org>
44515         ptsname test: Avoid failure on Solaris.
44516         * tests/test-ptsname.c (main): For Solaris, use the recommended way to
44517         open a pseudo-terminal; don't use BSD-style ptys.
44518         * doc/posix-functions/ptsname.texi: Document the limitation on Solaris.
44520 2010-12-25  Bruno Haible  <bruno@clisp.org>
44522         ptsname: Avoid ERANGE failure on some systems.
44523         * lib/ptsname.c (buffer): Increase size.
44525 2010-12-25  Bruno Haible  <bruno@clisp.org>
44527         rename, renameat: Avoid test failures at NFS mounted locations.
44528         * tests/test-rename.h (assert_nonexistent): Remove the old directory,
44529         so that subsequent mkdir calls succeed.
44531 2010-12-25  Bruno Haible  <bruno@clisp.org>
44533         iswblank: Fix C++ link error on Solaris 8.
44534         * lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or
44535         _GL_FUNCDECL_SYS.
44537 2010-12-25  Bruno Haible  <bruno@clisp.org>
44539         unistd: Fix C++ link error on Solaris 8.
44540         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS).
44542 2010-12-25  Bruno Haible  <bruno@clisp.org>
44544         readlink doc: Mention an old glibc bug.
44545         * doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450).
44547 2010-12-25  Bruno Haible  <bruno@clisp.org>
44549         fcntl-h: Fix for use of C++ on glibc systems.
44550         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
44551         also on glibc systems in C++ mode.
44552         Reported by Gary V. Vaughan <gary@gnu.org>.
44554 2010-12-25  Bruno Haible  <bruno@clisp.org>
44556         roundl-ieee: Make it work on OSF/1 5.1 with cc.
44557         * modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee.
44559 2010-12-25  Bruno Haible  <bruno@clisp.org>
44561         truncl-ieee: Make it work on OSF/1 5.1 with cc.
44562         * doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug.
44563         * m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used,
44564         test whether truncl works according to ISO C 99 with IEC 60559.
44565         * m4/truncl-ieee.m4: New file.
44566         * modules/truncl-ieee (Files): Add it and m4/minus-zero.m4,
44567         m4/signbit.m4.
44568         (configure.ac): Invoke gl_FUNC_TRUNCL_IEEE.
44570 2010-12-25  Bruno Haible  <bruno@clisp.org>
44572         ceill-ieee: Make it work on OSF/1 5.1 with cc.
44573         * doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug.
44574         * m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used,
44575         test whether ceill works according to ISO C 99 with IEC 60559.
44576         * m4/ceill-ieee.m4: New file.
44577         * modules/ceill-ieee (Files): Add it and m4/minus-zero.m4,
44578         m4/signbit.m4.
44579         (configure.ac): Invoke gl_FUNC_CEILL_IEEE.
44581 2010-12-25  Bruno Haible  <bruno@clisp.org>
44583         Ensure all prerequisites of <wchar.h> are included.
44584         * m4/btowc.m4 (gl_FUNC_BTOWC): Include <stddef.h>, <stdio.h>, <time.h>
44585         before <wchar.h>.
44586         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
44587         gl_MBRLEN_NUL_RETVAL): Likewise.
44588         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
44589         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL,
44590         AC_FUNC_MBRTOWC): Likewise.
44591         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
44592         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
44593         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
44594         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
44595         Likewise.
44596         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
44597         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Likewise.
44598         (gl_WCHAR_H): Improve comments.
44599         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
44601 2010-12-25  Bruno Haible  <bruno@clisp.org>
44603         strtok_r: Fix C syntax error in autoconf macro.
44604         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't use UTF-8 encoded U+00A0
44605         characters in test program.
44607 2010-12-24  Bruno Haible  <bruno@clisp.org>
44609         ceil, trunc, round: Fix gcc warnings.
44610         * lib/ceil.c (MIN): Undefine before redefining.
44611         * lib/trunc.c (MIN): Likewise.
44612         * lib/round.c (MIN): Likewise.
44613         Include <math.h> first.
44615 2010-12-24  Bruno Haible  <bruno@clisp.org>
44617         select tests: Avoid failures on OSF/1 5.1.
44618         * tests/test-select.c (test_accept_first, test_socket_pair): Ignore
44619         failure of closing the last socket; it may fail with ECONNRESET.
44621 2010-12-24  Eric Blake  <eblake@redhat.com>
44623         stdint: avoid HP-UX 10.20 preprocessor bug
44624         * lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather
44625         than #if.
44626         * tests/test-floor2.c (main): Likewise.
44627         Reported by Peter O'Gorman.
44629         pipe: make obsoletion transition easier
44630         * lib/pipe.h: Restore file as thin shim around "spawn-pipe.h".
44631         * modules/pipe (Files): Include revived file.
44632         (Include): Drop reference, to mirror getdate's behavior.
44634 2010-12-24  Bruno Haible  <bruno@clisp.org>
44636         sys_socket: Hide mismatch of declarations on NonStop Kernel.
44637         * lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
44638         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
44639         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
44641 2010-12-24  Bruno Haible  <bruno@clisp.org>
44643         gethostname: Ensure declaration on NonStop Kernel.
44644         * lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems.
44645         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
44647 2010-12-24  Bruno Haible  <bruno@clisp.org>
44649         sys_select: Ensure all necessary types on NonStop Kernel.
44650         * lib/sys_select.in.h: If the system does not have <sys/select.h>,
44651         include <sys/time.h>.
44652         * doc/posix-headers/sys_select.texi: Mention that it's missing on
44653         NonStop Kernel.
44654         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
44656 2010-12-24  Bruno Haible  <bruno@clisp.org>
44658         sys_select: Remove unneeded include.
44659         * lib/sys_select.in.h: Don't include <sys/socket.h> on platforms that
44660         have <sys/select.h>.
44662 2010-12-24  Bruno Haible  <bruno@clisp.org>
44664         gethostname: Provide a fallback for HOST_NAME_MAX.
44665         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX
44666         nor MAXHOSTNAMELEN is found in the usual system headers, use 256
44667         instead.
44668         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
44670 2010-12-24  Bruno Haible  <bruno@clisp.org>
44672         sigaction tests: Allow missing SA_RESETHAND and SA_RESTART.
44673         * tests/test-sigaction.c (SA_RESETHAND): Fall back to 0.
44674         (SA_RESTART): Likewise.
44675         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
44677 2010-12-24  Bruno Haible  <bruno@clisp.org>
44679         signal: Define NSIG.
44680         * lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel.
44681         * tests/test-signal.c (nsig): New variable.
44682         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
44684 2010-12-24  Bruno Haible  <bruno@clisp.org>
44686         rename, renameat: Avoid test failures on OSF/1 5.1.
44687         * tests/test-rename.h (test_rename): Allow EEXIST and ENOTDIR as
44688         alternative error codes.
44689         * tests/test-renameat.c (main): Likewise.
44691 2010-12-24  Bruno Haible  <bruno@clisp.org>
44693         *printf: Detect large precisions bug on Solaris 10/SPARC.
44694         * m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided
44695         by Paul Eggert.
44696         * tests/test-snprintf-posix.h (test_function): Add this test code here
44697         too.
44698         * tests/test-sprintf-posix.h (test_function): Likewise.
44699         * tests/test-vasnprintf-posix.c (test_function): Likewise.
44700         * tests/test-vasprintf-posix.c (test_function): Likewise.
44701         * doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked
44702         around by gnulib.
44703         * doc/posix-functions/printf.texi: Likewise.
44704         * doc/posix-functions/snprintf.texi: Likewise.
44705         * doc/posix-functions/sprintf.texi: Likewise.
44706         * doc/posix-functions/vfprintf.texi: Likewise.
44707         * doc/posix-functions/vprintf.texi: Likewise.
44708         * doc/posix-functions/vsnprintf.texi: Likewise.
44709         * doc/posix-functions/vsprintf.texi: Likewise.
44710         * doc/posix-functions/dprintf.texi: Undo last commit.
44711         * doc/posix-functions/vdprintf.texi: Likewise.
44713 2010-12-23  Paul Eggert  <eggert@cs.ucla.edu>
44715         tests: port test-fdutimensat.c to Solaris 8
44716         * tests/test-fdutimensat.c (do_fdutimens): Don't assume
44717         fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
44718         On Solaris 8, it fails with errno == ENOSYS, because there is no
44719         futimens (so it can't use the fd), and there is no lutimens (so it
44720         can't implement AT_SYMLINK_NOFOLLOW on symlinks).
44722         vsnprintf: make more consistent with snprintf; doc fixes
44724         * doc/posix-functions/snprintf.texi (snprintf): The workaround for
44725         the byte count return problem was promoted from the snprintf-posix
44726         to the snprintf module.
44727         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
44728         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
44729         gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
44730         * tests/test-snprintf.c (main): Check the byte count returned.
44731         * tests/test-vsnprintf.c (main): Likewise.
44733 2010-12-23  Eric Blake  <eblake@redhat.com>
44735         sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts
44736         * modules/sigpipe (License): Relax license.
44738 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
44740         doc: document Solaris printf bug with large float precisions
44741         * doc/posix-functions/dprintf.texi (dprintf):
44742         * doc/posix-functions/fprintf.texi (fprintf):
44743         * doc/posix-functions/printf.texi (printf):
44744         * doc/posix-functions/snprintf.texi (snprintf):
44745         * doc/posix-functions/sprintf.texi (sprintf):
44746         * doc/posix-functions/vdprintf.texi (vdprintf):
44747         * doc/posix-functions/vfprintf.texi (vfprintf):
44748         * doc/posix-functions/vprintf.texi (vprintf):
44749         * doc/posix-functions/vsnprintf.texi (vsnprintf):
44750         * doc/posix-functions/vsprintf.texi (vsprintf):
44751         Mention that these functions mishandle large floating point
44752         precisions on Solaris 10.  The same bug is also present in Solaris
44753         8, and I assume earlier.  This causes "cd gnulib-tests; make
44754         check" to fail on Solaris 8 (and I assume, later) when building
44755         the latest coreutils, in test-vasprintf-posix's call to
44756         my_asprintf (&result, "%.4000f %d", 1.0, 99).  I have not checked
44757         the wide flavors (e.g., wprintf) so this patch just updates the
44758         documentation for the narrow ones.
44760         test-posixtm.c: add two tests
44761         * tests/test-posixtm.c: Add two tests, to highlight the
44762         bug in Solaris 10 (and earlier) localtime.  Gnulib doesn't work
44763         around this bug; this is merely to document it.
44765 2010-12-22  Bruno Haible  <bruno@clisp.org>
44767         getlogin_r: Work around portability problem on OSF/1.
44768         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
44769         * lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
44770         * lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
44771         test for a truncated result.
44772         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
44773         * modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
44774         * modules/getlogin_r (Depends-on): Add memchr.
44775         * doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
44777 2010-12-22  Bruno Haible  <bruno@clisp.org>
44779         ptsname: Avoid test failure on OSF/1 5.1.
44780         * modules/ptsname-tests (Depends-on): Add 'same-inode'.
44781         * tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
44782         (same_slave): New function.
44783         (main): Use it to compare ptsname's result with the expected file name.
44785 2010-12-22  Bruno Haible  <bruno@clisp.org>
44787         Port extended stdio modules to HP NonStop Kernel.
44788         * lib/stdio-impl.h (_IOERR, _IOREAD, _IOWRT, _IORW) [__TANDEM]: New
44789         macros.
44790         * lib/fbufmode.c: Update comments.
44791         * lib/fflush.c: Likewise.
44792         * lib/fpurge.c: Likewise.
44793         * lib/freadable.c: Likewise.
44794         * lib/freadahead.c: Likewise.
44795         * lib/freading.c: Likewise.
44796         * lib/freadptr.c: Likewise.
44797         * lib/freadseek.c: Likewise.
44798         * lib/fseeko.c: Likewise.
44799         * lib/fseterr.c: Likewise.
44800         * lib/fwritable.c: Likewise.
44801         * lib/fwriting.c: Likewise.
44802         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
44804 2010-12-22  Bruno Haible  <bruno@clisp.org>
44806         ttyname_r: Work around bug on OSF/1 5.1.
44807         * doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug.
44808         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no"
44809         instead of "guessing no" when the OSF/1 bug or the Solaris bug is
44810         present.
44811         * lib/ttyname_r.c (ttyname_r): Update comments.
44813 2010-12-22  Bruno Haible  <bruno@clisp.org>
44815         round: Implement result sign according to IEEE 754.
44816         * lib/round.c (MIN, MINUS_ZERO): New macros.
44817         (FLOOR_FREE_ROUND): Return -0.0 for -0.5 < x < 0.
44818         * tests/test-roundf-ieee.c (main): Test also values between -1 and 1.
44819         * tests/test-round-ieee.c (main): Likewise.
44820         * tests/test-roundl-ieee.c (main): Likewise.
44822         trunc: Implement result sign according to IEEE 754.
44823         * lib/trunc.c (MIN, MINUS_ZERO): New macros.
44824         (FUNC): Return +0.0 for 0 < x < 1 and -0.0 for -1 < x < 0.
44825         * tests/test-trunc2.c: Include minus-zero.h.
44826         (MINUS_ZERO): New macro.
44827         (trunc_reference): Keep in sync with lib/trunc.c.
44828         * tests/test-truncf2.c: Include minus-zero.h.
44829         (MINUS_ZERO): New macro.
44830         (truncf_reference): Keep in sync with lib/trunc.c.
44831         * tests/test-truncf-ieee.c (main): Test also values between -1 and 1.
44832         * tests/test-trunc-ieee.c (main): Likewise.
44833         * tests/test-truncl-ieee.c (main): Likewise.
44835         ceil: Implement result sign according to IEEE 754.
44836         * lib/ceil.c (MIN, MINUS_ZERO): New macros.
44837         (FUNC): Return -0.0 for -1 < x < 0.
44838         * tests/test-ceil2.c: Include minus-zero.h.
44839         (MINUS_ZERO): New macro.
44840         (ceil_reference): Keep in sync with lib/ceil.c.
44841         * tests/test-ceilf2.c: Include minus-zero.h.
44842         (MINUS_ZERO): New macro.
44843         (ceilf_reference): Keep in sync with lib/ceil.c.
44844         * tests/test-ceilf-ieee.c (main): Test also values between -1 and 1.
44845         * tests/test-ceil-ieee.c (main): Likewise.
44846         * tests/test-ceill-ieee.c (main): Likewise.
44848         floor: Implement result sign according to IEEE 754.
44849         * lib/floor.c (FUNC): Return +0.0 for 0 < x < 1.
44850         * tests/test-floor2.c (floor_reference): Keep in sync with lib/floor.c.
44851         * tests/test-floorf2.c (floorf_reference): Likewise.
44852         * tests/test-floorf-ieee.c (main): Test also values between -1 and 1.
44853         * tests/test-floor-ieee.c (main): Likewise.
44854         * tests/test-floorl-ieee.c (main): Likewise.
44856 2010-12-22  Bruno Haible  <bruno@clisp.org>
44858         getaddrinfo: Update doc.
44859         * doc/posix-functions/gai_strerror.texi: Return type is also different
44860         on AIX and HP-UX.
44862 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
44864         getaddrinfo, inet_ntop: Update doc for Solaris.
44865         * doc/posix-functions/gai_strerror.texi: Return type is also an
44866         issue on Solaris 9 and earlier.
44867         * doc/posix-functions/inet_ntop.texi: 4th arg type is also an issue
44868         on Solaris 10 and earlier.
44870 2010-12-21  Bruno Haible  <bruno@clisp.org>
44872         New module 'roundl-ieee'.
44873         * modules/roundl-ieee: New file.
44874         * m4/roundl.m4 (gl_FUNC_ROUNDL): If gl_FUNC_ROUNDL_IEEE is also used,
44875         test whether roundl works according to ISO C 99 with IEC 60559.
44876         * m4/roundl-ieee.m4: New file.
44877         * modules/roundl-ieee-tests: New file.
44878         * tests/test-roundl-ieee.c: New file, based on tests/test-roundl.c.
44879         * tests/test-roundl.c (main): Remove signbit tests.
44880         * modules/roundl-tests (Depends-on): Remove signbit.
44881         * doc/posix-functions/roundl.texi: Mention the new module.
44883 2010-12-21  Bruno Haible  <bruno@clisp.org>
44885         New module 'truncl-ieee'.
44886         * modules/truncl-ieee: New file.
44887         * modules/truncl-ieee-tests: New file.
44888         * tests/test-truncl-ieee.c: New file, based on tests/test-truncl.c.
44889         * tests/test-truncl.c (main): Remove signbit tests.
44890         * modules/truncl-tests (Depends-on): Remove signbit.
44891         * doc/posix-functions/truncl.texi: Mention the new module.
44893 2010-12-21  Bruno Haible  <bruno@clisp.org>
44895         New module 'ceill-ieee'.
44896         * modules/ceill-ieee: New file.
44897         * modules/ceill-ieee-tests: New file.
44898         * tests/test-ceill-ieee.c: New file, based on tests/test-ceill.c.
44899         * tests/test-ceill.c (main): Remove signbit tests.
44900         * modules/ceill-tests (Depends-on): Remove signbit.
44901         * doc/posix-functions/ceill.texi: Mention the new module.
44903 2010-12-21  Bruno Haible  <bruno@clisp.org>
44905         New module 'floorl-ieee'.
44906         * modules/floorl-ieee: New file.
44907         * modules/floorl-ieee-tests: New file.
44908         * tests/test-floorl-ieee.c: New file, based on tests/test-floorl.c.
44909         * tests/test-floorl.c (main): Remove signbit tests.
44910         * modules/floorl-tests (Depends-on): Remove signbit.
44911         * doc/posix-functions/floorl.texi: Mention the new module.
44913 2010-12-21  Bruno Haible  <bruno@clisp.org>
44915         New module 'round-ieee'.
44916         * modules/round-ieee: New file.
44917         * m4/round.m4 (gl_FUNC_ROUND): If gl_FUNC_ROUND_IEEE is also used, test
44918         whether round works according to ISO C 99 with IEC 60559.
44919         * m4/round-ieee.m4: New file.
44920         * modules/round-ieee-tests: New file.
44921         * tests/test-round-ieee.c: New file, based on tests/test-roundf-ieee.c.
44922         * tests/test-round1.c (main): Remove signbit tests.
44923         * modules/round-tests (Depends-on): Remove 'signbit'.
44924         * doc/posix-functions/round.texi: Mention the new module.
44926 2010-12-21  Bruno Haible  <bruno@clisp.org>
44928         New module 'trunc-ieee'.
44929         * modules/trunc-ieee: New file.
44930         * m4/trunc.m4 (gl_FUNC_TRUNC): If gl_FUNC_TRUNC_IEEE is also used, test
44931         whether trunc works according to ISO C 99 with IEC 60559.
44932         * m4/trunc-ieee.m4: New file.
44933         * lib/math.in.h (trunc): Replace if REPLACE_TRUNC is set.
44934         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNC.
44935         * modules/math (Makefile.am): Substitute REPLACE_TRUNC.
44936         * modules/trunc-ieee-tests: New file.
44937         * tests/test-trunc-ieee.c: New file, based on tests/test-truncf-ieee.c.
44938         * tests/test-trunc1.c (main): Remove signbit tests.
44939         * modules/trunc-tests (Depends-on): Remove 'signbit'.
44940         * doc/posix-functions/trunc.texi: Mention the new module.
44942 2010-12-21  Bruno Haible  <bruno@clisp.org>
44944         New module 'ceil-ieee'.
44945         * modules/ceil-ieee: New file.
44946         * m4/ceil.m4 (gl_FUNC_CEIL): Require gl_MATH_H_DEFAULTS. If
44947         gl_FUNC_CEIL_IEEE is also used, test whether ceil works according to
44948         ISO C 99 with IEC 60559.
44949         * m4/ceil-ieee.m4: New file.
44950         * modules/ceil (Files): Add lib/ceil.c.
44951         (Depends-on): Add 'float'.
44952         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
44953         * lib/math.in.h (ceil): New declaration.
44954         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEIL,
44955         REPLACE_CEIL.
44956         * modules/math (Makefile.am): Substitute GNULIB_CEIL, REPLACE_CEIL.
44957         * modules/ceil-ieee-tests: New file.
44958         * tests/test-ceil-ieee.c: New file, based on tests/test-ceilf-ieee.c.
44959         * tests/test-math-c++.cc: Check the signature of 'ceil'.
44960         * doc/posix-functions/ceil.texi: Mention the new module.
44962 2010-12-21  Bruno Haible  <bruno@clisp.org>
44964         New module 'floor-ieee'.
44965         * modules/floor-ieee: New file.
44966         * m4/floor.m4 (gl_FUNC_FLOOR): Require gl_MATH_H_DEFAULTS. If
44967         gl_FUNC_FLOOR_IEEE is also used, test whether floor works according to
44968         ISO C 99 with IEC 60559.
44969         * m4/floor-ieee.m4: New file.
44970         * modules/floor (Files): Add lib/floor.c.
44971         (Depends-on): Add 'float'.
44972         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
44973         * lib/math.in.h (floor): New declaration.
44974         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOOR,
44975         REPLACE_FLOOR.
44976         * modules/math (Makefile.am): Substitute GNULIB_FLOOR, REPLACE_FLOOR.
44977         * modules/floor-ieee-tests: New file.
44978         * tests/test-floor-ieee.c: New file, based on tests/test-floorf-ieee.c.
44979         * tests/test-math-c++.cc: Check the signature of 'floor'.
44980         * doc/posix-functions/floor.texi: Mention the new module.
44982 2010-12-21  Bruno Haible  <bruno@clisp.org>
44984         New module 'roundf-ieee'.
44985         * modules/roundf-ieee: New file.
44986         * m4/roundf.m4 (gl_FUNC_ROUNDF): If gl_FUNC_ROUNDF_IEEE is also used,
44987         test whether roundf works according to ISO C 99 with IEC 60559.
44988         * m4/roundf-ieee.m4: New file.
44989         * modules/roundf-ieee-tests: New file.
44990         * tests/test-roundf-ieee.c: New file, based on tests/test-roundf1.c.
44991         * tests/test-roundf1.c (main): Remove signbit tests.
44992         * modules/roundf-tests (Depends-on): Remove 'signbit'.
44993         * doc/posix-functions/roundf.texi: Mention the new module.
44995 2010-12-21  Bruno Haible  <bruno@clisp.org>
44997         New module 'truncf-ieee'.
44998         * modules/truncf-ieee: New file.
44999         * m4/truncf.m4 (gl_FUNC_TRUNCF): If gl_FUNC_TRUNCF_IEEE is also used,
45000         test whether truncf works according to ISO C 99 with IEC 60559.
45001         * m4/truncf-ieee.m4: New file.
45002         * lib/math.in.h (truncf): Replace if REPLACE_TRUNCF is set.
45003         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCF.
45004         * modules/math (Makefile.am): Substitute REPLACE_TRUNCF.
45005         * modules/truncf-ieee-tests: New file.
45006         * tests/test-truncf-ieee.c: New file, based on tests/test-truncf1.c.
45007         * tests/test-truncf1.c (main): Remove signbit tests.
45008         * modules/truncf-tests (Depends-on): Remove 'signbit'.
45009         * doc/posix-functions/truncf.texi: Mention the new module.
45011 2010-12-21  Bruno Haible  <bruno@clisp.org>
45013         New module 'ceilf-ieee'.
45014         * modules/ceilf-ieee: New file.
45015         * m4/ceilf.m4 (gl_FUNC_FLOORF): If gl_FUNC_CEILF_IEEE is also used,
45016         test whether ceilf works according to ISO C 99 with IEC 60559.
45017         * m4/ceilf-ieee.m4: New file.
45018         * modules/ceilf-ieee-tests: New file.
45019         * tests/test-ceilf-ieee.c: New file, based on tests/test-ceilf1.c.
45020         * tests/test-ceilf1.c (main): Remove signbit tests.
45021         * modules/ceilf-tests (Depends-on): Remove 'signbit'.
45022         * doc/posix-functions/ceilf.texi: Mention the new module.
45024 2010-12-21  Bruno Haible  <bruno@clisp.org>
45026         New module 'floorf-ieee'.
45027         * modules/floorf-ieee: New file.
45028         * m4/floorf.m4 (gl_FUNC_FLOORF): If gl_FUNC_FLOORF_IEEE is also used,
45029         test whether floorf works according to ISO C 99 with IEC 60559.
45030         * m4/floorf-ieee.m4: New file.
45031         * modules/floorf-ieee-tests: New file.
45032         * tests/test-floorf-ieee.c: New file, based on tests/test-floorf1.c.
45033         * tests/test-floorf1.c (main): Remove signbit tests.
45034         * modules/floorf-tests (Depends-on): Remove 'signbit'.
45035         * doc/posix-functions/floorf.texi: Mention the new module.
45037 2010-12-21  Bruno Haible  <bruno@clisp.org>
45039         Support for minus zero in autoconf macros.
45040         * m4/minus-zero.m4: New file, based on tests/minus-zero.h.
45041         * m4/signbit.m4 (gl_FLOAT_SIGNBIT_CODE, gl_DOUBLE_SIGNBIT_CODE,
45042         gl_LONG_DOUBLE_SIGNBIT_CODE, gl_FLOATTYPE_SIGNBIT_CODE): New macros.
45043         * tests/minus-zero.h: Update comments.
45045 2010-12-21  Bruno Haible  <bruno@clisp.org>
45047         Tests for module 'ceil'.
45048         * modules/ceil-tests: New file.
45049         * tests/test-ceil1.c: New file, based on tests/test-ceill.c.
45050         * tests/test-ceil2.c: New file, based on tests/test-ceilf2.c.
45052 2010-12-21  Bruno Haible  <bruno@clisp.org>
45054         Tests for module 'floor'.
45055         * modules/floor-tests: New file.
45056         * tests/test-floor1.c: New file, based on tests/test-floorl.c.
45057         * tests/test-floor2.c: New file, based on tests/test-floorf2.c.
45059 2010-12-21  Bruno Haible  <bruno@clisp.org>
45061         math: Fix indentation.
45062         * lib/math.in.h (floorf): Fix indentation.
45064 2010-12-21  Bruno Haible  <bruno@clisp.org>
45066         Fix cross-compilation guesses on Solaris.
45067         * m4/fopen.m4 (gl_FUNC_FOPEN): Correct shell pattern so that it does
45068         not match "solaris2.10".
45069         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
45070         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_DIRECTIVE_N,
45071         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
45073 2010-12-21  Paul Eggert  <eggert@cs.ucla.edu>
45075         snprintf: port snprintf (NULL, 0, ...) to Solaris 8 and 9
45076         This fixes a problem observed with the latest coreutils snapshot
45077         that caused a test to fail on Solaris 8.  src/csplit.c's call
45078         snprintf (NULL, 0, format, UINT_MAX) returns -1 on Solaris 9 and
45079         earlier, instead of returning the number of bytes that would have
45080         been generated; this causes csplit to incorrectly report memory
45081         exhaustion.
45082         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Also check for
45083         snprintf (NULL, 0, ...) and (for good measure) snprintf (buf, 0, ...).
45084         Guess that it doesn't work on Solaris 2.6 through 9.  Adjust
45085         comments to match.
45086         (gl_PRINTF_SIZES_C99, gl_PRINTF_DIRECTIVE_F, gl_SNPRINTF_RETVAL_C99):
45087         Fix typo in matching older versions of Solaris: "solaris2.10"
45088         is matched by the shell pattern "solaris2.[0-9]*".  This matters
45089         only for guessing while cross-compiling.
45090         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Also check gl_SNPRINTF_RETVAL_C99.
45092 2010-12-20  Paul Eggert  <eggert@cs.ucla.edu>
45094         ftoastr: fix comment again
45095         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
45096         <http://lists.gnu.org/r/bug-gnulib/2010-12/msg00149.html>.
45097         Also, simplify example a bit by using flags = 0.
45099 2010-12-20  Bruno Haible  <bruno@clisp.org>
45101         round*, trunc*: Update documentation regarding glibc.
45102         * doc/posix-functions/roundf.texi: Mention missing declaration problem.
45103         * doc/posix-functions/round.texi: Likewise.
45104         * doc/posix-functions/roundl.texi: Likewise.
45105         * doc/posix-functions/truncf.texi: Likewise.
45106         * doc/posix-functions/trunc.texi: Likewise.
45107         * doc/posix-functions/truncl.texi: Likewise.
45109 2010-12-20  Bruno Haible  <bruno@clisp.org>
45111         roundf, round, roundl: Update documentation regarding OSF/1 5.1.
45112         * doc/posix-functions/roundf.texi: Mention OSF/1 5.1 problem.
45113         * doc/posix-functions/round.texi: Likewise.
45114         * doc/posix-functions/roundl.texi: Likewise.
45116 2010-12-20  Bruno Haible  <bruno@clisp.org>
45118         ttyname_r: Add missing declaration on HP-UX 11.
45119         * lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of
45120         HAVE_TTYNAME_R.
45121         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is
45122         declared. Set HAVE_TTYNAME_R always.
45123         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
45124         HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R.
45125         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not
45126         HAVE_TTYNAME_R.
45127         * doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem.
45129 2010-12-20  Bruno Haible  <bruno@clisp.org>
45131         getlogin, getlogin_r: Document HP-UX 11.11 bugs.
45132         * doc/posix-functions/getlogin.texi: Document HP-UX 11.11 bug.
45133         * doc/posix-functions/getlogin_r.texi: Likewise.
45134         * tests/test-getlogin.c: Include <errno.h>.
45135         (main): Avoid test failure on HP-UX 11.11.
45136         * tests/test-getlogin_r.c (main): Likewise.
45138 2010-12-20  Bruno Haible  <bruno@clisp.org>
45140         getlogin_r: Add missing declaration on HP-UX 11.
45141         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test whether getlogin_r is
45142         declared also when it exists as a function.
45143         * doc/posix-functions/getlogin_r.texi: Document this workaround.
45145 2010-12-20  Bruno Haible  <bruno@clisp.org>
45147         wcsrtombs: Don't confuse mbstate_t with rpl_mbstate_t.
45148         * lib/wcsrtombs.c: If gnulib overrides mbstate_t, define wcsrtombs
45149         through wcrtomb.
45151 2010-12-19  Paul Eggert  <eggert@cs.ucla.edu>
45153         ftoastr: fix comment
45154         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
45155         <http://lists.gnu.org/r/bug-gnulib/2010-12/msg00130.html>.
45157 2010-12-19  Bruno Haible  <bruno@clisp.org>
45159         isnan: Ensure it is a macro.
45160         * lib/math.in.h (isnan): Define as a macro if not already a macro.
45161         * doc/posix-functions/isnan.texi: Mention problem on IRIX, OSF/1,
45162         Solaris.
45164 2010-12-19  Bruno Haible  <bruno@clisp.org>
45166         ldexpl test: Fix link error on OSF/1 5.1.
45167         * modules/ldexpl-tests (Makefile.am): Define test_ldexpl_LDADD.
45169 2010-12-19  Bruno Haible  <bruno@clisp.org>
45171         wctype: Make it work in C++ mode on OSF/1 5.1.
45172         * lib/wctype.in.h (iswblank): Declare but not define here.
45173         * lib/iswblank.c: New file, extracted from lib/wctype.in.h.
45174         * m4/wctype_h.m4 (gl_WCTYPE_H): Arrange to compile it if needed.
45175         * modules/wctype (Files): Add lib/iswblank.c.
45177 2010-12-19  Bruno Haible  <bruno@clisp.org>
45179         signal: Document problem with type of SIGRTMIN, SIGRTMAX on OSF/1 5.1.
45180         * doc/posix-headers/signal.texi: Document OSF/1 5.1 problem.
45181         * lib/strsignal.c (strsignal): Cast SIGRTMIN to 'int'.
45183 2010-12-19  Bruno Haible  <bruno@clisp.org>
45185         sys_socket: Use POSIX compatible declarations on OSF/1 5.1.
45186         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): On OSF/1, define
45187         _POSIX_PII_SOCKET.
45188         * doc/posix-functions/recv.texi: Document the OSF/1 problem.
45189         * doc/posix-functions/recvfrom.texi: Likewise.
45190         * doc/posix-functions/send.texi: Likewise.
45191         * doc/posix-functions/sendto.texi: Likewise.
45193 2010-12-19  Bruno Haible  <bruno@clisp.org>
45195         tcgetsid: Add missing declaration on OSF/1 5.1.
45196         * lib/termios.in.h (tcgetsid): Test HAVE_DECL_TCGETSID instead of
45197         HAVE_TCGETSID.
45198         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Test whether tcgetsid is declared.
45199         Don't set HAVE_TCGETSID.
45200         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Initialize
45201         HAVE_DECL_TCGETSID, not HAVE_TCGETSID.
45202         * modules/termios (Makefile.am): Substitute HAVE_DECL_TCGETSID, not
45203         HAVE_TCGETSID.
45204         * doc/posix-functions/tcgetsid.texi: Mention the OSF/1 5.1 problem.
45206 2010-12-19  Bruno Haible  <bruno@clisp.org>
45208         stdio: Fix problem with popen() declaration on OSF/1 5.1.
45209         * lib/stdio.in.h: During the include_next statement, let recursive
45210         includes of this file include only the system header file.
45212 2010-12-19  Bruno Haible  <bruno@clisp.org>
45214         iconv_open: Fix regression from 2010-12-04.
45215         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Fix typo.
45216         Reported by Noah Lavine <noah.b.lavine@gmail.com>.
45218 2010-12-19  Bruno Haible  <bruno@clisp.org>
45220         stdbool test: Avoid a gcc warning.
45221         * tests/test-stdbool.c (main): Fail if e1 is false.
45222         Reported by Jim Meyering.
45224 2010-12-19  Jim Meyering  <meyering@redhat.com>
45226         setenv: restore to working order
45227         $HAVE_SETENV is used in gl_FUNC_SETENV, yet its definitions were
45228         mistakenly removed.
45229         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Restore code to set
45230         HAVE_SETENV.
45231         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Restore code to initialize
45232         HAVE_SETENV.
45234 2010-12-19  Bruno Haible  <bruno@clisp.org>
45236         Document some different function declarations on OSF/1 5.1.
45237         * doc/posix-functions/gai_strerror.texi: Mention different declaration.
45238         * doc/posix-functions/inet_ntop.texi: Likewise.
45239         * doc/posix-functions/gethostname.texi: Likewise.
45240         * lib/unistd.in.h (gethostname): Update comment.
45242 2010-12-19  Bruno Haible  <bruno@clisp.org>
45244         doc: Mention vasprintf-posix module.
45245         * doc/glibc-functions/asprintf.texi: Mention the workarounds present in
45246         the 'vasprintf-posix' module.
45247         * doc/glibc-functions/vasprintf.texi: Likewise.
45249 2010-12-19  Bruno Haible  <bruno@clisp.org>
45251         unsetenv: Add missing declaration on OSF/1 5.1.
45252         * lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV.
45253         * m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared.
45254         Don't set HAVE_UNSETENV. In the test program, set _BSD.
45255         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV,
45256         not HAVE_UNSETENV.
45257         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not
45258         HAVE_UNSETENV.
45259         * doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem.
45261 2010-12-19  Bruno Haible  <bruno@clisp.org>
45263         setenv: Add missing declaration on OSF/1 5.1.
45264         * lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV.
45265         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is
45266         declared. Don't set HAVE_SETENV.
45267         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV,
45268         not HAVE_SETENV.
45269         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not
45270         HAVE_SETENV.
45271         * doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem.
45273 2010-12-19  Bruno Haible  <bruno@clisp.org>
45275         nl_langinfo tests: Avoid gcc warning.
45276         * tests/test-nl_langinfo.c: Don't enable the GCC pragma for GCC 4.2.
45278 2010-12-19  Bruno Haible  <bruno@clisp.org>
45280         mknod: Avoid error in C++ mode on OSF/1 with GCC.
45281         * lib/sys_stat.in.h (mknod): Use _GL_CXXALIAS_SYS_CAST instead of
45282         _GL_CXXALIAS_SYS.
45284 2010-12-19  Bruno Haible  <bruno@clisp.org>
45286         stdbool: Relax test.
45287         * tests/test-stdbool.c (e): Don't require that casts from a variable's
45288         address to 'bool' work in static initializer, for compilers other than
45289         GCC.
45291 2010-12-19  Bruno Haible  <bruno@clisp.org>
45293         ftello: Add missing declaration on OSF/1 5.1.
45294         * lib/stdio.in.h (ftello): Test HAVE_DECL_FTELLO, not HAVE_FTELLO.
45295         * m4/ftello.m4 (gl_FUNC_FTELLO): Test whether ftello is declared.
45296         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FTELLO.
45297         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FTELLO.
45298         * doc/posix-functions/ftello.texi: Mention the OSF/1 5.1 problem.
45300 2010-12-19  Bruno Haible  <bruno@clisp.org>
45302         fseeko: Add missing declaration on OSF/1 5.1.
45303         * lib/stdio.in.h (fseeko): Test HAVE_DECL_FSEEKO, not HAVE_FSEEKO.
45304         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Test whether fseeko is declared.
45305         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FSEEKO.
45306         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FSEEKO.
45307         * doc/posix-functions/fseeko.texi: Mention the OSF/1 5.1 problem.
45309 2010-12-19  Bruno Haible  <bruno@clisp.org>
45311         fchdir: Add missing declaration on OSF/1 5.1.
45312         * lib/unistd.in.h (fchdir): Provide declaration if systems lacks it.
45313         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check whether fchdir is declared.
45314         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_FCHDIR.
45315         * modules/unistd (Makefile.am): Substitute HAVE_DECL_FCHDIR.
45316         * doc/posix-functions/fchdir.texi: Mention the OSF/1 5.1 problem.
45318 2010-12-19  Bruno Haible  <bruno@clisp.org>
45320         relocatable-prog-wrapper: Separate from relocatable-prog.
45321         * modules/relocatable-prog (Makefile.am): Define uninstall-hook and
45322         uninstall-relocwrapper rule here.
45323         * modules/relocatable-prog-wrapper (Makefile.am): ... not here.
45324         Reported by Ian Beckwith <ianb@erislabs.net>.
45326 2010-12-19  Bruno Haible  <bruno@clisp.org>
45328         unistr/u8-mbsnlen: Add missing dependency.
45329         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtouc.
45330         Reported by Ian Beckwith <ianb@erislabs.net>.
45332 2010-12-19  Bruno Haible  <bruno@clisp.org>
45334         iconv: Make it possible again to use this module without 'iconv-h'.
45335         * modules/iconv (configure.ac): Don't invoke gl_ICONV_MODULE_INDICATOR
45336         if it is not defined.
45337         Reported by Ian Beckwith <ianb@erislabs.net>.
45339 2010-12-18  Paul Eggert  <eggert@cs.ucla.edu>
45341         acl: port to Solaris 8 when copying from tmpfs to ufs
45342         * lib/copy-acl.c (qcopy_acl): Also allow EINVAL as an ignorable
45343         error number.  Problem observed on Solaris 8 with latest
45344         coreutils, with "mv A B", where A is on a tmpfs file system and B
45345         is on a ufs file system.  This caused coreutils' mv/part-symlink
45346         test to fail.
45348         tests: set fail=0 at start
45349         * tests/init.sh (setup_): Move fail=0 initialization here ...
45350         (mktempd_): ... from here, so that tests can rely on fail being
45351         set to 0 initially.  This fixes a problem in coreutils; see:
45352         http://lists.gnu.org/r/coreutils/2010-12/msg00083.html
45354 2010-12-18  Bruno Haible  <bruno@clisp.org>
45356         memmem-simple: Stylistic changes.
45357         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Avoid possible gcc warning.
45358         Fix preprocessor directive indentation.
45360 2010-12-15  Pádraig Brady  <P@draigBrady.com>
45362         memmem, memmem-simple: reorganize and expand empty needle check
45363         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Move all
45364         functional checks to memmem-simple so that one has a fully functional
45365         memmem by using just this module.
45366         Restrict the performance only check to the memmem module.
45367         Also expand the empty needle check to ensure the correct
45368         pointer is returned, not just a non NULL pointer.
45369         * doc/glibc-functions/memmem.texi: Rearrange the portability
45370         documentation to correlate with the rearranged checks.
45371         Clarify exactly how the memmem and memmem-simple modules
45372         relate to each other.
45374 2010-12-15  Pádraig Brady  <P@draigBrady.com>
45375             Bruno Haible  <bruno@clisp.org>
45377         Improve cross-compilation guesses for uClibc.
45378         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, assume
45379         that uClibc does not have the glibc bug.
45380         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
45381         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Likewise.
45383 2010-12-14  Eric Blake  <eblake@redhat.com>
45385         configmake: provide fallbacks for oldest supported autotools
45386         * m4/configmake.m4: New file.
45387         * modules/configmake (Files): Ship it.
45388         (configure.ac): Use it to guarantee fallbacks.
45390 2010-12-13  Pádraig Brady  <P@draigBrady.com>
45392         read-file: Improve handling of large files
45393         * lib/read-file.c (fread_file): Minimize realloc()s
45394         for regular files, and better manage sizes around SIZE_MAX.
45396 2010-12-13  Eric Blake  <eblake@redhat.com>
45398         cloexec, fcntl: relax license
45399         * modules/cloexec (License): Change from LGPLv3+ to LGPLv2+, with
45400         consent from all contributors.
45401         * modules/fcntl (License): Likewise.
45403 2010-12-10  Bruno Haible  <bruno@clisp.org>
45405         Tests for module 'pipe-posix'.
45406         * modules/pipe-posix-tests: New file.
45407         * tests/test-pipe.c: New file, based on tests/test-pipe2.c.
45409 2010-12-10  Bruno Haible  <bruno@clisp.org>
45411         pipe-posix: Make it work in C++ mode.
45412         * lib/unistd.in.h: Don't include <io.h>, <fcntl.h> for pipe.
45413         (pipe): Use common idiom, not a macro definition.
45414         * lib/pipe.c: New file.
45415         * m4/pipe.m4: New file.
45416         * modules/pipe-posix (Description): Enhance.
45417         (Files): Add lib/pipe.c, m4/pipe.m4.
45418         (configure.ac): Invoke gl_FUNC_PIPE.
45419         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_PIPE.
45420         * modules/unistd (Makefile.am): Substitute HAVE_PIPE.
45421         * tests/test-unistd-c++.cc: Check the signature of pipe.
45423 2010-12-10  Bruno Haible  <bruno@clisp.org>
45425         Rename module 'pipe' to 'spawn-pipe'.
45426         * modules/spawn-pipe: New file, renamed from modules/pipe.
45427         (Files, configure.ac, Makefile.am): Update.
45428         (Include): Mention "spawn-pipe.h" instead of "pipe.h".
45429         * modules/pipe: Reduce to an obsolete indirection to 'spawn-pipe'.
45430         * lib/spawn-pipe.h: New file, renamed from lib/pipe.h.
45431         * lib/spawn-pipe.c: New file, renamed from lib/pipe.c. Include
45432         "spawn-pipe.h" instead of "pipe.h".
45433         * m4/spawn-pipe.m4: New file, renamed from m4/pipe.m4. Rename gl_PIPE
45434         to gl_SPAWN_PIPE.
45435         * modules/spawn-pipe-tests: New file, renamed from modules/pipe-tests.
45436         (Files, Makefile.am): Update.
45437         * tests/test-spawn-pipe.sh: New file, renamed from tests/test-pipe.sh.
45438         Update.
45439         * tests/test-spawn-pipe.c: New file, renamed from tests/test-pipe.c.
45440         Include "spawn-pipe.h" instead of "pipe.h".
45441         * lib/csharpcomp.c: Include "spawn-pipe.h" instead of "pipe.h".
45442         * lib/javacomp.c: Likewise.
45443         * lib/javaversion.c: Likewise.
45444         * lib/pipe-filter-gi.c: Likewise.
45445         * lib/pipe-filter-ii.c: Likewise.
45446         * modules/csharpcomp (Depends-on): Add 'spawn-pipe', remove 'pipe'.
45447         * modules/javacomp (Depends-on): Likewise.
45448         * modules/javaversion (Depends-on): Likewise.
45449         * modules/pipe-filter-gi (Depends-on): Likewise.
45450         * modules/pipe-filter-ii (Depends-on): Likewise.
45451         * MODULES.html.sh (Executing programs): Update.
45452         * NEWS: Mention the change.
45454 2010-12-10  Eric Blake  <eblake@redhat.com>
45456         pipe-posix: new module
45457         * modules/pipe-posix: New file.
45458         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default.
45459         (gl_UNISTD_H): Check for declaration.
45460         * modules/unistd (Makefile.am): Substitute it.
45461         * lib/unistd.in.h (pipe): Provide it for mingw.
45462         * doc/posix-functions/pipe.texi (pipe): Update documentation.
45463         * MODULES.html.sh (File descriptor based Input/Output): Likewise.
45465 2010-12-07  Bruno Haible  <bruno@clisp.org>
45467         unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
45468         * lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name
45469         u8_strcmp_gnu.
45470         * modules/unistr/u8-strcmp (configure.ac): Bump version number.
45472 2010-12-06  Bruno Haible  <bruno@clisp.org>
45474         Update internal documentation.
45475         * m4/README: Document new idioms for AC_RUN_IFELSE invocations.
45477 2010-12-04  Bruno Haible  <bruno@clisp.org>
45479         Put more information about failed tests into the test return codes.
45480         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test
45481         program so that it returns an enumerated value (0, 1, 2, 3, 4, ...).
45482         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
45483         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
45484         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
45485         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
45486         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
45487         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
45488         * m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise.
45489         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
45490         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
45491         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
45492         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
45493         * m4/stdint.m4 (gl_STDINT_H): Likewise.
45494         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it
45495         returns a bit mask.
45496         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
45497         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
45498         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
45499         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
45500         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
45501         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
45502         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
45503         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
45504         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
45505         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
45506         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
45507         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
45508         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
45509         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
45510         * m4/link.m4 (gl_FUNC_LINK): Likewise.
45511         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
45512         * m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
45513         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
45514         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
45515         * m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise.
45516         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
45517         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
45518         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
45519         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
45520         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
45521         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
45522         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
45523         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
45524         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
45525         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS,
45526         gl_PRINTF_PRECISION): Likewise.
45527         * m4/regex.m4 (gl_REGEX): Likewise.
45528         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
45529         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
45530         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise.
45531         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
45532         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
45533         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
45534         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
45535         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise.
45536         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
45537         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
45538         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
45539         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
45540         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
45541         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
45542         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
45543         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
45544         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
45545         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
45546         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
45547         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise.
45548         (gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an
45549         enumerated value.
45550         * m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style.
45552 2010-12-04  Bruno Haible  <bruno@clisp.org>
45554         Update for Solaris 11 2010-11.
45555         * doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11
45556         Express, released in November 2010.
45558 2010-12-04  Bruno Haible  <bruno@clisp.org>
45560         nproc: Relax license.
45561         * modules/nproc (License): Change to LGPL, with consent by Glen Lenker
45562         and Paul Eggert.
45563         Requested by Ludovic Courtès <ludo@gnu.org>.
45565 2010-12-01  Paul Eggert  <eggert@cs.ucla.edu>
45567         utimecmp: fine-grained src to nearby coarse-grained dest
45569         * lib/utimecmp.c (utimecmp): When UTIMECMP_TRUNCATE_SOURCE is set,
45570         and the source is on a file system with higher-resolution time
45571         stamps, than the destination, and _PC_TIMESTAMP_RESOLUTION does
45572         not work, and the time stamps are close together, the algorithm to
45573         determine the exact resolution from the read-back mtime was buggy:
45574         it had a "!=" where it should have had an "==".  This bug has been
45575         in the code ever since it was introduced to gnulib.
45576         Problem reported by Dan Jacobson in
45577         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7529>.
45579 2010-11-30  Bruno Haible  <bruno@clisp.org>
45581         strerror_r-posix: Fix autoconf test.
45582         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Fix typo.
45584 2010-11-28  Bruno Haible  <bruno@clisp.org>
45585             Paul Eggert  <eggert@cs.ucla.edu>
45587         Tests for module 'getdomainname'.
45588         * modules/getdomainname-tests: New file.
45589         * tests/test-getdomainname.c: New file, based on
45590         tests/test-gethostname.c.
45592 2010-11-28  Bruno Haible  <bruno@clisp.org>
45593             Paul Eggert  <eggert@cs.ucla.edu>
45595         getdomainname: Use the system function when possible.
45596         * lib/unistd.in.h: Include <netdb.h>, for getdomainname's declaration.
45597         (getdomainname): Replace if needed. Provide the declaration if it is
45598         missing. Don't use _GL_CXXALIAS_SYS_CAST.
45599         * lib/getdomainname.c: Include <limits.h> and <sys/systeminfo.h>.
45600         (getdomainname): When the system has getdomainname, call the system
45601         function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that.
45602         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
45603         gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is
45604         found in libnsl. Look for the declaration also in <netdb.h>. Replace
45605         the function if its second argument is of type 'int' or if it is found
45606         in libnsl.
45607         (gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for
45608         <sys/systeminfo.h> and sysinfo().
45609         * modules/getdomainname (Depends-on): Add netdb, sys_socket.
45610         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
45611         HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of
45612         HAVE_GETDOMAINNAME.
45613         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and
45614         REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME.
45615         * doc/glibc-functions/getdomainname.texi: Document the problems with
45616         the getdomainname declaration.
45618 2010-11-28  Bruno Haible  <bruno@clisp.org>
45620         sys_socket: Ensure ss_family field on AIX.
45621         * lib/sys_socket.in.h (ss_family): New macro definition.
45622         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Set
45623         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. Set SYS_SOCKET_H if necessary.
45624         (gl_SYS_SOCKET_H_DEFAULTS): Initialize
45625         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
45626         * modules/sys_socket (Makefile.am): Substitute
45627         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
45628         * doc/posix-headers/sys_socket.texi: Mention the AIX bug.
45630 2010-11-27  Bruno Haible  <bruno@clisp.org>
45632         readline: Improve configure output.
45633         * m4/readline.m4 (gl_FUNC_READLINE): Make the
45634         "checking for readline..." result understandable.
45636 2010-11-27  Bruno Haible  <bruno@clisp.org>
45638         *printf-posix: Detect a bug on Solaris 10/x86.
45639         * m4/printf.m4 (gl_PRINTF_PRECISION): Detect crash with large precision
45640         for floating-point output.
45641         * tests/test-vasnprintf-posix.c (test_function): Test precision with %f
45642         directive.
45643         * tests/test-snprintf-posix.h (test_function): Likewise.
45644         * tests/test-sprintf-posix.h (test_function): Likewise.
45645         * tests/test-vasprintf-posix.c (test_function): Likewise.
45646         * doc/posix-functions/fprintf.texi: Mention Solaris/x86 bug.
45647         * doc/posix-functions/printf.texi: Likewise.
45648         * doc/posix-functions/snprintf.texi: Likewise.
45649         * doc/posix-functions/sprintf.texi: Likewise.
45650         * doc/posix-functions/vfprintf.texi: Likewise.
45651         * doc/posix-functions/vprintf.texi: Likewise.
45652         * doc/posix-functions/vsnprintf.texi: Likewise.
45653         * doc/posix-functions/vsprintf.texi: Likewise.
45654         * doc/glibc-functions/obstack_printf.texi: Likewise.
45655         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
45657 2010-11-27  Bruno Haible  <bruno@clisp.org>
45659         Fix link error when module libunistring-optional is in use.
45660         * modules/striconveh-tests (Makefile.am): Link with $(LIBUNISTRING).
45661         * modules/striconveha-tests (Makefile.am): Likewise.
45663 2010-11-27  Bruno Haible  <bruno@clisp.org>
45665         regex: Mention link dependencies.
45666         * modules/regex (Link): New section.
45667         * modules/rpmatch (Link): Likewise.
45668         * modules/regex-quote-tests (Makefile.am): Link with $(LIBINTL).
45670 2010-11-27  Bruno Haible  <bruno@clisp.org>
45672         ftoastr: Fix compilation error on Solaris.
45673         * lib/ftoastr.c: Include <config.h>.
45675 2010-11-27  Bruno Haible  <bruno@clisp.org>
45677         getloadavg: Update documentation.
45678         * doc/glibc-functions/getloadavg.texi: Mention the Solaris problem.
45680 2010-11-27  Bruno Haible  <bruno@clisp.org>
45682         sys_socket: Fix test whether the functions are declared.
45683         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Include <sys/socket.h>,
45684         not <sys/select.h>.
45686 2010-11-27  Bruno Haible  <bruno@clisp.org>
45688         getpass: Make sure to get system declaration on some platforms.
45689         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Require
45690         gl_USE_SYSTEM_EXTENSIONS.
45691         * modules/getpass (Depends-on): Add extensions.
45693 2010-11-26  Bruno Haible  <bruno@clisp.org>
45695         iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11.
45696         * lib/iconv.in.h (iconv_open, iconv, iconv_close): Define only if the
45697         'iconv' module is present.
45698         (ICONV_CONST): New macro.
45699         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize GNULIB_ICONV and
45700         ICONV_CONST.
45701         * m4/iconv.m4 (AM_ICONV): If the gnulib module 'iconv-h' is present,
45702         set ICONV_CONST.
45703         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Don't set ICONV_CONST
45704         here.
45705         * modules/iconv (configure.ac): Invoke gl_ICONV_MODULE_INDICATOR.
45706         * modules/iconv-h (Makefile.am): Substitute GNULIB_ICONV.
45707         * tests/test-iconv-h.c (ICONV_CONST): Don't define here.
45708         * tests/test-iconv-h-c++.cc (ICONV_CONST): Don't define here.
45709         (iconv_open, iconv, iconv_close): Test only if the 'iconv' module is
45710         present.
45712 2010-11-25  Paul Eggert  <eggert@cs.ucla.edu>
45714         ftoastr: comment fix
45715         * lib/ftoastr.c: "little" -> "little or no" in comment
45717 2010-11-24  Paul Eggert  <eggert@cs.ucla.edu>
45719         stdint: port to GCC 4.3 + OSX + Octave
45720         On this platform, stdint.h is buggy and defines int64_t to long
45721         long int.  The replacement defined it to long int, causing
45722         problems with C++ style name mangling.  Instead, trust the system
45723         definition if INT64_MAX is defined, and likewise for the unsigned
45724         variant.   Problem reported by Jarno Rajahalme in
45725         <http://lists.gnu.org/r/bug-gnulib/2010-04/msg00143.html>.
45726         * lib/stdint.in.h (GL_INT64_T): Define if INT64_MAX is defined,
45727         and don't mess with int64_t and INT64_MAX in this case.
45728         (GL_UINT64_T): Likewise for UINT64_MAX and uint64_t.
45730 2010-11-24  Bruno Haible  <bruno@clisp.org>
45732         doc: Corrections regarding MacOS X 10.4 and 10.5.
45733         * doc/{glibc,posix,pastposix}-functions/*.texi: Update info about
45734         MacOS X.
45735         Reported by Simon Josefsson.
45737 2010-11-22  Ben Pfaff  <blp@cs.stanford.edu>
45739         Uninstall ".bin" files installed by relocwrapper.
45740         * modules/relocatable-prog-wrapper (uninstall-relocwrapper):
45741         Recursively run "make uninstall" with ".bin" prefixed to EXEEXT,
45742         unless it is already there.
45744 2010-11-21  Bruno Haible  <bruno@clisp.org>
45746         Update for NetBSD 5.0.
45747         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
45748         NetBSD; the test fails on NetBSD 5.0.
45749         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
45750         about NetBSD.
45752 2010-11-21  Bruno Haible  <bruno@clisp.org>
45754         Update for HP-UX 11.23 and HP-UX 11.31.
45755         * doc/{glibc,posix}-{headers,functions}/*.texi: Update info about
45756         HP-UX.
45758 2010-11-21  Bruno Haible  <bruno@clisp.org>
45760         Update for MacOS X 10.5.
45761         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
45762         MacOS X; the test fails on MacOS X 10.5.8.
45763         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
45764         about MacOS X.
45766 2010-11-20  Joel E. Denny  <joeldenny@joeldenny.org>
45768         bootstrap: add bootstrap_sync option.
45769         See discussion at
45770         <http://lists.gnu.org/r/bug-gnulib/2010-10/msg00369.html>,
45771         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00200.html>.
45772         * build-aux/bootstrap: Accept --bootstrap-sync to update
45773         bootstrap if it is not identical to the local gnulib's
45774         bootstrap.  Accept bootstrap_sync=true in bootstrap.conf to
45775         enable this by default.  Accept --no-bootstrap-sync to disable
45776         it.
45778 2010-11-20  Bruno Haible  <bruno@clisp.org>
45780         Ensure that <features.h> is included before __GLIBC__ is tested.
45781         * lib/printf-parse.h: Include <features.h>.
45782         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H.
45783         Reported by Mike Frysinger <vapier@gentoo.org>.
45785         Ensure that <features.h> is included before __GLIBC__ is tested.
45786         * lib/wchar.in.h: Include <features.h>.
45787         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H.
45788         * modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H.
45789         Reported by Mike Frysinger <vapier@gentoo.org>.
45791         Ensure that <features.h> is included before __GLIBC__ is tested.
45792         * lib/arpa_inet.in.h: Include <features.h>.
45793         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Require gl_FEATURES_H.
45794         * modules/arpa_inet (Makefile.am): Substitute HAVE_FEATURES_H.
45795         Reported by Mike Frysinger <vapier@gentoo.org>.
45797         Ensure that <features.h> is included before __GLIBC__ is tested.
45798         * build-aux/link-warning.h: Include <features.h>.
45799         * modules/link-warning (configure.ac): Require gl_FEATURES_H.
45800         (Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h.
45801         Reported by Mike Frysinger <vapier@gentoo.org>.
45803         Ensure that <features.h> is included before __GLIBC__ is tested.
45804         * m4/gnulib-common.m4 (gl_FEATURES_H): New macro.
45805         Reported by Mike Frysinger <vapier@gentoo.org>.
45807 2010-11-20  Bruno Haible  <bruno@clisp.org>
45809         memmem: Fix autoconf test.
45810         * m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM.
45812 2010-11-20  Bruno Haible  <bruno@clisp.org>
45814         Port to uClibc.
45815         * build-aux/link-warning.h (GL_LINK_WARNING): Treat uClibc like glibc.
45816         * lib/fcntl.in.h: Likewise.
45817         * lib/hard-locale.c (GLIBC_VERSION): Likewise.
45818         * lib/mbrtowc.c (mbrtowc): Likewise.
45819         * lib/relocatable.c (find_shared_library_fullname): Likewise.
45820         * lib/strerror_r.c: Likewise.
45821         * lib/unistr/u8-strnlen.c: Likewise.
45822         * lib/vasnprintf.c (decimal_point_char): Likewise.
45823         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
45824         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
45825         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
45826         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
45827         * tests/test-sigaction.c (handler, main): Likewise.
45828         * lib/freading.h: Treat uClibc like a non-glibc platform.
45829         * lib/freading.c: Likewise.
45830         * lib/gettext.h: Likewise.
45831         * lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL):
45832         Likewise.
45833         * lib/printf-parse.h (FLAG_LOCALIZED): Likewise.
45834         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
45835         * lib/propername.c (proper_name_utf8): Likewise.
45836         * lib/spawn.in.h: Likewise.
45837         * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise.
45838         * lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1,
45839         mem_cd_iconveh_internal): Likewise.
45840         * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
45841         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
45842         strstr, strcasestr): Likewise.
45843         * lib/unicodeio.c (unicode_to_mb): Likewise.
45844         * lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise.
45845         * lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise.
45846         * lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise.
45847         * lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise.
45848         * lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise.
45849         * lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise.
45850         * lib/unistr/u8-stpncpy.c: Likewise.
45851         * lib/vasnprintf.c (VASNPRINTF): Likewise.
45852         * lib/xmalloc.c (HAVE_GNU_CALLOC): Likewise.
45853         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
45854         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
45855         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
45856         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise.
45857         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise.
45858         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise.
45859         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
45860         Likewise.
45861         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
45862         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
45863         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
45864         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
45865         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
45866         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
45867         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
45868         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
45869         * tests/test-getopt.h (OPTIND_MIN): Likewise.
45870         * tests/test-striconveha.c (main): Likewise.
45871         * tests/test-vasnprintf-posix.c (test_function): Likewise.
45872         * tests/test-vasnprintf-posix3.c (test_function, main): Likewise.
45873         * doc/posix-functions/getdelim.texi: Mention an uClibc bug.
45874         * doc/posix-functions/getline.texi: Likewise.
45875         Reported by Mike Frysinger <vapier@gentoo.org>.
45877 2010-11-20  Bruno Haible  <bruno@clisp.org>
45879         nproc: Fix condition.
45880         * lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not
45881         HAVE_PTHREAD_AFFINITY_NP.
45883 2010-11-20  Bruno Haible  <bruno@clisp.org>
45885         Fix a comment.
45886         * lib/vasnprintf.c (VASNPRINTF): Fix comment.
45888 2010-11-19  Paul Eggert  <eggert@cs.ucla.edu>
45890         ftoastr: don't assume snprintf
45891         * lib/ftoastr.c (snprintf) [! GNULIB_SNPRINTF_POSIX]:
45892         Implement a subset of snprintf here, by using sprintf safely.
45893         * modules/ftoastr (Depends-on): Remove snprintf.
45895 2010-11-19  Jim Meyering  <meyering@redhat.com>
45897         test-rename.h: fix compilation failure
45898         * tests/test-rename.h (test_rename): Add omitted "}".
45900 2010-11-17  Jim Meyering  <meyering@redhat.com>
45902         maint.mk: add a URL discussing the no-@acronym policy
45903         * top/maint.mk (sc_texinfo_acronym): Add a URL in a comment.
45905 2010-11-18  Paul Eggert  <eggert@cs.ucla.edu>
45907         ftoastr: depend on snprintf, improve comments
45908         * lib/ftoastr.c: Also mention Loitsch's draft.
45909         * lib/ftoastr.h: Require WIDTH to be nonnegative.  This isn't
45910         needed in the current implementation, but it might simplify
45911         speeding up the code later.
45912         * modules/ftoastr: Depend on snprintf; this improves portability.
45913         Suggested by Bruno Haible in the same email.
45915         ftoastr: port to hosts lacking strtof and strtold
45916         Problem reported by Bruno Haible in
45917         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00242.html>.
45918         * lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99
45919         environment and strtold (and presumably strtof) are not available.
45920         * modules/ftoastr (Files): Add m4/c-strtod.m4.
45921         (configure.ac): Require gl_C99_STRTOLD.
45923 2010-11-18  Bruno Haible  <bruno@clisp.org>
45925         c-strtold: Avoid link error on AIX 7.
45926         * lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L.
45927         * m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists.
45928         (gl_C_STRTOLD): Test whether strtold_l exists.
45929         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
45931 2010-11-17  Paul Eggert  <eggert@cs.ucla.edu>
45933         intprops: new macro INT_BITS_STRLEN_BOUND
45934         * lib/intprops.h (INT_BITS_STRLEN_BOUND): New macro, needed by
45935         ftoastr.h.  This exposes an internal of intprops.h that was formerly
45936         not exposed.  Also, it uses a slightly tighter bound than before;
45937         though this makes no practical difference, we might as well be as
45938         tight as we easily can.
45940         ftoastr: new module, for lossless conversion of floats to short strings
45941         * lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c:
45942         * modules/ftoastr: New files.
45944 2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>
45946         bootstrap: port to Solaris sed
45947         * build-aux/bootstrap (get_version): Port to Solaris sed.
45948         See Ralf Wildenhues's note in
45949         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00156.html>.
45951 2010-11-14  Jim Meyering  <meyering@redhat.com>
45953         maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/
45954         * top/maint.mk (gl_noteworthy_news_): Rename from "noteworthy"
45955         and move definition closer to sole use.
45957 2010-11-13  Jim Meyering  <meyering@redhat.com>
45959         remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP
45960         Now we require at least autoconf-2.59, which means the work-around
45961         is no longer needed.
45962         * m4/alloca.m4 (gl_FUNC_ALLOCA): Remove work-around.
45963         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
45964         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
45965         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
45966         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
45968 2010-11-13  Bruno Haible  <bruno@clisp.org>
45970         rename, renameat: Avoid test failures at NFS mounted locations.
45971         * tests/test-rename.h (dentry_exists, assert_nonexistent): New
45972         functions.
45973         (test_rename): Use assert_nonexistent.
45974         * tests/test-rename.c: Include <dirent.h>.
45975         * tests/test-renameat.c: Likewise.
45976         Reported by Gary V. Vaughan <gary@gnu.org>.
45978         rename, renameat: Document Linux bug with NFS
45979         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00154.html>.
45980         * doc/posix-functions/rename.texi: Mention the NFS bug on Linux.
45981         * doc/posix-functions/renameat.texi: Likewise.
45982         Suggested by Eric Blake.
45984 2010-11-13  Bruno Haible  <bruno@clisp.org>
45986         rename test: Add comments.
45987         * tests/test-rename.h (test_rename): Add structure and comments.
45989 2010-11-13  Eric Blake  <eblake@redhat.com>
45991         maintainer-makefile: cover a few more files
45992         * top/maint.mk (sc_prohibit_test_double_equal): Also cover shell
45993         scripts generated within C files, for libvirt.
45995 2010-11-13  Bruno Haible  <bruno@clisp.org>
45997         unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.
45998         * lib/unistr/u8-mbtouc.c (u8_mbtouc): For an invalid multibyte
45999         character, return the number of bytes that belong together, not always
46000         1.
46001         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
46002         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
46003         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
46004         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtouc to determine the
46005         number of bytes of an invalid character.
46006         * tests/unistr/test-u8-mbtouc.c (test_safe_function): New function.
46007         (main): Invoke it.
46008         * tests/unistr/test-u8-mbtouc.h (test_function): Update two test
46009         results.
46010         * tests/unistr/test-u8-mbsnlen.c (main): Test various kinds of
46011         malformed byte sequences.
46012         * modules/unistr/u8-mbtouc (configure.ac): Bump version number.
46013         * modules/unistr/u8-mbtouc-unsafe (configure.ac): Likewise.
46014         * modules/unistr/u8-mbsnlen (configure.ac): Likewise.
46015         Reported by Ben Pfaff and Paolo Bonzini.
46017 2010-11-13  Bruno Haible  <bruno@clisp.org>
46019         openat: Work around glibc bug with fchownat() and empty file names.
46020         * m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro.
46021         (gl_FUNC_FCHOWNAT): Invoke it.
46022         * lib/fchownat.c (rpl_fchownat): Handle the empty file name specially.
46023         * doc/posix-functions/fchownat.texi: Document the glibc bug.
46024         Reported by Gary V. Vaughan <gary@gnu.org>.
46026 2010-11-13  Bruno Haible  <bruno@clisp.org>
46028         openat: Ensure autoconf macro ordering.
46029         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Require
46030         gl_USE_SYSTEM_EXTENSIONS.
46031         (gl_FUNC_FCHOWNAT): Require gl_UNISTD_H_DEFAULTS.
46033 2010-11-13  Bruno Haible  <bruno@clisp.org>
46035         Update comments.
46036         * lib/unistr/u8-check.c: Update file name in comments.
46037         * lib/unistr/u8-mblen.c: Likewise.
46038         * lib/unistr/u8-prev.c: Likewise.
46039         * lib/unistr/u8-strmblen.c: Likewise.
46040         * lib/unistr/u8-strmbtouc.c: Likewise.
46042 2010-11-13  Jim Meyering  <meyering@redhat.com>
46044         tests: avoid test failure on Solaris 10 due to lack of PATH export
46045         * tests/test-update-copyright.sh: Don't forget to export PATH.
46047         init.sh: ensure that IFS is defined, just in case...
46048         * tests/init.sh (setup_): Ensure that IFS is defined,
46049         so that saving and restoring it works as expected.  This
46050         appears to be useful at least for an old version of dash
46051         from a long time ago (RH 6).  See here for details:
46052         http://thread.gmane.org/gmane.comp.gnu.coreutils.general/436/focus=455
46054         maint.mk: tighten "test a == b" check
46055         * top/maint.mk (sc_prohibit_test_double_equal): Restrict this
46056         test to files that contain something like #!/bin/sh.
46057         Without this, coreutils would get two false positives in
46058         the comments of C source files.
46060 2010-11-12  Eric Blake  <eblake@redhat.com>
46062         bootstrap: fix typo in previous attempt
46063         * build-aux/bootstrap (buildreq): Correct the grouping.
46064         Reported by Paul Eggert.
46066         maintainer-makefile: prohibit test x == x
46067         * top/maint.mk (sc_prohibit_test_double_equal): New rule.
46068         Based on a report by Matthias Bolte.
46070         bootstrap: allow FreeBSD gzip
46071         * build-aux/bootstrap (get_version): Parse FreeBSD gzip version,
46072         which has no '.' and goes to stderr.
46073         * build-aux/bootstrap.conf (buildreq): Improve the sample file.
46074         Reported by Matthias Bolte.
46076         maintainer-makefile: check for i18n setup
46077         * top/maint.mk (sc_bindtextdomain): Check for evidence that _()
46078         will likely work.
46080 2010-11-12  Bruno Haible  <bruno@clisp.org>
46082         sleep, nanosleep: Work around Linux 2.6.9 nanosleep bug.
46083         * lib/sleep.c (rpl_sleep): Split in chunks no larger than 24 days.
46084         * lib/nanosleep.c (nanosleep): Likewise.
46086 2010-11-11  Bruno Haible  <bruno@clisp.org>
46088         fcntl-h: Fix for use of C++ on glibc systems.
46089         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
46090         also on glibc systems in C++ mode.
46091         Reported by Gary V. Vaughan <gary@gnu.org>.
46093 2010-11-11  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
46095         mknod: avoid false failure with dash
46096         * m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax.
46098 2010-11-11  Paul Eggert  <eggert@cs.ucla.edu>
46100         unlink: Fix "is it should" typo in diagnostic.
46101         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in
46102         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00106.html>.
46104 2010-11-11  Bruno Haible  <bruno@clisp.org>
46106         Tests for module 'strerror_r-posix'.
46107         * modules/strerror_r-posix-tests: New file.
46108         * tests/test-strerror_r.c: New file.
46109         * tests/test-string-c++.cc: Check the signature of strerror_r.
46111         New module 'strerror_r-posix'.
46112         * lib/string.in.h (strerror_r): New declaration.
46113         * lib/strerror_r.c: New file.
46114         * m4/strerror_r.m4: New file.
46115         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration
46116         of strerror_r.
46117         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R,
46118         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
46119         * modules/strerror_r-posix: New file.
46120         * modules/string (Makefile.am): Substitute GNULIB_STRERROR_R,
46121         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
46122         * doc/posix-functions/strerror_r.texi: Mention the new module and the
46123         portability problems.
46125 2010-11-11  Torsten Scheck  <Torsten.Scheck@Leica-Microsystems.com> (tiny change)
46127         * build-aux/pmccabe2html: Fixed a off-by-one error, so last input
46128         line is also considered for output. Quoted function name in shell
46129         command, so temporary files for functions like MyClass::operator()
46130         are removed correctly without errors.
46132 2010-11-09  Bruno Haible  <bruno@clisp.org>
46134         * doc/posix-functions/strerror.texi: List more failing platforms.
46136         * doc/posix-functions/strerror.texi: Add a comment.
46138 2010-11-07  Paul Eggert  <eggert@cs.ucla.edu>
46140         fdopendir: fix bug on MacOS X when low on file descriptors
46142         * lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined.
46143         (fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg.
46144         All callers changed.
46145         (fdopendir): Invoke save_cwd at the top level, not after using
46146         multiple dup() calls to use up file descriptors.  Then retry
46147         fdopendir_with_dup.  This avoids failure with EMFILE if FD is 1
46148         less than the maximum number of open file descriptors, because
46149         save_cwd fails with errno == EMFILE.  Problem reported by tsteven4
46150         on Mac OS X 10.6.4 for tar 1.24
46151         <http://lists.gnu.org/r/bug-tar/2010-10/msg00084.html>
46152         <http://lists.gnu.org/r/bug-tar/2010-11/msg00000.html>
46153         and for tar 1.25
46154         <http://lists.gnu.org/r/bug-tar/2010-11/msg00038.html>.
46156 2010-11-07  Bruno Haible  <bruno@clisp.org>
46158         vasnprintf: Support I flag on glibc systems.
46159         * lib/printf-parse.h (FLAG_LOCALIZED): New macro.
46160         * lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
46161         * lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
46162         snprintf function.
46163         * tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on
46164         glibc systems.
46165         * tests/test-vasnprintf-posix3.c: New file.
46166         * modules/vasnprintf-posix-tests (Files): Add it.
46167         (TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.
46169 2010-11-05  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
46171         [html] Fix copy/paste bug: Use unique name for compiler warnings.
46172         * MODULES.html.sh: For compiler warnings, use name
46173         `ansic_ext_compwarn' since `ansic_ext_misc' is already taken.
46175 2010-11-05  Eric Blake  <eblake@redhat.com>
46177         ceil, floor: avoid spurious failure with icc
46178         * tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ
46179         [denormals-as-zero] when optimizing without -mieee-fp option.
46180         * tests/test-floorf2.c (floorf_reference): Likewise.
46181         * tests/test-ceilf1.c (dummy): New function.
46182         (main): Use it to outsmart icc's optimization.
46183         * tests/test-floorf1.c (dummy, main): Likewise.
46185         tests: require working signbit
46186         * modules/ceilf-tests (Depends-on): Add signbit.
46187         * modules/ceill-tests (Depends-on): Likewise.
46188         * modules/floorf-tests (Depends-on): Likewise.
46189         * modules/floorl-tests (Depends-on): Likewise.
46190         * modules/round-tests (Depends-on): Likewise.
46191         * modules/roundf-tests (Depends-on): Likewise.
46192         * modules/roundl-tests (Depends-on): Likewise.
46193         * modules/trunc-tests (Depends-on): Likewise.
46194         * modules/truncf-tests (Depends-on): Likewise.
46195         * modules/truncl-tests (Depends-on): Likewise.
46197         strtod: work around icc bug
46198         * lib/strtod.c (minus_zero): Define to working value.
46199         (strtod): Use it to avoid icc bug.
46201         copysign: enhance tests
46202         * modules/copysign-tests (Files): Add minus-zero.h.
46203         * tests/test-copysign.c (main): Also test zeros.
46205 2010-11-04  Eric Blake  <eblake@redhat.com>
46207         ceil, floor, round, trunc: enhance tests of -0
46208         * tests/test-ceilf1.c (main): Ensure correct sign of result.
46209         * tests/test-ceill.c (main): Likewise.
46210         * tests/test-floorf1.c (main): Likewise.
46211         * tests/test-floorl.c (main): Likewise.
46212         * tests/test-round1.c (main): Likewise.
46213         * tests/test-roundf1.c (main): Likewise.
46214         * tests/test-roundl.c (main): Likewise.
46215         * tests/test-trunc1.c (main): Likewise.
46216         * tests/test-truncf1.c (main): Likewise.
46217         * tests/test-truncl.c (main): Likewise.
46219 2010-11-04  Eric Blake  <eblake@redhat.com>
46221         frexp, tests: work around ICC bug with -zero
46222         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that
46223         works with more compilers.
46224         * tests/minus-zero.h: New file.
46225         * modules/ceilf-tests (Files): Include it.
46226         * modules/ceill-tests (Files): Likewise.
46227         * modules/floorf-tests (Files): Likewise.
46228         * modules/floorl-tests (Files): Likewise.
46229         * modules/frexp-nolibm-tests (Files): Likewise.
46230         * modules/frexp-tests (Files): Likewise.
46231         * modules/frexpl-nolibm-tests (Files): Likewise.
46232         * modules/frexpl-tests (Files): Likewise.
46233         * modules/isnan-tests (Files): Likewise.
46234         * modules/isnand-nolibm-tests (Files): Likewise.
46235         * modules/isnand-tests (Files): Likewise.
46236         * modules/isnanf-nolibm-tests (Files): Likewise.
46237         * modules/isnanf-tests (Files): Likewise.
46238         * modules/isnanl-nolibm-tests (Files): Likewise.
46239         * modules/isnanl-tests (Files): Likewise.
46240         * modules/round-tests (Files): Likewise.
46241         * modules/roundf-tests (Files): Likewise.
46242         * modules/roundl-tests (Files): Likewise.
46243         * modules/ldexpl-tests (Files): Likewise.
46244         * modules/signbit-tests (Files): Likewise.
46245         * modules/snprintf-posix-tests (Files): Likewise.
46246         * modules/sprintf-posix-tests (Files): Likewise.
46247         * modules/strtod-tests (Files): Likewise.
46248         * modules/trunc-tests (Files): Likewise.
46249         * modules/truncf-tests (Files): Likewise.
46250         * modules/truncl-tests (Files): Likewise.
46251         * modules/vsnprintf-posix-tests (Files): Likewise.
46252         * modules/vsprintf-posix-tests (Files): Likewise.
46253         * modules/vasnprintf-posix-tests (Files): Likewise.
46254         * modules/vasprintf-posix-tests (Files): Likewise.
46255         * tests/test-ceilf1.c (main): Use it.
46256         * tests/test-ceill.c (main): Likewise.
46257         * tests/test-floorf1.c (main): Likewise.
46258         * tests/test-floorl.c (main): Likewise.
46259         * tests/test-frexp.c (main): Likewise.
46260         * tests/test-frexpl.c (main): Likewise.
46261         * tests/test-isnan.c (main): Likewise.
46262         * tests/test-isnand.h (main): Likewise.
46263         * tests/test-isnanf.h (main): Likewise.
46264         * tests/test-isnanl.h (main): Likewise.
46265         * tests/test-ldexpl.c (main): Likewise.
46266         * tests/test-round.c (main): Likewise.
46267         * tests/test-roundf.c (main): Likewise.
46268         * tests/test-roundl.c (main): Likewise.
46269         * tests/test-signbit.c (test_signbitf, test_signbitd)
46270         (test_signbitl): Likewise.
46271         * tests/test-snprintf-posix.h (test_function): Likewise.
46272         * tests/test-sprintf-posix.h (test_function): Likewise.
46273         * tests/test-strtod.c (main): Likewise.
46274         * tests/test-trunc1.c (main): Likewise.
46275         * tests/test-truncf1.c (main): Likewise.
46276         * tests/test-truncl.c (main): Likewise.
46278         isnanl: work around icc bug
46279         * lib/isnan.c (FUNC): Compute run-time NaN under ICC as well.
46281 2010-11-03  Eric Blake  <eblake@redhat.com>
46283         tests: fix compiler warnings
46284         * tests/test-getopt.h (test_getopt): Fix condition.
46285         * tests/test-getopt_long.h (test_getopt_long): Likewise.
46286         * tests/test-pipe2.c (main): Likewise.
46287         * tests/test-quotearg-simple.c (main): Avoid icc warning.
46289         utimens: fix broken m4 test
46290         * m4/utimens.m4 (gl_UTIMENS): Include correct headers.
46292 2010-10-28  Bruno Haible  <bruno@clisp.org>
46294         posix_spawn*, getdtablesize: Relax license.
46295         * modules/posix_spawn (License): Change to LGPLv2+.
46296         * modules/posix_spawnp (License): Likewise.
46297         * modules/posix_spawn-internal (License): Likewise.
46298         * modules/posix_spawnattr_init (License): Likewise.
46299         * modules/posix_spawnattr_getflags (License): Likewise.
46300         * modules/posix_spawnattr_setflags (License): Likewise.
46301         * modules/posix_spawnattr_getpgroup (License): Likewise.
46302         * modules/posix_spawnattr_setpgroup (License): Likewise.
46303         * modules/posix_spawnattr_getschedparam (License): Likewise.
46304         * modules/posix_spawnattr_setschedparam (License): Likewise.
46305         * modules/posix_spawnattr_getschedpolicy (License): Likewise.
46306         * modules/posix_spawnattr_setschedpolicy (License): Likewise.
46307         * modules/posix_spawnattr_getsigdefault (License): Likewise.
46308         * modules/posix_spawnattr_setsigdefault (License): Likewise.
46309         * modules/posix_spawnattr_getsigmask (License): Likewise.
46310         * modules/posix_spawnattr_setsigmask (License): Likewise.
46311         * modules/posix_spawnattr_destroy (License): Likewise.
46312         * modules/posix_spawn_file_actions_init (License): Likewise.
46313         * modules/posix_spawn_file_actions_addclose (License): Likewise.
46314         * modules/posix_spawn_file_actions_adddup2 (License): Likewise.
46315         * modules/posix_spawn_file_actions_addopen (License): Likewise.
46316         * modules/posix_spawn_file_actions_destroy (License): Likewise.
46317         * modules/getdtablesize (License): Likewise.
46318         Requested by Adam Stokes <ajs@redhat.com> for use in netcf.
46320 2010-10-26  Bruno Haible  <bruno@clisp.org>
46322         unistd: Refine workaround from 2009-12-23 against Cygwin bug.
46323         * lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on
46324         Cygwin and mingw.
46325         Suggested by Eric Blake.
46327 2010-10-26  Bruno Haible  <bruno@clisp.org>
46329         stdio: Work around compilation error due to renameat() on Solaris 10.
46330         * lib/stdio.in.h: Include <unistd.h> on Solaris.
46331         * lib/renameat.c: Don't include <unistd.h> here.
46332         * doc/posix-functions/renameat.texi: Mention the Solaris problem.
46333         Reported by Paul Eggert and Eric Blake.
46335 2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>
46337         renameat: port to Solaris 10, which declares renameat in unistd.h
46339         * lib/renameat.c: Include unistd.h before stdio.h, because
46340         Solaris 10 declares renameat in unistd.h.  Problem encountered
46341         when building GNU tar 1.24 on Solaris 10.
46343 2010-10-26  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
46345         fdopendir: fix C89 compilation
46346         * lib/fdopendir.c (fd_clone_opendir): Move declaration for older
46347         compilers.
46349 2010-10-23  Paul Eggert  <eggert@cs.ucla.edu>
46351         inttostr: simplify by removing unnecessary redundancy
46352         * lib/anytostr.c: Don't include verify.h.
46353         (anytostr): Don't verify that TYPE_SIGNED (inttype) equals
46354         inttype_is_signed.  Instead, disable the bogus GCC warnings, so that
46355         there's no need for inttype_is_signed and for calling TYPE_SIGNED.
46356         * lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed.
46357         * lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c:
46358         Likewise.
46359         * modules/inttostr (Depends-on): Remove 'verify'.
46361 2010-10-23  Bruno Haible  <bruno@clisp.org>
46363         nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0.
46364         * doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR.
46365         Reported by Eric Blake.
46367 2010-10-23  Bruno Haible  <bruno@clisp.org>
46369         Tests: Fix LOCALE_JA on MirBSD 10.
46370         * m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads
46371         to an UTF-8 locale.
46372         * m4/locale-fr.m4 (gt_LOCALE_FR): Likewise.
46373         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
46374         Reported by Eric Blake.
46376 2010-10-21  Bruno Haible  <bruno@clisp.org>
46378         nl_langinfo test: Avoid test failure on NetBSD 5.
46379         * tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR).
46380         Reported by Eric Blake.
46382 2010-10-21  Eric Blake  <eblake@redhat.com>
46384         c-stack: work around libsigsegv 2.8 bug
46385         * lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
46386         overflow on at least PowerPC64.
46388 2010-10-17  Bruno Haible  <bruno@clisp.org>
46390         userspec: Drop redundant file.
46391         * modules/userspec (Files): Remove lib/inttostr.h.
46393 2010-10-17  Bruno Haible  <bruno@clisp.org>
46395         nl_langinfo tests: Silence some warnings.
46396         * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
46397         Reported by Jim Meyering.
46399 2010-10-17  Bruno Haible  <bruno@clisp.org>
46401         Make use of GCC's attribute __alloc_size__.
46402         * lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
46403         (xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
46404         xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
46405         * lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
46406         __alloc_size__.
46407         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
46408         Suggested by Jim Meyering.
46410 2010-10-16  Joel E. Denny  <joeldenny@joeldenny.org>
46412         bootstrap: anchor .gitignore entries.
46413         * build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
46414         with...
46415         (insert_vc_ignore): ... this new function, which prepends `/' to
46416         all .gitignore entries before passing them to
46417         insert_sorted_if_absent.
46419 2010-10-16  Bruno Haible  <bruno@clisp.org>
46421         nextafter: Fix configure check.
46422         * modules/nextafter (configure.ac): Correct expected prototype.
46424 2010-10-16  Bruno Haible  <bruno@clisp.org>
46426         termios: Update documentation.
46427         * doc/posix-headers/termios.texi: Mention remaining mingw problems.
46429 2010-10-16  Bruno Haible  <bruno@clisp.org>
46431         tests: Make them compile with TinyCC.
46432         * tests/test-strstr.c (main): Remove parentheses around array
46433         initializer.
46435 2010-10-15  Eric Blake  <eblake@redhat.com>
46437         ignore-value: make header idempotent
46438         * lib/ignore-value.h: Add double-inclusion guards.
46439         Reported by Stefan Berger.
46441 2010-10-15  Jim Meyering  <meyering@redhat.com>
46443         GNUmakefile: handle "stable" target, not "major"
46444         * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
46445         lists in maint.mk and announce-gen.  Without this, "make stable"
46446         would fail to ensure that $(VERSION) is up to date.
46448 2010-10-15  Ludovic Courtès  <ludo@gnu.org>
46450         * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
46451         & co.
46453 2010-10-14  Bruno Haible  <bruno@clisp.org>
46455         vasnprintf: Don't set errno to 0.
46456         * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
46457         block that sets it to 0.
46458         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
46460 2010-10-14  Bruno Haible  <bruno@clisp.org>
46462         socketlib: Fix.
46463         * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
46464         gl_PREREQ_SYS_H_WINSOCK2.
46465         Reported by Ian Beckwith <ianb@erislabs.net>.
46467 2010-10-13  Jim Meyering  <meyering@redhat.com>
46469         test-select-stdin.c: avoid warn_unused_result warnings
46470         * tests/test-select-stdin.c: Include "macros.h".
46471         ASSERT that read and fflush succeed.
46473 2010-10-13  Jim Meyering  <meyering@redhat.com>
46475         git-version-gen: do require git-VC'd files in cwd
46476         * build-aux/git-version-gen: Reject a git version string
46477         if there are no commits associated with the current directory.
46478         This avoids an unlikely false-positive (unrelated dir whose parent
46479         repository also contains a tag matching v*), as pointed out
46480         by Giuseppe Scrivano in
46481         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
46483 2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>
46485         argv-iter: omit nonconforming declaration
46486         * lib/argv-iter.h (enum argv_iter_err): Omit the useless
46487         enum arg_iter_err declaration, which doesn't conform to C99.
46488         Solaris 10 cc warns about this.
46490 2010-10-13  Eric Blake  <eblake@redhat.com>
46492         termios: fix compilation on mingw
46493         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
46494         (gl_TERMIOS_H): Adjust it on mingw.
46495         * modules/termios (Makefile.am): Substitute new key.
46496         * lib/termios.in.h (includes): Make include_next conditional.
46497         * doc/posix-headers/termios.texi (termios.h): Update
46498         documentation.
46499         Reported by Daniel P. Berrange.
46501 2010-10-13  Jim Meyering  <meyering@redhat.com>
46503         git-version-gen: don't require that .git/ be in the current dir
46504         * build-aux/git-version-gen: Adjust this script so that it works
46505         when run from any working directory beneath the top-level .git/-
46506         containing directory.  Inspired by a patch from Giuseppe Scrivano,
46507         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
46509         test-select: avoid warn_unused_result warnings
46510         * tests/test-select.c: Include "macros.h".
46511         ASSERT that each call to read, write, and pipe succeeds.
46512         While not technically required, also check each "close".
46513         * modules/select-tests (Files): Add tests/macros.h.
46515         test-symlinkat: remove declaration of unused local
46516         * tests/test-symlinkat.c (main): Remove unused local, "buf".
46518         test-inttostr: avoid shadowing warnings
46519         * tests/test-inttostr.c (main): Rename local, "buf" to "b",
46520         and use malloc rather than the stack for the same reason as
46521         mentioned in the comment justifying the other allocation.
46523 2010-10-11  Bruno Haible  <bruno@clisp.org>
46525         stdlib: Allow multiple gnulib generated replacements to coexist.
46526         * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
46527         Reported by Sam Steingold <sds@gnu.org>.
46529 2010-10-11  Jim Meyering  <meyering@redhat.com>
46531         fix a documentation typo
46532         * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
46534 2010-10-11  Eric Blake  <eblake@redhat.com>
46536         futimens: work around Solaris 11 bug
46537         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
46538         * tests/test-futimens.h (test_futimens): Enhance, rather than
46539         weaken test.
46540         * doc/posix-functions/futimens.texi (futimens): Document the bug.
46542 2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>
46544         Indentation.
46545         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
46546         higher-level operators more to the left.
46548 2010-10-11  Jim Meyering  <meyering@redhat.com>
46550         test-futimens: avoid unwarranted test failure on Solaris 5.11
46551         * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
46552         invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
46553         because it tries to dereference the NULL name argument.
46555 2010-10-11  Bruno Haible  <bruno@clisp.org>
46557         Indentation.
46558         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
46559         indentation.
46561 2010-10-11  Jim Meyering  <meyering@redhat.com>
46563         spawn.in.h: make indentation consistent with parentheses
46564         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
46565         Make indentation consistent with parentheses.
46567 2010-10-11  Gary V. Vaughan  <gary@gnu.org>
46569         Fix mismatched parens in previous commit
46570         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
46571         parens.
46573 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
46575         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
46577         * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
46578         (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
46579         * lib/malloca.c: Include "verify.h".
46580         (verify1): Remove, replacing with a verify call.
46581         * lib/relocwrapper.c (verify1): Likewise.
46582         * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
46583         Likewise.
46584         * modules/malloca (Depends-on): Add 'verify'.
46585         * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
46586         * modules/vasnprintf (Depends-on): Add 'verify'.
46587         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
46588         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
46589         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
46590         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
46591         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
46592         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
46593         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
46595         prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
46597         Formerly the style was sometimes 2*X - 1, because the C standard
46598         was wrongly thought to disallow ?: in integral constant expressions.
46599         * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
46600         * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
46601         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
46602         * lib/stdint.in.h (_verify_intmax_size): Likewise.
46603         * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
46604         2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
46605         verify that time_t cannot be floating.
46607 2010-10-08  Eric Blake  <eblake@redhat.com>
46609         time: enforce recent POSIX ruling that time_t is integral
46610         * lib/time.in.h (__time_t_must_be_integral): Detect any
46611         problematic systems, allowing the rest of gnulib to assume POSIX.
46613 2010-10-08  Jim Meyering  <meyering@redhat.com>
46615         fdopendir: fix a bug on systems lacking openat and /proc support
46616         OpenBSD 4.7 is one such system.  The most noticeable effect was
46617         failure of any application making nontrivial use of fts: rm, du,
46618         chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
46619           ./rm: traversal failed: `a': Bad file descriptor
46620         Debugging that, you see that even though FD 6 was closed just
46621         prior to the opendir call in fd_clone_opendir, its resulting
46622         dir->dd_fd was 8, rather than the expected value of 6:
46624         Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
46625         93                close (fd);
46626         (gdb) n
46627         94                dir = fd_clone_opendir (dupfd);
46628         (gdb) n
46629         95                saved_errno = errno;
46630         (gdb) p dir->dd_fd
46631         $11 = 8
46633         Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
46634         The problem is that on OpenBSD, fd_clone_opendir has to resort
46635         to using the old-style save/restore CWD mechanism, due to its
46636         lack of openat/proc support, and *that* would steal the FD (6)
46637         that opendir was supposed to use.
46639         The fix is to squirrel away the desired FD so that save_cwd uses a
46640         different one, and then free the dest FD right before calling opendir.
46641         That guarantees opendir will use the required file descriptor.
46643         * lib/fdopendir.c (fd_clone_opendir): Handle the above.
46645 2010-10-08  Bruno Haible  <bruno@clisp.org>
46647         sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
46648         * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
46650 2010-10-08  Bruno Haible  <bruno@clisp.org>
46652         nanosleep: Make replacement POSIX compliant.
46653         * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
46654         is out of range.
46655         Reported by Jim Meyering.
46657 2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
46659         bootstrap: add hook for altering gnulib.mk, for Bison
46660         * build-aux/bootstrap (gnulib_mk_hook): New function, so that
46661         the Bison bootstrapping process can rewrite file names and variables
46662         in this file before later parts of 'bootstrap' use the file.
46663         Bison wants to include lib/gnulib.mk from the top-level makefile,
46664         so it needs the file names in this file to be relative to the top
46665         level, not relative to lib; plus it needs variable names to be
46666         rewritten.
46667         (slurp): Use the new function.
46669         bootstrap: reformat for readability
46670         * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
46672 2010-10-08  Eric Blake  <eblake@redhat.com>
46674         docs: update cygwin progress
46675         * doc/posix-functions/cacos.texi (cacos): Added after cygwin
46676         1.7.7.
46677         * doc/posix-functions/cacosf.texi (cacosf): Likewise.
46678         * doc/posix-functions/cacosh.texi (cacosh): Likewise.
46679         * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
46680         * doc/posix-functions/carg.texi (carg): Likewise.
46681         * doc/posix-functions/cargf.texi (cargf): Likewise.
46682         * doc/posix-functions/casin.texi (casin): Likewise.
46683         * doc/posix-functions/casinf.texi (casinf): Likewise.
46684         * doc/posix-functions/casinh.texi (casinh): Likewise.
46685         * doc/posix-functions/casinhf.texi (casinhf): Likewise.
46686         * doc/posix-functions/catan.texi (catan): Likewise.
46687         * doc/posix-functions/catanf.texi (catanf): Likewise.
46688         * doc/posix-functions/catanh.texi (catanh): Likewise.
46689         * doc/posix-functions/catanhf.texi (catanhf): Likewise.
46690         * doc/posix-functions/ccos.texi (ccos): Likewise.
46691         * doc/posix-functions/ccosf.texi (ccosf): Likewise.
46692         * doc/posix-functions/ccosh.texi (ccosh): Likewise.
46693         * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
46694         * doc/posix-functions/cexp.texi (cexp): Likewise.
46695         * doc/posix-functions/cexpf.texi (cexpf): Likewise.
46696         * doc/posix-functions/cimag.texi (cimag): Likewise.
46697         * doc/posix-functions/cimagf.texi (cimagf): Likewise.
46698         * doc/posix-functions/clog.texi (clog): Likewise.
46699         * doc/posix-functions/clogf.texi (clogf): Likewise.
46700         * doc/posix-functions/conj.texi (conj): Likewise.
46701         * doc/posix-functions/conjf.texi (conjf): Likewise.
46702         * doc/posix-functions/cpow.texi (cpow): Likewise.
46703         * doc/posix-functions/cpowf.texi (cpowf): Likewise.
46704         * doc/posix-functions/cproj.texi (cproj): Likewise.
46705         * doc/posix-functions/cprojf.texi (cprojf): Likewise.
46706         * doc/posix-functions/creal.texi (creal): Likewise.
46707         * doc/posix-functions/crealf.texi (crealf): Likewise.
46708         * doc/posix-functions/csin.texi (csin): Likewise.
46709         * doc/posix-functions/csinf.texi (csinf): Likewise.
46710         * doc/posix-functions/csinh.texi (csinh): Likewise.
46711         * doc/posix-functions/csinhf.texi (csinhf): Likewise.
46712         * doc/posix-functions/csqrt.texi (csqrt): Likewise.
46713         * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
46714         * doc/posix-functions/ctan.texi (ctan): Likewise.
46715         * doc/posix-functions/ctanf.texi (ctanf): Likewise.
46716         * doc/posix-functions/ctanh.texi (ctanh): Likewise.
46717         * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
46718         * doc/posix-headers/complex.texi (complex.h): Likewise.
46720 2010-10-07  Jim Meyering  <meyering@redhat.com>
46722         parse-datetime: avoid compilation failure on OpenBSD 4.7
46723         * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
46724         This works around a compilation failure on OpenBSD 4.7:
46725         http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
46727 2010-10-07  Eric Blake  <eblake@redhat.com>
46729         docs: update cygwin progress
46730         * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
46731         1.7.6.
46732         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
46733         * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
46734         * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
46735         * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
46736         * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
46737         Likewise.
46738         * doc/posix-functions/fegetround.texi (fegetround): Likewise.
46739         * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
46740         * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
46741         Likewise.
46742         * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
46743         * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
46744         Likewise.
46745         * doc/posix-functions/fesetround.texi (fesetround): Likewise.
46746         * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
46747         * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
46748         * doc/glibc-functions/feenableexcept.texi (feenableexcept):
46749         Likewise.
46750         * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
46751         Likewise.
46752         * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
46754         docs: update parse-datetime history
46755         * doc/parse-datetime.texi (Authors of parse_datetime): Better
46756         documentation of this function's history and alternatives.
46758         cygwin: use more robust version check
46759         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
46760         exclude an eventual cygwin 1.9.1.
46761         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
46762         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
46763         (gl_FUNC_STRCASESTR): Likewise.
46764         Reported by Bruno Haible.
46766 2010-10-06  Bruno Haible  <bruno@clisp.org>
46768         string, sys_select: Avoid #including large headers unless necessary.
46769         * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
46770         * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
46771         OSF/1, BeOS, Haiku.
46772         Reported by Jim Meyering.
46774 2010-10-05  Eric Blake  <eblake@redhat.com>
46776         memmem, strstr, strcasestr: fix bug with long periodic needle
46777         * lib/str-two-way.h (two_way_long_needle): Avoid bug with long
46778         periodic needle having false positive.
46779         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
46780         and cygwin 1.7.7.
46781         (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
46782         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
46783         (gl_FUNC_STRCASESTR): Likewise.
46784         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
46785         * tests/test-memmem.c (main): Expose the bug.
46786         * tests/test-strcasestr.c (main): Likewise.
46787         * tests/test-strstr.c (main): Likewise.
46788         * tests/test-c-strcasestr.c (main): Likewise.
46789         * doc/glibc-functions/memmem.texi (memmem): Document the bug.
46790         * doc/posix-functions/strstr.texi (strstr): Likewise.
46791         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
46792         Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092
46794 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
46796         parse-datetime: do some more renaming
46797         * doc/parse-datetime.texi (Authors of parse_datetime): Call it
46798         parse_datetime, not get_date.  Mention the renaming.
46799         * lib/parse-datetime.y:  Call it parse_datetime, not getdate,
46800         in comments.
46801         * m4/bison.m4: Likewise.
46803 2010-10-05  Eric Blake  <eblake@redhat.com>
46805         parse-datetime: better name than get_date
46806         * NEWS: Reword the deprecation notice.
46807         * modules/get_date: Rename to modules/parse-datetime.
46808         * modules/get_date-tests: Rename to modules/parse-datetime-tests.
46809         * m4/get_date.m4: Rename to m4/parse-datetime.m4.
46810         * lib/get_date.y: Rename to lib/parse-datetime.y.
46811         * tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
46812         * doc/get_date.texi: Rename to doc/parse-datetime.texi.
46813         * doc/getdate.texi: Provide fallback wrapper.
46814         * lib/getdate.h: Move guts, and wrap...
46815         * lib/parse-datetime.h: ...new file.
46816         * lib/parse-datetime.y (get_date): Rename...
46817         (parse_datetime): ...to this.
46818         * m4/parse-datetime.m4 (gl_GET_DATE): Rename...
46819         (gl_PARSE_DATETIME): ...to this.
46820         * doc/posix-functions/getdate.texi (get_date): Provide fallback
46821         documentation.
46822         * modules/getdate (Files): Provide fallback docs and header.
46823         (Notice, Depends-on): Update references.
46824         * tests/test-parse-datetime.c: Likewise.
46825         * DEPENDENCIES: Likewise.
46826         * MODULES.html.sh (Date and time <time.h>): Likewise.
46827         * doc/parse-datetime.texi (Date input formats)
46828         (Authors of parse_datetime): Likewise.
46829         * modules/parse-datetime (Files, configure.ac, Makefile.am)
46830         (Include): Likewise.
46831         * modules/parse-datetime-tests (Files, Makefile.am): Likewise.
46832         * gnulib-tool: Likewise.
46833         * m4/bison.m4 (gl_BISON): Likewise.
46834         Suggested by Bruno Haible.
46836 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
46838         more ports to Solaris tr, which needs [] around ranges
46839         * gnulib-tool: Solaris tr needs [] around ranges.
46840         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
46841         * tests/test-pipe-filter-gi1.c (main): Likewise.
46842         * tests/test-pipe-filter-ii1.c (main): Likewise.
46844 2010-10-05  Eric Blake  <eblake@redhat.com>
46846         bootstrap: fix Solaris regression
46847         * build-aux/bootstrap (check_versions): Solaris tr still needs []
46848         around ranges.
46849         Reported by Pádraig Brady.
46851         bootstrap: work with pkg-config
46852         * build-aux/bootstrap (check_versions): Also transliterate - in
46853         prerequisite name.
46854         (print_versions): Be robust to any \ in $buildreq.  Avoid listing
46855         prerequisites that were already found, to avoid confusion.
46856         Reported by Justin Clift.
46858         faccessat: remove unused wrappers
46859         * lib/openat.h (accessat, euidaccesat): Delete, since the mere
46860         presence of these wrappers dragged in -lgen on Solaris.
46861         Reported by Clemens Brogi; fix suggested by Paul Eggert.
46863 2010-10-05  Jim Meyering  <meyering@redhat.com>
46865         tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
46866         * Makefile (sc_pragma_columns): New syntax-check rule.
46868 2010-10-04  Bruno Haible  <bruno@clisp.org>
46870         gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
46871         * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
46872         library, put '-no-undefined' and the link dependencies into _LDFLAGS.
46873         Reported by Bruce Korb and Eric Blake.
46875 2010-10-04  Bruno Haible  <bruno@clisp.org>
46877         threadlib: Make option --with-libpth-prefix work.
46878         * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
46879         use $LIBPTH, not just -lpth.
46881 2010-10-04  Bruno Haible  <bruno@clisp.org>
46883         Avoid line length limitation from HP NonStop system header files.
46884         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
46885         * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
46886         * lib/ctype.in.h: Likewise.
46887         * lib/dirent.in.h: Likewise.
46888         * lib/errno.in.h: Likewise.
46889         * lib/fcntl.in.h: Likewise.
46890         * lib/float.in.h: Likewise.
46891         * lib/getopt.in.h: Likewise.
46892         * lib/iconv.in.h: Likewise.
46893         * lib/inttypes.in.h: Likewise.
46894         * lib/langinfo.in.h: Likewise.
46895         * lib/locale.in.h: Likewise.
46896         * lib/math.in.h: Likewise.
46897         * lib/netdb.in.h: Likewise.
46898         * lib/netinet_in.in.h: Likewise.
46899         * lib/poll.in.h: Likewise.
46900         * lib/pthread.in.h: Likewise.
46901         * lib/pty.in.h: Likewise.
46902         * lib/sched.in.h: Likewise.
46903         * lib/se-selinux.in.h: Likewise.
46904         * lib/search.in.h: Likewise.
46905         * lib/signal.in.h: Likewise.
46906         * lib/spawn.in.h: Likewise.
46907         * lib/stdarg.in.h: Likewise.
46908         * lib/stddef.in.h: Likewise.
46909         * lib/stdint.in.h: Likewise.
46910         * lib/stdio.in.h: Likewise.
46911         * lib/stdlib.in.h: Likewise.
46912         * lib/string.in.h: Likewise.
46913         * lib/strings.in.h: Likewise.
46914         * lib/sys_file.in.h: Likewise.
46915         * lib/sys_ioctl.in.h: Likewise.
46916         * lib/sys_select.in.h: Likewise.
46917         * lib/sys_socket.in.h: Likewise.
46918         * lib/sys_stat.in.h: Likewise.
46919         * lib/sys_time.in.h: Likewise.
46920         * lib/sys_times.in.h: Likewise.
46921         * lib/sys_utsname.in.h: Likewise.
46922         * lib/sys_wait.in.h: Likewise.
46923         * lib/sysexits.in.h: Likewise.
46924         * lib/termios.in.h: Likewise.
46925         * lib/time.in.h: Likewise.
46926         * lib/unistd.in.h: Likewise.
46927         * lib/wchar.in.h: Likewise.
46928         * lib/wctype.in.h: Likewise.
46929         * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
46930         * modules/ctype (Makefile.am): Likewise.
46931         * modules/dirent (Makefile.am): Likewise.
46932         * modules/errno (Makefile.am): Likewise.
46933         * modules/fcntl-h (Makefile.am): Likewise.
46934         * modules/float (Makefile.am): Likewise.
46935         * modules/getopt-posix (Makefile.am): Likewise.
46936         * modules/iconv-h (Makefile.am): Likewise.
46937         * modules/inttypes (Makefile.am): Likewise.
46938         * modules/langinfo (Makefile.am): Likewise.
46939         * modules/locale (Makefile.am): Likewise.
46940         * modules/math (Makefile.am): Likewise.
46941         * modules/netdb (Makefile.am): Likewise.
46942         * modules/netinet_in (Makefile.am): Likewise.
46943         * modules/poll-h (Makefile.am): Likewise.
46944         * modules/pthread (Makefile.am): Likewise.
46945         * modules/pty (Makefile.am): Likewise.
46946         * modules/sched (Makefile.am): Likewise.
46947         * modules/search (Makefile.am): Likewise.
46948         * modules/selinux-h (Makefile.am): Likewise.
46949         * modules/signal (Makefile.am): Likewise.
46950         * modules/spawn (Makefile.am): Likewise.
46951         * modules/stdarg (Makefile.am): Likewise.
46952         * modules/stddef (Makefile.am): Likewise.
46953         * modules/stdint (Makefile.am): Likewise.
46954         * modules/stdio (Makefile.am): Likewise.
46955         * modules/stdlib (Makefile.am): Likewise.
46956         * modules/string (Makefile.am): Likewise.
46957         * modules/strings (Makefile.am): Likewise.
46958         * modules/sys_file (Makefile.am): Likewise.
46959         * modules/sys_ioctl (Makefile.am): Likewise.
46960         * modules/sys_select (Makefile.am): Likewise.
46961         * modules/sys_socket (Makefile.am): Likewise.
46962         * modules/sys_stat (Makefile.am): Likewise.
46963         * modules/sys_time (Makefile.am): Likewise.
46964         * modules/sys_times (Makefile.am): Likewise.
46965         * modules/sys_utsname (Makefile.am): Likewise.
46966         * modules/sys_wait (Makefile.am): Likewise.
46967         * modules/sysexits (Makefile.am): Likewise.
46968         * modules/termios (Makefile.am): Likewise.
46969         * modules/time (Makefile.am): Likewise.
46970         * modules/unistd (Makefile.am): Likewise.
46971         * modules/wchar (Makefile.am): Likewise.
46972         * modules/wctype (Makefile.am): Likewise.
46974 2010-10-04  Bruno Haible  <bruno@clisp.org>
46976         read-file tests: Avoid a test failure on NonStop Kernel.
46977         * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
46978         a regular file.
46979         Reported by Joachim Schmitz <schmitz@hp.com>.
46981 2010-10-03  Bruno Haible  <bruno@clisp.org>
46983         gnulib-tool: Fixes for --create-testdir with --libtool.
46984         * gnulib-tool (func_get_automake_snippet): Don't augment
46985         EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
46986         an executable.
46987         (func_create_testdir): Handle module 'alloca' like func_import.
46988         Reported by Bruce Korb <bruce.korb@gmail.com>.
46990 2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>
46992         Avoid some lines longer than 80 characters.
46993         * lib/stdint.in.h: Break long comment lines.
46994         * lib/math.in.h: Likewise.
46995         (_GL_NUM_UINT_WORDS): New macro, for readability.
46996         (gl_signbitf, gl_signbitd, gl_signbitl): Use it.
46997         * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
46998         * lib/stdlib.in.h: Likewise.
46999         * lib/spawn.in.h: Likewise.
47000         * lib/sys_socket.in.h: Update an URL.
47001         * lib/sys_stat.in.h: Break long line.
47003 2010-10-03  Reuben Thomas  <rrt@sc3d.org>
47005         Improve pmccabe2html.
47006         * build-aux/pmccabe2html: Add CYCLO_SRCS variable, and make
47007         cyclo-$(PACKAGE).html depend on it, so the HTML file is remade
47008         when the sources change. Remove the line in the HTML about "Used
47009         ranges" (which implied that there might be other unused ranges),
47010         rename "Resume" to "Summary" (easier to understand for more users).
47011         * build-aux/pmccabe.css: Removing the dashed dividers, some unused
47012         styles, and some unnecessary blank lines.
47014 2010-10-03  Bruno Haible  <bruno@clisp.org>
47015             Joachim Schmitz  <schmitz@hp.com>  (tiny change)
47017         acl: Add support for ACLs on NonStop Kernel.
47018         * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
47019         Check whether the function aclsort() exists.
47020         * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
47021         (acl_nontrivial) [HAVE_ACLSORT]: New declaration.
47022         * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
47023         (acl_nontrivial [HAVE_ACLSORT]: New function.
47024         (file_has_acl): Implement for NonStop Kernel.
47025         * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
47026         (qset_acl): Implement for NonStop Kernel.
47027         * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
47028         * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
47029         (main): Implement for NonStop Kernel.
47030         * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
47031         Kernel. Handle this flavor.
47032         * tests/test-set-mode-acl.sh: Likewise.
47033         * tests/test-copy-acl.sh: Likewise.
47034         * tests/test-copy-file.sh: Likewise.
47036 2010-10-03  Bruno Haible  <bruno@clisp.org>
47038         Info about ACLs on NonStop Kernel.
47039         * doc/acl-resources.txt: Add info about NonStop Kernel.
47040         References by Joachim Schmitz <schmitz@hp.com>.
47042 2010-10-02  Bruno Haible  <bruno@clisp.org>
47044         Define missing EDQUOT on NonStop Kernel.
47045         * lib/errno.in.h (EDQUOT): Assign a value if missing.
47046         * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
47047         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
47048         missing.
47049         * doc/posix-headers/errno.texi: Mention the NSK bug.
47050         * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
47051         Reported by Joachim Schmitz <schmitz@hp.com>.
47053 2010-10-02  Bruno Haible  <bruno@clisp.org>
47055         Update doc for POSIX:2008.
47056         * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
47057         Update URL of POSIX specification.
47059 2010-10-02  Bruno Haible  <bruno@clisp.org>
47061         gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
47062         * gnulib-tool (func_create_testdir): Use config.guess and config.sub
47063         from gnulib, not from Automake.
47065 2010-10-02  Bruno Haible  <bruno@clisp.org>
47067         New module 'system-posix'.
47068         * modules/system-posix: New file.
47069         * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
47070         module is present.
47071         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
47072         GNULIB_SYSTEM_POSIX.
47073         * modules/stdlib (Depends-on): Remove sys_wait.
47074         (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
47075         * doc/posix-functions/system.texi: Mention the new module.
47076         * doc/posix-headers/stdlib.texi: Likewise.
47077         * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
47078         define test_sys_wait_macros to a no-op.
47079         Reported by Sam Steingold <sds@gnu.org>.
47081 2010-09-30  Bruno Haible  <bruno@clisp.org>
47083         More renaming from 'getdate' to 'get_date'.
47084         * doc/get_date.texi: Renamed from doc/getdate.texi.
47085         * modules/get_date (Files): Update.
47086         * MODULES.html.sh (Date and time <time.h>): Update.
47087         * DEPENDENCIES: Update.
47088         * gnulib-tool: Update comment.
47089         * m4/bison.m4 (gl_BISON): Likewise.
47090         * m4/get_date.m4 (gl_GET_DATE): Likewise.
47092 2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)
47094         bootstrap: support ACLOCAL_FLAGS during aclocal
47095         * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
47096         can add additional -I dir for third-party .m4 files.
47098 2010-09-30  Eric Blake  <eblake@redhat.com>
47100         bootstrap: use glibtoolize on MacOS
47101         * build-aux/bootstrap (check_versions): Convert libtool into
47102         libtoolize.
47103         (tool search): Move libtool check earlier, and look for
47104         glibtoolize for MacOS.
47105         (gnulib_tool_options): Auto-add --libtool when appropriate.
47106         Reported by Justin Clift.
47108         poll: fix typo that broke test on MacOS
47109         * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
47110         Reported by Justin Clift.
47112         getdate: rename to get_date
47113         Note: getdate.h is not renamed, to minimize client impact.
47114         * modules/getdate: Mark obsolete.  Move old contents...
47115         * modules/get_date: ...to new module name.
47116         * modules/getdate-tests: Move...
47117         * modules/get_date-tests: ...here.
47118         * m4/getdate.m4: Move...
47119         * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
47120         * lib/getdate.y: Move...
47121         * lib/get_date.y: ...here.
47122         * tests/test-getdate.c: Move...
47123         * tests/test-get_date.c: ...here.
47124         * doc/posix-functions/getdate.texi (getdate): Update name.
47125         * NEWS: Mention the change.
47127 2010-09-29  Bruno Haible  <bruno@clisp.org>
47129         Separate the module 'waitpid' from the module 'sys_wait'.
47130         * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
47131         present.
47132         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
47133         gl_MODULE_INDICATOR_FOR_TESTS.
47134         (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
47135         * modules/sys_wait (Depends-on): Remove waitpid.
47136         (Makefile.am): Substitute GNULIB_WAITPID.
47137         * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
47138         * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
47139         signature only if the 'waitpid' module is present.
47140         * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
47141         * NEWS: Mention the change.
47142         * modules/grantpt (Depends-on): Add waitpid.
47143         * modules/wait-process (Depends-on): Likewise.
47145 2010-09-29  Bruno Haible  <bruno@clisp.org>
47147         More tests for module 'sys_wait'.
47148         * modules/sys_wait-c++-tests: New file.
47149         * tests/test-sys_wait-c++.cc: New file.
47150         * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
47151         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
47153 2010-09-29  Bruno Haible  <bruno@clisp.org>
47155         New module 'waitpid'.
47156         * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
47157         * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
47158         Don't include <process.h>.
47159         (waitpid): Declare only, using modern idiom.
47160         * m4/waitpid.m4: New file.
47161         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
47162         * modules/waitpid: New file.
47163         * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
47164         (Makefile.am): Update.
47165         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
47167 2010-09-28  Bruno Haible  <bruno@clisp.org>
47169         poll: Assume ANSI C.
47170         * lib/poll.c (poll): Use an ANSI C declaration.
47172 2010-09-28  Bruno Haible  <bruno@clisp.org>
47174         poll-h: Create poll.h on all platforms.
47175         * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
47176         struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
47177         * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
47178         gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
47179         (gl_REPLACE_POLL_H): Don't set POLL_H.
47180         (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
47181         * modules/poll-h (Depends-on): Add include_next.
47182         (Makefile.am): Create poll.h unconditionally. Substitute also
47183         HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
47185 2010-09-28  Bruno Haible  <bruno@clisp.org>
47187         Tests for module 'poll-h'.
47188         * modules/poll-h-c++-tests: New file.
47189         * tests/test-poll-h-c++.cc: New file.
47191         Tests for module 'poll-h'.
47192         * modules/poll-h-tests: New file.
47193         * tests/test-poll-h.c: New file.
47195 2010-09-28  Bruno Haible  <bruno@clisp.org>
47197         poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
47198         * modules/poll-h (Depends-on): Add 'extensions'.
47200 2010-09-28  Bruno Haible  <bruno@clisp.org>
47202         New module 'poll-h'.
47203         * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
47204         (poll): Use modern idiom.
47205         * modules/poll-h: New file.
47206         * modules/poll (Files): Remove lib/poll.in.h.
47207         (Depends-on): Add poll-h.
47208         (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
47209         (Makefile.am): Move code for generation of poll.h to modules/poll-h.
47210         * m4/poll_h.m4: New file.
47211         * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
47212         here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
47213         and invoke gl_REPLACE_POLL_H.
47214         * lib/poll.c: Use common idiom.
47215         * tests/test-poll.c: Likewise.
47216         * doc/posix-headers/poll.texi: Mention the poll-h module.
47217         Suggested by Eric Blake.
47219 2010-09-26  Bruno Haible  <bruno@clisp.org>
47221         sys_wait: Implement WSTOPSIG.
47222         * lib/sys_wait.in.h (WSTOPSIG): New macro.
47223         Reported by Simon Josefsson.
47225 2010-09-26  Simon Josefsson  <simon@josefsson.org>
47227         stdlib, sys_wait: Avoid compilation error on mingw.
47228         * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
47230 2010-09-26  Bruno Haible  <bruno@clisp.org>
47232         stdlib tests: Avoid code duplication.
47233         * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
47234         * modules/sys_wait-tests (Files): Likewise.
47235         * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
47236         * tests/test-stdlib.c: Include test-sys_wait.h.
47237         (main): Invoke test_sys_wait_macros.
47238         * tests/test-sys_wait.c: Include test-sys_wait.h.
47239         (main): Invoke test_sys_wait_macros.
47241 2010-09-25  Simon Josefsson  <simon@josefsson.org>
47243         * modules/getaddrinfo (Depends-on): Depend on the sockets module.
47244         * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
47245         sure Windows sockets are working before calling getaddrinfo.
47246         * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
47247         * doc/gnulib.texi (Windows sockets): Fix typo.
47249 2010-09-25  Bruno Haible  <bruno@clisp.org>
47251         Tests for module 'regex-quote'.
47252         * modules/regex-quote-tests: New file.
47253         * tests/test-regex-quote.c: New file.
47255         New module 'regex-quote'.
47256         * lib/regex-quote.h: New file.
47257         * lib/regex-quote.c: New file.
47258         * modules/regex-quote: New file.
47259         Suggested by Reuben Thomas <rrt@sc3d.org>.
47261 2010-09-24  Bruno Haible  <bruno@clisp.org>
47263         unistr/u8-strchr: Fix a test failure on i586 glibc systems.
47264         * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
47266 2010-09-23  Bruno Haible  <bruno@clisp.org>
47268         setenv: Relax license.
47269         * modules/setenv (License): Change to LGPLv2+, with consent by Eric
47270         Blake.
47271         Requested by Eric Blake.
47273 2010-09-22  Bruno Haible  <bruno@clisp.org>
47275         termios: Relax license.
47276         * modules/termios (License): Change to LGPLv2+.
47277         Requested by Eric Blake.
47279 2010-09-22  Bruno Haible  <bruno@clisp.org>
47281         threadlib: Allow the package to change the default to 'no'.
47282         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
47283         gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
47284         Reported by Paul Eggert.
47286 2010-09-22  Pádraig Brady  <P@draigbrady.com>
47287             Bruno Haible  <bruno@clisp.org>
47289         Fix endless loop in mbmemcasecoll.
47290         * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
47291         byte.
47292         * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
47294 2010-09-22  Bruno Haible  <bruno@clisp.org>
47296         Tests for module 'memcoll'.
47297         * modules/memcoll-tests: New file.
47298         * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
47300         memcoll, xmemcoll: Clarify size vs. length.
47301         * modules/memcoll.c (memcoll0): Clarify specification.
47302         * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
47303         passed to collate_error.
47305 2010-09-22  Bruno Haible  <bruno@clisp.org>
47307         Tests for module 'memcasecmp'.
47308         * modules/memcasecmp-tests: New file.
47309         * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
47311 2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
47313         * lib/pthread.in.h: Add split double-inclusion guard, and include
47314         system <pthread.h> if there is one.  Use @@-style as in other
47315         .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
47316         pthread.h doesn't.
47317         (pthread_mutexattr_destroy, pthread_mutexattr_init):
47318         (pthread_mutexattr_settype, pthread_mutex_trylock):
47319         New static inline functions, if there's no system <pthread.h>.
47320         (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
47321         (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
47322         Approximate with mutexes if the system lacks spinlocks, as in
47323         MacOS.
47324         * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
47325         Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
47326         @@-style.  Check for spinlocks separately.
47327         (gl_PTHREAD_DEFAULTS): New macro.
47328         * modules/pthread: Redo to use a more typical style for in.h files.
47330 2010-09-21  Eric Blake  <eblake@redhat.com>
47332         net_if: enhance tests
47333         * tests/test-net_if.c (main): Move signature checks earlier.
47334         Print failures to stderr.
47335         * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
47336         Document the bug that we do not yet fix.
47338 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
47340         * doc/gnulib.texi (Out of memory handling): Rewrite section to be
47341         about gnulib, not GSS.
47343 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
47345         * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
47346         * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
47347         for Emacs.
47348         * build-aux/pmccabe2html: Make Makefile.am example code more
47349         cut-and-paste friendly.
47351 2010-09-21  Simon Josefsson  <simon@josefsson.org>
47353         * tests/test-net_if.c: New file.
47354         * modules/net_if-tests: New file.
47356 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
47358         pthread: add pthread_spin_destroy
47359         * lib/pthread.in.h (pthread_spin_destroy): New function.
47361 2010-09-19  Bruno Haible  <bruno@clisp.org>
47363         gnulib-tool: Fix --help output.
47364         * gnulib-tool (func_usage): Fix help message.
47365         Reported by Reuben Thomas <rrt@sc3d.org>.
47367 2010-09-18  Jim Meyering  <meyering@redhat.com>
47369         maint.mk: avoid unexpanded \n in two diagnostics
47370         * top/maint.mk (sc_prohibit_always_true_header_tests):
47371         Don't use a literal \n in a halt=... assignment.  It would not be
47372         expanded, and the two \n bytes would appear in the diagnostic output
47373         rather than the desired newline.  Use halt=$$(printf ... instead.
47374         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
47376 2010-09-18  Bruno Haible  <bruno@clisp.org>
47378         netinet_in: Doc tweak.
47379         * doc/posix-headers/netinet_in.texi: Mention an affected platform.
47380         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
47382 2010-09-18  Jim Meyering  <meyering@redhat.com>
47384         init.sh: correct an outdated comment
47385         * tests/init.sh (create_exe_shims_):  s/function/alias/
47387         init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
47388         * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
47389         a file named "*.exe" is removed between the glob expansion and the
47390         processing of that oddly named file.
47392 2010-09-17  Eric Blake  <eblake@redhat.com>
47394         mirbsd: add some more support
47395         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
47396         in BSD family.
47397         * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
47398         devices as OpenBSD.
47399         * m4/host-os.m4 (mirbsd): Add MirBSD.
47401         tests: fix unportable assumption on sys/wait.h
47402         * tests/test-sys_wait.c (main): Relax test.
47403         * tests/test-stdlib.c (main): Likewise.
47405         init.sh: accommodate directory with no .exes
47406         * tests/init.sh: Accomodate directory containing only scripts.
47408         tests: avoid compiler warning
47409         * tests/test-stdlib.c (main): Use the variable.
47411         fdutimens, fdutimensat: update signature, again
47412         * lib/utimens.h (gl_futimens): Delete, and move signature...
47413         (fdutimens): ...here.
47414         (fdutimensat): Rearrange signature.
47415         (lutimensat): Rename variable for clarity.
47416         * lib/fdutimensat.c (fdutimensat): Update signature.
47417         * lib/utimens.c (fdutimens): Likewise.
47418         (gl_futimens): Delete.
47419         (utimens, lutimens): Update callers.
47420         * lib/futimens.c (futimens): Likewise.
47421         * tests/test-fdutimensat.c: Likewise.
47422         * tests/test-utimens.c: Likewise.
47423         * tests/test-futimens.h: Update comment.
47424         * NEWS: Mention this.
47425         Suggested by Paul Eggert.
47427 2010-09-17  Bruno Haible  <bruno@clisp.org>
47429         Take over the maintenance of some older macros from Autoconf.
47430         * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
47431         * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
47432         GNU Autoconf.
47433         * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
47434         * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
47436 2010-09-17  Eric Blake  <eblake@redhat.com>
47438         fdutimensat: drop atflag validation
47439         * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
47440         with valid fd, to close a race scenario where futimens is
47441         unsupported and FILE was replaced by a symlink.
47442         * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
47443         accordingly.
47444         Suggested by Paul Eggert.
47446 2010-09-16  Bruno Haible  <bruno@clisp.org>
47448         unlockpt: Fix declaration within GNULIB_POSIXCHECK.
47449         * lib/stdlib.in.h (unlockpt): Fix warning declaration.
47451 2010-09-16  Bruno Haible  <bruno@clisp.org>
47453         login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
47454         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
47455         login_tty exists.
47456         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
47458 2010-09-16  Bruno Haible  <bruno@clisp.org>
47460         login_tty: Make the replacement code work on BSD systems.
47461         * lib/login_tty.c: Include <sys/ioctl.h>.
47462         (login_tty): Use ioctl TIOCSCTTY when available.
47463         * modules/login_tty (Depends-on): Add sys_ioctl.
47464         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
47466 2010-09-16  Bruno Haible  <bruno@clisp.org>
47468         login_tty: Stricter unit test.
47469         * modules/login_tty-tests (Depends-on): Add tcgetsid.
47470         * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
47471         and tcgetsid() after login_tty.
47472         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
47474 2010-09-16  Bruno Haible  <bruno@clisp.org>
47476         New module 'tcgetsid'.
47477         * lib/tcgetsid.c: New file.
47478         * m4/tcgetsid.m4: New file.
47479         * modules/tcgetsid: New file.
47480         * modules/termios (Depends-on): Add c++defs, warn-on-use.
47481         (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
47482         GNULIB_TCGETSID, HAVE_TCGETSID.
47483         * lib/termios.in.h: Include <sys/types.h>.
47484         (tcgetsid): New declaration.
47485         * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
47486         (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
47487         * doc/posix-functions/tcgetsid.texi: Mention the new module.
47488         * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
47490 2010-09-16  Bruno Haible  <bruno@clisp.org>
47492         Tests for module 'termios'.
47493         * modules/termios-c++-tests: New file.
47494         * modules/termios-tests: New file.
47495         * tests/test-termios-c++.cc: New file.
47496         * tests/test-termios.c: New file.
47498         New module 'termios'.
47499         * modules/termios: New file.
47500         * lib/termios.in.h: New file.
47501         * m4/termios_h.m4: New file.
47502         * doc/posix-headers/termios.texi: Mention the new module.
47504 2010-09-16  Eric Blake  <eblake@redhat.com>
47506         fdutimensat: add an atflag parameter
47507         * lib/fdutimensat.c (fdutimensat): Add new parameter.
47508         * lib/utimens.h (fdutimensat): Update prototype.
47509         * tests/test-fdutimensat.c: Adjust test to match.
47510         * NEWS: Document the change.
47511         Suggested by Paul Eggert.
47513 2010-09-16  Bruno Haible  <bruno@clisp.org>
47515         Fix typos in comments.
47516         * lib/striconveh.h: Fix typo in comment.
47517         * lib/login_tty.c (login_tty): Likewise.
47519 2010-09-15  Bruno Haible  <bruno@clisp.org>
47521         stdlib: clarify MirBSD WEXITSTATUS bug
47522         * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
47523         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
47525 2010-09-15  Eric Blake  <eblake@redhat.com>
47527         stdlib: work around MirBSD WEXITSTATUS bug
47528         * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
47529         * modules/stdlib (Depends-on): Add sys_wait.
47530         * tests/test-sys_wait.c (main): Enhance test.
47531         * tests/test-stdlib.c (main): Likewise.
47532         * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
47534         docs: mention MacOS issue with WEXITSTATUS(constant)
47535         * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
47536         issue.
47537         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
47539         strnlen: add tests
47540         * modules/strnlen-tests: New file.
47541         * tests/test-strnlen.c: Likewise.
47543 2010-09-14  Bruno Haible  <bruno@clisp.org>
47545         unistr/base: Avoid link errors when module 'libunistring' is also used.
47546         * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
47547         u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
47548         u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
47549         Declare also when HAVE_LIBUNISTRING is set.
47550         Reported by Pádraig Brady <P@draigbrady.com>.
47552 2010-09-14  Eric Blake  <eblake@redhat.com>
47554         test-rawmemchr: make more robust
47555         * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
47556         (Depends-on, configure.ac): Add needed prerequisites to use it.
47557         * modules/memchr-tests (Files, Depends-on, configure.ac):
47558         Likewise, to avoid implicit reliance on memchr module prereqs.
47559         * tests/test-memchr.c (main): Ensure proper masking.
47560         * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
47561         reads.
47563         memchr: detect glibc Alpha bug
47564         Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
47565         * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
47566         Alpha.
47567         * doc/posix-functions/memchr.texi (memchr): Tweak wording.
47568         * tests/test-memchr.c (main): Enhance test.
47569         Reported by Nelson H. F. Beebe.
47571 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
47573         fts, getcwd, glob: audit for dirfd returning -1
47574         * lib/fts.c (opendir): Remove #define; no longer used.
47575         (opendirat): New arg PDIR_FD.  All callers changed.
47576         (fts_build, _opendir2): Use new opendirat to avoid the need for
47577         dirfd, or for checking whether dirfd returns a negative value.
47578         Don't use opendir; always use openat followed by fdopendir.
47579         * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
47580         it.
47581         * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
47582         returns -1 here.
47583         * modules/fts (Depends-on): Remove dirfd.
47584         * modules/getcwd (Depends-on): Likewise.
47586 2010-09-13  Eric Blake  <eblake@redhat.com>
47588         float: fix broken MirBSD header
47589         * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
47590         * doc/posix-headers/float.texi (float.h): Document it.
47592 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
47594         fts: use O_NOFOLLOW to avoid race condition when opening a directory
47595         * lib/fts.c (opendirat): New arg extra_flags.
47596         (__opendir2): Use it to avoid following symlinks when opening
47597         a directory, if symlinks are not supposed to be followed.  See
47598         <http://lists.gnu.org/r/bug-gnulib/2010-09/msg00213.html>.
47600         fdopendir: preserve argument fd before returning
47601         * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
47602         (fdopendir_with_dup, fd_clone_opendir): New static functions.
47603         (fdopendir): Use them, arranging for FD to be open to the same
47604         directory that it was when it started.  (It might be temporarily
47605         closed while fdopendir is running, so this not thread- or
47606         signal-safe.)  Be careful to do the right thing even when file
47607         descriptors are scarce and dup fails with errno == EMFILE.  See
47608         <http://lists.gnu.org/r/bug-gnulib/2010-09/msg00208.html>.
47610 2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
47612         regex: Pass the system regex if its only problem is 32-bit regoff_t.
47613         * NEWS: Document change.
47614         * m4/regex.m4: Disable test for regoff_t size.
47616 2010-09-13  Jim Meyering  <meyering@redhat.com>
47618         fts: don't operate on an invalid file descriptor after failed dup
47619         * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
47620         negative file descriptor.
47622 2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
47624         savedir: add streamsavedir, deprecate fdsavedir
47625         * NEWS: Mention deprecation of fdsavedir.
47626         * lib/savedir.c (streamsavedir): New extern function, whose name
47627         ends in "savedir" to be consistent with the others.  This differs
47628         from savedirstream in that it doesn't close its argument.  The
47629         next version of GNU tar will use this instead of fdsavedir, to
47630         avoid some race conditions and conserve file descriptors.
47631         (savedirstream): Reimplement as a wrapper around streamsavedir.
47632         (fdsavedir): Add a comment deprecating this function.  As far as
47633         I know, only GNU tar used it, and GNU tar doesn't need it any more.
47634         * lib/savedir.h (streamsavedir): New decl.
47635         (fdsavedir): Add a comment deprecating this.
47637 2010-09-10  Bruno Haible  <bruno@clisp.org>
47639         langinfo: Fix last commit.
47640         * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
47641         HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
47642         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
47644 2010-09-10  Bruno Haible  <bruno@clisp.org>
47646         relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
47647         * lib/progreloc.c (O_EXEC): Define fallback.
47649 2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
47651         fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
47652         * NEWS: Document recent changes to fcntl-h.
47653         * doc/posix-headers/fcntl.texi (fcntl.h): Document that
47654         O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
47655         Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
47656         Similarly for O_SEARCH; this last was already true, but not documented.
47657         * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
47658         * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
47659         * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
47660         Likewise.
47661         * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
47662         is zero, not whether it is defined.
47663         * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
47664         * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
47665         * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
47667 2010-09-10  Bruno Haible  <bruno@clisp.org>
47669         langinfo, nl_langinfo: Fix for IRIX 5.3.
47670         * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
47671         T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
47672         HAVE_LANGINFO_YESEXPR.
47673         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
47674         HAVE_LANGINFO_YESEXPR.
47675         * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
47676         HAVE_LANGINFO_T_FMT_AMPM is 0.
47677         (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
47678         HAVE_LANGINFO_YESEXPR is 0.
47679         * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
47680         NOEXPR.
47681         * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
47682         * doc/posix-functions/nl_langinfo.texi: Likewise.
47683         Reported by Eric Blake.
47685 2010-09-10  Bruno Haible  <bruno@clisp.org>
47687         pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
47688         * doc/glibc-functions/login_tty.texi: Mention the include file problem
47689         on FreeBSD 8.0 and OpenBSD 4.6.
47690         * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
47691         * m4/pty_h.m4 (gl_PTY_H): Likewise.
47692         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
47693         * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
47694         Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
47695         ac_includes_default.
47696         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
47698 2010-09-09  Eric Blake  <eblake@redhat.com>
47700         strsignal: work around NetBSD bug
47701         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
47702         * lib/string.in.h (includes): Likewise.
47703         * doc/posix-functions/strsignal.texi (strsignal): Document the
47704         bug.
47705         Reported by Nelson H. F. Beebe.
47707         gnulib-tool: work with NetBSD /bin/sh
47708         * gnulib-tool (func_cache_var, func_cache_lookup_module)
47709         (func_get_description, func_get_comment, func_get_status)
47710         (func_get_notice, func_get_applicability, func_get_filelist)
47711         (func_get_dependencies, func_get_autoconf_early_snippet)
47712         (func_get_autoconf_snippet, func_get_automake_snippet)
47713         (func_get_include_directive, func_get_link_directive)
47714         (func_get_license, func_get_maintainer, func_import): Avoid
47715         shell syntax errors from parsing syntax extensions.
47717 2010-09-09  Bruno Haible  <bruno@clisp.org>
47719         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
47720         * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
47721         a reliable way to determine whether the 'alias' command works.
47723 2010-09-08  Jim Meyering  <meyering@redhat.com>
47725         init.sh: penalize a set-x-impaired shell; don't disqualify it
47726         * tests/init.sh: Too many shells corrupt application stderr when
47727         you set -x, so we can't afford to disqualify them, since at least
47728         on Irix-6.5, that would disqualify all bourne shells.
47729         Instead, use a two-pass approach.
47730         On the first pass, try to find a shell that meets the stricter
47731         condition that set -x does not corrupt stderr.
47732         If no shell meets the stricter condition, retest each candidate
47733         shell, but without that extra condition.  Finally, when
47734         VERBOSE=yes is requested and set -x might cause trouble, simply
47735         issue a warning and refrain from enabling debug output.
47737 2010-09-08  Eric Blake  <eblake@redhat.com>
47739         unsetenv: fix OpenBSD bug
47740         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
47741         * doc/posix-functions/unsetenv.texi (unsetenv): Update
47742         documentation.
47743         Reported by Jim Meyering.
47745         strtod: work around IRIX 6.5 bug
47746         * lib/strtod.c (strtod): Reparse number on shorter string if
47747         exponent parse was invalid.
47748         * tests/test-strtod.c (main): Add check for "0x1p 2".
47749         Reported by Tom G. Christensen.
47751         getopt: optimize previous patch
47752         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
47753         empty variable.  Speed up awk script.
47754         Reported by Paolo Bonzini.
47756 2010-09-08  Jim Meyering  <meyering@redhat.com>
47758         test.sh: disqualify shells for which set -x corrupts stderr
47759         * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
47760         and OpenBSD 4.7.  They make it so with "set -x", environment settings
47761         appear in stderr output.  For example, this command:
47762             /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
47763         prints "P=1" on those two systems:
47765 2010-09-08  Bruno Haible  <bruno@clisp.org>
47767         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
47768         * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
47769         commands, because some shells ignore redirections when there is an
47770         error in the command lookup.
47771         Reported by Eric Blake.
47773 2010-09-07  Reuben Thomas  <rrt@sc3d.org>
47775         * lib/regex.h: Fix a mention of `regex_compile' (should be
47776         `re_compile_pattern').
47777         Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
47778         (re_set_registers): Correct name of parameter in comment.
47780         * doc/regex.texi: Add documentation for missing syntax flags.
47781         Remove commented-out documentation of defunct syntax option
47782         RE_NO_EMPTY_ALTS.
47783         Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
47784         Add documentation of re_set_registers.
47785         Document trick to re-use a pattern buffer by setting fastmap manually.
47786         Update documentation of struct re_pattern_buffer per public members.
47787         Uncomment documentation of equivalence class operators and
47788         collating symbol operators, since they are now implemented,
47789         Explain leftmost-longest matching in relation to alternatives.
47790         Tidy documentation of substring matching.
47791         Remove POSIX documentation, which is done better in
47792         glibc, and refer the reader there. Keep BSD API documentation, as
47793         that is not readily available elsewhere.
47795 2010-09-07  Eric Blake  <eblake@redhat.com>
47797         getopt: handle POSIXLY_CORRECT set but not exported
47798         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
47799         export state of POSIXLY_CORRECT, due to bash set -o posix.
47800         Reported by Dustin J. Mitchell.
47802 2010-09-05  Bruno Haible  <bruno@clisp.org>
47804         gnulib-tool: Highlight the changed options.
47805         * gnulib-tool (func_usage): Display the --import, --add-import,
47806         --remove-import explanations in bold font.
47808 2010-09-06  Karl Berry  <karl@gnu.org>
47810         * doc/gnulib-tool.texi (Modified imports): doc tweaks.
47812 2010-09-05  Bruno Haible  <bruno@clisp.org>
47814         uniwidth/width: Update comment.
47815         * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
47816         Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.
47818 2010-09-05  Bruno Haible  <bruno@clisp.org>
47820         isinf, isnan: Relax license.
47821         * modules/isinf (License): Change from GPL to LGPL, with consent from
47822         Ben Pfaff.
47823         * modules/isnan (License): Likewise.
47824         Requested by Ludovic Courtès.
47826 2010-09-04  Bruno Haible  <bruno@clisp.org>
47828         gnulib-tool: Help migration from --import to --add-import or --update.
47829         * gnulib-tool: Emit a verbose error message when --import is used
47830         without any module name.
47832 2010-09-04  Bruno Haible  <bruno@clisp.org>
47834         Update doc about gnulib-tool.
47835         * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
47836         'gnulib-tool --update' in more detail.
47837         Reported by Eric Blake.
47839 2010-09-04  Bruno Haible  <bruno@clisp.org>
47841         gnulib-tool: Change --import. New options --add/remove-import.
47842         * gnulib-tool: New options --add-import, --remove-import.
47843         (func_usage): Document them.
47844         (have_associative): Define always.
47845         (func_import): In import mode, don't merge the specified settings with
47846         the cached settings. Implement remove-import mode.
47847         * doc/gnulib-tool.texi (Modified imports): Mention the new options.
47848         Explain when to use them versus --import.
47849         (Simple update): Use --add-import instead of --import.
47850         * NEWS: Mention the change.
47852 2010-09-04  Bruno Haible  <bruno@clisp.org>
47854         * doc/gnulib-tool.texi (Initial import): Update paragraph about
47855         separate gnulib.mk.
47857 2010-09-04  Bruno Haible  <bruno@clisp.org>
47859         gnulib-tool: Don't talk about CVS any more.
47860         * gnulib-tool (func_usage, func_import): Write "version control"
47861         instead of CVS.
47863 2010-09-04  Jim Meyering  <meyering@redhat.com>
47865         maint.mk: avoid obscure sc_copyright_check failure in coreutils
47866         * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
47867         false positives (whose names may be ill-chosen) when searching
47868         non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
47869         would cause a false-positive.
47871         avoid coreutils "make distcheck" failure
47872         Coreutils tests with an absolute build directory name that contains
47873         a space.  Not quoting this directory name caused a failure.
47874         * tests/test-vc-list-files-git.sh: Quote PATH dir name.
47875         * tests/test-vc-list-files-cvs.sh: Likewise.
47877 2010-09-04  Bruno Haible  <bruno@clisp.org>
47879         gnulib-tool: Avoid error when run in a package without Makefile.am.
47880         * gnulib-tool: When collecting the m4dirs in a package that does not
47881         have a Makefile.am, eliminate those directories that contain no
47882         gnulib-cache.m4. Fix expression that counts these directories.
47884 2010-09-04  Bruno Haible  <bruno@clisp.org>
47886         update-copyright test: Improve output when perl is missing or too old.
47887         * tests/test-update-copyright.sh: Move test of Perl version down after
47888         the test whether Perl exists. Provide an explanation relating Perl's
47889         error message to Automake's SKIP: message.
47891 2010-09-04  Bruno Haible  <bruno@clisp.org>
47893         Don't augment PATH in TESTS_ENVIRONMENT.
47894         * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
47895         set abs_aux_dir instead of augmenting PATH.
47896         * modules/vc-list-files-tests (Makefile.am): Likewise.
47897         * tests/test-update-copyright.sh: Augment PATH here.
47898         * tests/test-vc-list-files-cvs.sh: Augment PATH here, through
47899         path_prepend_.
47900         * tests/test-vc-list-files-git.sh: Likewise.
47902 2010-09-04  Jim Meyering  <meyering@redhat.com>
47904         tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
47905         * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.
47907 2010-09-04  Bruno Haible  <bruno@clisp.org>
47909         strdup: Fix compilation error in C++ mode.
47910         * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
47911         the macro.
47913 2010-09-04  Bruno Haible  <bruno@clisp.org>
47915         dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
47916         * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
47917         macro into a function.
47918         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
47920 2010-09-04  Bruno Haible  <bruno@clisp.org>
47922         Set PATH_SEPARATOR the same way autoconf does.
47923         * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
47924         the value of PATH_SEPARATOR the same way autoconf-generated configure
47925         scripts do.
47926         * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
47927         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
47929 2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
47931         Set PATH_SEPARATOR the same way autoconf does.
47932         * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
47933         the same way autoconf-generated configure scripts do.
47934         * posix-modules: Likewise.
47936 2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>
47938         hash: fix safe_hasher const typo
47939         * lib/hash.c (safe_hasher): Result is pointer, not pointer to
47940         const; otherwise, there is a type error later.
47942 2010-09-02  Jim Meyering  <meyering@redhat.com>
47944         test-update-copyright.sh: require perl 5.8.0
47945         * tests/test-update-copyright.sh: Require 5.8.0,
47946         which Tom G. Christensen has confirmed is adequate,
47947         while 5.6.1 is not.
47949 2010-09-02  Eric Blake  <eblake@redhat.com>
47951         tests: init.sh improvements for re-exec'ing with zsh
47952         * tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
47953         -vx through shell re-exec.
47954         Reported by Tom G. Christensen.
47956         wctype: fix typo in previous commit
47957         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
47958         Reported by Ludovic Courtès.
47960 2010-09-02  Jim Meyering  <meyering@redhat.com>
47962         test-update-copyright.sh: skip test if Perl is too old
47963         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
47964         Reported by Tom G. Christensen.
47966 2010-09-02  Bruno Haible  <bruno@clisp.org>
47968         wctype: Avoid compilation error on IRIX 6.5.30.
47969         * lib/wctype.in.h (iswblank): Declare with a replacement if
47970         REPLACE_ISWBLANK is set.
47971         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
47972         declared. Set REPLACE_ISWBLANK.
47973         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
47974         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
47975         * doc/posix-headers/wctype.texi: Likewise.
47976         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
47978 2010-09-01  Bruno Haible  <bruno@clisp.org>
47980         New module 'socketlib'.
47981         * modules/socketlib: New file.
47982         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
47983         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
47984         * modules/sockets (Depends-on): Add socketlib.
47985         Suggested by Sam Steingold <sds@gnu.org>.
47987 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
47989         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
47991         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
47992         when one needs search access to a directory but not read access.
47993         On systems where it is available, it works in some cases where
47994         O_RDONLY does not, namely on directories that are searchable but
47995         not readable, and which need only to be searchable.  If O_SEARCH
47996         is not available, fall back to the traditional method of using
47997         O_RDONLY.
47999         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
48000         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
48001         when opening a directory that needs only to be searchable.
48002         * lib/chdir-safer.c (chdir_no_follow): Likewise.
48003         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
48004         * lib/openat-proc.c (openat_proc_name): Likewise.
48005         * lib/openat.c (openat_needs_fchdir): Likewise.
48006         * lib/save-cwd.c (save_cwd): Likewise.
48007         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
48009 2010-08-28  Bruno Haible  <bruno@clisp.org>
48011         New module 'host-cpu-c-abi'.
48012         * modules/host-cpu-c-abi: New file.
48013         * m4/host-cpu-c-abi.m4: New file, based on part of
48014         clisp/src/m4/general.m4.
48015         Requested by Sam Steingold <sds@gnu.org>.
48017 2010-08-31  Eric Blake  <eblake@redhat.com>
48018         and Jim Meyering  <meyering@redhat.com>
48020         hash: factor, and guard against misbehaving hasher function
48021         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
48022         of table->hasher's return value.  Also protect against a hash value
48023         so large that adding it to table->bucket results in a NULL pointer.
48024         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
48025         Use it in place of open-coded check-and-abort.
48027 2010-08-30  Bruno Haible  <bruno@clisp.org>
48029         hash: silence spurious clang warning
48030         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
48031         Reported by Eric Blake.
48033 2010-08-30  Eric Blake  <eblake@redhat.com>
48035         strstr, memmem, strcasestr: avoid leaked shell message
48036         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
48037         FreeBSD.
48038         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
48039         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
48041         tests: silence clang warning
48042         * tests/test-malloca.c (do_allocation): Avoid dead store.
48044 2010-08-29  Bruno Haible  <bruno@clisp.org>
48046         gettext: Fix recent mistake.
48047         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
48049 2010-08-29  Bruno Haible  <bruno@clisp.org>
48051         selinux-h: Offer a --without-selinux option.
48052         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
48053         --without-selinux was specified, skip all tests and define
48054         HAVE_SELINUX_SELINUX_H to 0.
48055         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
48056         set LIB_SELINUX to empty.
48057         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
48058         gl_LIBSELINUX. If --without-selinux was specified, replace
48059         selinux/context.h.
48060         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
48062 2010-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48063             Bruno Haible  <bruno@clisp.org>
48065         Make the module 'realloc-gnu' work again on AIX and OSF/1.
48066         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
48067         of HAVE_REALLOC.
48068         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
48069         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
48070         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
48071         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
48073 2010-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48074             Bruno Haible  <bruno@clisp.org>
48076         Make the module 'calloc-gnu' work again on AIX and OSF/1.
48077         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
48078         HAVE_CALLOC.
48079         * lib/xmalloc.c: Update accordingly.
48080         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
48081         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
48082         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
48084 2010-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48085             Bruno Haible  <bruno@clisp.org>
48087         Make the module 'malloc-gnu' work again on AIX and OSF/1.
48088         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
48089         HAVE_MALLOC.
48090         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
48091         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
48092         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
48094 2010-08-29  Bruno Haible  <bruno@clisp.org>
48096         Update modules list.
48097         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
48098         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
48099         (String handling <string.h>): Add astrxfrm.
48100         (File system functions): Add readlinkat.
48102 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48104         Tests for module 'realloc-gnu'.
48105         * modules/realloc-gnu-tests: New file.
48106         * tests/test-realloc-gnu.c: New file.
48108         Tests for module 'calloc-gnu'.
48109         * modules/calloc-gnu-tests: New file.
48110         * tests/test-calloc-gnu.c: New file.
48112         Tests for module 'malloc-gnu'.
48113         * modules/malloc-gnu-tests: New file.
48114         * tests/test-malloc-gnu.c: New file.
48116 2010-08-28  Bruno Haible  <bruno@clisp.org>
48118         Rename module 'realloc' -> 'realloc-gnu'.
48119         * modules/realloc-gnu: New file, copied from modules/realloc.
48120         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
48121         obsolete.
48122         * modules/mgetgroups (Depends-on): Update.
48123         * doc/posix-functions/realloc.texi: Update.
48124         * NEWS: Mention the change.
48126         Rename module 'calloc' -> 'calloc-gnu'.
48127         * modules/calloc-gnu: New file, copied from modules/calloc.
48128         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
48129         obsolete.
48130         * doc/posix-functions/calloc.texi: Update.
48131         * NEWS: Mention the change.
48133         Rename module 'malloc' -> 'malloc-gnu'.
48134         * modules/malloc-gnu: New file, copied from modules/malloc.
48135         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
48136         obsolete.
48137         * modules/argp (Depends-on): Update.
48138         * modules/regex (Depends-on): Update.
48139         * doc/posix-functions/malloc.texi: Update.
48140         * NEWS: Mention the change.
48142 2010-08-28  Eric Blake  <eblake@redhat.com>
48144         pread, pwrite: add missing dependency
48145         * modules/pread (Depends-on): Add extensions.
48146         * modules/pwrite (Depends-on): Likewise.
48148 2010-08-28  Bruno Haible  <bruno@clisp.org>
48150         unistr/u*-strchr: Fix tests dependencies.
48151         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
48152         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
48153         Reported by Ian Beckwith <ianb@erislabs.net>.
48155 2010-08-28  Bruno Haible  <bruno@clisp.org>
48157         read-file: Don't occupy too much unused memory.
48158         * lib/read-file.c (fread_file): Shrink the buffer at the end.
48160 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
48161             Eric Blake  <eblake@redhat.com>
48162             Bruno Haible  <bruno@clisp.org>
48164         read-file: Avoid memory reallocations with regular files.
48165         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
48166         (fread_file): With regular files, use the remaining length as the
48167         initial buffer size.  Check against overflow.
48168         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
48169         sys_stat.
48171 2010-08-28  Bruno Haible  <bruno@clisp.org>
48173         ftello: Relax license.
48174         * modules/ftello (License): Relax to LGPLv2+.
48175         Reported by Eric Blake.
48177 2010-08-28  Bruno Haible  <bruno@clisp.org>
48179         Avoid relocwrapper link errors due to gnulib replacement functions.
48180         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
48181         function.
48182         Reported by Ben Pfaff <blp@cs.stanford.edu>.
48184 2010-08-28  Bruno Haible  <bruno@clisp.org>
48186         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
48187         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
48188         defined.
48189         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
48190         Suggested by Eric Blake.
48192 2010-08-28  Bruno Haible  <bruno@clisp.org>
48194         sys_socket, netdb: Ensure socklen_t gets defined.
48195         * modules/sys_socket (Depends-on): Add socklen.
48196         * modules/netdb (Depends-on): Likewise.
48197         * modules/getaddrinfo (Depends-on): Remove socklen.
48198         * modules/getsockopt (Depends-on): Likewise.
48199         * modules/setsockopt (Depends-on): Likewise.
48200         * tests/test-sys_socket.c: Check that socklen_t is defined.
48201         * tests/test-netdb.c: Likewise.
48202         * m4/socklen.m4: Update comments.
48203         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
48205 2010-08-27  Eric Blake  <eblake@redhat.com>
48207         login_tty: add missing dependency
48208         * modules/login_tty (Depends-on): Add pty.
48210 2010-08-26  Eric Blake  <eblake@redhat.com>
48212         lib-symbol-versions: fix m4 quoting
48213         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
48214         format for AC_LINK_IFELSE.
48216         glob: fix compile test
48217         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
48219         btowc: fix missing file
48220         * modules/btowc (Files): Also ship locale-fr.m4.
48222         lseek: fix link test
48223         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
48224         AC_LINK_IFELSE.
48226         include_next: silence autoconf 2.68 warning
48227         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
48228         AC_COMPILE_IFELSE as special.
48229         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
48230         autoconf < 2.68.
48232         acl: fix compilation test
48233         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
48234         AC_COMPILE_IFELSE.
48236 2010-08-26  Bruno Haible  <bruno@clisp.org>
48238         Modernize AC_TRY_RUN invocations.
48239         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
48240         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
48241         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
48242         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
48243         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
48244         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
48245         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
48246         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
48247         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
48248         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
48249         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
48250         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
48251         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
48252         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
48253         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
48254         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
48255         gl_MBRLEN_NUL_RETVAL): Likewise.
48256         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
48257         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
48258         Likewise.
48259         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
48260         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
48261         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
48262         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
48263         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
48264         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
48265         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
48266         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
48267         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
48268         Likewise.
48269         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
48270         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
48271         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
48272         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
48273         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
48274         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
48275         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
48276         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
48277         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
48278         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
48280 2010-08-26  Bruno Haible  <bruno@clisp.org>
48282         Modernize AC_TRY_LINK invocations.
48283         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
48284         AC_TRY_LINK.
48285         * m4/argp.m4 (gl_ARGP): Likewise.
48286         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
48287         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
48288         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
48289         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
48290         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
48291         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
48292         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
48293         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
48294         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
48295         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
48296         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
48297         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
48298         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
48299         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
48300         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
48301         * m4/hostent.m4 (gl_HOSTENT): Likewise.
48302         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
48303         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
48304         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
48305         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
48306         Likewise.
48307         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
48308         Likewise.
48309         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
48310         Likewise.
48311         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
48312         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
48313         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
48314         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
48315         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
48316         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
48317         * m4/servent.m4 (gl_SERVENT): Likewise.
48318         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
48319         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
48320         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
48321         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
48322         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
48323         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
48324         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
48325         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
48326         * modules/tsearch-tests (configure.ac): Likewise.
48328 2010-08-26  Bruno Haible  <bruno@clisp.org>
48330         Modernize AC_TRY_COMPILE invocations.
48331         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
48332         AC_TRY_COMPILE.
48333         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
48334         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
48335         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
48336         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
48337         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
48338         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
48339         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
48340         * m4/lock.m4 (gl_LOCK): Likewise.
48341         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
48342         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
48343         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
48344         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
48345         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
48346         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
48347         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
48348         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
48349         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
48350         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
48351         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
48352         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
48353         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
48354         extraneous semicolon.
48356 2010-08-26  Jim Meyering  <meyering@redhat.com>
48358         stat-time: relax license LGPL
48359         * modules/stat-time (License): Change from GPL to LGPL,
48360         with consent from all contributors, for use in libguile.
48361         Requested by Ludovic Courtès.
48363 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
48365         poll: return immediately on POLLHUP.
48366         * lib/poll.c (poll): Always set timeout before wait_timeout is
48367         computed.
48369 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48371         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
48372         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
48373         rmdir ("dir/.//"), unlinkat.
48375 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
48377         stdbool: avoid spurious failure with modern xlc
48378         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
48380 2010-08-24  Bruno Haible  <bruno@clisp.org>
48382         getloadavg: simplify code
48383         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
48384         gl_have_func. Update comments.
48386 2010-08-24  Eric Blake  <eblake@redhat.com>
48388         getloadavg: don't define SVR4 on cygwin
48389         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
48390         only define SVR4 when -lkvm is required.
48391         Reported by Yaakov Selkowitz.
48393 2010-08-24  Bruno Haible  <bruno@clisp.org>
48395         priv-set: fix comment
48396         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
48398 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
48400         priv-set: fix comments
48401         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
48402         to match code, as suggested by David Bartley in:
48403         http://lists.gnu.org/r/bug-tar/2010-08/msg00018.html
48405 2010-08-23  Eric Blake  <eblake@redhat.com>
48407         stdbool: avoid rejecting clang
48408         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
48409         * tests/test-stdbool.c: Enable more tests if using the system
48410         <stdbool.h> instead of the gnulib replacement.
48411         (main): Move xlc bug test to a runtime test for all compilers.
48412         Reported by Anders Kaseorg.
48414         argz: fix shell quoting issue
48415         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
48416         Reported by Charles Wilson.
48418 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
48419             Erik Faye-Lund <kusmabite@gmail.com>
48421         poll, select: handle ERROR_BROKEN_PIPE.
48422         * lib/poll.c (win32_compute_revents): Return POLLHUP when
48423         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
48424         * lib/select.c (win32_compute_revents): Do not mark a pipe
48425         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
48427 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
48429         fts: allow compilation with C++
48430         * lib/fts_.h: Specify extern "C" linkage with C++.
48432 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48434         Fix gnulib-tool sed script de-commentation for AIX sed.
48435         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
48436         sed.
48438 2010-08-17  Eric Blake  <eblake@redhat.com>
48440         test-stddef: test for (some) offsetof bugs
48441         * tests/test-stddef.c: Enhance test to ensure correct type of
48442         offsetof.
48443         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
48444         that we are not fixing at this time.
48446 2010-08-15  Bruno Haible  <bruno@clisp.org>
48448         stpncpy: Allow stpncpy to be defined as a macro.
48449         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
48450         if it's already correctly declared.
48451         * lib/string.in.h (stpncpy): Undefine before redefining.
48452         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
48454 2010-08-14  Bruno Haible  <bruno@clisp.org>
48456         Rename module 'memxfrm' to 'amemxfrm'.
48457         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
48458         (amemxfrm): Renamed from memxfrm.
48459         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
48460         (amemxfrm): Renamed from memxfrm.
48461         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
48462         * NEWS: Mention the change.
48463         * MODULES.html.sh (String handling <string.h>): Update.
48464         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
48465         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
48466         * lib/unicase/u16-casexfrm.c: Likewise.
48467         * lib/unicase/u32-casexfrm.c: Likewise.
48468         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
48469         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
48470         * lib/uninorm/u16-normxfrm.c: Likewise.
48471         * lib/uninorm/u32-normxfrm.c: Likewise.
48472         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
48473         memxfrm.
48474         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
48475         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
48476         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
48477         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
48478         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
48479         Suggested by Paul Eggert.
48481 2010-08-14  Bruno Haible  <bruno@clisp.org>
48483         Tests for module 'astrxfrm'.
48484         * modules/astrxfrm-tests: New file.
48485         * tests/test-astrxfrm.c: New file.
48487         New module 'astrxfrm'.
48488         * lib/astrxfrm.h: New file.
48489         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
48490         * modules/astrxfrm: New file.
48492 2010-08-14  Reuben Thomas  <rrt@sc3d.org>
48494         regex: Tweak doc.
48495         * doc/regex.texi (Overview): Don't mention regex.c.
48496         (GNU Regular Expression Compiling): Likewise.
48497         (Match-end-of-line Operator): Mention 'not_eol'.
48499 2010-08-14  Brian Gough  <bjg@gnu.org>
48500             Bruno Haible  <bruno@clisp.org>
48502         git-merge-changelog: add doc relating to use with bzr and hg.
48503         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
48505 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
48507         pthread: fix pthread.h creation for srcdir != builddir
48508         * modules/pthread (Makefile.am): Fix the rule to work also in a
48509         non-srcdir build.
48511 2010-08-13  Karl Berry  <karl@gnu.org>
48513         * doc/regex.texi (Predefined Syntaxes): @smallexample.
48514         * doc/posix-*/*: force line break before @url of POSIX
48515         specifications.
48516         Suggested by Werner Lemberg.
48518 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
48520         strtod: fix const diagnostic
48521         * lib/strtod.c (strtod): Don't assign const char * to char *,
48522         as this elicits a warning from GCC when warnings are enabled.
48524 2010-08-10  Pádraig Brady  <P@draigbrady.com>
48525         and Eric Blake  <eblake@redhat.com>
48527         copy-acl: ignore ENOTSUP on HP-UX
48528         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
48529         so that it is available for HP-UX.
48530         * lib/copy-acl.c (qcopy_acl): Use it.
48531         Reported by Patrick M. Callahan.
48533 2010-08-10  Eric Blake  <eblake@redhat.com>
48535         open, chown: relax license
48536         * modules/open (License): Change to LGPLv2+, with consent by all
48537         authors, for use in augeas.
48538         * modules/chown (License): Likewise.
48539         * modules/lchown (Likewise): Likewise.
48540         Requested by Adam Stokes.
48542 2010-08-09  Karl Berry  <karl@gnu.org>
48544         * build-aux/ar-lib: new file, import from Automake.
48545         * config/srclist.txt: autocheck for updates.
48547 2010-08-09  Eric Blake  <eblake@redhat.com>
48549         readlinkat: adjust client modules
48550         * modules/areadlinkat (Depends-on): Use readlinkat, not
48551         symlinkat.
48552         * modules/areadlinkat-with-size (Depends-on): Likewise.
48554         mknod: be more vocal about danger of running tests as root
48555         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
48556         root, since that is just asking for problems.
48557         Suggested by Bruno Haible, based on a report by Rainer Tammer.
48559         readlinkat: split into its own module
48560         * modules/symlinkat: Split readlinkat...
48561         * modules/readlinkat: ...into separate module.
48562         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
48563         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
48564         * lib/symlinkat.c (readlinkat): Move...
48565         * lib/readlinkat.c: ...into new file.
48566         * modules/symlinkat-tests: Split readlinkat test...
48567         * modules/readlinkat-tests: ...into separate module.
48568         * tests/test-symlinkat.c: Split...
48569         * tests/test-readlinkat.c: ...into new file.
48570         * NEWS: Document the split.
48571         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
48572         * lib/unistd.in.h (readlinkat): Likewise.
48573         Suggested by Bruno Haible.
48575 2010-08-08  Bruno Haible  <bruno@clisp.org>
48577         memxfrm: Speed up.
48578         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
48579         that usually only one call to strxfrm is necessary for each string
48580         part.
48581         Reported by Paul Eggert <eggert@cs.ucla.edu>.
48583 2010-08-07  Karl Berry  <karl@gnu.org>
48585         * doc/posix-headers/limits.texi,
48586         * doc/posix-functions/malloc.texi,
48587         * doc/posix-functions/strsignal.texi: missing @item.
48588         * doc/ld-version-script.texi: spurious leading i.
48589         * doc/regex.texi (Interval Operators): no commas inside @var.
48591 2010-08-01  Bruno Haible  <bruno@clisp.org>
48593         Integrate the regex documentation.
48594         * doc/gnulib.texi: Define 'cn' index.
48595         (Regular expressions): New a chapter that includes regex.texi and
48596         regexprops-generic.texi.
48597         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
48598         syntax.
48600         Whitespace cleanup.
48601         * doc/regex.texi: Remove trailing spaces.
48603         Add regex documentation.
48604         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
48605         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
48606         Written by Kathy A. Hargreaves and Karl Berry.
48608 2010-08-01  Bruno Haible  <bruno@clisp.org>
48610         link: Update documentation.
48611         * doc/posix-functions/link.texi: Update regarding Solaris.
48613 2010-07-31  Bruno Haible  <bruno@clisp.org>
48615         Update modules list.
48616         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
48617         (String handling <string.h>): Add memcmp2, memxfrm.
48618         (Container data structures): Add xlist, xsublist, xoset.
48619         (Core language properties): Add alignof, unused-parameter.
48620         (Process control, Numeric conversion functions <stdlib.h>): Renamed
48621         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
48622         (Unibyte characters <ctype.h>): New section.
48623         (String handling <string.h>): New section.
48624         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
48625         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
48626         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
48627         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
48628         tan, tanh, tanl, y0, y1, yn.
48629         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
48630         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
48631         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
48632         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
48633         unlockpt, vdprintf, vdprintf-posix.
48634         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
48635         (File system functions): Add concat-filename, sys_file, sys_ioctl,
48636         xconcat-filename.
48637         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
48638         getdtablesize, pipe2, pipe2-safer.
48639         (Security): New section.
48640         (Networking functions): Add accept4.
48641         (Signal handling): Add sigpipe.
48642         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
48643         mbmemcasecoll.
48644         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
48645         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
48646         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
48647         pipe-filter-ii.
48648         (Misc): Add argp-version-etc, login_tty, parse-duration.
48650 2010-07-31  Bruno Haible  <bruno@clisp.org>
48652         Improve doc in MODULES.html.
48653         * modules/linkat (Description): Add the word "function".
48654         * modules/mkfifo (Description): Likewise.
48655         * modules/mknod (Description): Likewise.
48656         * modules/remove (Description): Likewise.
48657         * modules/renameat (Description): Likewise.
48658         * modules/stat (Description): Likewise.
48659         * modules/symlink (Description): Likewise.
48660         * modules/unlink (Description): Likewise.
48662 2010-07-31  Bruno Haible  <bruno@clisp.org>
48664         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
48665         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
48666         option --enable/disable-c++ instead of --enable/disable-cxx.
48667         * NEWS: Mention the change.
48669 2010-07-31  Bruno Haible  <bruno@clisp.org>
48671         readlink, areadlink: Relax test a bit.
48672         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
48673         alternative to ENOTDIR.
48674         * tests/test-areadlink.h (test_areadlink): Likewise.
48675         Reported by Rainer Tammer.
48677 2010-07-31  Bruno Haible  <bruno@clisp.org>
48679         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
48680         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
48681         character, perform the search using U_STRCHR.
48682         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
48683         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
48684         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
48685         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
48686         Suggested by Paolo Bonzini.
48688 2010-07-31  Bruno Haible  <bruno@clisp.org>
48690         unistr/u*-strstr: Fix dependencies.
48691         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
48692         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
48693         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
48695 2010-07-31  Bruno Haible  <bruno@clisp.org>
48697         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
48698         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
48699         the beginning of the loop.
48700         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
48701         cases in 'switch' statement.
48703         unistr/u8-strchr: Fix several bugs.
48704         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
48705         the string. When not found, return NULL, not a pointer near the end.
48707         More tests for unistr/u8-strchr.
48708         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
48709         that the function does not read past the first occurrence of the byte
48710         being searched.
48711         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
48712         * tests/unistr/test-u16-strchr.c (main): New function.
48713         * tests/unistr/test-u32-strchr.c (main): New function.
48715 2010-07-31  Bruno Haible  <bruno@clisp.org>
48717         posix-modules: Ignore backup files of documentation files.
48718         * posix-modules: grep only through files named *.texi.
48720 2010-07-31  Bruno Haible  <bruno@clisp.org>
48722         symlinkat: Fix documentation.
48723         * doc/posix-functions/readlinkat.texi: Fix module name.
48725 2010-07-31  Bruno Haible  <bruno@clisp.org>
48727         fchownat: Replace also when chown has the trailing slash bug.
48728         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
48729         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
48730         introduced on 2010-04-10.
48731         Reported by Rainer Tammer.
48733 2010-07-31  Bruno Haible  <bruno@clisp.org>
48735         linkat: Work around AIX 7.1 bug.
48736         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
48737         whether linkat handles trailing slash correctly. If not, replace linkat
48738         and define LINKAT_TRAILING_SLASH_BUG.
48739         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
48740         check whether (fd1,file1) points to a directory if file1 or file2 ends
48741         in a slash. Code taken from lib/link.c.
48742         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
48743         Reported by Rainer Tammer.
48745 2010-07-31  Bruno Haible  <bruno@clisp.org>
48747         Correctly determine whether pow is available in libc on AIX 7 with xlc.
48748         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
48749         This disables an xlc optimization that was causing wrong test results.
48750         Reported by Rainer Tammer.
48752 2010-07-31  Bruno Haible  <bruno@clisp.org>
48754         iconv: Work around AIX 6.1..7.1 bug.
48755         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
48756         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
48757         cross-compiling, guess no on all versions of AIX.
48758         Reported by Rainer Tammer.
48760 2010-07-31  Bruno Haible  <bruno@clisp.org>
48762         readlink: Relax test a bit.
48763         * tests/test-readlink.h (test_readlink): Allow different errno value
48764         when readlink is called with a file name that ends in / and refers to
48765         a file.
48766         Suggested by Eric Blake.
48767         Reported by Rainer Tammer.
48769 2010-07-31  Bruno Haible  <bruno@clisp.org>
48771         copysign: Does not require -lm on glibc systems.
48772         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
48773         gl_COMMON_DOUBLE_MATHFUNC.
48774         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
48776 2010-07-31  Bruno Haible  <bruno@clisp.org>
48778         duplocale: Work around AIX 7.1 bug.
48779         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
48780         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
48781         * lib/duplocale.c (rpl_duplocale): Update comment.
48782         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
48783         Reported by Rainer Tammer.
48785 2010-07-30  Bruno Haible  <bruno@clisp.org>
48787         dirfd: Avoid link error on AIX 7.1.
48788         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
48789         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
48790         exist, set REPLACE_DIRFD.
48791         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
48792         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
48793         * doc/posix-functions/dirfd.texi: Update.
48794         Reported by Rainer Tammer.
48796 2010-07-30  Eric Blake  <eblake@redhat.com>
48798         strtod: next round of AIX fixes
48799         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
48800         exponent.
48801         * tests/test-strtod.c (main): Enhance tests.
48802         * doc/posix-functions/strtod.texi (strtod): Document next bug.
48803         Reported by Rainer Tammer.
48805         futimens: fix configure check
48806         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
48807         Reported by Bruno Haible.
48809 2010-07-30  Bruno Haible  <bruno@clisp.org>
48811         getline: Update regarding AIX.
48812         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
48813         Reported by Rainer Tammer.
48815 2010-07-30  Bruno Haible  <bruno@clisp.org>
48817         wcwidth: Drop replacement on AIX 7.
48818         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
48819         AIX 7.
48820         Reported by Rainer Tammer.
48822 2010-07-30  Bruno Haible  <bruno@clisp.org>
48824         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
48825         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
48826         a 'char *'.
48827         Reported by Rainer Tammer.
48829 2010-07-30  Bruno Haible  <bruno@clisp.org>
48831         unlink: Update regarding AIX.
48832         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
48833         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
48834         Reported by Rainer Tammer.
48836 2010-07-30  Bruno Haible  <bruno@clisp.org>
48838         symlink: Update regarding AIX.
48839         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
48840         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
48841         Reported by Rainer Tammer.
48843 2010-07-30  Bruno Haible  <bruno@clisp.org>
48845         strndup: Update regarding AIX.
48846         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
48847         AIX 7.
48848         Reported by Rainer Tammer.
48850 2010-07-30  Bruno Haible  <bruno@clisp.org>
48852         stat: Update regarding AIX.
48853         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
48854         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
48855         Reported by Rainer Tammer.
48857 2010-07-30  Bruno Haible  <bruno@clisp.org>
48859         truncl: Fix autoconf test.
48860         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
48861         whether truncl works.
48862         Reported by Rainer Tammer.
48864 2010-07-30  Bruno Haible  <bruno@clisp.org>
48866         round: Update regarding AIX.
48867         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
48868         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
48869         Reported by Rainer Tammer.
48871 2010-07-30  Bruno Haible  <bruno@clisp.org>
48873         rename: Update regarding AIX.
48874         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
48875         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
48876         Reported by Rainer Tammer.
48878 2010-07-30  Bruno Haible  <bruno@clisp.org>
48880         printf.m4: Update regarding AIX.
48881         * m4/printf.m4: Update comments regarding AIX.
48882         Reported by Rainer Tammer.
48884 2010-07-30  Bruno Haible  <bruno@clisp.org>
48886         iconv: Update regarding AIX.
48887         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
48888         AIX 7.
48889         Reported by Rainer Tammer.
48891 2010-07-30  Bruno Haible  <bruno@clisp.org>
48893         getopt: Update regarding AIX.
48894         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
48895         no on AIX.
48896         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
48897         Reported by Rainer Tammer.
48899 2010-07-30  Bruno Haible  <bruno@clisp.org>
48901         ldexpl; Update regarding AIX.
48902         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
48903         on AIX 7.
48904         Reported by Rainer Tammer.
48906 2010-07-30  Bruno Haible  <bruno@clisp.org>
48908         frexpl: Update regarding AIX.
48909         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
48910         on AIX 7.
48911         Reported by Rainer Tammer.
48913 2010-07-30  Bruno Haible  <bruno@clisp.org>
48915         open, fopen: Update regarding AIX.
48916         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
48917         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
48918         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
48919         * doc/posix-functions/fopen.texi: Likewise.
48920         Reported by Rainer Tammer.
48922 2010-07-30  Bruno Haible  <bruno@clisp.org>
48924         chown: Update doc regarding AIX.
48925         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
48926         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
48927         Reported by Rainer Tammer.
48929 2010-07-30  Eric Blake  <eblake@redhat.com>
48931         strtod: fix bug in replacement function on AIX
48932         * lib/strtod.c (strtod): Special case broken "0x" parse in
48933         underlying strtod.
48934         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
48935         * doc/posix-functions/strtod.texi (strtod): Likewise.
48936         Reported by Rainer Tammer.
48938 2010-07-30  Bruno Haible  <bruno@clisp.org>
48940         mbrlen: Fix cross-compilation guess for AIX.
48941         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
48942         guess. Leftover from 2008-12-22.
48944 2010-07-30  Bruno Haible  <bruno@clisp.org>
48946         mbrtowc: Fix cross-compilation guess for AIX.
48947         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
48948         guess. Leftover from 2008-12-21.
48950 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
48952         init.sh: work around trap limitation of some shells
48953         * tests/init.sh (setup_): Move exit trap outside of shell function.
48955 2010-07-29  Eric Blake  <eblake@redhat.com>
48957         strtod: aid debugging
48958         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
48959         understanding why strtod is rejected.
48961 2010-07-28  Bruno Haible  <bruno@clisp.org>
48963         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
48964         * lib/unistr/u8-chr.c: Include <string.h>.
48965         * tests/unistr/test-u8-chr.c: Likewise.
48966         * tests/unistr/test-u16-chr.c: Likewise.
48967         * tests/unistr/test-u32-chr.c: Likewise.
48968         * tests/unistr/test-u8-strchr.c: Likewise.
48969         * tests/unistr/test-u16-strchr.c: Likewise.
48970         * tests/unistr/test-u32-strchr.c: Likewise.
48971         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
48972         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
48973         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
48974         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
48976 2010-07-28  Bruno Haible  <bruno@clisp.org>
48978         Use spaces for indentation, not tabs.
48979         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
48981 2010-07-27  Bruno Haible  <bruno@clisp.org>
48983         mbspcasecmp: Fix function specification.
48984         * lib/string.in.h (mbspcasecmp): Fix specification comment.
48985         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
48986         Reported by Eric Blake <eblake@redhat.com>.
48988 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
48990         timespec: use cast and not conditional, as truncation isn't possible
48991         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
48992         instead of a conditional.  Comment about the situation in more detail.
48993         This undoes most of the 2009-10-29 patch.
48995 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
48997         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
48998         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
48999         * lib/unistr/u8-strchr.c: Likewise.
49000         * modules/unistr/u8-chr: Depend on memchr.
49002         unistr/u*-strchr: add tests
49003         * modules/unistr/u8-strchr-tests: New file.
49004         * modules/unistr/u16-strchr-tests: New file.
49005         * modules/unistr/u32-strchr-tests: New file.
49006         * tests/unistr/test-strchr.h: New file.
49007         * tests/unistr/test-u8-strchr.c: New file.
49008         * tests/unistr/test-u16-strchr.c: New file.
49009         * tests/unistr/test-u32-strchr.c: New file.
49011         unistr/u*-chr: test multibyte sequences more
49012         * tests/unistr/test-chr.h: Do complete testing of the characters in the
49013         test vector.
49014         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
49015         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
49016         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
49018         unistr/u*-chr: test multibyte sequences
49019         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
49021         unistr/u*-chr: prepare for multibyte tests
49022         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
49023         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
49024         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
49025         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
49026         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
49027         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
49029 2010-07-18  Bruno Haible  <bruno@clisp.org>
49031         unistr/u8-strchr: Optimize non-ASCII argument case.
49032         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
49033         because the first byte often matches anyway.
49034         Reported by Pádraig Brady <P@draigbrady.com>.
49036 2010-07-15  Karl Berry  <karl@gnu.org>
49038         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
49040 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
49042         getcwd: on Solaris, work better if ancestors are inaccessible
49043         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
49044         buffer and size, try again with a large buffer.  This works better
49045         on Solaris, since its getcwd succeeds even if the path to the root
49046         is inaccessible, and this is helpful in common cases such as .zfs
49047         hidden directories.  Problem reported by J Chapman Flack in
49048         http://lists.gnu.org/r/bug-tar/2010-06/msg00000.html
49049         Use system getcwd if it's declared, not merely if it's partly
49050         working; use the partly-working test only to avoid needless effort
49051         if the system getcwd fails.
49052         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
49053         comment that was already obsolete and is now even more obsolete.
49054         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
49055         now might call strdup.
49057 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
49059         pthread: Add enough so that coreutils/src/sort.c compiles.
49060         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
49061         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
49062         gnulib. Include <sched.h> and <time.h>, as per POSIX.
49063         Include <sys/types.h>, in case it defines pthread_t.
49064         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
49065         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
49066         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
49067         (pthread_rwlockattr_t, pthread_spinlock_t):
49068         New typedefs, if HAVE_PTHREAD_T is not defined.
49069         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
49070         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
49071         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
49072         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
49073         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
49074         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
49075         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
49076         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
49077         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
49078         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
49079         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
49080         New macros.
49081         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
49082         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
49083         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
49084         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
49085         (pthread_spin_unlock): New dummy functions.
49086         (pthread_create): Return EAGAIN; don't set errno.
49087         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
49088         require AC_C_INLINE.
49089         * modules/pthread (Depends-on): Add sched, time.
49090         (pthread.h): Use AM_V_GEN.
49092 2010-07-13  Bruno Haible  <bruno@clisp.org>
49094         striconveh: Don't malloc memory if the result buffer is sufficient.
49095         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
49096         buffer if its size is sufficient.
49097         Reported by Ludovic Courtès <ludo@gnu.org>.
49099 2010-07-13  Bruno Haible  <bruno@clisp.org>
49101         strtod: Add safety check.
49102         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
49104 2010-07-12  Bruno Haible  <bruno@clisp.org>
49106         Unify tests that set gl_cv_func_ldexpl_no_libm.
49107         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
49108         gl_FUNC_LDEXPL.
49109         (gl_FUNC_LDEXPL): Invoke it.
49110         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
49112 2010-07-12  Bruno Haible  <bruno@clisp.org>
49114         Unify tests that set gl_cv_func_ldexp_no_libm.
49115         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
49116         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
49117         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
49118         (configure.ac): Simply invoke gl_FUNC_LDEXP.
49119         * modules/strtod (Files): Add m4/ldexp.m4.
49121 2010-07-12  Bruno Haible  <bruno@clisp.org>
49123         Unify tests that set gl_cv_func_frexpl_no_libm.
49124         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
49125         gl_FUNC_FREXPL_NO_LIBM.
49126         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
49127         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
49129 2010-07-12  Bruno Haible  <bruno@clisp.org>
49131         Unify tests that set gl_cv_func_frexp_no_libm.
49132         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
49133         gl_FUNC_FREXP_NO_LIBM.
49134         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
49135         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
49137 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
49139         memcoll: clarify sizes versus lengths, document better, and tweak perf
49140         * lib/memcoll.c (strcoll_loop, memcoll0):
49141         Improve quality of descriptive comments.  Name variables
49142         consistently as to whether they are lengths (which do not include
49143         terminating null) versus sizes (which do).
49144         * lib/xmemcoll.c (xmemcoll0): Likewise.
49145         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
49146         returned when s1size == 0; this is easier to compile and saves
49147         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
49149 2010-07-12  Bruno Haible  <bruno@clisp.org>
49151         Tests for module '_Exit'.
49152         * modules/_Exit-tests: New file.
49153         * tests/test-_Exit.sh: New file.
49154         * tests/test-_Exit.c: New file.
49156         New module '_Exit'.
49157         * lib/stdlib.in.h (__attribute__): New macro.
49158         (_Exit): New declaration.
49159         * lib/_Exit.c: New file.
49160         * m4/_Exit.m4: New file.
49161         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
49162         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
49163         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
49164         * modules/_Exit: New file.
49165         * tests/test-stdlib-c++.cc (_Exit): Check signature.
49166         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
49168 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
49170         strtod: make it more-accurate typically, and don't require libm
49171         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
49172         Include limits.h.  Don't include string.h.
49173         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
49174         (locale_isspace): New function, so that no casts are needed to
49175         check whether *s is a space.
49176         (ldexp): Provide an unused dummy if not available.
49177         (scale_radix_exp, parse_number, underlying_strtod): New functions.
49178         (strtod): Use them.  This implementation prefers to use the
49179         underlying strtod if available, falling back on our own code
49180         only to fix known bugs.  This is more likely to produce an
49181         accurate result.  Also, it avoids the use of libm functions.
49182         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
49183         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
49184         was absent, but it caused a test failure with coreutils.
49185         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
49186         with libm.
49187         * modules/strtod (Makefile.am, Link): libm is no longer needed.
49188         * modules/strtod-tests (Makefile.am): Likewise.
49190 2010-07-11  Pádraig Brady  <P@draigBrady.com>
49191             Bruno Haible  <bruno@clisp.org>
49193         unistr/u8-strchr: Optimize ASCII argument case.
49194         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
49196 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
49198         (x)memcoll: minor tweaks
49199         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
49200         is after the type that it qualifies.
49201         (memcoll0): Likewise.
49202         * lib/memcoll.h (memcoll0): Likewise.
49203         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
49204         * lib/xmemcoll.h (xmemcoll0): Likewise.
49205         * lib/memcoll.c (memcoll0): Correct the comment.  This function
49206         differs from memcoll in that the NUL byte is part of the argument.
49207         Omit the abort-checks, as performance is a real issue here.  Plus,
49208         the checks were wrong anyway (an off-by-one error).  Omit local
49209         variable 'diff', as it's a bit clearer that way.
49210         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
49211         no longer needed.
49213 2010-07-08  Chen Guo  <chenguo4@yahoo.com>
49215         (x)memcoll: speedup when input is known to be NUL delimited
49216         * lib/memcoll.c: Include stdlib.
49217         (memcoll0): New function.
49218         (strcoll_loop): New function, refactored for use in both memcoll
49219         and memcoll0.
49220         * lib/memcoll.h (memcoll0): Add prototype.
49221         * lib/xmemcoll.c (xmemcoll0): New function.
49222         (collate_error): New function, refactored for use in both xmemcoll
49223         and xmemcoll0.
49224         * lib/xmemcoll.h (xmemcoll0): Add prototype.
49225         * m4/memcoll.m4: add inline invocation.
49227 2010-07-06  Pádraig Brady  <P@draigBrady.com>
49229         * build-aux/bootstrap: Remove any local translations
49230         from the translation project synchronization directory,
49231         so that local only translations are not distributed.
49233 2010-07-04  Bruno Haible  <bruno@clisp.org>
49235         fsusage: Clarify which code applies to which platforms.
49236         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
49237         platform.
49238         * lib/fsusage.c (get_fs_usage): Likewise.
49240 2010-07-04  Bruno Haible  <bruno@clisp.org>
49242         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
49243         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
49244         Reported by Martin Lambers <marlam@marlam.de>.
49246 2010-07-04  Jim Meyering  <meyering@redhat.com>
49248         hash: once again explicitly disallow insertion of NULL
49249         * lib/hash.c (hash_insert0): Reinstate just-removed test:
49250         inserting a NULL pointer cannot work with these functions.
49251         Add a comment with details.
49252         This reverts part of the 2010-07-01 commit, 5bef1a35
49253         "hash: extend module to deal with non-pointer keys".
49255 2010-07-01  Bruno Haible  <bruno@clisp.org>
49257         stdbool: Update doc.
49258         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
49259         Info from Christian Weisgerber <naddy@mips.inka.de>.
49261 2010-07-01  Jim Meyering  <meyering@redhat.com>
49263         hash: extend module to deal with non-pointer keys
49264         * lib/hash.c (hash_insert0): New interface, much like hash_insert
49265         but that allows insertion of non-pointer entries.
49266         Do not disallow an ENTRY value of NULL.
49267         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
49268         * lib/hash.h (hash_insert0): Declare.
49270 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
49272         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
49273         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
49274         not present (i.e. with autoconf 2.59 and when using gettextize, not
49275         gnulib), require AC_GNU_SOURCE instead.
49277 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
49279         idpriv-drop: Fix tests.
49280         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
49281         not to the test-idpriv-droptemp program.
49283 2010-06-29  Bruno Haible  <bruno@clisp.org>
49285         string: Fix syntax error with g++ 2.96.
49286         * lib/string.in.h (__pure__): Remove definition.
49287         (_GL_ATTRIBUTE_PURE): New macro.
49288         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
49289         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
49290         Reported by Christian Weisgerber <naddy@mips.inka.de>.
49292 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
49294         unitypes: Fix bug introduced on 2010-05-18.
49295         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
49297 2010-06-22  Eric Blake  <eblake@redhat.com>
49299         memmem: slight optimization
49300         * lib/str-two-way.h (critical_factorization): Update comments.
49301         Reduce work during factorization phase.
49302         Reported by Carlos Bueno <carlos@bueno.org>.
49304 2010-06-21  Bruno Haible  <bruno@clisp.org>
49306         Fix HAVE_CALLOC_POSIX misnomer.
49307         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
49308         !HAVE_CALLOC_POSIX.
49309         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
49310         HAVE_CALLOC_POSIX.
49311         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
49312         instead of HAVE_CALLOC_POSIX.
49313         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
49314         HAVE_CALLOC_POSIX.
49316         Use modern idiom for calloc() replacement.
49317         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
49318         AC_FUNC_CALLOC.
49319         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
49320         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
49321         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
49322         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
49323         (gl_REPLACE_CALLOC): New macro.
49325 2010-06-21  Bruno Haible  <bruno@clisp.org>
49327         Fix HAVE_REALLOC_POSIX misnomer.
49328         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
49329         !HAVE_REALLOC_POSIX.
49330         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
49331         HAVE_REALLOC_POSIX.
49332         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
49333         instead of HAVE_REALLOC_POSIX.
49334         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
49335         HAVE_REALLOC_POSIX.
49337         Use modern idiom for realloc() replacement.
49338         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
49339         AC_FUNC_REALLOC.
49340         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
49341         Autoconf's AC_FUNC_REALLOC.
49342         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
49343         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
49344         (gl_REPLACE_REALLOC): New macro.
49345         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
49347 2010-06-21  Bruno Haible  <bruno@clisp.org>
49349         Fix HAVE_MALLOC_POSIX misnomer.
49350         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
49351         !HAVE_MALLOC_POSIX.
49352         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
49353         HAVE_MALLOC_POSIX.
49354         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
49355         instead of HAVE_MALLOC_POSIX.
49356         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
49357         HAVE_MALLOC_POSIX.
49359         Use modern idiom for malloc() replacement.
49360         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
49361         AC_FUNC_MALLOC.
49362         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
49363         Autoconf's AC_FUNC_MALLOC.
49364         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
49365         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
49366         (gl_REPLACE_MALLOC): New macro.
49367         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
49369 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
49371         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
49372         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
49373         This macro takes 3 arguments, not 4.
49375 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
49377         ipv6: fix detection under mingw
49378         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
49379         in6_addr.
49381 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
49383         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
49384         that strtod() works when cross-compiling to a glibc version known
49385         to work.
49387 2010-06-15  Bruno Haible  <bruno@clisp.org>
49389         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
49391 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
49393         select: Correct timeout.
49394         * lib/select.c (rpl_select): Compute wait_timeout correctly.
49396 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
49398         git-version-gen: init shell var to avoid env var influence
49399         * build-aux/git-version-gen (v): Init shell var to empty.
49401 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
49403         priv-set: Don't assume that priv.h exists merely because getppriv does.
49404         See Jan Andersen's bug report about AIX 5L in
49405         http://lists.gnu.org/r/bug-tar/2010-06/msg00019.html
49406         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
49407         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
49408         * lib/priv-set.h: Likewise.
49409         * tests/test-priv-set.c: Likewise.
49411 2010-06-13  Bruno Haible  <bruno@clisp.org>
49413         relocatable: Make it easier to test whether to install wrappers.
49414         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
49415         RELOCATABLE_VIA_WRAPPER.
49417 2010-06-13  Bruno Haible  <bruno@clisp.org>
49419         gnulib-tool: Display specified modules and dependencies differently.
49420         * gnulib-tool (func_show_module_list): New function.
49421         (func_import, func_create_testdir): Invoke it.
49422         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
49424 2010-06-13  Bruno Haible  <bruno@clisp.org>
49426         gnulib-tool: Align code of func_import and func_create_testdir.
49427         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
49428         specified_modules.
49430 2010-06-12  Jim Meyering  <meyering@redhat.com>
49432         test-inttostr: avoid spurious failure on Solaris 9
49433         * tests/test-inttostr.c (main): Skip the test when snprintf fails
49434         to accept "%ju".  Reported by Bruno Haible.
49436 2010-06-11  Jim Meyering  <meyering@redhat.com>
49438         test-sys_socket: mark variables as used more readably
49439         * tests/test-sys_socket.c (main): Mark otherwise unused variables
49440         as "used" explicitly via (void) statement casts.  This is more
49441         readable than using them in an artificial return expression.
49442         Suggestion from Bruno Haible.
49444 2010-06-11  Bruno Haible  <bruno@clisp.org>
49446         Avoid some more warnings from "gcc -Wwrite-strings".
49447         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
49448         to 'const char *'.
49449         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
49450         * tests/test-c-strcasestr.c (main): Likewise.
49451         * tests/test-mbscasestr1.c (main): Likewise.
49452         * tests/test-mbscasestr2.c (main): Likewise.
49453         * tests/test-memmem.c (main): Likewise.
49454         * tests/test-strstr.c (main): Likewise.
49455         * tests/test-strcasestr.c (main): Likewise.
49457 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49459         init.sh: change framework_failure_ to fail with status 99, not 1
49460         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
49461         automake's parallel-tests rule that this is an unexpected failure,
49462         even if the test is listed in XFAIL_TESTS.
49464 2010-06-11  Jim Meyering  <meyering@redhat.com>
49466         test-inttostr: avoid warnings about 4-6KB literal strings
49467         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
49468         Include "macros.h", for its definition of ASSERT.
49469         (CK): s/assert/ASSERT/
49470         * modules/inttostr-tests (Files): Add macros.h.
49472         init.sh: don't use $ME_ or skip_ before they are defined
49473         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
49474         their first uses.  Also hoist their companions: warn_, fail_,
49475         framework_failure_, $stderr_fileno.  Prompted by a patch from
49476         Stefano Lattarini.
49478         test-sys_socket: avoid set-but-not-used warnings from gcc
49479         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
49480         avoid warning about set-but-not-used variables.
49482         test-xvasprintf: avoid 'const' discard warnings
49483         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
49484         "const" when assigning from literal strings.
49485         (test_xasprintf): Add "void" in function argument list to placate
49486         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
49488         tests: avoid compilation warnings in argmatch and exclude tests...
49489         in packages that define ARGMATCH_DIE_DECL, like coreutils.
49490         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
49491         Since it always exits, declare with the "noreturn" attribute.
49492         * tests/test-argmatch.c: Likewise.
49494         tests: avoid 'const' discard warnings in mbsstr tests
49495         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
49496         * tests/test-mbsstr2.c (main): Likewise.
49498         test-verify: avoid warning from gcc's -Wmissing-declarations
49499         * tests/test-verify.c (function): Declare to be static.
49501         test-inttostr.c: include <string.h> for use of strcmp
49502         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
49504         test-linkat: avoid failed assertion on "other" architectures
49505         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
49506         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
49507         sparc: https://bugs.launchpad.net/bugs/591968
49509 2010-06-11  Jim Meyering  <meyering@redhat.com>
49511         printf.m4: avoid autoconf's "Expanded Before Required" warning
49512         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
49513         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
49514         autoconf warning.
49516 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
49518         Replacement header templates are now named with ".in", not "_".
49519         * doc/gnulib-intro.texi: Correct.
49521 2010-06-10  Jim Meyering  <meyering@redhat.com>
49523         inttostr-tests: depend on snprintf, not snprintf-posix
49524         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
49525         snprintf-posix, to avoid this aclocal failure:
49526           missing file gnulib-tests/vasnprintf.c
49527           configure.ac:45: error: expected source file, required through \
49528           AC_LIBSOURCES, not found
49530 2010-06-10  Jim Meyering  <meyering@redhat.com>
49532         inttostr: add a new function, inttostr, and tests
49533         The namesake function was not available.  The existence of the
49534         template file, inttostr.c makes its addition nontrivial.
49535         * lib/anytostr.c: Rename from inttostr.c.
49536         (anytostr): Rename from inttostr.
49537         * lib/inttostr.c: New file.
49538         * modules/inttostr (Files): Add anytostr.c.
49539         (Makefile.am): Set lib_SOURCES instead of ...
49540         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
49541         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
49542         * lib/offtostr.c: Likewise.
49543         * lib/uinttostr.c: Likewise.
49544         * lib/umaxtostr.c: Likewise.
49545         * modules/inttostr-tests: New file.
49546         * tests/test-inttostr.c: New file.  Test these functions.
49548 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
49549             Bruno Haible  <bruno@clisp.org>
49551         Add "Extending Gnulib" chapter to manual.
49552         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
49553         chapter.
49554         (Extending Gnulib): New chapter.
49555         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
49556         chapter.
49558 2010-06-09  Bruno Haible  <bruno@clisp.org>
49560         Avoid relocwrapper link errors due to gnulib replacement functions.
49561         * lib/areadlink.c: Use the system's malloc, realloc functions.
49562         (areadlink): Set errno to ENOMEM explicitly.
49563         * modules/areadlink (Depends-on): Remove malloc-posix.
49564         Reported by Ben Pfaff <blp@cs.stanford.edu>.
49566 2010-06-09  Bruno Haible  <bruno@clisp.org>
49568         Avoid relocwrapper link errors due to gnulib replacement functions.
49569         * lib/canonicalize-lgpl.c: Use the system's malloc function.
49570         * lib/malloca.c: Likewise.
49571         * lib/relocatable.c: Likewise.
49572         * lib/progreloc.c: Use the system's malloc, sprintf functions.
49573         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
49574         * lib/setenv.c: Use the system's malloc, realloc functions.
49575         * lib/strerror.c: Use the system's sprintf function.
49576         Reported by Ben Pfaff <blp@cs.stanford.edu>.
49578 2010-06-04  Bruno Haible  <bruno@clisp.org>
49580         Prefer documented low-level autoconf macro names.
49581         * m4/lib-link.m4: Use m4_translit instead of translit.
49582         * m4/environ.m4: Likewise.
49583         * m4/mathfunc.m4: Likewise.
49584         * m4/onceonly.m4: Likewise.
49585         * m4/stdint.m4: Likewise.
49586         Suggested by Eric Blake.
49588 2010-06-04  Martin Lambers  <marlam@marlam.de>
49589             Bruno Haible  <bruno@clisp.org>
49591         havelib: Allow library names with '+' characters.
49592         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
49593         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
49595 2010-06-09  Bruno Haible  <bruno@clisp.org>
49597         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
49598         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
49599         realloc failed.
49601 2010-06-08  Peter Simons  <simons@cryp.to>
49603         maint.mk: make the news-check rule more configurable
49604         * top/maint.mk (news-check-lines-spec): New variable.
49605         (news-check): Use "sed -n 1,10p" in place of "head".
49607 2010-06-07  Jim Meyering  <meyering@redhat.com>
49609         do-release-commit-and-tag: fix typo in --help
49610         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
49612         regex: avoid new dead-code warning with gcc-4.6.0
49613         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
49614         if-block containing a while-loop.  It's been unused for at least
49615         5 years.
49617 2010-06-05  Bruno Haible  <bruno@clisp.org>
49619         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
49620         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
49622 2010-06-04  Bruno Haible  <bruno@clisp.org>
49624         Update to GNU gettext 0.18.1.
49625         * modules/gettext (configure.ac): Require gettext infrastructure from
49626         version 0.18.1.
49628 2010-06-03  Bruno Haible  <bruno@clisp.org>
49630         Don't use AC_LIBOBJ with file names in subdirectories.
49631         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
49632         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
49633         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
49634         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
49635         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
49636         gl_LIBUNISTRING_LIBSOURCE.
49637         (Makefile.am): Augment lib_SOURCES here, conditionally.
49638         * NEWS: Drop requirement for Automake option 'subdir-objects'.
49640 2010-06-03  Bruno Haible  <bruno@clisp.org>
49642         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
49643         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
49644         expansion does not end with a newline.
49645         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
49646         unnecessary newline.
49648 2010-06-03  Bruno Haible  <bruno@clisp.org>
49650         Reduce dependencies.
49651         * tests/test-quotearg.h: New file, extracted from
49652         tests/test-quotearg.c.
49653         * tests/test-quotearg-simple.c: New file, extracted from
49654         tests/test-quotearg.c.
49655         * tests/test-quotearg.c: Don't include <ctype.h>.
49656         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
49657         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
49658         use_quote_double_quotes, use_quotearg_colon): Moved to
49659         tests/test-quotearg.h.
49660         (results_g, flag_results, custom_quotes, custom_results): Moved
49661         to tests/test-quotearg-simple.c.
49662         (main): Moved the part that does not depend on gettext to
49663         tests/test-quotearg-simple.c. Return 77 if the test cannot be
49664         performed.
49665         * modules/quotearg-simple: New file.
49666         * modules/quotearg-simple-tests: New file.
49667         * modules/quotearg (Depends-on): Add quotearg-simple.
49668         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
49669         (Files): Add tests/test-quotearg.h.
49670         Reported by Paolo Bonzini.
49672 2010-06-03  Bruno Haible  <bruno@clisp.org>
49674         Reduce dependencies.
49675         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
49677 2010-06-03  Bruno Haible  <bruno@clisp.org>
49679         time: Undefine more broken macros.
49680         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
49681         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
49682         Reported by Eric Blake.
49684 2010-06-03  Bruno Haible  <bruno@clisp.org>
49686         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
49687         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
49688         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
49689         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
49690         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
49691         Reported by Ludovic Courtès <ludo@gnu.org>.
49693 2010-06-02  Eric Blake  <eblake@redhat.com>
49695         time: work with mingw + pthreads-win32 library
49696         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
49697         if timespec is defined only in pthread.h.
49698         * modules/time (Makefile.am): Substitute it.
49699         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
49700         <pthread.h>, when needed.
49701         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
49702         from the library.
49704 2010-05-31  Bruno Haible  <bruno@clisp.org>
49706         Avoid expanding two macros in the wrong order.
49707         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
49708         gl_LIBUNISTRING if it is defined.
49709         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
49710         autoconf >= 2.64.
49711         Reported by Ludovic Courtès <ludo@gnu.org>.
49713 2010-05-27  Jim Meyering  <meyering@redhat.com>
49715         maint.mk: also prohibit "#undef" of always-defined symbols
49716         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
49717         Allow more than one space before the symbol name.
49718         (sc_prohibit_always-defined_macros): Use grep's -E, now that
49719         the regexp uses alternation.
49721 2010-05-26  Eric Blake  <eblake@redhat.com>
49723         maint.mk: avoid echo -e
49724         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
49725         Convert all uses of echo -* to printf.
49726         Reported by Matthias Bolte.
49728 2010-05-25  Bruno Haible  <bruno@clisp.org>
49730         Update to GNU gettext 0.18, part 2.
49731         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
49732         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
49734 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49736         Add missing include in test-pwrite.c.
49737         * tests/test-pwrite.c: Include string.h, for strcmp.
49739 2010-05-24  Bruno Haible  <bruno@clisp.org>
49741         * NEWS: Mention requirement for Automake option 'subdir-objects'.
49743 2010-05-24  Bruno Haible  <bruno@clisp.org>
49745         Don't use conversion with transliteration in u{8,16,32}_strcoll.
49746         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
49747         iconveh_error argument.
49748         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
49749         U_STRCONV_TO_LOCALE.
49750         * lib/unistr/u16-strcoll.c: Likewise.
49751         * lib/unistr/u32-strcoll.c: Likewise.
49752         * modules/unistr/u8-strcoll (Depends-on): Add
49753         uniconv/u8-strconv-to-enc, localcharset. Remove
49754         uniconv/u8-strconv-to-locale.
49755         (configure.ac): Bump version number.
49756         * modules/unistr/u16-strcoll (Depends-on): Add
49757         uniconv/u16-strconv-to-enc, localcharset. Remove
49758         uniconv/u16-strconv-to-locale.
49759         (configure.ac): Bump version number.
49760         * modules/unistr/u32-strcoll (Depends-on): Add
49761         uniconv/u32-strconv-to-enc, localcharset. Remove
49762         uniconv/u32-strconv-to-locale.
49763         (configure.ac): Bump version number.
49765 2010-05-24  Bruno Haible  <bruno@clisp.org>
49767         Avoid a test failure on NetBSD 5.0.
49768         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
49769         an iconv() bug.
49771 2010-05-24  Bruno Haible  <bruno@clisp.org>
49773         Adjust #include directive style.
49774         * modules/regex (Includes): Recommend to write <regex.h>.
49776 2010-05-24  Bruno Haible  <bruno@clisp.org>
49778         regex: Don't require alloca.
49779         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
49780         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
49781         only inside if (0).
49783 2010-05-23  Jim Meyering  <meyering@redhat.com>
49785         test-renameat.c: include <sys/stat.h>
49786         * tests/test-renameat.c: Include <sys/stat.h>; required for
49787         definition of S_IS* macros.
49789 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
49791         Update maintainer documentation for 'relocatable-prog' module.
49792         * doc/relocatable-maint.texi: Update.
49793         Comments by Bruno Haible.
49795 2010-05-23  Bruno Haible  <bruno@clisp.org>
49797         git-merge-changelog: Enable --split-merged-entry by default.
49798         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
49799         (usage): Don't mention this option any more.
49800         Reported by Ralf Wildenhues.
49802 2010-05-23  Jim Meyering  <meyering@redhat.com>
49804         test-pwrite: do not leave behind a test file named "out"
49805         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
49806         The trivial-looking use of init.sh is really necessary.
49807         It ensures that the temporary file, "out", is created in
49808         a temporary directory, and removed upon termination.
49809         * tests/test-pwrite.sh: Re-add file.
49810         * modules/pwrite-tests: Reference it.
49812 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49814         Fix output redirection buglet in init.sh.
49815         * tests/init.sh: Fix redirection of stderr.
49817 2010-05-20  Simon Josefsson  <simon@josefsson.org>
49819         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
49821 2010-05-17  Simon Josefsson  <simon@josefsson.org>
49823         * modules/valgrind-tests: New file.
49824         * m4/valgrind-tests.m4: New file.
49825         * doc/valgrind-tests.texi: New file.
49826         * doc/gnulib.texi (Running self-tests under valgrind): New
49827         section.
49829 2010-05-19  Bruno Haible  <bruno@clisp.org>
49831         Clean up dead code in recent commit.
49832         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
49833         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
49834         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
49835         Suggested by Paolo Bonzini.
49837 2010-05-19  Bruno Haible  <bruno@clisp.org>
49839         Avoid valgrind error reports from libunistring.
49840         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
49841         * modules/libunistring (Files): Add it.
49842         * modules/libunistring-optional (Files): Likewise.
49844 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
49845             Bruno Haible  <bruno@clisp.org>
49847         New module 'libunistring-optional'.
49848         * modules/libunistring-optional: New file.
49849         * m4/libunistring-base.m4: New file.
49850         * m4/libunistring-optional.m4: New file.
49851         * lib/unicase.in.h: Renamed from lib/unicase.h.
49852         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
49853         * lib/unictype.in.h: Renamed from lib/unictype.h.
49854         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
49855         * lib/uniname.in.h: Renamed from lib/uniname.h.
49856         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
49857         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
49858         * lib/unistr.in.h: Renamed from lib/unistr.h.
49859         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
49860         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
49861         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
49862         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
49863         gl_LIBUNISTRING. If the library was found, determine the installed
49864         version and set LIBUNISTRING_VERSION.
49865         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
49866         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
49867         handle a configuration option --with-included-libunistring.
49868         * modules/libunistring (Files): Add m4/absolute-header.m4.
49869         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
49870         Add m4/libunistring-base.m4.
49871         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
49872         (Makefile.am): Build unicase.h from unicase.in.h.
49873         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
49874         Add m4/libunistring-base.m4.
49875         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
49876         (Makefile.am): Build uniconv.h from uniconv.in.h.
49877         * modules/unictype/base (Files): Use unictype.in.h instead of
49878         unictype.h. Add m4/libunistring-base.m4.
49879         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
49880         (Makefile.am): Build unictype.h from unictype.in.h.
49881         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
49882         Add m4/libunistring-base.m4.
49883         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
49884         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
49885         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
49886         Add m4/libunistring-base.m4.
49887         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
49888         (Makefile.am): Build uniname.h from uniname.in.h.
49889         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
49890         Add m4/libunistring-base.m4.
49891         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
49892         (Makefile.am): Build uninorm.h from uninorm.in.h.
49893         * modules/unistdio/base (Files): Use unistdio.in.h instead of
49894         unistdio.h. Add m4/libunistring-base.m4.
49895         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
49896         (Makefile.am): Build unistdio.h from unistdio.in.h.
49897         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
49898         Add m4/libunistring-base.m4.
49899         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
49900         (Makefile.am): Build unistr.h from unistr.in.h.
49901         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
49902         Add m4/libunistring-base.m4.
49903         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
49904         (Makefile.am): Build unitypes.h from unitypes.in.h.
49905         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
49906         Add m4/libunistring-base.m4.
49907         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
49908         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
49909         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
49910         uniwidth.h. Add m4/libunistring-base.m4.
49911         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
49912         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
49913         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
49914         instead of augmenting lib_SOURCES.
49915         * modules/unicase/empty-suffix-context: Likewise.
49916         * modules/unicase/locale-language: Likewise.
49917         * modules/unicase/tolower: Likewise.
49918         * modules/unicase/totitle: Likewise.
49919         * modules/unicase/toupper: Likewise.
49920         * modules/unicase/u8-casecmp: Likewise.
49921         * modules/unicase/u8-casecoll: Likewise.
49922         * modules/unicase/u8-casefold: Likewise.
49923         * modules/unicase/u8-casexfrm: Likewise.
49924         * modules/unicase/u8-ct-casefold: Likewise.
49925         * modules/unicase/u8-ct-tolower: Likewise.
49926         * modules/unicase/u8-ct-totitle: Likewise.
49927         * modules/unicase/u8-ct-toupper: Likewise.
49928         * modules/unicase/u8-is-cased: Likewise.
49929         * modules/unicase/u8-is-casefolded: Likewise.
49930         * modules/unicase/u8-is-lowercase: Likewise.
49931         * modules/unicase/u8-is-titlecase: Likewise.
49932         * modules/unicase/u8-is-uppercase: Likewise.
49933         * modules/unicase/u8-prefix-context: Likewise.
49934         * modules/unicase/u8-suffix-context: Likewise.
49935         * modules/unicase/u8-tolower: Likewise.
49936         * modules/unicase/u8-totitle: Likewise.
49937         * modules/unicase/u8-toupper: Likewise.
49938         * modules/unicase/u16-casecmp: Likewise.
49939         * modules/unicase/u16-casecoll: Likewise.
49940         * modules/unicase/u16-casefold: Likewise.
49941         * modules/unicase/u16-casexfrm: Likewise.
49942         * modules/unicase/u16-ct-casefold: Likewise.
49943         * modules/unicase/u16-ct-tolower: Likewise.
49944         * modules/unicase/u16-ct-totitle: Likewise.
49945         * modules/unicase/u16-ct-toupper: Likewise.
49946         * modules/unicase/u16-is-cased: Likewise.
49947         * modules/unicase/u16-is-casefolded: Likewise.
49948         * modules/unicase/u16-is-lowercase: Likewise.
49949         * modules/unicase/u16-is-titlecase: Likewise.
49950         * modules/unicase/u16-is-uppercase: Likewise.
49951         * modules/unicase/u16-prefix-context: Likewise.
49952         * modules/unicase/u16-suffix-context: Likewise.
49953         * modules/unicase/u16-tolower: Likewise.
49954         * modules/unicase/u16-totitle: Likewise.
49955         * modules/unicase/u16-toupper: Likewise.
49956         * modules/unicase/u32-casecmp: Likewise.
49957         * modules/unicase/u32-casecoll: Likewise.
49958         * modules/unicase/u32-casefold: Likewise.
49959         * modules/unicase/u32-casexfrm: Likewise.
49960         * modules/unicase/u32-ct-casefold: Likewise.
49961         * modules/unicase/u32-ct-tolower: Likewise.
49962         * modules/unicase/u32-ct-totitle: Likewise.
49963         * modules/unicase/u32-ct-toupper: Likewise.
49964         * modules/unicase/u32-is-cased: Likewise.
49965         * modules/unicase/u32-is-casefolded: Likewise.
49966         * modules/unicase/u32-is-lowercase: Likewise.
49967         * modules/unicase/u32-is-titlecase: Likewise.
49968         * modules/unicase/u32-is-uppercase: Likewise.
49969         * modules/unicase/u32-prefix-context: Likewise.
49970         * modules/unicase/u32-suffix-context: Likewise.
49971         * modules/unicase/u32-tolower: Likewise.
49972         * modules/unicase/u32-totitle: Likewise.
49973         * modules/unicase/u32-toupper: Likewise.
49974         * modules/unicase/ulc-casecmp: Likewise.
49975         * modules/unicase/ulc-casecoll: Likewise.
49976         * modules/unicase/ulc-casexfrm: Likewise.
49977         * modules/uniconv/u8-conv-from-enc: Likewise.
49978         * modules/uniconv/u8-conv-to-enc: Likewise.
49979         * modules/uniconv/u8-strconv-from-enc: Likewise.
49980         * modules/uniconv/u8-strconv-from-locale: Likewise.
49981         * modules/uniconv/u8-strconv-to-enc: Likewise.
49982         * modules/uniconv/u8-strconv-to-locale: Likewise.
49983         * modules/uniconv/u16-conv-from-enc: Likewise.
49984         * modules/uniconv/u16-conv-to-enc: Likewise.
49985         * modules/uniconv/u16-strconv-from-enc: Likewise.
49986         * modules/uniconv/u16-strconv-from-locale: Likewise.
49987         * modules/uniconv/u16-strconv-to-enc: Likewise.
49988         * modules/uniconv/u16-strconv-to-locale: Likewise.
49989         * modules/uniconv/u32-conv-from-enc: Likewise.
49990         * modules/uniconv/u32-conv-to-enc: Likewise.
49991         * modules/uniconv/u32-strconv-from-enc: Likewise.
49992         * modules/uniconv/u32-strconv-from-locale: Likewise.
49993         * modules/uniconv/u32-strconv-to-enc: Likewise.
49994         * modules/uniconv/u32-strconv-to-locale: Likewise.
49995         * modules/unictype/bidicategory-byname: Likewise.
49996         * modules/unictype/bidicategory-name: Likewise.
49997         * modules/unictype/bidicategory-of: Likewise.
49998         * modules/unictype/bidicategory-test: Likewise.
49999         * modules/unictype/block-list: Likewise.
50000         * modules/unictype/block-test: Likewise.
50001         * modules/unictype/category-C: Likewise.
50002         * modules/unictype/category-Cc: Likewise.
50003         * modules/unictype/category-Cf: Likewise.
50004         * modules/unictype/category-Cn: Likewise.
50005         * modules/unictype/category-Co: Likewise.
50006         * modules/unictype/category-Cs: Likewise.
50007         * modules/unictype/category-L: Likewise.
50008         * modules/unictype/category-Ll: Likewise.
50009         * modules/unictype/category-Lm: Likewise.
50010         * modules/unictype/category-Lo: Likewise.
50011         * modules/unictype/category-Lt: Likewise.
50012         * modules/unictype/category-Lu: Likewise.
50013         * modules/unictype/category-M: Likewise.
50014         * modules/unictype/category-Mc: Likewise.
50015         * modules/unictype/category-Me: Likewise.
50016         * modules/unictype/category-Mn: Likewise.
50017         * modules/unictype/category-N: Likewise.
50018         * modules/unictype/category-Nd: Likewise.
50019         * modules/unictype/category-Nl: Likewise.
50020         * modules/unictype/category-No: Likewise.
50021         * modules/unictype/category-P: Likewise.
50022         * modules/unictype/category-Pc: Likewise.
50023         * modules/unictype/category-Pd: Likewise.
50024         * modules/unictype/category-Pe: Likewise.
50025         * modules/unictype/category-Pf: Likewise.
50026         * modules/unictype/category-Pi: Likewise.
50027         * modules/unictype/category-Po: Likewise.
50028         * modules/unictype/category-Ps: Likewise.
50029         * modules/unictype/category-S: Likewise.
50030         * modules/unictype/category-Sc: Likewise.
50031         * modules/unictype/category-Sk: Likewise.
50032         * modules/unictype/category-Sm: Likewise.
50033         * modules/unictype/category-So: Likewise.
50034         * modules/unictype/category-Z: Likewise.
50035         * modules/unictype/category-Zl: Likewise.
50036         * modules/unictype/category-Zp: Likewise.
50037         * modules/unictype/category-Zs: Likewise.
50038         * modules/unictype/category-and: Likewise.
50039         * modules/unictype/category-and-not: Likewise.
50040         * modules/unictype/category-byname: Likewise.
50041         * modules/unictype/category-name: Likewise.
50042         * modules/unictype/category-none: Likewise.
50043         * modules/unictype/category-of: Likewise.
50044         * modules/unictype/category-or: Likewise.
50045         * modules/unictype/category-test: Likewise.
50046         * modules/unictype/combining-class: Likewise.
50047         * modules/unictype/ctype-alnum: Likewise.
50048         * modules/unictype/ctype-alpha: Likewise.
50049         * modules/unictype/ctype-blank: Likewise.
50050         * modules/unictype/ctype-cntrl: Likewise.
50051         * modules/unictype/ctype-digit: Likewise.
50052         * modules/unictype/ctype-graph: Likewise.
50053         * modules/unictype/ctype-lower: Likewise.
50054         * modules/unictype/ctype-print: Likewise.
50055         * modules/unictype/ctype-punct: Likewise.
50056         * modules/unictype/ctype-space: Likewise.
50057         * modules/unictype/ctype-upper: Likewise.
50058         * modules/unictype/ctype-xdigit: Likewise.
50059         * modules/unictype/decimal-digit: Likewise.
50060         * modules/unictype/digit: Likewise.
50061         * modules/unictype/mirror: Likewise.
50062         * modules/unictype/numeric: Likewise.
50063         * modules/unictype/property-alphabetic: Likewise.
50064         * modules/unictype/property-ascii-hex-digit: Likewise.
50065         * modules/unictype/property-bidi-arabic-digit: Likewise.
50066         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
50067         * modules/unictype/property-bidi-block-separator: Likewise.
50068         * modules/unictype/property-bidi-boundary-neutral: Likewise.
50069         * modules/unictype/property-bidi-common-separator: Likewise.
50070         * modules/unictype/property-bidi-control: Likewise.
50071         * modules/unictype/property-bidi-embedding-or-override: Likewise.
50072         * modules/unictype/property-bidi-eur-num-separator: Likewise.
50073         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
50074         * modules/unictype/property-bidi-european-digit: Likewise.
50075         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
50076         * modules/unictype/property-bidi-left-to-right: Likewise.
50077         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
50078         * modules/unictype/property-bidi-other-neutral: Likewise.
50079         * modules/unictype/property-bidi-pdf: Likewise.
50080         * modules/unictype/property-bidi-segment-separator: Likewise.
50081         * modules/unictype/property-bidi-whitespace: Likewise.
50082         * modules/unictype/property-byname: Likewise.
50083         * modules/unictype/property-combining: Likewise.
50084         * modules/unictype/property-composite: Likewise.
50085         * modules/unictype/property-currency-symbol: Likewise.
50086         * modules/unictype/property-dash: Likewise.
50087         * modules/unictype/property-decimal-digit: Likewise.
50088         * modules/unictype/property-default-ignorable-code-point: Likewise.
50089         * modules/unictype/property-deprecated: Likewise.
50090         * modules/unictype/property-diacritic: Likewise.
50091         * modules/unictype/property-extender: Likewise.
50092         * modules/unictype/property-format-control: Likewise.
50093         * modules/unictype/property-grapheme-base: Likewise.
50094         * modules/unictype/property-grapheme-extend: Likewise.
50095         * modules/unictype/property-grapheme-link: Likewise.
50096         * modules/unictype/property-hex-digit: Likewise.
50097         * modules/unictype/property-hyphen: Likewise.
50098         * modules/unictype/property-id-continue: Likewise.
50099         * modules/unictype/property-id-start: Likewise.
50100         * modules/unictype/property-ideographic: Likewise.
50101         * modules/unictype/property-ids-binary-operator: Likewise.
50102         * modules/unictype/property-ids-trinary-operator: Likewise.
50103         * modules/unictype/property-ignorable-control: Likewise.
50104         * modules/unictype/property-iso-control: Likewise.
50105         * modules/unictype/property-join-control: Likewise.
50106         * modules/unictype/property-left-of-pair: Likewise.
50107         * modules/unictype/property-line-separator: Likewise.
50108         * modules/unictype/property-logical-order-exception: Likewise.
50109         * modules/unictype/property-lowercase: Likewise.
50110         * modules/unictype/property-math: Likewise.
50111         * modules/unictype/property-non-break: Likewise.
50112         * modules/unictype/property-not-a-character: Likewise.
50113         * modules/unictype/property-numeric: Likewise.
50114         * modules/unictype/property-other-alphabetic: Likewise.
50115         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
50116         * modules/unictype/property-other-grapheme-extend: Likewise.
50117         * modules/unictype/property-other-id-continue: Likewise.
50118         * modules/unictype/property-other-id-start: Likewise.
50119         * modules/unictype/property-other-lowercase: Likewise.
50120         * modules/unictype/property-other-math: Likewise.
50121         * modules/unictype/property-other-uppercase: Likewise.
50122         * modules/unictype/property-paired-punctuation: Likewise.
50123         * modules/unictype/property-paragraph-separator: Likewise.
50124         * modules/unictype/property-pattern-syntax: Likewise.
50125         * modules/unictype/property-pattern-white-space: Likewise.
50126         * modules/unictype/property-private-use: Likewise.
50127         * modules/unictype/property-punctuation: Likewise.
50128         * modules/unictype/property-quotation-mark: Likewise.
50129         * modules/unictype/property-radical: Likewise.
50130         * modules/unictype/property-sentence-terminal: Likewise.
50131         * modules/unictype/property-soft-dotted: Likewise.
50132         * modules/unictype/property-space: Likewise.
50133         * modules/unictype/property-terminal-punctuation: Likewise.
50134         * modules/unictype/property-test: Likewise.
50135         * modules/unictype/property-titlecase: Likewise.
50136         * modules/unictype/property-unassigned-code-value: Likewise.
50137         * modules/unictype/property-unified-ideograph: Likewise.
50138         * modules/unictype/property-uppercase: Likewise.
50139         * modules/unictype/property-variation-selector: Likewise.
50140         * modules/unictype/property-white-space: Likewise.
50141         * modules/unictype/property-xid-continue: Likewise.
50142         * modules/unictype/property-xid-start: Likewise.
50143         * modules/unictype/property-zero-width: Likewise.
50144         * modules/unictype/scripts: Likewise.
50145         * modules/unictype/syntax-c-ident: Likewise.
50146         * modules/unictype/syntax-c-whitespace: Likewise.
50147         * modules/unictype/syntax-java-ident: Likewise.
50148         * modules/unictype/syntax-java-whitespace: Likewise.
50149         * modules/unilbrk/u8-possible-linebreaks: Likewise.
50150         * modules/unilbrk/u8-width-linebreaks: Likewise.
50151         * modules/unilbrk/u16-possible-linebreaks: Likewise.
50152         * modules/unilbrk/u16-width-linebreaks: Likewise.
50153         * modules/unilbrk/u32-possible-linebreaks: Likewise.
50154         * modules/unilbrk/u32-width-linebreaks: Likewise.
50155         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
50156         * modules/unilbrk/ulc-width-linebreaks: Likewise.
50157         * modules/uniname/uniname: Likewise.
50158         * modules/uninorm/canonical-decomposition: Likewise.
50159         * modules/uninorm/composition: Likewise.
50160         * modules/uninorm/decomposing-form: Likewise.
50161         * modules/uninorm/decomposition: Likewise.
50162         * modules/uninorm/filter: Likewise.
50163         * modules/uninorm/nfc: Likewise.
50164         * modules/uninorm/nfd: Likewise.
50165         * modules/uninorm/nfkc: Likewise.
50166         * modules/uninorm/nfkd: Likewise.
50167         * modules/uninorm/u8-normalize: Likewise.
50168         * modules/uninorm/u8-normcmp: Likewise.
50169         * modules/uninorm/u8-normcoll: Likewise.
50170         * modules/uninorm/u8-normxfrm: Likewise.
50171         * modules/uninorm/u16-normalize: Likewise.
50172         * modules/uninorm/u16-normcmp: Likewise.
50173         * modules/uninorm/u16-normcoll: Likewise.
50174         * modules/uninorm/u16-normxfrm: Likewise.
50175         * modules/uninorm/u32-normalize: Likewise.
50176         * modules/uninorm/u32-normcmp: Likewise.
50177         * modules/uninorm/u32-normcoll: Likewise.
50178         * modules/uninorm/u32-normxfrm: Likewise.
50179         * modules/unistdio/u8-asnprintf: Likewise.
50180         * modules/unistdio/u8-asprintf: Likewise.
50181         * modules/unistdio/u8-snprintf: Likewise.
50182         * modules/unistdio/u8-sprintf: Likewise.
50183         * modules/unistdio/u8-u8-asnprintf: Likewise.
50184         * modules/unistdio/u8-u8-asprintf: Likewise.
50185         * modules/unistdio/u8-u8-snprintf: Likewise.
50186         * modules/unistdio/u8-u8-sprintf: Likewise.
50187         * modules/unistdio/u8-u8-vasnprintf: Likewise.
50188         * modules/unistdio/u8-u8-vasprintf: Likewise.
50189         * modules/unistdio/u8-u8-vsnprintf: Likewise.
50190         * modules/unistdio/u8-u8-vsprintf: Likewise.
50191         * modules/unistdio/u8-vasnprintf: Likewise.
50192         * modules/unistdio/u8-vasprintf: Likewise.
50193         * modules/unistdio/u8-vsnprintf: Likewise.
50194         * modules/unistdio/u8-vsprintf: Likewise.
50195         * modules/unistdio/u16-asnprintf: Likewise.
50196         * modules/unistdio/u16-asprintf: Likewise.
50197         * modules/unistdio/u16-snprintf: Likewise.
50198         * modules/unistdio/u16-sprintf: Likewise.
50199         * modules/unistdio/u16-u16-asnprintf: Likewise.
50200         * modules/unistdio/u16-u16-asprintf: Likewise.
50201         * modules/unistdio/u16-u16-snprintf: Likewise.
50202         * modules/unistdio/u16-u16-sprintf: Likewise.
50203         * modules/unistdio/u16-u16-vasnprintf: Likewise.
50204         * modules/unistdio/u16-u16-vasprintf: Likewise.
50205         * modules/unistdio/u16-u16-vsnprintf: Likewise.
50206         * modules/unistdio/u16-u16-vsprintf: Likewise.
50207         * modules/unistdio/u16-vasnprintf: Likewise.
50208         * modules/unistdio/u16-vasprintf: Likewise.
50209         * modules/unistdio/u16-vsnprintf: Likewise.
50210         * modules/unistdio/u16-vsprintf: Likewise.
50211         * modules/unistdio/u32-asnprintf: Likewise.
50212         * modules/unistdio/u32-asprintf: Likewise.
50213         * modules/unistdio/u32-snprintf: Likewise.
50214         * modules/unistdio/u32-sprintf: Likewise.
50215         * modules/unistdio/u32-u32-asnprintf: Likewise.
50216         * modules/unistdio/u32-u32-asprintf: Likewise.
50217         * modules/unistdio/u32-u32-snprintf: Likewise.
50218         * modules/unistdio/u32-u32-sprintf: Likewise.
50219         * modules/unistdio/u32-u32-vasnprintf: Likewise.
50220         * modules/unistdio/u32-u32-vasprintf: Likewise.
50221         * modules/unistdio/u32-u32-vsnprintf: Likewise.
50222         * modules/unistdio/u32-u32-vsprintf: Likewise.
50223         * modules/unistdio/u32-vasnprintf: Likewise.
50224         * modules/unistdio/u32-vasprintf: Likewise.
50225         * modules/unistdio/u32-vsnprintf: Likewise.
50226         * modules/unistdio/u32-vsprintf: Likewise.
50227         * modules/unistdio/ulc-asnprintf: Likewise.
50228         * modules/unistdio/ulc-asprintf: Likewise.
50229         * modules/unistdio/ulc-fprintf: Likewise.
50230         * modules/unistdio/ulc-snprintf: Likewise.
50231         * modules/unistdio/ulc-sprintf: Likewise.
50232         * modules/unistdio/ulc-vasnprintf: Likewise.
50233         * modules/unistdio/ulc-vasprintf: Likewise.
50234         * modules/unistdio/ulc-vfprintf: Likewise.
50235         * modules/unistdio/ulc-vsnprintf: Likewise.
50236         * modules/unistdio/ulc-vsprintf: Likewise.
50237         * modules/unistr/u8-check: Likewise.
50238         * modules/unistr/u8-chr: Likewise.
50239         * modules/unistr/u8-cmp: Likewise.
50240         * modules/unistr/u8-cmp2: Likewise.
50241         * modules/unistr/u8-cpy: Likewise.
50242         * modules/unistr/u8-cpy-alloc: Likewise.
50243         * modules/unistr/u8-endswith: Likewise.
50244         * modules/unistr/u8-mblen: Likewise.
50245         * modules/unistr/u8-mbsnlen: Likewise.
50246         * modules/unistr/u8-mbtouc: Likewise.
50247         * modules/unistr/u8-mbtouc-unsafe: Likewise.
50248         * modules/unistr/u8-mbtoucr: Likewise.
50249         * modules/unistr/u8-move: Likewise.
50250         * modules/unistr/u8-next: Likewise.
50251         * modules/unistr/u8-prev: Likewise.
50252         * modules/unistr/u8-set: Likewise.
50253         * modules/unistr/u8-startswith: Likewise.
50254         * modules/unistr/u8-stpcpy: Likewise.
50255         * modules/unistr/u8-stpncpy: Likewise.
50256         * modules/unistr/u8-strcat: Likewise.
50257         * modules/unistr/u8-strchr: Likewise.
50258         * modules/unistr/u8-strcmp: Likewise.
50259         * modules/unistr/u8-strcoll: Likewise.
50260         * modules/unistr/u8-strcpy: Likewise.
50261         * modules/unistr/u8-strcspn: Likewise.
50262         * modules/unistr/u8-strdup: Likewise.
50263         * modules/unistr/u8-strlen: Likewise.
50264         * modules/unistr/u8-strmblen: Likewise.
50265         * modules/unistr/u8-strmbtouc: Likewise.
50266         * modules/unistr/u8-strncat: Likewise.
50267         * modules/unistr/u8-strncmp: Likewise.
50268         * modules/unistr/u8-strncpy: Likewise.
50269         * modules/unistr/u8-strnlen: Likewise.
50270         * modules/unistr/u8-strpbrk: Likewise.
50271         * modules/unistr/u8-strrchr: Likewise.
50272         * modules/unistr/u8-strspn: Likewise.
50273         * modules/unistr/u8-strstr: Likewise.
50274         * modules/unistr/u8-strtok: Likewise.
50275         * modules/unistr/u8-to-u16: Likewise.
50276         * modules/unistr/u8-to-u32: Likewise.
50277         * modules/unistr/u8-uctomb: Likewise.
50278         * modules/unistr/u16-check: Likewise.
50279         * modules/unistr/u16-chr: Likewise.
50280         * modules/unistr/u16-cmp: Likewise.
50281         * modules/unistr/u16-cmp2: Likewise.
50282         * modules/unistr/u16-cpy: Likewise.
50283         * modules/unistr/u16-cpy-alloc: Likewise.
50284         * modules/unistr/u16-endswith: Likewise.
50285         * modules/unistr/u16-mblen: Likewise.
50286         * modules/unistr/u16-mbsnlen: Likewise.
50287         * modules/unistr/u16-mbtouc: Likewise.
50288         * modules/unistr/u16-mbtouc-unsafe: Likewise.
50289         * modules/unistr/u16-mbtoucr: Likewise.
50290         * modules/unistr/u16-move: Likewise.
50291         * modules/unistr/u16-next: Likewise.
50292         * modules/unistr/u16-prev: Likewise.
50293         * modules/unistr/u16-set: Likewise.
50294         * modules/unistr/u16-startswith: Likewise.
50295         * modules/unistr/u16-stpcpy: Likewise.
50296         * modules/unistr/u16-stpncpy: Likewise.
50297         * modules/unistr/u16-strcat: Likewise.
50298         * modules/unistr/u16-strchr: Likewise.
50299         * modules/unistr/u16-strcmp: Likewise.
50300         * modules/unistr/u16-strcoll: Likewise.
50301         * modules/unistr/u16-strcpy: Likewise.
50302         * modules/unistr/u16-strcspn: Likewise.
50303         * modules/unistr/u16-strdup: Likewise.
50304         * modules/unistr/u16-strlen: Likewise.
50305         * modules/unistr/u16-strmblen: Likewise.
50306         * modules/unistr/u16-strmbtouc: Likewise.
50307         * modules/unistr/u16-strncat: Likewise.
50308         * modules/unistr/u16-strncmp: Likewise.
50309         * modules/unistr/u16-strncpy: Likewise.
50310         * modules/unistr/u16-strnlen: Likewise.
50311         * modules/unistr/u16-strpbrk: Likewise.
50312         * modules/unistr/u16-strrchr: Likewise.
50313         * modules/unistr/u16-strspn: Likewise.
50314         * modules/unistr/u16-strstr: Likewise.
50315         * modules/unistr/u16-strtok: Likewise.
50316         * modules/unistr/u16-to-u32: Likewise.
50317         * modules/unistr/u16-to-u8: Likewise.
50318         * modules/unistr/u16-uctomb: Likewise.
50319         * modules/unistr/u32-check: Likewise.
50320         * modules/unistr/u32-chr: Likewise.
50321         * modules/unistr/u32-cmp: Likewise.
50322         * modules/unistr/u32-cmp2: Likewise.
50323         * modules/unistr/u32-cpy: Likewise.
50324         * modules/unistr/u32-cpy-alloc: Likewise.
50325         * modules/unistr/u32-endswith: Likewise.
50326         * modules/unistr/u32-mblen: Likewise.
50327         * modules/unistr/u32-mbsnlen: Likewise.
50328         * modules/unistr/u32-mbtouc: Likewise.
50329         * modules/unistr/u32-mbtouc-unsafe: Likewise.
50330         * modules/unistr/u32-mbtoucr: Likewise.
50331         * modules/unistr/u32-move: Likewise.
50332         * modules/unistr/u32-next: Likewise.
50333         * modules/unistr/u32-prev: Likewise.
50334         * modules/unistr/u32-set: Likewise.
50335         * modules/unistr/u32-startswith: Likewise.
50336         * modules/unistr/u32-stpcpy: Likewise.
50337         * modules/unistr/u32-stpncpy: Likewise.
50338         * modules/unistr/u32-strcat: Likewise.
50339         * modules/unistr/u32-strchr: Likewise.
50340         * modules/unistr/u32-strcmp: Likewise.
50341         * modules/unistr/u32-strcoll: Likewise.
50342         * modules/unistr/u32-strcpy: Likewise.
50343         * modules/unistr/u32-strcspn: Likewise.
50344         * modules/unistr/u32-strdup: Likewise.
50345         * modules/unistr/u32-strlen: Likewise.
50346         * modules/unistr/u32-strmblen: Likewise.
50347         * modules/unistr/u32-strmbtouc: Likewise.
50348         * modules/unistr/u32-strncat: Likewise.
50349         * modules/unistr/u32-strncmp: Likewise.
50350         * modules/unistr/u32-strncpy: Likewise.
50351         * modules/unistr/u32-strnlen: Likewise.
50352         * modules/unistr/u32-strpbrk: Likewise.
50353         * modules/unistr/u32-strrchr: Likewise.
50354         * modules/unistr/u32-strspn: Likewise.
50355         * modules/unistr/u32-strstr: Likewise.
50356         * modules/unistr/u32-strtok: Likewise.
50357         * modules/unistr/u32-to-u16: Likewise.
50358         * modules/unistr/u32-to-u8: Likewise.
50359         * modules/unistr/u32-uctomb: Likewise.
50360         * modules/uniwbrk/u8-wordbreaks: Likewise.
50361         * modules/uniwbrk/u16-wordbreaks: Likewise.
50362         * modules/uniwbrk/u32-wordbreaks: Likewise.
50363         * modules/uniwbrk/ulc-wordbreaks: Likewise.
50364         * modules/uniwbrk/wordbreak-property: Likewise.
50365         * modules/uniwidth/u8-strwidth: Likewise.
50366         * modules/uniwidth/u8-width: Likewise.
50367         * modules/uniwidth/u16-strwidth: Likewise.
50368         * modules/uniwidth/u16-width: Likewise.
50369         * modules/uniwidth/u32-strwidth: Likewise.
50370         * modules/uniwidth/u32-width: Likewise.
50371         * modules/uniwidth/width: Likewise.
50372         * modules/unicase/cased-tests (Makefile.am): Link all test programs
50373         with $(LIBUNISTRING).
50374         * modules/unicase/ignorable-tests: Likewise.
50375         * modules/unicase/locale-language-tests: Likewise.
50376         * modules/unicase/tolower-tests: Likewise.
50377         * modules/unicase/totitle-tests: Likewise.
50378         * modules/unicase/toupper-tests: Likewise.
50379         * modules/unicase/u8-casecmp-tests: Likewise.
50380         * modules/unicase/u8-casecoll-tests: Likewise.
50381         * modules/unicase/u8-casefold-tests: Likewise.
50382         * modules/unicase/u8-is-cased-tests: Likewise.
50383         * modules/unicase/u8-is-casefolded-tests: Likewise.
50384         * modules/unicase/u8-is-lowercase-tests: Likewise.
50385         * modules/unicase/u8-is-titlecase-tests: Likewise.
50386         * modules/unicase/u8-is-uppercase-tests: Likewise.
50387         * modules/unicase/u8-tolower-tests: Likewise.
50388         * modules/unicase/u8-totitle-tests: Likewise.
50389         * modules/unicase/u8-toupper-tests: Likewise.
50390         * modules/unicase/u16-casecmp-tests: Likewise.
50391         * modules/unicase/u16-casecoll-tests: Likewise.
50392         * modules/unicase/u16-casefold-tests: Likewise.
50393         * modules/unicase/u16-is-cased-tests: Likewise.
50394         * modules/unicase/u16-is-casefolded-tests: Likewise.
50395         * modules/unicase/u16-is-lowercase-tests: Likewise.
50396         * modules/unicase/u16-is-titlecase-tests: Likewise.
50397         * modules/unicase/u16-is-uppercase-tests: Likewise.
50398         * modules/unicase/u16-tolower-tests: Likewise.
50399         * modules/unicase/u16-totitle-tests: Likewise.
50400         * modules/unicase/u16-toupper-tests: Likewise.
50401         * modules/unicase/u32-casecmp-tests: Likewise.
50402         * modules/unicase/u32-casecoll-tests: Likewise.
50403         * modules/unicase/u32-casefold-tests: Likewise.
50404         * modules/unicase/u32-is-cased-tests: Likewise.
50405         * modules/unicase/u32-is-casefolded-tests: Likewise.
50406         * modules/unicase/u32-is-lowercase-tests: Likewise.
50407         * modules/unicase/u32-is-titlecase-tests: Likewise.
50408         * modules/unicase/u32-is-uppercase-tests: Likewise.
50409         * modules/unicase/u32-tolower-tests: Likewise.
50410         * modules/unicase/u32-totitle-tests: Likewise.
50411         * modules/unicase/u32-toupper-tests: Likewise.
50412         * modules/unicase/ulc-casecmp-tests: Likewise.
50413         * modules/unicase/ulc-casecoll-tests: Likewise.
50414         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
50415         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
50416         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
50417         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
50418         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
50419         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
50420         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
50421         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
50422         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
50423         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
50424         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
50425         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
50426         * modules/unictype/bidicategory-byname-tests: Likewise.
50427         * modules/unictype/bidicategory-name-tests: Likewise.
50428         * modules/unictype/bidicategory-of-tests: Likewise.
50429         * modules/unictype/bidicategory-test-tests: Likewise.
50430         * modules/unictype/block-list-tests: Likewise.
50431         * modules/unictype/block-of-tests: Likewise.
50432         * modules/unictype/block-test-tests: Likewise.
50433         * modules/unictype/category-C-tests: Likewise.
50434         * modules/unictype/category-Cc-tests: Likewise.
50435         * modules/unictype/category-Cf-tests: Likewise.
50436         * modules/unictype/category-Cn-tests: Likewise.
50437         * modules/unictype/category-Co-tests: Likewise.
50438         * modules/unictype/category-Cs-tests: Likewise.
50439         * modules/unictype/category-L-tests: Likewise.
50440         * modules/unictype/category-Ll-tests: Likewise.
50441         * modules/unictype/category-Lm-tests: Likewise.
50442         * modules/unictype/category-Lo-tests: Likewise.
50443         * modules/unictype/category-Lt-tests: Likewise.
50444         * modules/unictype/category-Lu-tests: Likewise.
50445         * modules/unictype/category-M-tests: Likewise.
50446         * modules/unictype/category-Mc-tests: Likewise.
50447         * modules/unictype/category-Me-tests: Likewise.
50448         * modules/unictype/category-Mn-tests: Likewise.
50449         * modules/unictype/category-N-tests: Likewise.
50450         * modules/unictype/category-Nd-tests: Likewise.
50451         * modules/unictype/category-Nl-tests: Likewise.
50452         * modules/unictype/category-No-tests: Likewise.
50453         * modules/unictype/category-P-tests: Likewise.
50454         * modules/unictype/category-Pc-tests: Likewise.
50455         * modules/unictype/category-Pd-tests: Likewise.
50456         * modules/unictype/category-Pe-tests: Likewise.
50457         * modules/unictype/category-Pf-tests: Likewise.
50458         * modules/unictype/category-Pi-tests: Likewise.
50459         * modules/unictype/category-Po-tests: Likewise.
50460         * modules/unictype/category-Ps-tests: Likewise.
50461         * modules/unictype/category-S-tests: Likewise.
50462         * modules/unictype/category-Sc-tests: Likewise.
50463         * modules/unictype/category-Sk-tests: Likewise.
50464         * modules/unictype/category-Sm-tests: Likewise.
50465         * modules/unictype/category-So-tests: Likewise.
50466         * modules/unictype/category-Z-tests: Likewise.
50467         * modules/unictype/category-Zl-tests: Likewise.
50468         * modules/unictype/category-Zp-tests: Likewise.
50469         * modules/unictype/category-Zs-tests: Likewise.
50470         * modules/unictype/category-and-not-tests: Likewise.
50471         * modules/unictype/category-and-tests: Likewise.
50472         * modules/unictype/category-byname-tests: Likewise.
50473         * modules/unictype/category-name-tests: Likewise.
50474         * modules/unictype/category-none-tests: Likewise.
50475         * modules/unictype/category-of-tests: Likewise.
50476         * modules/unictype/category-or-tests: Likewise.
50477         * modules/unictype/category-test-withtable-tests: Likewise.
50478         * modules/unictype/combining-class-tests: Likewise.
50479         * modules/unictype/ctype-alnum-tests: Likewise.
50480         * modules/unictype/ctype-alpha-tests: Likewise.
50481         * modules/unictype/ctype-blank-tests: Likewise.
50482         * modules/unictype/ctype-cntrl-tests: Likewise.
50483         * modules/unictype/ctype-digit-tests: Likewise.
50484         * modules/unictype/ctype-graph-tests: Likewise.
50485         * modules/unictype/ctype-lower-tests: Likewise.
50486         * modules/unictype/ctype-print-tests: Likewise.
50487         * modules/unictype/ctype-punct-tests: Likewise.
50488         * modules/unictype/ctype-space-tests: Likewise.
50489         * modules/unictype/ctype-upper-tests: Likewise.
50490         * modules/unictype/ctype-xdigit-tests: Likewise.
50491         * modules/unictype/decimal-digit-tests: Likewise.
50492         * modules/unictype/digit-tests: Likewise.
50493         * modules/unictype/mirror-tests: Likewise.
50494         * modules/unictype/numeric-tests: Likewise.
50495         * modules/unictype/property-alphabetic-tests: Likewise.
50496         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
50497         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
50498         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
50499         * modules/unictype/property-bidi-block-separator-tests: Likewise.
50500         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
50501         * modules/unictype/property-bidi-common-separator-tests: Likewise.
50502         * modules/unictype/property-bidi-control-tests: Likewise.
50503         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
50504         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
50505         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
50506         * modules/unictype/property-bidi-european-digit-tests: Likewise.
50507         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
50508         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
50509         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
50510         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
50511         * modules/unictype/property-bidi-pdf-tests: Likewise.
50512         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
50513         * modules/unictype/property-bidi-whitespace-tests: Likewise.
50514         * modules/unictype/property-byname-tests: Likewise.
50515         * modules/unictype/property-combining-tests: Likewise.
50516         * modules/unictype/property-composite-tests: Likewise.
50517         * modules/unictype/property-currency-symbol-tests: Likewise.
50518         * modules/unictype/property-dash-tests: Likewise.
50519         * modules/unictype/property-decimal-digit-tests: Likewise.
50520         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
50521         * modules/unictype/property-deprecated-tests: Likewise.
50522         * modules/unictype/property-diacritic-tests: Likewise.
50523         * modules/unictype/property-extender-tests: Likewise.
50524         * modules/unictype/property-format-control-tests: Likewise.
50525         * modules/unictype/property-grapheme-base-tests: Likewise.
50526         * modules/unictype/property-grapheme-extend-tests: Likewise.
50527         * modules/unictype/property-grapheme-link-tests: Likewise.
50528         * modules/unictype/property-hex-digit-tests: Likewise.
50529         * modules/unictype/property-hyphen-tests: Likewise.
50530         * modules/unictype/property-id-continue-tests: Likewise.
50531         * modules/unictype/property-id-start-tests: Likewise.
50532         * modules/unictype/property-ideographic-tests: Likewise.
50533         * modules/unictype/property-ids-binary-operator-tests: Likewise.
50534         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
50535         * modules/unictype/property-ignorable-control-tests: Likewise.
50536         * modules/unictype/property-iso-control-tests: Likewise.
50537         * modules/unictype/property-join-control-tests: Likewise.
50538         * modules/unictype/property-left-of-pair-tests: Likewise.
50539         * modules/unictype/property-line-separator-tests: Likewise.
50540         * modules/unictype/property-logical-order-exception-tests: Likewise.
50541         * modules/unictype/property-lowercase-tests: Likewise.
50542         * modules/unictype/property-math-tests: Likewise.
50543         * modules/unictype/property-non-break-tests: Likewise.
50544         * modules/unictype/property-not-a-character-tests: Likewise.
50545         * modules/unictype/property-numeric-tests: Likewise.
50546         * modules/unictype/property-other-alphabetic-tests: Likewise.
50547         * modules/unictype/property-other-default-ignorable-code-point-tests:
50548         Likewise.
50549         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
50550         * modules/unictype/property-other-id-continue-tests: Likewise.
50551         * modules/unictype/property-other-id-start-tests: Likewise.
50552         * modules/unictype/property-other-lowercase-tests: Likewise.
50553         * modules/unictype/property-other-math-tests: Likewise.
50554         * modules/unictype/property-other-uppercase-tests: Likewise.
50555         * modules/unictype/property-paired-punctuation-tests: Likewise.
50556         * modules/unictype/property-paragraph-separator-tests: Likewise.
50557         * modules/unictype/property-pattern-syntax-tests: Likewise.
50558         * modules/unictype/property-pattern-white-space-tests: Likewise.
50559         * modules/unictype/property-private-use-tests: Likewise.
50560         * modules/unictype/property-punctuation-tests: Likewise.
50561         * modules/unictype/property-quotation-mark-tests: Likewise.
50562         * modules/unictype/property-radical-tests: Likewise.
50563         * modules/unictype/property-sentence-terminal-tests: Likewise.
50564         * modules/unictype/property-soft-dotted-tests: Likewise.
50565         * modules/unictype/property-space-tests: Likewise.
50566         * modules/unictype/property-terminal-punctuation-tests: Likewise.
50567         * modules/unictype/property-test-tests: Likewise.
50568         * modules/unictype/property-titlecase-tests: Likewise.
50569         * modules/unictype/property-unassigned-code-value-tests: Likewise.
50570         * modules/unictype/property-unified-ideograph-tests: Likewise.
50571         * modules/unictype/property-uppercase-tests: Likewise.
50572         * modules/unictype/property-variation-selector-tests: Likewise.
50573         * modules/unictype/property-white-space-tests: Likewise.
50574         * modules/unictype/property-xid-continue-tests: Likewise.
50575         * modules/unictype/property-xid-start-tests: Likewise.
50576         * modules/unictype/property-zero-width-tests: Likewise.
50577         * modules/unictype/scripts-tests: Likewise.
50578         * modules/unictype/syntax-c-ident-tests: Likewise.
50579         * modules/unictype/syntax-c-whitespace-tests: Likewise.
50580         * modules/unictype/syntax-java-ident-tests: Likewise.
50581         * modules/unictype/syntax-java-whitespace-tests: Likewise.
50582         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
50583         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
50584         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
50585         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
50586         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
50587         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
50588         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
50589         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
50590         * modules/uniname/uniname-tests: Likewise.
50591         * modules/uninorm/canonical-decomposition-tests: Likewise.
50592         * modules/uninorm/compat-decomposition-tests: Likewise.
50593         * modules/uninorm/composition-tests: Likewise.
50594         * modules/uninorm/decomposing-form-tests: Likewise.
50595         * modules/uninorm/decomposition-tests: Likewise.
50596         * modules/uninorm/filter-tests: Likewise.
50597         * modules/uninorm/nfc-tests: Likewise.
50598         * modules/uninorm/nfd-tests: Likewise.
50599         * modules/uninorm/nfkc-tests: Likewise.
50600         * modules/uninorm/nfkd-tests: Likewise.
50601         * modules/uninorm/u8-normcmp-tests: Likewise.
50602         * modules/uninorm/u8-normcoll-tests: Likewise.
50603         * modules/uninorm/u16-normcmp-tests: Likewise.
50604         * modules/uninorm/u16-normcoll-tests: Likewise.
50605         * modules/uninorm/u32-normcmp-tests: Likewise.
50606         * modules/uninorm/u32-normcoll-tests: Likewise.
50607         * modules/unistdio/u8-asnprintf-tests: Likewise.
50608         * modules/unistdio/u8-vasnprintf-tests: Likewise.
50609         * modules/unistdio/u8-vasprintf-tests: Likewise.
50610         * modules/unistdio/u8-vsnprintf-tests: Likewise.
50611         * modules/unistdio/u8-vsprintf-tests: Likewise.
50612         * modules/unistdio/u16-asnprintf-tests: Likewise.
50613         * modules/unistdio/u16-vasnprintf-tests: Likewise.
50614         * modules/unistdio/u16-vasprintf-tests: Likewise.
50615         * modules/unistdio/u16-vsnprintf-tests: Likewise.
50616         * modules/unistdio/u16-vsprintf-tests: Likewise.
50617         * modules/unistdio/u32-asnprintf-tests: Likewise.
50618         * modules/unistdio/u32-vasnprintf-tests: Likewise.
50619         * modules/unistdio/u32-vasprintf-tests: Likewise.
50620         * modules/unistdio/u32-vsnprintf-tests: Likewise.
50621         * modules/unistdio/u32-vsprintf-tests: Likewise.
50622         * modules/unistdio/ulc-asnprintf-tests: Likewise.
50623         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
50624         * modules/unistdio/ulc-vasprintf-tests: Likewise.
50625         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
50626         * modules/unistdio/ulc-vsprintf-tests: Likewise.
50627         * modules/unistr/u8-check-tests: Likewise.
50628         * modules/unistr/u8-chr-tests: Likewise.
50629         * modules/unistr/u8-cmp-tests: Likewise.
50630         * modules/unistr/u8-cmp2-tests: Likewise.
50631         * modules/unistr/u8-cpy-alloc-tests: Likewise.
50632         * modules/unistr/u8-cpy-tests: Likewise.
50633         * modules/unistr/u8-mblen-tests: Likewise.
50634         * modules/unistr/u8-mbsnlen-tests: Likewise.
50635         * modules/unistr/u8-mbtouc-tests: Likewise.
50636         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
50637         * modules/unistr/u8-mbtoucr-tests: Likewise.
50638         * modules/unistr/u8-move-tests: Likewise.
50639         * modules/unistr/u8-next-tests: Likewise.
50640         * modules/unistr/u8-prev-tests: Likewise.
50641         * modules/unistr/u8-set-tests: Likewise.
50642         * modules/unistr/u8-stpcpy-tests: Likewise.
50643         * modules/unistr/u8-stpncpy-tests: Likewise.
50644         * modules/unistr/u8-strcat-tests: Likewise.
50645         * modules/unistr/u8-strcmp-tests: Likewise.
50646         * modules/unistr/u8-strcoll-tests: Likewise.
50647         * modules/unistr/u8-strcpy-tests: Likewise.
50648         * modules/unistr/u8-strdup-tests: Likewise.
50649         * modules/unistr/u8-strlen-tests: Likewise.
50650         * modules/unistr/u8-strmblen-tests: Likewise.
50651         * modules/unistr/u8-strmbtouc-tests: Likewise.
50652         * modules/unistr/u8-strncat-tests: Likewise.
50653         * modules/unistr/u8-strncmp-tests: Likewise.
50654         * modules/unistr/u8-strncpy-tests: Likewise.
50655         * modules/unistr/u8-strnlen-tests: Likewise.
50656         * modules/unistr/u8-to-u16-tests: Likewise.
50657         * modules/unistr/u8-to-u32-tests: Likewise.
50658         * modules/unistr/u8-uctomb-tests: Likewise.
50659         * modules/unistr/u16-check-tests: Likewise.
50660         * modules/unistr/u16-chr-tests: Likewise.
50661         * modules/unistr/u16-cmp-tests: Likewise.
50662         * modules/unistr/u16-cmp2-tests: Likewise.
50663         * modules/unistr/u16-cpy-alloc-tests: Likewise.
50664         * modules/unistr/u16-cpy-tests: Likewise.
50665         * modules/unistr/u16-mblen-tests: Likewise.
50666         * modules/unistr/u16-mbsnlen-tests: Likewise.
50667         * modules/unistr/u16-mbtouc-tests: Likewise.
50668         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
50669         * modules/unistr/u16-mbtoucr-tests: Likewise.
50670         * modules/unistr/u16-move-tests: Likewise.
50671         * modules/unistr/u16-next-tests: Likewise.
50672         * modules/unistr/u16-prev-tests: Likewise.
50673         * modules/unistr/u16-set-tests: Likewise.
50674         * modules/unistr/u16-stpcpy-tests: Likewise.
50675         * modules/unistr/u16-stpncpy-tests: Likewise.
50676         * modules/unistr/u16-strcat-tests: Likewise.
50677         * modules/unistr/u16-strcmp-tests: Likewise.
50678         * modules/unistr/u16-strcoll-tests: Likewise.
50679         * modules/unistr/u16-strcpy-tests: Likewise.
50680         * modules/unistr/u16-strdup-tests: Likewise.
50681         * modules/unistr/u16-strlen-tests: Likewise.
50682         * modules/unistr/u16-strmblen-tests: Likewise.
50683         * modules/unistr/u16-strmbtouc-tests: Likewise.
50684         * modules/unistr/u16-strncat-tests: Likewise.
50685         * modules/unistr/u16-strncmp-tests: Likewise.
50686         * modules/unistr/u16-strncpy-tests: Likewise.
50687         * modules/unistr/u16-strnlen-tests: Likewise.
50688         * modules/unistr/u16-to-u32-tests: Likewise.
50689         * modules/unistr/u16-to-u8-tests: Likewise.
50690         * modules/unistr/u16-uctomb-tests: Likewise.
50691         * modules/unistr/u32-check-tests: Likewise.
50692         * modules/unistr/u32-chr-tests: Likewise.
50693         * modules/unistr/u32-cmp-tests: Likewise.
50694         * modules/unistr/u32-cmp2-tests: Likewise.
50695         * modules/unistr/u32-cpy-alloc-tests: Likewise.
50696         * modules/unistr/u32-cpy-tests: Likewise.
50697         * modules/unistr/u32-mblen-tests: Likewise.
50698         * modules/unistr/u32-mbsnlen-tests: Likewise.
50699         * modules/unistr/u32-mbtouc-tests: Likewise.
50700         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
50701         * modules/unistr/u32-mbtoucr-tests: Likewise.
50702         * modules/unistr/u32-move-tests: Likewise.
50703         * modules/unistr/u32-next-tests: Likewise.
50704         * modules/unistr/u32-prev-tests: Likewise.
50705         * modules/unistr/u32-set-tests: Likewise.
50706         * modules/unistr/u32-stpcpy-tests: Likewise.
50707         * modules/unistr/u32-stpncpy-tests: Likewise.
50708         * modules/unistr/u32-strcat-tests: Likewise.
50709         * modules/unistr/u32-strcmp-tests: Likewise.
50710         * modules/unistr/u32-strcoll-tests: Likewise.
50711         * modules/unistr/u32-strcpy-tests: Likewise.
50712         * modules/unistr/u32-strdup-tests: Likewise.
50713         * modules/unistr/u32-strlen-tests: Likewise.
50714         * modules/unistr/u32-strmblen-tests: Likewise.
50715         * modules/unistr/u32-strmbtouc-tests: Likewise.
50716         * modules/unistr/u32-strncat-tests: Likewise.
50717         * modules/unistr/u32-strncmp-tests: Likewise.
50718         * modules/unistr/u32-strncpy-tests: Likewise.
50719         * modules/unistr/u32-strnlen-tests: Likewise.
50720         * modules/unistr/u32-to-u16-tests: Likewise.
50721         * modules/unistr/u32-to-u8-tests: Likewise.
50722         * modules/unistr/u32-uctomb-tests: Likewise.
50723         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
50724         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
50725         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
50726         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
50727         * modules/uniwidth/u8-strwidth-tests: Likewise.
50728         * modules/uniwidth/u8-width-tests: Likewise.
50729         * modules/uniwidth/u16-strwidth-tests: Likewise.
50730         * modules/uniwidth/u16-width-tests: Likewise.
50731         * modules/uniwidth/u32-strwidth-tests: Likewise.
50732         * modules/uniwidth/u32-width-tests: Likewise.
50733         * modules/uniwidth/width-tests: Likewise.
50735 2010-05-18  Richard Jones  <rjones@redhat.com>
50737         doc: users.txt: list hivex
50738         * users.txt: Add hivex.
50740 2010-05-18  Richard Jones  <rjones@redhat.com>
50742         doc: users.txt: list febootstrap
50743         * users.txt: Add febootstrap.
50745 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
50747         bootstrap: fix an error when gnulib is not used as a git submodule
50748         * build-aux/bootstrap (gnulib_path): If its length is zero then
50749         assign "gnulib" to it.
50750         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
50752 2010-05-16  Bruno Haible  <bruno@clisp.org>
50754         Avoid autoconf warnings about AM_ICONV.
50755         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
50756         2.64.
50758 2010-05-16  Bruno Haible  <bruno@clisp.org>
50760         absolute-header: Make the macro usable in more situations.
50761         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
50762         from gl_ABSOLUTE_HEADER.
50763         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
50765 2010-05-16  James Youngman  <jay@gnu.org>
50767         doc: update users.txt
50768         * users.txt: Add CSSC.
50770 2010-05-16  Jim Meyering  <meyering@redhat.com>
50772         init.sh: fix an error in the previous change; add more comments
50773         * tests/init.sh: Compare exit code in loop against 9, not 2.
50774         Patch by Bruno Haible.
50775         Make the two tests more similar by adding an empty "then" clause.
50776         Add comments.
50778         init.sh: avoid unnecessary shell re-exec
50779         * tests/init.sh: Improve the re-exec-required check to first test the
50780         current shell.  If it passes the test, do not search for a shell that
50781         does pass, and do not re-exec.  This test is particularly contorted to
50782         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
50783         of $(...) evokes a syntax error and causes immediate shell exit with
50784         status 2.  Bruno Haible reported that the re-exec made it impossible
50785         to single-step through any init.sh-using script.
50787 2010-05-16  Bruno Haible  <bruno@clisp.org>
50789         Fix collision between gnulib's and libintl's printf replacements.
50790         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
50791         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
50792         (printf): When using GNU C, map the __printf__ function to rpl_printf
50793         via __asm__. When not using GNU C, define rpl_printf instead of
50794         __printf__.
50795         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
50796         commit.
50797         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
50798         commit.
50799         * m4/asm-underscore.m4: New file.
50800         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
50801         * modules/stdio (Files): Add m4/asm-underscore.m4.
50802         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
50803         Reported by Ben Pfaff.
50805 2010-05-16  Bruno Haible  <bruno@clisp.org>
50807         verify: Avoid skipping the test on openSUSE 11.0.
50808         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
50810 2010-05-13  Bruno Haible  <bruno@clisp.org>
50812         Avoid useless warnings from G++.
50813         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
50814         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
50815         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
50817 2010-05-11  Jim Meyering  <meyering@redhat.com>
50819         maint.mk: tweak preceding change
50820         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
50821         regexps tighter by anchoring at EOL, and make the new group "shy"
50822         for slightly decreased overhead.
50824 2010-05-11  Eric Blake  <eblake@redhat.com>
50826         maint.mk: gnulib doesn't guarantee NSIG
50827         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
50829 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
50831         test-pwrite.c: Remove unused variable declaration.
50832         * tests/test-pwrite.c (main): Remove read_buf declaration.
50834         Remove useless test-pwrite.sh file.
50835         * tests/test-pwrite.sh: Delete file.
50836         * modules/pwrite-tests: Remove references.
50837         Reported by Bruno Haible.
50839 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
50841         init.sh: fix a typo
50842         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
50844 2010-05-10  Jim Meyering  <meyering@redhat.com>
50846         maint.mk: avoid using a temporary file in the always-defined-macros check
50847         * top/maint.mk (.re-defmac): Remove rule.
50848         (gl_trap_): Remove definition.
50849         (sc_prohibit_always-defined_macros): Rewrite not to create and
50850         depend on a temporary file.  Instead, depend on GNU grep's ability
50851         to read a list of regular expressions from stdin when given "-f -".
50853 2010-05-09  Bruno Haible  <bruno@clisp.org>
50855         Update to GNU gettext 0.18, part 1.
50856         * m4/gettext.m4: Update to GNU gettext 0.18.
50857         * m4/intl.m4: Likewise.
50858         * m4/po.m4: Likewise.
50859         * modules/gettext (Files): Add m4/fcntl-o.m4.
50860         (configure.ac): Require gettext infrastructure from version 0.18.
50862 2010-05-09  Jim Meyering  <meyering@redhat.com>
50864         init.sh: enable MALLOC_PERTURB_
50865         * tests/init.sh: Enable glibc's malloc-perturbing option.
50867         maint.mk: improve sc_cross_check_PATH_usage_in_tests
50868         With my recent change in init.sh from the two-line form:
50869             -#   : ${srcdir=.}
50870             -#   . "$srcdir/init.sh"; path_prepend_ .
50871             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
50872         I noticed that using the one-line form would cause this test
50873         to fail with a false-positive, or to stop working altogether,
50874         depending on whether help-version changed or all the tests did.
50875         * top/maint.mk (_hv_regex): Remove this definition.
50876         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
50877         (_hv_regex_strong): Use a stronger regex to check for conformance.
50878         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
50879         Give a separate diagnostic for lack of conforming use.
50881         maint.mk: prohibit definition of symbols defined by gnulib
50882         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
50883         definition of symbols defined by gnulib.
50885 2010-05-09  Bruno Haible  <bruno@clisp.org>
50887         acl: Avoid test failure on Cygwin-hosted mingw.
50888         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
50890 2010-05-09  Bruno Haible  <bruno@clisp.org>
50892         error: Use system's fcntl function.
50893         * lib/error.c (fcntl): Undefine.
50895 2010-05-09  Jim Meyering  <meyering@redhat.com>
50897         verify: adjust formatting to be more consistent
50898         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
50899         argument-list '('s, and after one comma.
50901 2010-05-09  Bruno Haible  <bruno@clisp.org>
50903         error: More reliable output on mingw.
50904         * lib/error.c: Include <windows.h>.
50905         (is_open): New function.
50906         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
50907         defined.
50909 2010-05-09  Bruno Haible  <bruno@clisp.org>
50911         vasnprintf: Fix syntax errors in libintl build on mingw.
50912         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
50913         pad_ourselves and prec_ourselves after use.
50915 2010-05-08  Bruno Haible  <bruno@clisp.org>
50917         * lib/config.charset: Update comments for Cygwin 1.7.
50918         * lib/localcharset.c: Likewise.
50920 2010-05-07  Jim Meyering  <meyering@redhat.com>
50922         init.sh: improve comments
50923         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
50924         . "${srcdir=.}/init.sh"; path_prepend_ .
50925         Add a note about path_prepend_ and the alternative of using
50926         TESTS_ENVIRONMENT.
50928 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
50930         exclude: Unescape hashed patterns in wildcard mode.
50931         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
50932         to the hash list.
50933         * tests/test-exclude8.sh: New test case.
50934         * modules/exclude-tests: Add new test.
50936 2010-05-05  Eric Blake  <eblake@redhat.com>
50938         verify: automate tests
50939         * modules/verify-tests: New module.
50940         * tests/test-verify.sh: New file.
50941         * tests/test-verify.c: Guard each negative test with a unique id.
50942         Also avoid warning about unused left hand of comma expressions.
50944 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
50946         Further improvements to verify.h, suggested by Eric Blake.
50947         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
50948         the GL_* versions, to avoid collision with OpenGL.
50949         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
50950         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
50951         than testing merely whether it's defined.
50953         Modify verify.h to pacify gcc -Wredundant_decls.
50954         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
50955         These use the prefix "GL_" since they're likely to be useful elsewhere.
50956         We may need to break them out into a different .h file.
50957         (__COUNTER__): Define to 0 if the compiler doesn't support it.
50958         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
50959         of verify_function__.
50961 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
50963         Tests for module pwrite.
50964         * modules/pwrite-tests: New file.
50965         * tests/test-pwrite.sh: New file.
50966         * tests/test-pwrite.c: New file.
50968         New module pwrite.
50969         * lib/unistd.in.h (pwrite): New declaration.
50970         * lib/pwrite.c: New file, from glibc with modifications.
50971         * m4/pwrite.m4: New file.
50972         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
50973         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
50974         REPLACE_PWRITE.
50975         * modules/pwrite: New file.
50976         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
50977         REPLACE_PWRITE.
50978         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
50979         * doc/posix-functions/pwrite.texi: Mention the new module.
50981 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
50983         pread: Update documentation.
50984         * doc/posix-functions/pread.texi: Mention the 'pread' module.
50986 2010-05-04  Eric Blake  <eblake@redhat.com>
50988         docs: update cygwin progress
50989         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
50990         this bug.
50991         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
50992         Added in cygwin 1.7.2.
50993         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
50994         Likewise.
50995         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
50996         Likewise.
50997         * doc/glibc-functions/dup3.texi (dup3): Likewise.
50998         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
50999         * doc/glibc-functions/accept4.texi (accept4): Likewise.
51000         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
51001         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
51002         Mention nproc module.
51003         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
51004         bug in cygwin 1.7.5 addition.
51005         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
51006         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
51007         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
51008         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
51009         1.7.5.
51010         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
51011         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
51012         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
51013         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
51014         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
51015         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
51016         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
51017         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
51018         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
51019         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
51020         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
51021         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
51022         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
51023         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
51024         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
51025         Likewise.
51026         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
51027         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
51028         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
51029         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
51030         Likewise.
51031         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
51032         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
51033         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
51034         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
51035         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
51036         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
51037         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
51038         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
51039         Likewise.
51040         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
51041         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
51042         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
51043         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
51044         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
51045         Likewise.
51046         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
51047         Likewise.
51048         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
51049         Likewise.
51050         * doc/glibc-functions/xdrrec_endofrecord.texi
51051         (xdrrec_endofrecord): Likewise.
51052         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
51053         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
51054         Likewise.
51055         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
51056         Likewise.
51058 2010-05-04  Jim Meyering  <meyering@redhat.com>
51060         gendocs.sh: make its "-s FILE" option more useful
51061         * build-aux/gendocs.sh: When honoring the -s FILE option, update
51062         $PACKAGE to reflect the probably-different basename of "FILE".
51064 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
51066         bootstrap: don't ignore download_po_files failure
51067         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
51068         failure.
51070 2010-05-03  Jim Meyering  <meyering@redhat.com>
51072         maint.mk: allow to pass options to gendocs.sh
51073         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
51074         (gendocs_options_): New overridable variable.
51076         gnu-web-doc-update: don't ignore configure or build failure
51077         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
51079         announce-gen: backslash-escape '@'s in --help output
51080         * build-aux/announce-gen: Fix syntax errors.
51082         maint.mk, announce-gen: allow project-specific announcement mail headers
51083         * top/maint.mk (translation_project_): Define default.
51084         (announcement_Cc_, announcement_mail_headers_): Likewise.
51085         (announcement): Invoke announce-gen with new --mail-headers option.
51086         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
51088         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
51089         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
51090         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
51091         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
51092         line in the "err2" output file when running "make check" in verbose
51093         mode (i.e., with set -x enabled).
51095 2010-05-03  Bruno Haible  <bruno@clisp.org>
51097         wctob: Fix for weird platforms.
51098         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
51099         argument value.
51101 2010-05-03  Jim Meyering  <meyering@redhat.com>
51103         maint.mk: prohibit unwarranted use of <strings.h>
51104         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
51105         strings.h in a file that does not also use strcasecmp, strncasecmp,
51106         ffs or ffsll.
51108         maint.mk: remove obsolete comments
51109         * top/maint.mk: Remove stale, commented-out rules.
51111 2010-05-02  Bruno Haible  <bruno@clisp.org>
51113         wcwidth: Declare also when it's aliased.
51114         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
51115         macro.
51117 2010-05-02  Bruno Haible  <bruno@clisp.org>
51119         Fix regression from 2010-04-25.
51120         * gnulib-tool (func_modules_transitive_closure): Check the status of
51121         all modules, not only of the tests that are of the form foo-tests where
51122         foo is a module.
51124 2010-05-02  Bruno Haible  <bruno@clisp.org>
51126         wctob: Work around nasty Cygwin 1.7.2 bug.
51127         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
51128         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
51130 2010-05-01  Bruno Haible  <bruno@clisp.org>
51132         fpurge: Sharper test.
51133         * tests/test-fpurge.c (main): Add one more ftell check.
51134         * modules/fpurge-tests (Depends-on): Add ftell.
51135         Suggested by Eric Blake.
51137 2010-05-01  Bruno Haible  <bruno@clisp.org>
51139         ftello: Another test.
51140         * tests/test-ftello3.c: New file.
51141         * modules/ftello-tests (Files): Add it.
51142         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
51143         MOSTLYCLEANFILES.
51145         ftell: Another test.
51146         * tests/test-ftell3.c: New file.
51147         * modules/ftell-tests (Files): Add it.
51148         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
51149         MOSTLYCLEANFILES.
51151 2010-05-01  Bruno Haible  <bruno@clisp.org>
51153         ftell, ftello: Work around Solaris bug.
51154         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
51155         * lib/ftello.c: Include stdio-impl.h.
51156         (ftello): On Solaris, when _IOWRT is set, compute the result without
51157         looking at _IOREAD.
51158         * modules/ftello (Files): Add lib/stdio-impl.h.
51159         * doc/posix-functions/ftell.texi: Mention Solaris bug.
51160         * doc/posix-functions/ftello.texi: Likewise.
51161         Reported by Eric Blake.
51163 2010-05-01  Bruno Haible  <bruno@clisp.org>
51165         freading: Adapt to special meaning of _IOREAD flag on Solaris.
51166         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
51167         the _IOWRT flag is also set.
51169 2010-05-01  Bruno Haible  <bruno@clisp.org>
51171         Fix doc about a HP-UX stdio bug.
51172         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
51173         * doc/posix-functions/ftello.texi: Likewise.
51175 2010-05-01  Bruno Haible  <bruno@clisp.org>
51177         lseek test: Fix failure on Solaris.
51178         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
51179         output.
51181 2010-04-30  Jim Meyering  <meyering@redhat.com>
51183         bootstrap: don't ignore failure to generate po*/Makevars
51184         * build-aux/bootstrap (with_gettext): Don't ignore failure
51185         to create po/Makevars or runtime-po/Makevars.
51187 2010-04-29  Eric Blake  <eblake@redhat.com>
51189         headers: relax license to LGPLv2+
51190         * modules/fcntl-h (License): Relax license.
51191         * modules/getopt-posix (License): Likewise.
51192         * modules/locale (License): Likewise.
51193         * modules/math (License): Likewise.
51194         * modules/pty (License): Likewise.
51195         * modules/sched (License): Likewise.
51196         * modules/search (License): Likewise.
51197         * modules/spawn (License): Likewise.
51198         * modules/stdarg (License): Likewise.
51199         * modules/sysexits (License): Likewise.
51201 2010-04-29  Jim Meyering  <meyering@redhat.com>
51203         inttypes: relax license to LGPLv2+
51204         * modules/inttypes (License): Relax license.
51206 2010-04-29  Simon Josefsson  <simon@josefsson.org>
51208         * top/maint.mk (indent): Run twice to produce idempotent results.
51210 2010-04-28  Bruno Haible  <bruno@clisp.org>
51212         getdate: Generate getdate.c in the source directory.
51213         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
51214         MOSTLYCLEANFILES.
51215         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
51217 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
51219         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
51220         is not declared as a const *; avoid warnings in that case.
51222 2010-04-28  Eric Blake  <eblake@redhat.com>
51224         canonicalize-lgpl: avoid compiler warning
51225         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
51226         declaration' / 'extraneous semicolon' warning with some compilers.
51227         Reported by Andreas Gruenbacher.
51229 2010-04-28  Jim Meyering  <meyering@redhat.com>
51231         init.sh: ensure a more reliable exit status when exiting via trap
51232         * tests/init.sh (setup_): Don't rely on $? in signal handler.
51233         Inspired by patches from Dmitry V. Levin.
51234         Also trap on signal 3 (SIGQUIT).
51236 2010-04-27  Bruno Haible  <bruno@clisp.org>
51238         Update doc about utimes().
51239         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
51240         'utimens' module.
51241         Reported by Andreas Gruenbacher <agruen@suse.de>.
51243 2010-04-27  Eric Blake  <eblake@redhat.com>
51245         full-read, full-write: relax license
51246         * modules/full-read (License): Drop to LGPLv2+.
51247         * modules/full-write (License): Likewise.
51248         * modules/safe-read (License): Likewise.
51249         * modules/safe-write (License): Likewise.
51251         pthread: mention library for linking
51252         * modules/pthread (Link): Mention $(LIB_PTHREAD).
51254 2010-04-27  Jim Meyering  <meyering@redhat.com>
51256         maint.mk: fix a bug introduced in last change
51257         * top/maint.mk (gl_assured_headers_): Now that all names are on
51258         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
51259         is not anchored to end of word, it should be adequate.
51261         maint.mk: avoid side-effect in latest syntax-check
51262         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
51263         to run commands via $(shell...), and hence to incur cost only when
51264         the new rule is actually run.
51266         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
51267         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
51268         and use that to create a regexp used to detect all #if HAVE_..._H uses.
51269         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
51270         (gl_assured_headers_, az_, AZ_): Define.
51271         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
51273 2010-04-26  Jim Meyering  <jim@meyering.net>
51274             Bruno Haible  <bruno@clisp.org>
51276         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
51277         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
51278         Prompted by an exchange with Gilles Espinasse.
51280 2010-04-26  Jim Meyering  <meyering@redhat.com>
51282         git-version-gen: aesthetic tweak
51283         * build-aux/git-version-gen: Use "$nl" rather than a literal,
51284         so that the command remains on a single line.
51286 2010-04-26  Eric Blake  <eblake@redhat.com>
51288         git-version-gen: allow use on EBCDIC hosts
51289         * build-aux/git-version-gen (dirty): Use literal rather than tying
51290         ourselves to ascii.
51291         Reported by Steve Goetze.
51293 2010-04-25  Bruno Haible  <bruno@clisp.org>
51295         netdb: Add support for GNULIB_POSIXCHECK.
51296         * lib/netdb.in.h: Include warn-on-use.h.
51297         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
51298         functions are used when GNULIB_POSIXCHECK is defined and the
51299         getaddrinfo module is not in use.
51300         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
51301         freeaddrinfo, gai_strerror, getnameinfo are declared.
51302         * modules/netdb (Depends-on): Add warn-on-use.
51303         (Makefile.am): Include warn-on-use.h in netdb.h.
51305 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
51307         build: avoid "make check" failure without .git/ directory
51308         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
51309         there is no .git/ directory.
51311 2010-04-25  Bruno Haible  <bruno@clisp.org>
51313         ptsname: Fix misuse of ttyname_r.
51314         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
51315         of errno.
51317 2010-04-25  Bruno Haible  <bruno@clisp.org>
51319         ttyname_r: Make it work on Solaris 10.
51320         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
51321         if the system function has the POSIX declaration. Test whether the
51322         function fails if the buffer is less than 128 bytes large.
51323         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
51324         system's ttyname_r function. Provide a reasonably large buffer.
51325         * modules/ttyname_r (Depends-on): Add extensions.
51326         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
51328 2010-04-25  Bruno Haible  <bruno@clisp.org>
51330         Use the 'extensions' module for some more functions on Solaris.
51331         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
51332         module.
51333         * doc/posix-functions/ctime_r.texi: Likewise.
51334         * doc/posix-functions/getgrgid_r.texi: Likewise.
51335         * doc/posix-functions/getgrnam_r.texi: Likewise.
51336         * doc/posix-functions/getpwnam_r.texi: Likewise.
51337         * doc/posix-functions/getpwuid_r.texi: Likewise.
51338         * doc/posix-functions/readdir_r.texi: Likewise.
51339         * doc/posix-functions/sigwait.texi: Likewise.
51340         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
51341         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
51343 2010-04-25  Bruno Haible  <bruno@clisp.org>
51345         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
51346         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
51347         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
51348         * lib/ttyname_r.c: Include <limits.h>.
51349         (ttyname_r): Define using the system's ttyname_r function, if it exists
51350         and not on Solaris.
51351         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
51352         set.
51353         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
51354         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
51355         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
51356         Reported by Simon Josefsson.
51358 2010-04-25  Bruno Haible  <bruno@clisp.org>
51360         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
51361         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
51362         * doc/posix-functions/ctime_r.texi: Likewise.
51363         * doc/posix-functions/getgrgid_r.texi: Likewise.
51364         * doc/posix-functions/getgrnam_r.texi: Likewise.
51365         * doc/posix-functions/getlogin_r.texi: Likewise.
51366         * doc/posix-functions/getpwnam_r.texi: Likewise.
51367         * doc/posix-functions/getpwuid_r.texi: Likewise.
51368         * doc/posix-functions/readdir_r.texi: Likewise.
51369         * doc/posix-functions/sigwait.texi: Likewise.
51370         * doc/posix-functions/ttyname_r.texi: Likewise.
51371         Reported by Simon Josefsson.
51373 2010-04-25  Bruno Haible  <bruno@clisp.org>
51375         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
51376         * gnulib-tool (func_usage): Document that --with-*-tests options apply
51377         also to --create-testdir.
51378         (func_acceptable): Don't consider the status of *-tests modules here.
51379         (func_modules_transitive_closure): Consider it here, before including a
51380         test module.
51381         (func_import, func_create_testdir): Set inc_all_direct_tests,
51382         inc_all_indirect_tests.
51383         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
51384         --create-testdir and --create-megatestdir.
51386 2010-04-25  Bruno Haible  <bruno@clisp.org>
51388         gnulib-tool: Add --without-*-tests options.
51389         * gnulib-tool (func_usage): Document the --without-*-tests options.
51390         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
51391         excl_unportable_tests): New variables.
51392         Fail if they are specified with --import or --update.
51393         (func_acceptable): Respect the excl_*_tests variables.
51394         (func_import): Set the excl_*_tests variables to empty.
51396 2010-04-25  Simon Josefsson  <simon@josefsson.org>
51397             Bruno Haible  <bruno@clisp.org>
51399         Work around a MacOS X 10.4 bug with openpty.
51400         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
51401         * tests/test-openpty.c (main): Close the master side explicitly.
51403 2010-04-25  Bruno Haible  <bruno@clisp.org>
51405         strnlen: Fix a C++ test error on MacOS X and Solaris.
51406         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
51407         the function is not declared.
51408         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
51409         Simon Josefsson.
51411 2010-04-24  Bruno Haible  <bruno@clisp.org>
51413         Avoid a gcc warning.
51414         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
51415         of correct type for %08lx directive.
51416         Reported by Eric Blake.
51418 2010-04-24  Bruno Haible  <bruno@clisp.org>
51420         vasnprintf: Correct errno value in case of out-of-memory.
51421         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
51422         or sprintf. Use the errno value from SNPRINTF or sprintf.
51423         Reported by Ian Beckwith <ianb@erislabs.net>.
51425 2010-04-24  Bruno Haible  <bruno@clisp.org>
51427         ansi-c++-opt: Find correct compiler when cross-compiling.
51428         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
51429         AC_CHECK_PROGS.
51430         Reported by Simon Josefsson.
51432 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
51434         vc-list-files: Add support for subversion
51435         * build-aux/vc-list-files: Use "svn list" to generate the list of
51436         files controlled by subversion.
51438 2010-04-23  Jim Meyering  <meyering@redhat.com>
51440         vc-list-files tests: convert to use init.sh
51441         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
51442         path_prepend_.
51443         Use Exit, not exit.
51444         Use skip_ rather than open coding it.
51445         Remove trap set-up and compare definitions.
51446         * tests/test-vc-list-files-git.sh: Likewise.
51447         * modules/vc-list-files-tests (Files): Add tests/init.sh.
51449 2010-04-22  Simon Josefsson  <simon@josefsson.org>
51451         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
51452         backup files.
51454 2010-04-21  Simon Josefsson  <simon@josefsson.org>
51456         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
51458 2010-04-20  Eric Blake  <eblake@redhat.com>
51460         tests: be robust to ignored SIGPIPE
51461         * tests/test-select-in.sh: Consume all output.
51462         * tests/test-lseek.sh: Check correct exit status, while avoiding
51463         EPIPE.
51465 2010-04-20  Simon Josefsson  <simon@josefsson.org>
51466             Bruno Haible  <bruno@clisp.org>
51468         visibility: Don't use -fvisibility if it leads to a warning.
51469         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
51470         yes, don't pretend that visibility works if it leads to a warning.
51471         Reported by Mike Gran <spk121@yahoo.com>.
51473 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
51475         * build-aux/bootstrap: Use "git -h" for testing for supported options
51476         instead of "git --help".  The short-form option only shows a summary,
51477         and doesn't layout the full man page.  Grep for the full option name
51478         in the summary, too.
51480 2010-04-19  Bruno Haible  <bruno@clisp.org>
51482         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
51483         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
51484         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
51485         mention of RELOCATABLE_STRIP.
51486         Reported by Sylvain Beucler <beuc@beuc.net>.
51488 2010-04-19  Bruno Haible  <bruno@clisp.org>
51490         * lib/diffseq.h: Fix typo in comment.
51491         Reported by Eric Blake.
51493 2010-04-19  Bruno Haible  <bruno@clisp.org>
51495         ioctl: Move autoconf macro to a .m4 file.
51496         * m4/ioctl.m4: New file, extracted from modules/ioctl.
51497         * modules/ioctl (Files): Add it.
51498         (configure.ac): Simply invoke gl_FUNC_IOCTL.
51499         Reported by Ian Beckwith <ianb@erislabs.net>.
51501 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
51502             Bruno Haible  <bruno@clisp.org>
51504         diffseq: Accommodate use-case with abstract arrays.
51505         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
51506         is not defined.
51507         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
51508         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
51510 2010-04-18  Bruno Haible  <bruno@clisp.org>
51512         * doc/posix-headers/stdbool.texi: More precise wording.
51514 2010-04-17  Jim Meyering  <meyering@redhat.com>
51516         maint.mk: use gnu-style indentation in an embedded perl script
51517         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
51518         Rename variable: s/two/last_two_bytes/
51520 2010-04-16  Eric Blake  <eblake@redhat.com>
51522         test-stdbool: skip test that fails with Solaris CC
51523         * tests/test-stdbool.c (f): Skip test that causes compilation
51524         error under buggy C++ compiler.
51525         * lib/stdbool.in.h: Document the limitation.
51526         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
51528         setenv: allow compilation with C++
51529         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
51530         register keyword.
51532         stdint: allow test to pass with C++
51533         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
51535         getopt: allow compilation with C++
51536         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
51537         struct.
51538         * lib/getopt.c (_getopt_internal_r): Use correct type.
51539         Reported by Dagobert Michelson, via Joel E. Denny.
51541 2010-04-16  Bruno Haible  <bruno@clisp.org>
51543         Override netdb.h always.
51544         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
51545         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
51546         Reported by Ludovic Courtès <ludo@gnu.org>.
51548 2010-04-15  Bruno Haible  <bruno@clisp.org>
51550         openpty: Fix mistake from 2010-03-21.
51551         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
51552         Reported by Simon Josefsson.
51554 2010-04-15  Eric Blake  <eblake@redhat.com>
51556         test-forkpty: fix expected signature
51557         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
51558         Reported by Simon Josefsson.
51560 2010-04-15  Jim Meyering  <meyering@redhat.com>
51562         maint.mk: texinfo_suffix_re_: correct the default regexp
51563         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
51565         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
51566         make it configurable via texinfo_suffix_re_.
51568 2010-04-14  Eric Blake  <eblake@redhat.com>
51570         strtok_r: relax license to LGPLv2+
51571         * modules/strtok_r (License): Relax license.
51572         Reported by Matthias Bolte.
51574 2010-04-14  Simon Josefsson  <simon@josefsson.org>
51576         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
51577         version 1.4.4 by default instead of requiring the libgcrypt
51578         version used during build.  This makes it possible to use the
51579         application with older but still binary compatible libgcrypt
51580         versions.
51582 2010-04-13  Eric Blake  <eblake@redhat.com>
51584         getopt-gnu: match recent glibc fixes and posix ruling
51585         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
51586         '+' handling, when requesting extensions.
51587         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
51588         'W;' handling.
51589         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
51590         * doc/posix-functions/getopt.texi (getopt): Document this.
51591         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
51592         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
51593         Likewise.
51595         getopt: merge bug fixes from glibc
51596         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
51597         diagnostics.  Honor '+:' correctly.  Reject ';'.
51599         getopt-posix: detect MacOS bug
51600         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
51601         optind when missing a required argument.
51602         * doc/posix-functions/getopt.texi (getopt): Document the bug.
51603         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
51604         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
51605         Likewise.
51607         getopt-posix: avoid spurious failure on Solaris
51608         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
51609         an indicator that setting optind=1 is sufficient for reset.
51611         getopt-posix: avoid spurious failure on FreeBSD
51612         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
51613         in POSIX mode, since the m4 test uses it.
51615         gnulib-tool: silence warning on BSD sh
51616         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
51618 2010-04-13  Jim Meyering  <meyering@redhat.com>
51620         doc: users.txt: GNU patch now uses gnulib
51621         * users.txt: Add patch.
51623 2010-04-12  Jim Meyering  <meyering@redhat.com>
51625         maint.mk: generate more concise timing data for syntax-check rules
51626         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
51627         " done" from each line that reports a syntax-check test duration.
51629 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
51631         git-version-gen: use "git update-index..." rather than "git status"
51632         * build-aux/git-version-gen: Use git update-index --refresh, not
51633         "git status".  With some versions of git, "git status" would fail
51634         to update the index and result in an unwarranted "-dirty" suffix.
51636 2010-04-11  Jim Meyering  <meyering@redhat.com>
51638         openat: correct formatting (no semantic change)
51639         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
51640         Suggested by Bruno Haible.
51642 2010-04-11  Bruno Haible  <bruno@clisp.org>
51644         Stricter declaration checking in testdirs.
51645         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
51646         If for_tests is true, augment AM_CPPFLAGS to define
51647         GNULIB_STRICT_CHECKING.
51648         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
51649         GNULIB_STRICT_CHECKING is defined, verify that the function is
51650         declared.
51652 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
51653             Bruno Haible  <bruno@clisp.org>
51655         libunistring: Improve configure output.
51656         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
51657         Don't say "consider installing GNU libunistring" when checking again
51658         with libiconv.
51660 2010-04-11  Bruno Haible  <bruno@clisp.org>
51662         libunistring: Correct value of $LTLIBUNISTRING.
51663         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
51664         correct the value of $LTLIBUNISTRING.
51666 2010-04-11  Bruno Haible  <bruno@clisp.org>
51668         havelib: Add static libraries to LIBS in the right order.
51669         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
51670         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
51672 2010-04-11  Bruno Haible  <bruno@clisp.org>
51674         libunistring: Detect libunistring also when it depends on libiconv.
51675         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
51676         the second AC_LIB_HAVE_LINKFLAGS invocation.
51678 2010-04-11  James Youngman  <jay@gnu.org>
51680         close-stream: declare local scalars to be "const"
51681         * lib/close-stream.c (close_stream): Make boolean variables const
51682         to document the fact that we set but do not change them.
51684 2010-04-11  Bruno Haible  <bruno@clisp.org>
51686         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
51688 2010-04-11  Jim Meyering  <meyering@redhat.com>
51690         maint.mk: don't include dist-check.mk
51691         * top/maint.mk: Remove bogus include directive.
51693         maint.mk: improve empty-line-at-EOF check
51694         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
51695         solution, rather than tail+Perl-based one.  The latter would read
51696         a few kilobytes from the end of each file, and did not handle empty
51697         files properly.
51699         maint.mk: print the elapsed time for each syntax-check rule
51700         * top/maint.mk (sc_m_rules_): Save start time in a file.
51701         (sc_z_rules_): New rules: remove temp file and print elapsed time.
51702         (local-check): Interpose the .z rules
51704 2010-04-11  Jim Meyering  <meyering@redhat.com>
51706         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
51707         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
51708         empty file with one that ends in an empty line.
51710 2010-04-10  Bruno Haible  <bruno@clisp.org>
51712         mkdir: Make it work on mingw64.
51713         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
51714         * lib/mkdir.c: Update comment.
51715         Reported by Roman Donchenko (Роман Донченко) <dxdragon@yandex.ru>.
51717 2010-04-10  Bruno Haible  <bruno@clisp.org>
51719         Don't override improved macro from newer autoconf.
51720         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
51721         autoconf >= 2.62.
51722         Reported by Joel E. Denny <jdenny@clemson.edu>.
51724 2010-04-10  Jim Meyering  <meyering@redhat.com>
51726         maint.mk: new syntax-check rule: prohibit empty lines at end of file
51727         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
51729         maint.mk: correct a diagnostic
51730         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
51731         in diagnostic; now use $prohibit.
51733 2010-04-10  Bruno Haible  <address@hidden>
51735         fchownat: Fix a C++ test error on Solaris 8.
51736         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
51737         the function does not exist.
51739 2010-04-10  Bruno Haible  <bruno@clisp.org>
51741         vasnprintf: Add more tests.
51742         * tests/test-vasnprintf-posix.c: Include <errno.h>.
51743         (test_function): Test converting an invalid wide string.
51745         vasnprintf: Correct handling of unconvertible wide string arguments.
51746         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
51747         VASNPRINTF.
51748         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
51749         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
51750         smaller than the expected maximum need for the directive. Set errno to
51751         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
51752         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
51753         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
51754         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
51755         * modules/vasnprintf (Files): Add m4/printf.m4.
51756         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
51758 2010-04-10  Bruno Haible  <bruno@clisp.org>
51760         vasnprintf: Fix crash in %ls directive.
51761         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
51762         string is passed as argument to %ls, with no precision and no width.
51763         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
51765 2010-04-10  Bruno Haible  <bruno@clisp.org>
51767         vasnprintf: Fix multiple test failures on mingw.
51768         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
51769         _snprintf, or snwprintf, not _snwprintf.
51771 2010-04-10  Bruno Haible  <bruno@clisp.org>
51773         write: Fix a C++ test error on mingw.
51774         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
51776 2010-04-10  Bruno Haible  <bruno@clisp.org>
51778         vasnprintf test: Reduce code duplication.
51779         * tests/test-vasnprintf.c (test_function): New function, extracted from
51780         test_vasnprintf.
51781         (test_vasnprintf, test_asnprintf): Invoke it.
51783 2010-04-10  Bruno Haible  <bruno@clisp.org>
51785         strnlen: Fix warning in C++ mode on MacOS X.
51786         * lib/string.in.h (strnlen): Use the modern idiom.
51787         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
51788         defining strnlen as a macro already in <config.h>.
51789         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
51790         REPLACE_STRNLEN.
51791         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
51792         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
51794 2010-04-08  James Youngman  <jay@gnu.org>
51796         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
51797         the example.
51799 2010-04-09  Jim Meyering  <meyering@redhat.com>
51801         maint.mk: print better diagnostic when there is no $(_hv_file)
51802         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
51803         announce that when $(_hv_file) (aka help-version) does not exist.
51805         init.sh: run tr in the "C" locale to avoid multibyte interpretation
51806         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
51807         not try to interpret its random input bytes.  Jarno Rajahalme reported
51808         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
51809         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
51810         (mktempd_): Likewise, just in case.
51812         ftruncate: add two years to projected module removal date: 2012
51813         * m4/ftruncate.m4: Adjust comments.
51815         ftruncate: mark module as obsolete; even MinGW provides it, now
51816         * modules/ftruncate (Status): Obsolete.
51817         (Notice): Say that.
51818         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
51819         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
51821 2010-04-08  Bruno Haible  <bruno@clisp.org>
51823         Fix side effects from tests-related modules.
51824         * modules/dprintf-posix (Comment): New section.
51825         * modules/fprintf-posix (Comment): Likewise.
51826         * modules/obstack-printf-posix (Comment): Likewise.
51827         * modules/printf-posix (Comment): Likewise.
51828         * modules/snprintf-posix (Comment): Likewise.
51829         * modules/sprintf-posix (Comment): Likewise.
51830         * modules/vasnprintf-posix (Comment): Likewise.
51831         * modules/vasprintf-posix (Comment): Likewise.
51832         * modules/vdprintf-posix (Comment): Likewise.
51833         * modules/vfprintf-posix (Comment): Likewise.
51834         * modules/vprintf-posix (Comment): Likewise.
51835         * modules/vsnprintf-posix (Comment): Likewise.
51836         * modules/vsprintf-posix (Comment): Likewise.
51837         * modules/xprintf-posix (Comment): Likewise.
51838         * modules/xvasprintf-posix (Comment): Likewise.
51839         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
51840         * modules/floorf-tests (Depends-on): Likewise.
51841         * modules/round-tests (Depends-on): Likewise.
51842         * modules/roundf-tests (Depends-on): Likewise.
51843         * modules/trunc-tests (Depends-on): Likewise.
51844         * modules/truncf-tests (Depends-on): Likewise.
51845         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
51846         'fprintf-posix' module is not present.
51847         * tests/test-floorf2.c (check): Likewise.
51848         * tests/test-trunc2.c (check): Likewise.
51849         * tests/test-truncf2.c (check): Likewise.
51850         * tests/test-round2.c (equal): Likewise.
51851         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
51853 2010-04-07  Karl Berry  <karl@gnu.org>
51855         * config/srclist.txt,
51856         * config/srclistvars.sh,
51857         * config/srclist-update: doc fixes.
51859 2010-04-07  Jim Meyering  <meyering@redhat.com>
51861         maint.mk: add a PATH crosschecking syntax-check rule
51862         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
51863         Useful if you use a test like the one in help-version (coreutils,
51864         diffutils, grep, gzip) that ensures $(VERSION) matches what is
51865         printed by prog --version.
51867 2010-04-06  Bruno Haible  <bruno@clisp.org>
51869         Fix link error on mingw.
51870         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
51871         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
51873 2010-04-06  Bruno Haible  <bruno@clisp.org>
51875         Assume rmdir exists.
51876         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
51878 2010-04-06  Giuseppe Scrivano  <gscrivano@gnu.org>
51880         doc: update users.txt
51881         * users.txt: Add gcal.
51883 2010-04-06  Jim Meyering  <meyering@redhat.com>
51885         init.sh: simply unset TMPDIR rather than risking env -i
51886         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
51887         although it probably works fine on all Unix-based systems, some
51888         systems (Cygwin?) cannot tolerate a totally cleared environment.
51889         Suggestion from Eric Blake.
51891 2010-04-06  Jim Meyering  <meyering@redhat.com>
51893         init.sh: portability fix: use env's POSIX-specified -i option not -u
51894         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
51895         than unportable env -u.  Solaris 5.11's env lacks support for -u.
51897 2010-04-05  Bruno Haible  <bruno@clisp.org>
51899         btowc: Work around Cygwin 1.7.2 bug.
51900         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
51901         does not map NUL to 0.
51902         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
51904 2010-04-05  Bruno Haible  <bruno@clisp.org>
51906         Make the multithread modules work on Cygwin 1.7.2.
51907         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
51908         imported symbols can be declared weak, so that it returns "no" on
51909         Cygwin 1.7.2.
51911 2010-04-05  Bruno Haible  <bruno@clisp.org>
51913         Use the module 'strncat'.
51914         * modules/unistr/u8-strncat (Depends-on): Add strncat.
51916         Tests for module 'strncat'.
51917         * modules/strncat-tests: New file.
51918         * tests/test-strncat.c: New file.
51920         New module 'strncat'.
51921         * lib/string.in.h (strncat): New declaration.
51922         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
51923         * m4/strncat.m4: New file, based on m4/memchr.m4.
51924         * modules/strncat: New file.
51925         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
51926         is declared.
51927         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
51928         REPLACE_STRNCAT.
51929         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
51930         REPLACE_STRNCAT.
51931         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
51932         module.
51933         * tests/test-string-c++.cc: Check signature of strncat.
51935 2010-04-05  Jim Meyering  <meyering@redhat.com>
51937         xstrtoumax-tests: convert to use init.sh
51938         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
51939         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
51940         Use Exit, not exit.
51941         Remove uses of $EXEEXT and "./" to run a program in the current dir.
51943         xstrtoimax-tests: convert to use init.sh
51944         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
51945         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
51946         Use Exit, not exit.
51947         Remove uses of $EXEEXT and "./" to run a program in the current dir.
51949 2010-04-05  Bruno Haible  <bruno@clisp.org>
51951         sys_socket: Avoid #define replacements in C++ mode.
51952         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
51953         warning to the function if possible, rather than #defining the symbol
51954         to a dysfunctional alias.
51956 2010-04-05  Bruno Haible  <bruno@clisp.org>
51958         fseeko: Fix C++ test error on mingw.
51959         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
51960         gl_FUNC_FSEEKO.
51961         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
51962         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
51963         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
51964         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
51966 2010-04-05  Bruno Haible  <bruno@clisp.org>
51968         duplocale: Improve test output.
51969         * tests/test-duplocale.c (main): Print reason for skipped test.
51971 2010-04-05  Bruno Haible  <bruno@clisp.org>
51973         Assume rmdir exists.
51974         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
51975         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
51977 2010-04-05  Bruno Haible  <bruno@clisp.org>
51979         Fix link error on Solaris 8 with cc.
51980         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
51982 2010-04-05  Bruno Haible  <bruno@clisp.org>
51984         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
51985         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
51987 2010-04-05  Bruno Haible  <bruno@clisp.org>
51989         vasprintf: Update documentation.
51990         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
51992 2010-04-05  Bruno Haible  <bruno@clisp.org>
51994         ptsname: Improve test.
51995         * tests/test-ptsname.c (main): Also try the various master names of BSD
51996         systems.
51998 2010-04-05  Bruno Haible  <bruno@clisp.org>
52000         memchr: Avoid a possible C++ test error.
52001         * lib/string.in.h (memchr): Provide declaration if function is missing.
52002         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
52003         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
52004         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
52005         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
52007 2010-04-05  Bruno Haible  <bruno@clisp.org>
52009         strtok_r: Improve idiom.
52010         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
52011         AC_LIBOBJ is used.
52013 2010-04-05  Bruno Haible  <bruno@clisp.org>
52015         strdup: Improve idiom.
52016         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
52017         AC_LIBOBJ is used.
52018         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
52019         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
52020         when AC_LIBOBJ is used.
52022 2010-04-05  Bruno Haible  <bruno@clisp.org>
52024         mbsinit, mbrtowc, wcrtomb: Improve idioms.
52025         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
52026         don't set REPLACE_MBSINIT to 1.
52027         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
52028         don't set REPLACE_MBRTOWC to 1.
52029         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
52030         exist, don't set REPLACE_MBSRTOWCS to 1.
52031         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
52032         exist, don't set REPLACE_MBSNRTOWCS to 1.
52033         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
52034         don't set REPLACE_WCRTOMB to 1.
52035         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
52036         exist, don't set REPLACE_WCSRTOMBS to 1.
52037         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
52038         exist, don't set REPLACE_WCSNRTOMBS to 1.
52040 2010-04-05  Bruno Haible  <bruno@clisp.org>
52042         ldexpl: Improve idiom.
52043         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
52044         make sure to set HAVE_DECL_LDEXPL to 0.
52046 2010-04-05  Jim Meyering  <meyering@redhat.com>
52048         xstrtol-tests: convert to use init.sh
52049         * modules/xstrtol-tests (Files): Add tests/init.sh.
52050         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
52051         Use Exit, not exit.
52052         Remove uses of $EXEEXT and "./" to run a program in the current dir.
52054         atexit-tests: convert to use init.sh
52055         * modules/atexit-tests (Files): Add tests/init.sh.
52056         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
52057         Use Exit, not exit.
52058         Remove uses of $EXEEXT and "./" to run a program in the current dir.
52060         init.sh: fix typo
52061         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
52063         init.sh: make it easier for a test script to write to the tty, ...
52064         when using automake's parallel-tests mode.
52065         * tests/init.sh (stderr_fileno_): Define overridable variable.
52066         (warn_): New function, to use it.
52067         (fail_, skip_, framework_failure_): Use warn_.
52069 2010-04-04  Bruno Haible  <bruno@clisp.org>
52071         btowc: Avoid warning.
52072         * lib/btowc.c: Include <stdlib.h>.
52073         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
52075 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
52076             Bruno Haible  <bruno@clisp.org>
52078         wchar: Port to NetBSD 1.5.
52079         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
52080         * lib/wctype.in.h (WEOF): Likewise.
52082 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
52083             Bruno Haible  <bruno@clisp.org>
52085         Port extended stdio to NetBSD 1.5.
52086         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
52087         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
52088         older.
52090 2010-04-04  Bruno Haible  <bruno@clisp.org>
52092         string: Remove unused substitution.
52093         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
52094         HAVE_DECL_STRERROR.
52095         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
52097 2010-04-04  Bruno Haible  <bruno@clisp.org>
52099         strtod: Avoid a possible C++ test error.
52100         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
52101         set REPLACE_STRTOD.
52103 2010-04-04  Bruno Haible  <bruno@clisp.org>
52105         strerror: Update documentation.
52106         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
52108 2010-04-04  Bruno Haible  <bruno@clisp.org>
52110         stdio: Fix some C++ test errors on Solaris 8 with GCC.
52111         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
52112         _GL_CXXALIAS_SYS_CAST.
52114 2010-04-04  Bruno Haible  <bruno@clisp.org>
52116         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
52117         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
52118         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
52119         REPLACE_FREXPL to 1.
52120         * doc/posix-functions/frexpl.texi: Update documentation.
52122 2010-04-04  Bruno Haible  <bruno@clisp.org>
52124         math: Fix some C++ test errors on Solaris 8 and Cygwin.
52125         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
52127 2010-04-04  Bruno Haible  <bruno@clisp.org>
52129         Implement nanosleep for native Windows.
52130         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
52132 2010-04-04  Bruno Haible  <bruno@clisp.org>
52134         math: Fix some C++ test errors on Solaris 8.
52135         * lib/math.in.h (truncf, trunc): Use simpler idiom.
52137 2010-04-04  Bruno Haible  <bruno@clisp.org>
52139         math: Fix some C++ test errors on Cygwin.
52140         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
52141         truncl): Provide declaration if the system does not have it.
52142         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
52143         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
52144         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
52145         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
52146         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
52147         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
52148         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
52149         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
52150         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
52151         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
52152         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
52153         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
52154         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
52155         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
52156         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
52157         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
52158         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
52159         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
52160         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
52161         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
52162         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
52163         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
52165 2010-04-04  Bruno Haible  <bruno@clisp.org>
52167         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
52168         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
52169         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
52170         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
52171         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
52172         * m4/isinf.m4 (gl_ISINF): Likewise.
52173         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
52175 2010-04-04  Bruno Haible  <bruno@clisp.org>
52177         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
52178         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
52180 2010-04-04  Bruno Haible  <bruno@clisp.org>
52182         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
52183         * modules/tmpfile (configure.ac): Update.
52185         tmpfile: Fix C++ test error on mingw.
52186         * lib/stdio.in.h (tmpfile): New declaration.
52187         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
52188         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
52189         * modules/tmpfile (Depends-on): Add stdio.
52190         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
52191         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
52192         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
52193         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
52194         REPLACE_TMPFILE.
52195         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
52197 2010-04-04  Bruno Haible  <bruno@clisp.org>
52199         ioctl: Fix C++ test error on mingw.
52200         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
52201         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
52202         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
52204 2010-04-03  Bruno Haible  <bruno@clisp.org>
52206         wcwidth: Fix C++ test error on mingw.
52207         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
52208         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
52209         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
52211 2010-04-03  Bruno Haible  <bruno@clisp.org>
52213         nanosleep: Fix C++ test error on mingw.
52214         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
52215         * lib/time.in.h (nanosleep): Use modern idiom.
52216         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
52217         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
52218         REPLACE_NANOSLEEP to 1.
52219         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
52220         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
52222 2010-04-03  Bruno Haible  <bruno@clisp.org>
52224         strptime: Fix C++ test error on mingw.
52225         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
52226         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
52227         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
52228         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
52229         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
52230         not REPLACE_STRPTIME.
52231         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
52232         REPLACE_STRPTIME.
52234 2010-04-03  Bruno Haible  <bruno@clisp.org>
52236         timegm: Fix C++ test error on mingw.
52237         * lib/time.in.h (timegm): Use modern idiom.
52238         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
52239         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
52240         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
52241         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
52243 2010-04-03  Bruno Haible  <bruno@clisp.org>
52245         timegm: Assume declaration if function exists.
52246         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
52247         if it exists. Don't clobber ac_cv_func_timegm.
52249 2010-04-03  Bruno Haible  <bruno@clisp.org>
52251         time_r: Fix C++ test error on mingw.
52252         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
52253         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
52254         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
52255         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
52256         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
52258 2010-04-03  Bruno Haible  <bruno@clisp.org>
52260         time_r: Minor updates.
52261         * modules/time_r (Description): Mention the provided functions.
52262         * lib/time_r.c: Don't include <string.h>.
52263         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
52264         * doc/posix-functions/localtime_r.texi: Likewise.
52266 2010-04-03  Bruno Haible  <bruno@clisp.org>
52268         time: Fix regression introduced on 2010-03-08.
52269         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
52270         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
52272 2010-04-03  Jim Meyering  <meyering@redhat.com>
52274         maint.mk: don't silently disable project-specific syntax-check rules
52275         * top/maint.mk (_prohibit_regexp): Define, to help people realize
52276         that they need to convert their project-specific syntax-check rules
52277         to use the new _sc_search_regexp.
52279 2010-04-03  Bruno Haible  <bruno@clisp.org>
52281         fchdir: Fix regression introduced on 2010-03-08.
52282         * lib/unistd.in.h (fchdir): Fix declaration.
52283         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
52284         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
52285         REPLACE_FCHDIR.
52286         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
52287         REPLACE_FCHDIR.
52289 2010-04-03  Bruno Haible  <bruno@clisp.org>
52291         getpagesize: Fix C++ test error on mingw.
52292         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
52293         system does not declare the function.
52294         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
52295         declared.
52296         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
52297         HAVE_DECL_GETPAGESIZE.
52298         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
52300 2010-04-03  Bruno Haible  <bruno@clisp.org>
52302         stdio: Make C++ tests work on mingw.
52303         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
52304         does not declare the function.
52306 2010-04-03  Bruno Haible  <bruno@clisp.org>
52308         ftello: Fix C++ test error on mingw.
52309         * lib/stdio.in.h (ftello): Use modern idiom.
52310         * lib/ftello.c (ftello): Renamed from rpl_ftello.
52311         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
52312         is missing and that it needs to be replaced.
52313         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
52314         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
52315         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
52317 2010-04-03  Bruno Haible  <bruno@clisp.org>
52319         fseeko: Fix C++ test error on mingw.
52320         * lib/stdio.in.h (fseeko): Use modern idiom.
52321         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
52322         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
52323         is missing and that it needs to be replaced.
52324         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
52325         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
52326         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
52328 2010-04-03  Bruno Haible  <bruno@clisp.org>
52330         mkstemp: Fix C++ test error on mingw.
52331         * lib/stdlib.in.h (mkstemp): Use modern idiom.
52332         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
52333         function is missing and that it needs to be replaced.
52334         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
52335         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
52337 2010-04-03  Bruno Haible  <bruno@clisp.org>
52339         stpncpy: Fix C++ test error on mingw.
52340         * lib/string.in.h (stpncpy): Use modern idiom.
52341         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
52342         function is missing and that it needs to be replaced.
52343         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
52344         REPLACE_STPNCPY.
52345         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
52347 2010-04-03  Bruno Haible  <bruno@clisp.org>
52349         sys_stat: Fix C++ test error on mingw.
52350         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
52351         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
52353 2010-04-03  Bruno Haible  <bruno@clisp.org>
52355         pty: Update doc.
52356         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
52358 2010-04-03  Bruno Haible  <bruno@clisp.org>
52360         unistd: Fix C++ test error on mingw.
52361         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
52363 2010-04-03  Bruno Haible  <bruno@clisp.org>
52365         Update doc regarding mingw.
52366         * doc/glibc-functions/openpty.texi: Update regarding mingw.
52367         * doc/glibc-functions/login_tty.texi: Likewise.
52368         * doc/glibc-functions/forkpty.texi: Likewise.
52370 2010-04-03  Bruno Haible  <bruno@clisp.org>
52372         stdlib: Avoid compilation failure of c-strtold on mingw.
52373         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
52375 2010-04-03  Bruno Haible  <bruno@clisp.org>
52377         locale: Make C++ tests work on Cygwin and mingw.
52378         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
52379         cannot provide the function.
52380         Reported by Simon Josefsson.
52382 2010-04-03  Bruno Haible  <bruno@clisp.org>
52384         localename: Port to MacOS X 10.6.
52385         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
52386         memory layout of the locales in MacOS X 10.6 as well.
52387         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
52389 2010-04-02  Bruno Haible  <bruno@clisp.org>
52391         gnulib-tool: Ensure that long-running tests are executed last.
52392         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
52393         running tests after the one for the other tests.
52395 2010-04-02  Bruno Haible  <bruno@clisp.org>
52397         gnulib-tool: Ensure the tests in the main directory are executed first.
52398         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
52399         start with the current directory.
52401 2010-04-02  Bruno Haible  <bruno@clisp.org>
52403         Tests for module 'havelib', moved here from GNU gettext.
52404         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
52405         modifications.
52406         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
52407         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
52408         with modifications.
52409         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
52410         modifications.
52411         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
52412         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
52413         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
52414         with modifications.
52415         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
52416         with modifications.
52417         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
52418         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
52419         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
52420         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
52421         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
52422         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
52423         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
52424         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
52425         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
52426         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
52427         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
52428         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
52429         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
52430         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
52431         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
52432         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
52433         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
52434         with modifications.
52435         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
52436         with modifications.
52437         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
52438         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
52439         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
52440         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
52441         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
52442         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
52443         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
52444         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
52445         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
52446         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
52447         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
52448         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
52449         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
52450         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
52451         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
52452         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
52453         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
52454         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
52455         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
52456         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
52457         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
52458         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
52459         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
52460         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
52461         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
52462         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
52463         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
52464         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
52465         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
52466         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
52467         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
52468         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
52469         * tests/havelib/rpathx/rpathx.c: New file, from
52470         gettext/autoconf-lib-link.
52471         * tests/havelib/rpathx/Makefile.am: New file, from
52472         gettext/autoconf-lib-link.
52473         * tests/havelib/rpathx/configure.ac: New file, from
52474         gettext/autoconf-lib-link with modifications.
52475         * tests/havelib/rpathy/rpathy.c: New file, from
52476         gettext/autoconf-lib-link.
52477         * tests/havelib/rpathy/Makefile.am: New file, from
52478         gettext/autoconf-lib-link.
52479         * tests/havelib/rpathy/configure.ac: New file, from
52480         gettext/autoconf-lib-link with modifications.
52481         * tests/havelib/rpathz/rpathz.c: New file, from
52482         gettext/autoconf-lib-link.
52483         * tests/havelib/rpathz/Makefile.am: New file, from
52484         gettext/autoconf-lib-link.
52485         * tests/havelib/rpathz/configure.ac: New file, from
52486         gettext/autoconf-lib-link with modifications.
52487         * tests/havelib/rpathlx/usex.c: New file, from
52488         gettext/autoconf-lib-link.
52489         * tests/havelib/rpathlx/Makefile.am: New file, from
52490         gettext/autoconf-lib-link.
52491         * tests/havelib/rpathlx/configure.ac: New file, from
52492         gettext/autoconf-lib-link with modifications.
52493         * tests/havelib/rpathly/usey.c: New file, from
52494         gettext/autoconf-lib-link.
52495         * tests/havelib/rpathly/Makefile.am: New file, from
52496         gettext/autoconf-lib-link.
52497         * tests/havelib/rpathly/configure.ac: New file, from
52498         gettext/autoconf-lib-link with modifications.
52499         * tests/havelib/rpathlz/usez.c: New file, from
52500         gettext/autoconf-lib-link.
52501         * tests/havelib/rpathlz/Makefile.am: New file, from
52502         gettext/autoconf-lib-link.
52503         * tests/havelib/rpathlz/configure.ac: New file, from
52504         gettext/autoconf-lib-link with modifications.
52505         * tests/havelib/rpathlyx/usey.c: New file, from
52506         gettext/autoconf-lib-link.
52507         * tests/havelib/rpathlyx/Makefile.am: New file, from
52508         gettext/autoconf-lib-link.
52509         * tests/havelib/rpathlyx/configure.ac: New file, from
52510         gettext/autoconf-lib-link with modifications.
52511         * tests/havelib/rpathlzyx/usez.c: New file, from
52512         gettext/autoconf-lib-link.
52513         * tests/havelib/rpathlzyx/Makefile.am: New file, from
52514         gettext/autoconf-lib-link.
52515         * tests/havelib/rpathlzyx/configure.ac: New file, from
52516         gettext/autoconf-lib-link with modifications.
52517         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
52518         with modifications.
52520 2010-04-02  Bruno Haible  <bruno@clisp.org>
52522         gnulib-tool: Create distributed built sources also for the tests.
52523         * gnulib-tool (func_create_testdir): Also generate distributed built
52524         sources in the tests directory.
52526 2010-04-02  Bruno Haible  <bruno@clisp.org>
52528         gnulib-tool: Obey user's environment variables.
52529         * gnulib-tool (func_create_testdir): When creating built sources,
52530         respect the environment variables for autoconf, automake, etc. given by
52531         the user.
52533 2010-04-02  Bruno Haible  <bruno@clisp.org>
52535         gnulib-tool: Provide the value of --m4-base to modules.
52536         * gnulib-tool (func_import, func_create_testdir): Emit a definition
52537         of gl_m4_base.
52539 2010-04-02  Eric Blake  <eblake@redhat.com>
52541         maint.mk: fix some fallout
52542         * NEWS: Document the incompatible change, and its effect on cfg.mk.
52543         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
52545 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
52547         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
52548         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
52549         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
52550         (sc_cast_of_x_alloc_return_value): Likewise.
52551         (sc_cast_of_alloca_return_value): Likewise.
52552         (sc_space_tab): Likewise.
52553         (sc_prohibit_atoi_atof): Likewise.
52554         (sc_prohibit_magic_number_exit): Likewise.
52555         (sc_error_exit_success): Likewise.
52556         (sc_file_system): Likewise.
52557         (sc_prohibit_have_config_h): Likewise.
52558         (sc_require_config_h): Likewise.
52559         (sc_prohibit_HAVE_MBRTOWC): Likewise.
52560         (sc_obsolete_symbols): Likewise.
52561         (sc_changelog): Likewise.
52562         (sc_program_name): Likewise.
52563         (sc_the_the): Likewise.
52564         (sc_trailing_blank): Likewise.
52565         (sc_two_space_separator_in_usage): Likewise.
52566         (sc_useless_cpp_parens): Likewise.
52567         (sc_GPL_version): Likewise.
52568         (sc_GFDL_version): Likewise.
52569         (sc_texinfo_acronym): Likewise.
52570         (sc_prohibit_cvs_keyword): Likewise.
52571         (sc_prohibit_stat_st_blocks): Likewise.
52572         (sc_prohibit_S_IS_definition): Likewise.
52573         (sc_redundant_const): Likewise.
52574         (sc_makefile_TAB_only_indentation): Likewise.
52575         (sc_m4_quote_check): Likewise.
52576         (sc_makefile_path_separator_check): Likewise.
52577         (sc_copyright_check): Likewise.
52578         (sc_Wundef_boolean): Likewise.
52579         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
52581         maint.mk: match 0 or more whitespace-before-function-call '('
52582         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
52583         that have zero or two-and-more spaces between the function name
52584         and the open parenthesis.
52585         (sc_error_message_warn_fatal): Likewise.
52586         (sc_error_message_uppercase): Likewise.
52587         (sc_error_message_period): Likewise.
52589 2010-03-31  Eric Blake  <eblake@redhat.com>
52591         maint.mk: check for [ as well as test
52592         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
52593         Based on a libvirt report by Matthias Bolte.
52595         gnumakefile: don't squelch _version output
52596         * top/GNUmakefile (_version): Create one-shot dependency rather
52597         than using $(shell) when version must be regenerated.
52598         (_autoreconf): Run verbosely, by default.
52600         sys_time: avoid compiler warnings
52601         * lib/sys_time.in.h (includes): Ensure gcc pragma is
52602         unconditional, fixing regression from 2010-03-29.
52603         Reported by Simon Josefsson.
52605 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
52607         maint.mk: s/_header_without_use/_sc_header_without_use/
52608         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
52609         (sc_prohibit_assert_without_use): Use the new name.
52610         (sc_prohibit_close_stream_without_use): Likewise.
52611         (sc_prohibit_getopt_without_use): Likewise.
52612         (sc_prohibit_quotearg_without_use): Likewise.
52613         (sc_prohibit_quote_without_use): Likewise.
52614         (sc_prohibit_long_options_without_use): Likewise.
52615         (sc_prohibit_inttostr_without_use): Likewise.
52616         (sc_prohibit_ignore_value_without_use): Likewise.
52617         (sc_prohibit_error_without_use): Likewise.
52618         (sc_prohibit_xalloc_without_use): Likewise.
52619         (sc_prohibit_hash_without_use): Likewise.
52620         (sc_prohibit_hash_pjw_without_use): Likewise.
52621         (sc_prohibit_safe_read_without_use): Likewise.
52622         (sc_prohibit_argmatch_without_use): Likewise.
52623         (sc_prohibit_canonicalize_without_use): Likewise.
52624         (sc_prohibit_root_dev_ino_without_use): Likewise.
52625         (sc_prohibit_openat_without_use): Likewise.
52626         (sc_prohibit_c_ctype_without_use): Likewise.
52627         (sc_prohibit_signal_without_use): Likewise.
52628         (sc_prohibit_intprops_without_use): Likewise.
52630 2010-03-30  Eric Blake  <eblake@redhat.com>
52632         maint: improve module indicators
52633         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
52634         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
52635         columns, and avoid extra macro expansion.
52637         fdopendir: work around FreeBSD bug
52638         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
52639         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
52640         * modules/dirent (Makefile.am): Substitute it.
52641         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
52642         declaration.
52643         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
52644         fix.
52645         Reported by Christian Weisgerber <naddy@mips.inka.de>.
52647 2010-03-29  Bruno Haible  <bruno@clisp.org>
52649         Emit #pragma system_header after the inclusion guard, not before.
52650         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
52651         guard that spans the entire file, not before. This enables an
52652         optimization in GCC's preprocessor.
52653         * lib/ctype.in.h: Likewise.
52654         * lib/dirent.in.h: Likewise.
52655         * lib/errno.in.h: Likewise.
52656         * lib/float.in.h: Likewise.
52657         * lib/getopt.in.h: Likewise.
52658         * lib/iconv.in.h: Likewise.
52659         * lib/langinfo.in.h: Likewise.
52660         * lib/locale.in.h: Likewise.
52661         * lib/math.in.h: Likewise.
52662         * lib/netdb.in.h: Likewise.
52663         * lib/netinet_in.in.h: Likewise.
52664         * lib/pty.in.h: Likewise.
52665         * lib/sched.in.h: Likewise.
52666         * lib/se-selinux.in.h: Likewise.
52667         * lib/search.in.h: Likewise.
52668         * lib/spawn.in.h: Likewise.
52669         * lib/stdarg.in.h: Likewise.
52670         * lib/stdint.in.h: Likewise.
52671         * lib/string.in.h: Likewise.
52672         * lib/strings.in.h: Likewise.
52673         * lib/sys_file.in.h: Likewise.
52674         * lib/sys_ioctl.in.h: Likewise.
52675         * lib/sys_time.in.h: Likewise.
52676         * lib/sys_times.in.h: Likewise.
52677         * lib/sys_utsname.in.h: Likewise.
52678         * lib/sys_wait.in.h: Likewise.
52679         * lib/sysexits.in.h: Likewise.
52680         * lib/wctype.in.h: Likewise.
52682 2010-03-28  James Youngman  <jay@gnu.org>
52684         save-cwd: don't leak a file descriptor when the caller execs.
52685         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
52686         saved file descriptor.
52687         * modules/save-cwd (Depends-on): Depend on cloexec.
52689 2010-03-29  Bruno Haible  <bruno@clisp.org>
52691         Remove vestiges of fts-lgpl module.
52692         * lib/fts_.h: Assume GNULIB_FTS is 1.
52693         * lib/fts.c: Likewise.
52694         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
52696 2010-03-28  Bruno Haible  <bruno@clisp.org>
52698         Fix definition of tests witness macro.
52699         * gnulib-tool (func_import): Fix definition of witness macro.
52701 2010-03-28  Bruno Haible  <bruno@clisp.org>
52703         Fix ioctl's protoype on glibc systems.
52704         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
52705         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
52706         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
52707         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
52708         signature. If not, arrange to replace the ioctl function.
52709         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
52710         REPLACE_IOCTL.
52711         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
52712         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
52713         Reported by Ludovic Courtès <ludo@gnu.org>.
52715 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
52717         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
52718         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
52719         made it so grep -r --include=GLOB* ... did not work.
52721 2010-03-26  Jim Meyering  <meyering@redhat.com>
52722             Eric Blake  <eblake@redhat.com>
52724         maint.mk: prohibit use of test's -o and -a operators
52725         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
52727 2010-03-28  Bruno Haible  <bruno@clisp.org>
52729         Remove unused GNULIB_XYZ macro definitions.
52730         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
52731         invocation.
52733 2010-03-28  Bruno Haible  <bruno@clisp.org>
52735         Mark privileged tests modules.
52736         * modules/idpriv-drop-tests (Status): New section.
52737         * modules/idpriv-droptemp-tests (Status): New section.
52739 2010-03-28  Bruno Haible  <bruno@clisp.org>
52741         Split C++ tests into separate tests modules.
52742         * modules/dirent-c++-tests: New file, extracted from
52743         modules/dirent-tests.
52744         * modules/dirent-tests: Depend on it.
52745         * modules/fcntl-h-c++-tests: New file, extracted from
52746         modules/fcntl-h-tests.
52747         * modules/fcntl-h-tests: Depend on it.
52748         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
52749         * modules/glob-tests: Depend on it.
52750         * modules/iconv-h-c++-tests: New file, extracted from
52751         modules/iconv-h-tests.
52752         * modules/iconv-h-tests: Depend on it.
52753         * modules/langinfo-c++-tests: New file, extracted from
52754         modules/langinfo-tests.
52755         * modules/langinfo-tests: Depend on it.
52756         * modules/locale-c++-tests: New file, extracted from
52757         modules/locale-tests.
52758         * modules/locale-tests: Depend on it.
52759         * modules/math-c++-tests: New file, extracted from modules/math-tests.
52760         * modules/math-tests: Depend on it.
52761         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
52762         * modules/pty-tests: Depend on it.
52763         * modules/search-c++-tests: New file, extracted from
52764         modules/search-tests.
52765         * modules/search-tests: Depend on it.
52766         * modules/signal-c++-tests: New file, extracted from
52767         modules/signal-tests.
52768         * modules/signal-tests: Depend on it.
52769         * modules/spawn-c++-tests: New file, extracted from
52770         modules/spawn-tests.
52771         * modules/spawn-tests: Depend on it.
52772         * modules/stdio-c++-tests: New file, extracted from
52773         modules/stdio-tests.
52774         * modules/stdio-tests: Depend on it.
52775         * modules/stdlib-c++-tests: New file, extracted from
52776         modules/stdlib-tests.
52777         * modules/stdlib-tests: Depend on it.
52778         * modules/string-c++-tests: New file, extracted from
52779         modules/string-tests.
52780         * modules/string-tests: Depend on it.
52781         * modules/sys_ioctl-c++-tests: New file, extracted from
52782         modules/sys_ioctl-tests.
52783         * modules/sys_ioctl-tests: Depend on it.
52784         * modules/sys_select-c++-tests: New file, extracted from
52785         modules/sys_select-tests.
52786         * modules/sys_select-tests: Depend on it.
52787         * modules/sys_socket-c++-tests: New file, extracted from
52788         modules/sys_socket-tests.
52789         * modules/sys_socket-tests: Depend on it.
52790         * modules/sys_stat-c++-tests: New file, extracted from
52791         modules/sys_stat-tests.
52792         * modules/sys_stat-tests: Depend on it.
52793         * modules/sys_time-c++-tests: New file, extracted from
52794         modules/sys_time-tests.
52795         * modules/sys_time-tests: Depend on it.
52796         * modules/time-c++-tests: New file, extracted from modules/time-tests.
52797         * modules/time-tests: Depend on it.
52798         * modules/unistd-c++-tests: New file, extracted from
52799         modules/unistd-tests.
52800         * modules/unistd-tests: Depend on it.
52801         * modules/wchar-c++-tests: New file, extracted from
52802         modules/wchar-tests.
52803         * modules/wchar-tests: Depend on it.
52804         * modules/wctype-c++-tests: New file, extracted from
52805         modules/wctype-tests.
52806         * modules/wctype-tests: Depend on it.
52807         Reported by Simon Josefsson.
52809 2010-03-28  Bruno Haible  <bruno@clisp.org>
52811         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
52812         * gnulib-tool (func_exists_module): New function, extracted from
52813         func_verify_module.
52814         (func_verify_module): Use it.
52815         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
52816         'foo' only if 'foo' exists.
52817         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
52818         module.
52820 2010-03-28  Bruno Haible  <bruno@clisp.org>
52822         gnulib-tool: Add support for special categories of tests.
52823         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
52824         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
52825         (func_usage): Document them.
52826         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
52827         inc_unportable_tests, inc_all_tests): New variables.
52828         (func_acceptable): Consider these variables.
52829         (func_modules_transitive_closure): Make it work when the 'Status' field
52830         consists of multiple words.
52831         (func_import): Store and restore the values of inc_cxx_tests,
52832         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
52833         inc_all_tests in gnulib-comp.m4.
52834         (func_create_testdir): Set inc_all_tests to true.
52835         * doc/gnulib.texi (Extra tests modules): New section.
52836         Suggested by Jim Meyering.
52838 2010-03-28  Bruno Haible  <bruno@clisp.org>
52840         ansi-c++-opt: Allow turning off the C++ build by default.
52841         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
52842         gl_CXX_CHOICE_DEFAULT_NO is defined.
52843         Requested by Eric Blake.
52845 2010-03-28  Bruno Haible  <bruno@clisp.org>
52847         unistd: Avoid #define replacements in C++ mode.
52848         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
52849         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
52850         setsockopt, shutdown, select): In C++, attach a warning to the function
52851         if possible, rather than #defining the symbol to a dysfunctional alias.
52852         Reported by John W. Eaton <jwe@gnu.org>.
52854 2010-03-28  Bruno Haible  <bruno@clisp.org>
52856         Fix link errors on mingw.
52857         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
52858         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
52859         $(LIBSOCKET).
52860         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
52861         $(LIBSOCKET).
52863 2010-03-28  Bruno Haible  <bruno@clisp.org>
52864             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52866         lib-ignore: Determine different options for different compilers.
52867         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
52868         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
52869         Add comments.
52870         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
52871         * NEWS: Mention the change.
52873 2010-03-27  Bruno Haible  <bruno@clisp.org>
52875         Remove unused GNULIB_XYZ macro definitions.
52876         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
52877         * modules/fseek (configure.ac): Likewise.
52878         * modules/ioctl (configure.ac): Likewise.
52879         * modules/open (configure.ac): Likewise.
52880         * modules/stdlib-safer (configure.ac): Likewise.
52882 2010-03-27  Bruno Haible  <bruno@clisp.org>
52884         Add a remark about certain modules.
52885         * modules/malloc (Comment): New section.
52886         * modules/realloc (Comment): Likewise.
52887         * modules/sigpipe (Comment): Likewise.
52889 2010-03-27  Bruno Haible  <bruno@clisp.org>
52891         Resolve conflict between the two kinds of module indicators.
52892         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
52893         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
52894         * modules/canonicalize (configure.ac): Invoke
52895         gl_MODULE_INDICATOR_FOR_TESTS.
52896         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
52897         GNULIB_XYZ.
52898         * tests/test-dirent-c++.cc: Likewise.
52899         * tests/test-dirent-safer.c: Likewise.
52900         * tests/test-dup2.c: Likewise.
52901         * tests/test-fchdir.c: Likewise.
52902         * tests/test-fcntl-h-c++.cc: Likewise.
52903         * tests/test-getopt.c: Likewise.
52904         * tests/test-getopt.h: Likewise.
52905         * tests/test-langinfo-c++.cc: Likewise.
52906         * tests/test-locale-c++.cc: Likewise.
52907         * tests/test-math-c++.cc: Likewise.
52908         * tests/test-pty-c++.cc: Likewise.
52909         * tests/test-search-c++.cc: Likewise.
52910         * tests/test-signal-c++.cc: Likewise.
52911         * tests/test-spawn-c++.cc: Likewise.
52912         * tests/test-stdio-c++.cc: Likewise.
52913         * tests/test-stdlib-c++.cc: Likewise.
52914         * tests/test-string-c++.cc: Likewise.
52915         * tests/test-sys_ioctl-c++.cc: Likewise.
52916         * tests/test-sys_select-c++.cc: Likewise.
52917         * tests/test-sys_socket-c++.cc: Likewise.
52918         * tests/test-sys_stat-c++.cc: Likewise.
52919         * tests/test-sys_time-c++.cc: Likewise.
52920         * tests/test-time-c++.cc: Likewise.
52921         * tests/test-unistd-c++.cc: Likewise.
52922         * tests/test-wchar-c++.cc: Likewise.
52923         * tests/uninorm/test-u8-nfc.c: Likewise.
52924         * tests/uninorm/test-u8-nfd.c: Likewise.
52925         * tests/uninorm/test-u8-nfkc.c: Likewise.
52926         * tests/uninorm/test-u8-nfkd.c: Likewise.
52927         * tests/uninorm/test-u16-nfc.c: Likewise.
52928         * tests/uninorm/test-u16-nfd.c: Likewise.
52929         * tests/uninorm/test-u16-nfkc.c: Likewise.
52930         * tests/uninorm/test-u16-nfkd.c: Likewise.
52931         * tests/uninorm/test-u32-nfc.c: Likewise.
52932         * tests/uninorm/test-u32-nfc-big.c: Likewise.
52933         * tests/uninorm/test-u32-nfd.c: Likewise.
52934         * tests/uninorm/test-u32-nfd-big.c: Likewise.
52935         * tests/uninorm/test-u32-nfkc.c: Likewise.
52936         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
52937         * tests/uninorm/test-u32-nfkd.c: Likewise.
52938         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
52939         * tests/uninorm/test-u32-normalize-big.c: Likewise.
52941 2010-03-27  Bruno Haible  <bruno@clisp.org>
52943         Distinguish two kinds of module indicators.
52944         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
52945         gl_MODULE_INDICATOR.
52946         (gl_MODULE_INDICATOR): New macro.
52947         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
52948         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
52949         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
52950         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
52951         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
52952         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
52953         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
52954         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
52955         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
52956         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
52957         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
52958         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
52959         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
52960         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
52961         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
52962         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
52963         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
52964         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
52965         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
52966         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
52967         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
52968         * modules/cloexec (configure.ac): Likewise.
52969         * modules/getopt-gnu (configure.ac): Likewise.
52970         * modules/uninorm/u8-normalize (configure.ac): Likewise.
52971         * modules/uninorm/u16-normalize (configure.ac): Likewise.
52972         * modules/uninorm/u32-normalize (configure.ac): Likewise.
52973         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
52975 2010-03-27  Bruno Haible  <bruno@clisp.org>
52977         New module description field 'Comment'.
52978         * gnulib-tool: New option --extract-comment.
52979         (func_usage): Document it.
52980         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
52981         (func_get_comment): New function.
52982         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
52984 2010-03-27  Bruno Haible  <bruno@clisp.org>
52986         Addendum to 2010-02-07 commit.
52987         * gnulib-tool (func_usage): Document --extract-applicability option.
52989 2010-03-27  Bruno Haible  <bruno@clisp.org>
52991         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
52992         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
52993         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
52994         rather than link errors.
52996 2010-03-27  Bruno Haible  <bruno@clisp.org>
52998         Avoid side effects from tests-related modules on the compilation of lib.
52999         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
53000         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
53001         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
53002         parameter. Emit into AM_CPPFLAGS a definition of the designated C
53003         macro.
53004         (func_import): Define a witness macro. Assign it a value that depends
53005         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
53006         tests-related modules.
53007         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
53008         Reported by Jim Meyering.
53010 2010-03-27  Bruno Haible  <bruno@clisp.org>
53012         Factorize common .m4 code.
53013         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
53014         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
53015         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
53016         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
53017         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
53018         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
53019         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
53020         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
53021         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
53022         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
53023         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
53024         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
53025         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
53026         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
53027         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
53028         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
53029         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
53030         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
53031         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
53032         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
53033         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
53034         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
53035         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
53036         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
53037         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
53038         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
53039         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
53040         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
53041         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
53042         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
53043         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
53044         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
53046 2010-03-27  Bruno Haible  <bruno@clisp.org>
53048         Fix a compilation error on Cygwin with g++ >= 4.3.
53049         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
53050         if it is undefined or if we alias it to chmod.
53051         (lstat): Don't warn about the use of this function if it is undefined
53052         or if we alias it to stat.
53053         Reported by Simon Josefsson.
53055 2010-03-27  Bruno Haible  <bruno@clisp.org>
53057         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
53058         * modules/getlogin (configure.ac): Update.
53060         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
53061         * modules/getlogin_r (configure.ac): Update.
53063         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
53064         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
53065         * modules/inet_ntop (configure.ac): Update.
53067         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
53068         * modules/inet_pton (configure.ac): Update.
53070         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
53071         * modules/mbslen (configure.ac): Update.
53073         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
53074         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
53075         * modules/forkpty (configure.ac): Update.
53076         * modules/openpty (configure.ac): Update.
53078 2010-03-26  Simon Josefsson  <simon@josefsson.org>
53080         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
53081         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
53083 2010-03-25  Eric Blake  <eblake@redhat.com>
53085         maint: use pragma consistently across replacement headers
53086         * lib/ctype.in.h (system_header): Hoist for consistent placement.
53087         * lib/dirent.in.h (system_header): Likewise.
53088         * lib/errno.in.h (system_header): Likewise.
53089         * lib/float.in.h (system_header): Likewise.
53090         * lib/getopt.in.h (system_header): Likewise.
53091         * lib/iconv.in.h (system_header): Likewise.
53092         * lib/inttypes.in.h (system_header): Likewise.
53093         * lib/langinfo.in.h (system_header): Likewise.
53094         * lib/locale.in.h (system_header): Likewise.
53095         * lib/math.in.h (system_header): Likewise.
53096         * lib/netdb.in.h (system_header): Likewise.
53097         * lib/netinet_in.in.h (system_header): Likewise.
53098         * lib/pty.in.h (system_header): Likewise.
53099         * lib/sched.in.h (system_header): Likewise.
53100         * lib/se-selinux.in.h (system_header): Likewise.
53101         * lib/search.in.h (system_header): Likewise.
53102         * lib/spawn.in.h (system_header): Likewise.
53103         * lib/stdarg.in.h (system_header): Likewise.
53104         * lib/stdint.in.h (system_header): Likewise.
53105         * lib/string.in.h (system_header): Likewise.
53106         * lib/strings.in.h (system_header): Likewise.
53107         * lib/sys_file.in.h (system_header): Likewise.
53108         * lib/sys_ioctl.in.h (system_header): Likewise.
53109         * lib/sys_socket.in.h (system_header): Likewise.
53110         * lib/sys_times.in.h (system_header): Likewise.
53111         * lib/sys_utsname.in.h (system_header): Likewise.
53112         * lib/sys_wait.in.h (system_header): Likewise.
53113         * lib/sysexits.in.h (system_header): Likewise.
53114         * lib/unistd.in.h (system_header): Likewise.
53115         * lib/wctype.in.h (system_header): Likewise.
53117         arpa/inet: fix mingw compilation warning
53118         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
53119         Reported by Matthew Bolte.
53121 2010-03-25  Bruno Haible  <bruno@clisp.org>
53123         Avoid collision between gnulib wrapper and libintl wrapper.
53124         * lib/printf.c (printf): Don't define if a printf wrapper is already
53125         defined in intl/printf.c.
53126         Reported by Michel Boaventura <michel@michelboaventura.com>.
53128 2010-03-25  Bruno Haible  <bruno@clisp.org>
53130         Use ANSI C.
53131         * lib/readutmp.h (getutent): Provide ANSI C prototype.
53133 2010-03-25  Bruno Haible  <bruno@clisp.org>
53135         Minor formatting changes.
53136         * lib/acosl.c: Insert space before function argument list.
53137         * lib/argz.c: Likewise.
53138         * lib/asinl.c: Likewise.
53139         * lib/expl.c: Likewise.
53140         * lib/gen-uni-tables.c: Likewise.
53141         * lib/gettext.h: Likewise.
53142         * lib/glthread/lock.h: Likewise.
53143         * lib/tanl.c: Likewise.
53144         * lib/uniname/uniname.c: Likewise.
53145         * tests/test-idpriv-drop.c: Likewise.
53146         * tests/test-idpriv-droptemp.c: Likewise.
53147         * tests/test-lock.c: Likewise.
53148         * tests/test-tls.c: Likewise.
53149         * lib/argp-help.c: Insert space before function-like macro argument
53150         list.
53151         * lib/memcmp.c: Likewise.
53152         * tests/test-base64.c: Likewise.
53153         * lib/localename.c: Insert space before sizeof's argument list.
53154         * lib/safe-alloc.h: Likewise.
53155         * lib/file-set.h: Insert space before macro argument list.
53156         * tests/test-argp.c: Likewise.
53157         * lib/argp-namefrob.h: Insert space before function parameter list.
53158         * lib/getaddrinfo.c: Likewise.
53159         * lib/netdb.in.h: Likewise.
53160         * lib/parse-duration.h: Likewise.
53161         * lib/parse-duration.c: Likewise.
53162         * lib/poll.c: Likewise.
53163         * lib/select.c: Likewise.
53164         * lib/trim.h: Likewise.
53165         * tests/test-usleep.c: Likewise.
53166         * lib/ldexpl.c: Insert space before function parameter list and before
53167         function argument list.
53168         * lib/logl.c: Likewise.
53169         * lib/sqrtl.c: Likewise.
53170         * lib/trim.c: Likewise.
53171         * lib/cosl.c: Use GNU style indentation. Insert space before function
53172         argument list.
53173         * lib/sinl.c: Likewise.
53174         * lib/tsearch.c: Insert space after 'for'.
53175         Reported by Jim Meyering.
53177 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
53179         * maint.mk (sc_Wundef_boolean): Check for the presence of the
53180         config header before grepping, as it's not present before
53181         autoreconf/configure are run.  Reported by Simon Josefsson.
53183 2010-03-23  Bruno Haible  <bruno@clisp.org>
53185         pt_chown: Make it work with automake < 1.11.
53186         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
53187         Reported by Simon Josefsson.
53189 2010-03-23  Bruno Haible  <bruno@clisp.org>
53191         pt_chown: Don't depend on GPLed modules.
53192         * lib/pt_chown.c: Don't include idpriv.h.
53193         (main): Don't drop privileges.
53194         * modules/pt_chown (Depends-on): Remove idpriv-drop.
53195         Reported by Simon Josefsson.
53197 2010-03-24  Simon Josefsson  <simon@josefsson.org>
53199         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
53200         suggestions from karl@freefriends.org (Karl Berry).
53202 2010-03-22  Eric Blake  <eblake@redhat.com>
53204         gethostname: further tweaks
53205         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
53206         are overriding gethostname.
53207         Suggested by Bruno Haible.
53209 2010-03-21  Bruno Haible  <bruno@clisp.org>
53211         Fix comments.
53212         * lib/forkpty.c (rpl_forkpty): Fix comment.
53213         * lib/openpty.c (rpl_openpty): Likewise.
53214         Reported by Eric Blake.
53216 2010-03-22  Eric Blake  <eblake@redhat.com>
53218         gethostname: fix build on mingw
53219         * lib/unistd.in.h (includes): Work around fact that mingw
53220         <winsock2.h> re-includes <unistd.h>, by avoiding any
53221         redeclarations if we are being included by <winsock2.h>.
53222         Reported by Matthias Bolte.
53224 2010-03-21  Bruno Haible  <bruno@clisp.org>
53226         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
53227         * lib/forkpty.c (forkpty): New replacement function, from glibc with
53228         modifications.
53229         * lib/pty.in.h (forkpty): Update declaration. Add comments.
53230         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
53231         provide the replacement.
53232         * modules/forkpty (Depends-on): Add openpty, login_tty.
53233         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
53234         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
53235         * doc/glibc-functions/forkpty.texi: More supported platforms.
53236         * config/srclist.txt: Add forkpty.c (commented).
53238 2010-03-21  Bruno Haible  <bruno@clisp.org>
53240         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
53241         (Makefile.am): Verify that PTY_LIB is defined.
53243         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
53245 2010-03-21  Bruno Haible  <bruno@clisp.org>
53247         Tests for module 'login_tty'.
53248         * modules/login_tty-tests: New file.
53249         * tests/test-login_tty.c: New file.
53251         New module 'login_tty'.
53252         * lib/login_tty.c: New file.
53253         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
53254         * modules/login_tty: New file.
53255         * doc/glibc-functions/login_tty.texi: Mention the new module.
53257 2010-03-21  Bruno Haible  <bruno@clisp.org>
53259         login_tty: Documentation.
53260         * doc/glibc-functions/login_tty.texi: New file.
53261         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
53263 2010-03-21  Bruno Haible  <bruno@clisp.org>
53265         pty: Consistent macro naming.
53266         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
53267         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
53268         * modules/pty (configure.ac): Update.
53270 2010-03-21  Bruno Haible  <bruno@clisp.org>
53272         Tests for openpty: Make stricter.
53273         * tests/test-openpty.c (main): Add test of canonical processing and
53274         erase.
53275         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
53277         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
53278         * lib/openpty.c (openpty): New replacement function.
53279         * lib/pty.in.h: Include <termios.h>.
53280         (openpty): Update declaration. Add comments.
53281         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
53282         is not declared, arrange to provide the replacement. Check for _getpty
53283         and posix_openpt.
53284         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
53285         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
53286         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
53287         * modules/pty-tests (test_pty_c___LDADD): New variable.
53288         * doc/glibc-functions/openpty.texi: More supported platforms.
53290 2010-03-21  Bruno Haible  <bruno@clisp.org>
53292         setenv: Tweaks.
53293         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
53294         the test program.
53295         * doc/posix-functions/setenv.texi: Update platforms list.
53297 2010-03-21  Bruno Haible  <bruno@clisp.org>
53299         New module 'unlockpt'.
53300         * lib/unlockpt.c: New file, from glibc with modifications.
53301         * m4/unlockpt.m4: New file.
53302         * modules/unlockpt: New file.
53303         * lib/stdlib.in.h (unlockpt): New declaration.
53304         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
53305         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
53306         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
53307         HAVE_UNLOCKPT.
53308         * doc/posix-functions/unlockpt.texi: Mention the new module.
53309         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
53310         * config/srclist.txt: Add unlockpt.c (commented).
53312 2010-03-21  Jim Meyering  <meyering@redhat.com>
53314         maint.mk: prohibit inclusion of "intprops.h" without use
53315         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
53317 2010-03-21  Bruno Haible  <bruno@clisp.org>
53319         New module 'grantpt'.
53320         * lib/grantpt.c: New file, from glibc with modifications.
53321         * m4/grantpt.m4: New file.
53322         * modules/grantpt: New file.
53323         * lib/stdlib.in.h (grantpt): New declaration.
53324         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
53325         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
53326         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
53327         HAVE_GRANTPT.
53328         * doc/posix-functions/grantpt.texi: Mention the new module.
53329         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
53330         * config/srclist.txt: Add grantpt.c (commented).
53332 2010-03-21  Bruno Haible  <bruno@clisp.org>
53334         New module 'pt_chown'.
53335         * lib/pt_chown.c: New file, from glibc with modifications.
53336         * lib/pty-private.h: New file, from glibc with modifications.
53337         * modules/pt_chown: New file.
53338         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
53340 2010-03-21  Bruno Haible  <bruno@clisp.org>
53342         Tests for module 'ptsname'.
53343         * modules/ptsname-tests: New file.
53344         * tests/test-ptsname.c: New file.
53346         New module 'ptsname'.
53347         * lib/ptsname.c: New file, from glibc with modifications.
53348         * m4/ptsname.m4: New file.
53349         * modules/ptsname: New file.
53350         * lib/stdlib.in.h (ptsname): New declaration.
53351         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
53352         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
53353         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
53354         HAVE_PTSNAME.
53355         * doc/posix-functions/ptsname.texi: Mention the new module.
53356         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
53357         * config/srclist.txt: Add ptsname.c (commented).
53359 2010-03-21  Bruno Haible  <bruno@clisp.org>
53361         Tests for module 'ttyname_r'.
53362         * modules/ttyname_r-tests: New file.
53363         * tests/test-ttyname_r.c: New file.
53365         New module 'ttyname_r'.
53366         * lib/ttyname_r.c: New file.
53367         * m4/ttyname_r.m4: New file.
53368         * modules/ttyname_r: New file.
53369         * lib/unistd.in.h (ttyname_r): New declaration.
53370         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
53371         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
53372         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
53373         HAVE_TTYNAME_R.
53374         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
53375         * doc/posix-functions/ttyname_r.texi: Mention the new module.
53377 2010-03-20  Bruno Haible  <bruno@clisp.org>
53379         signal: Undefine macro definitions in C++ mode.
53380         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
53381         sigfillset): Undefine macro definitions from the system header in C++
53382         mode.
53383         Reported by John W. Eaton <jwe@gnu.org>.
53385 2010-03-20  Bruno Haible  <bruno@clisp.org>
53387         Ensure no #include statements inside extern "C" { ... }.
53388         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
53389         contain #include statements.
53390         * lib/time.in.h: Likewise.
53392 2010-03-20  Bruno Haible  <bruno@clisp.org>
53394         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
53395         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
53396         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
53397         Reported by John W. Eaton <jwe@gnu.org>.
53399 2010-03-20  Bruno Haible  <bruno@clisp.org>
53401         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
53402         Reported by Jim Meyering.
53404 2010-03-20  Bruno Haible  <bruno@clisp.org>
53406         pipe: Set errno upon failure.
53407         * lib/pipe.h: Specify that when -1 is returned, errno is set.
53408         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
53409         errno value in error message.
53411 2010-03-20  Bruno Haible  <bruno@clisp.org>
53412             Jim Meyering  <meyering@redhat.com>
53414         lchown: Avoid "unused variable" warning.
53415         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
53417 2010-03-20  Bruno Haible  <bruno@clisp.org>
53419         Work around unlink() bug on MacOS X 10.5.6.
53420         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
53421         attempting to unlink a parent directory.
53422         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
53423         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
53424         activate for the replacement function.
53425         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
53427 2010-03-20  Bruno Haible  <bruno@clisp.org>
53429         Fix link errors on Solaris 8.
53430         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
53431         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
53433 2010-03-19  Jim Meyering  <meyering@redhat.com>
53435         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
53436         The _LIBC implementation of build_range_exp correctly honors the
53437         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
53438         However, the non-_LIBC implementation would ignore that syntax-bit
53439         flag and return REG_ERANGE unconditionally.
53440         This change makes it honor that flag.
53441         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
53442         Make two pointer parameters "const".
53443         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
53444         (parse_bracket_exp): Update caller.
53446         regex.m4: correct the reversed range endpoint ([b-a]) test
53447         * m4/regex.m4: When requiring that [b-a] evoke failure,
53448         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
53449         test pass once again for x86-based systems.
53451 2010-03-19  Bruno Haible  <bruno@clisp.org>
53453         scandir: Fix link error on Solaris 8.
53454         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
53455         macros.
53457 2010-03-19  Bruno Haible  <bruno@clisp.org>
53459         getusershell: Fix documentation.
53460         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
53461         module.
53462         * doc/glibc-functions/setusershell.texi: Likewise.
53464         getusershell: Provide declaration, missing on Solaris 9.
53465         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
53466         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
53467         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
53468         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
53469         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
53470         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
53471         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
53472         HAVE_GETUSERSHELL.
53473         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
53475 2010-03-19  Bruno Haible  <bruno@clisp.org>
53477         wctype: Provide iswblank function.
53478         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
53479         exists and is fine.
53480         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
53481         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
53482         * tests/test-wctype.c (main): Re-enable the iswblank tests.
53483         * doc/posix-functions/iswblank.texi: Update.
53485 2010-03-19  Bruno Haible  <bruno@clisp.org>
53487         Tests of module 'pty' in C++ mode.
53488         * modules/pty-tests: New file.
53489         * tests/test-pty-c++.cc: New file.
53490         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
53492 2010-03-19  Eric Blake  <eblake@redhat.com>
53494         logb: fix documentation
53495         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
53496         1.5 declaration bug.
53498         forkpty, openpty: prefer glibc's const-safe prototype
53499         * lib/forkpty.c (rpl_forkpty): New file.
53500         * lib/openpty.c (rpl_openpty): Likewise.
53501         * modules/forkpty (Files): Distribute it.
53502         * modules/openpty (Files): Likewise.
53503         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
53504         check...
53505         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
53506         replacement for non-const BSD signature.
53507         * modules/pty (Makefile.am): Substitute witnesses.
53508         * lib/pty.in.h (forkpty, openpty): Declare replacements.
53509         * tests/test-forkpty.c: Update signature check.
53510         * tests/test-openpty.c: Likewise.
53511         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
53512         * doc/glibc-functions/openpty.texi (openpty): Likewise.
53514         forkpty, openpty: split functions into new modules
53515         * modules/pty (Makefile.am): Substitute new witnesses.
53516         (Libraries): Move library detection...
53517         * modules/forkpty: ...into new module.
53518         * modules/openpty: Another new module.
53519         * modules/pty-tests: Rename and split...
53520         * modules/forkpty-tests: ...to this...
53521         * modules/openpty-tests: ...and this.
53522         * tests/test-pty.c: Rename and split...
53523         * tests/test-forkpty.c: ...to this...
53524         * tests/test-openpty.c: ...and this.
53525         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
53526         (gl_PTY): Split library searching...
53527         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
53528         (gl_FORKPTY, gl_OPENPTY): New macros.
53529         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
53530         * NEWS: Mention the split.
53531         * MODULES.html.sh (Misc): Document the modules.
53532         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
53533         * doc/glibc-functions/openpty.texi (openpty): Likewise.
53535         pty: improve replacement header
53536         * lib/pty.in.h: New file.
53537         * modules/pty (Files): Ship it.
53538         (Makefile.am): Always build replacement.
53539         * m4/pty.m4: Rename...
53540         * m4/pty_h.m4: ...to this.
53541         (gl_PTY): Modernize setting of witness macros; update check of
53542         forkpty to take proper advantage of cache.
53543         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
53545         getopt: avoid compiler warning
53546         * lib/getopt.c (attribute_hidden): Remove unused macro.
53548 2010-03-18  Bruno Haible  <bruno@clisp.org>
53550         Fix link errors on Solaris 8.
53551         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
53552         * modules/search-tests (test_search_c___LDADD): Likewise.
53553         * modules/signal-tests (test_signal_c___LDADD): Likewise.
53554         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
53555         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
53556         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
53557         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
53558         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
53559         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
53561 2010-03-18  Bruno Haible  <bruno@clisp.org>
53563         Fix bug introduced on 2010-03-14.
53564         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
53565         (gl_SPAWN_H): Require it.
53566         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
53567         Reported by Simon Josefsson.
53569 2010-03-18  Bruno Haible  <bruno@clisp.org>
53571         Fix typo introduced on 2009-12-31.
53572         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
53573         posix_spawn_file_actions_adddup2.
53575 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
53576         and Eric Blake  <eblake@redhat.com>
53578         test-vc-list-files-git: make more robust
53579         * tests/test-vc-list-files-git.sh: Unset problematic environment
53580         variables.  Chain commands together.
53582 2010-03-17  Ludovic Courtès  <ludo@gnu.org>  (tiny change)
53584         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
53585         `AC_CHECK_DECL' invocation.
53587 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
53589         * lib/inttostr.c (inttostr): Make sure the invocation of verify
53590         appears before executable statements. Suggested by Petr Sumbera
53591         <Petr.Sumbera@Sun.COM>.
53593 2010-03-14  Bruno Haible  <bruno@clisp.org>
53595         * tests/test-flock.c (test_exclusive): Comment out a test that causes
53596         portability problems. Instead use a simpler test.
53597         (main): Check that invalid arguments are rejected only on Linux.
53599 2010-03-14  Bruno Haible  <bruno@clisp.org>
53601         Fix bug introduced on 2009-12-31.
53602         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
53603         gl_PREREQ_SYS_H_WINSOCK2 always.
53604         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
53605         SYS_SOCKET_H variable.
53606         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
53607         Update comments.
53608         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
53609         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
53610         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
53611         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
53612         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
53614 2010-03-14  Bruno Haible  <bruno@clisp.org>
53616         Fix values returned by sinl, cosl.
53617         * lib/trigl.h: Add specification comments.
53618         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
53619         that combines the values from the precomputed table with the values of
53620         the Chebyshev polynomials.
53622 2010-03-14  Bruno Haible  <bruno@clisp.org>
53624         Fix compilation error when modules 'posix_spawn[p]' are not used.
53625         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
53626         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
53628 2010-03-14  Bruno Haible  <bruno@clisp.org>
53630         Fix compilation error on mingw when module 'time_r' is not used.
53631         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
53632         is 1.
53633         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
53634         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
53635         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
53636         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
53638 2010-03-14  Bruno Haible  <bruno@clisp.org>
53640         Fix compilation error with Sun C.
53641         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
53642         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
53643         instead of GCC specific ULONG_LONG_MAX.
53644         * lib/xstrtoll.c: Likewise.
53645         * lib/xstrtoull.c: Likewise.
53647 2010-03-13  Bruno Haible  <bruno@clisp.org>
53649         Allow the user to disable C++ code and tests.
53650         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
53651         (gl_PROG_ANSI_CXX): Require it.
53653 2010-03-13  Bruno Haible  <bruno@clisp.org>
53655         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
53656         cases.
53658 2010-03-13  Bruno Haible  <bruno@clisp.org>
53660         Test that gnulib does not break the standard C++ headers.
53661         * tests/test-locale-c++2.cc: New file.
53662         * modules/locale-tests (Files): Add it.
53663         (Makefile.am): Compile it for test-locale-c++.
53664         * tests/test-math-c++2.cc: New file.
53665         * modules/math-tests (Files): Add it.
53666         (Makefile.am): Compile it for test-math-c++.
53667         * tests/test-signal-c++2.cc: New file.
53668         * modules/signal-tests (Files): Add it.
53669         (Makefile.am): Compile it for test-signal-c++.
53670         * tests/test-stdio-c++2.cc: New file.
53671         * modules/stdio-tests (Files): Add it.
53672         (Makefile.am): Compile it for test-stdio-c++.
53673         * tests/test-stdlib-c++2.cc: New file.
53674         * modules/stdlib-tests (Files): Add it.
53675         (Makefile.am): Compile it for test-stdlib-c++.
53676         * tests/test-string-c++2.cc: New file.
53677         * modules/string-tests (Files): Add it.
53678         (Makefile.am): Compile it for test-string-c++.
53679         * tests/test-time-c++2.cc: New file.
53680         * modules/time-tests (Files): Add it.
53681         (Makefile.am): Compile it for test-time-c++.
53682         Reported by John W. Eaton <jwe@gnu.org>.
53684 2010-03-13  Bruno Haible  <bruno@clisp.org>
53686         * gnulib-tool (func_usage): Clarify which options are available for
53687         --create-testdir and --create-megatestdir.
53689 2010-03-13  Bruno Haible  <bruno@clisp.org>
53691         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
53692         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
53693         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
53694         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
53695         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
53696         when appropriate.
53697         Reported by Jim Meyering.
53699 2010-03-12  Simon Josefsson  <simon@josefsson.org>
53701         * gnulib-tool (func_import): Explain origin of code.
53703 2010-03-12  Bruno Haible  <bruno@clisp.org>
53705         Fix problem with automake's definition of CXXLINK.
53706         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
53707         Reported by Simon Josefsson and Ludovic Courtès.
53709 2010-03-12  Bruno Haible  <bruno@clisp.org>
53711         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
53712         stable releases.
53714 2010-03-11  Bruno Haible  <bruno@clisp.org>
53716         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
53717         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
53718         whether the system provides one variant or multiple variants of the
53719         function.
53720         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
53721         C++ compilers.
53722         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
53723         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
53724         Reported by Jim Meyering.
53726 2010-03-09  Simon Josefsson  <simon@josefsson.org>
53728         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
53730 2010-03-08  Bruno Haible  <bruno@clisp.org>
53732         gnulib-tool: Add support for --libtool in --create-testdir.
53733         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
53734         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
53736 2010-03-08  Eric Blake  <eblake@redhat.com>
53738         gnulib-tool.texi: mention possibility of git submodule
53739         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
53740         submodules.
53741         * doc/.gitignore: Ignore another generated file.
53743 2010-03-08  Karl Berry  <karl@gnu.org>
53745         * doc/gnulib-tool.texi (VCS Issues): Mention third option
53746         of committing gnulib files while skipping others.
53748 2010-03-07  Bruno Haible  <bruno@clisp.org>
53750         Tests of module 'wctype' in C++ mode.
53751         * tests/test-wctype-c++.cc: New file.
53752         * modules/wctype-tests (Files): Add it and tests/signature.h.
53753         (Depends-on): Add ansi-c++-opt.
53754         (Makefile.am): Arrange to compile and run test-wctype-c++.
53756         Tests of module 'wchar' in C++ mode.
53757         * tests/test-wchar-c++.cc: New file.
53758         * modules/wchar-tests (Files): Add it and tests/signature.h.
53759         (Depends-on): Add ansi-c++-opt.
53760         (Makefile.am): Arrange to compile and run test-wchar-c++.
53761         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
53762         gl_MODULE_INDICATOR.
53764         Tests of module 'unistd' in C++ mode.
53765         * tests/test-unistd-c++.cc: New file.
53766         * modules/unistd-tests (Files): Add it and tests/signature.h.
53767         (Depends-on): Add ansi-c++-opt.
53768         (Makefile.am): Arrange to compile and run test-unistd-c++.
53769         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
53770         gl_MODULE_INDICATOR.
53772         Tests of module 'time' in C++ mode.
53773         * tests/test-time-c++.cc: New file.
53774         * modules/time-tests (Files): Add it and tests/signature.h.
53775         (Depends-on): Add ansi-c++-opt.
53776         (Makefile.am): Arrange to compile and run test-time-c++.
53777         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
53779         Tests of module 'sys_time' in C++ mode.
53780         * tests/test-sys_time-c++.cc: New file.
53781         * modules/sys_time-tests (Files): Add it and tests/signature.h.
53782         (Depends-on): Add ansi-c++-opt.
53783         (Makefile.am): Arrange to compile and run test-sys_time-c++.
53784         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
53785         gl_MODULE_INDICATOR.
53787         Tests of module 'sys_stat' in C++ mode.
53788         * tests/test-sys_stat-c++.cc: New file.
53789         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
53790         (Depends-on): Add ansi-c++-opt.
53791         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
53792         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
53793         gl_MODULE_INDICATOR.
53795         Tests of module 'sys_socket' in C++ mode.
53796         * tests/test-sys_socket-c++.cc: New file.
53797         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
53798         (Depends-on): Add ansi-c++-opt.
53799         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
53800         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
53801         gl_MODULE_INDICATOR.
53803         Tests of module 'sys_select' in C++ mode.
53804         * tests/test-sys_select-c++.cc: New file.
53805         * modules/sys_select-tests (Files): Add it and tests/signature.h.
53806         (Depends-on): Add ansi-c++-opt.
53807         (Makefile.am): Arrange to compile and run test-sys_select-c++.
53808         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
53809         gl_MODULE_INDICATOR.
53811         Tests of module 'sys_ioctl' in C++ mode.
53812         * tests/test-sys_ioctl-c++.cc: New file.
53813         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
53814         (Depends-on): Add ansi-c++-opt.
53815         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
53816         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
53817         gl_MODULE_INDICATOR.
53819         Tests of module 'string' in C++ mode.
53820         * tests/test-string-c++.cc: New file.
53821         * modules/string-tests (Files): Add it and tests/signature.h.
53822         (Depends-on): Add ansi-c++-opt.
53823         (Makefile.am): Arrange to compile and run test-string-c++.
53824         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
53825         gl_MODULE_INDICATOR.
53827         Tests of module 'stdlib' in C++ mode.
53828         * tests/test-stdlib-c++.cc: New file.
53829         * modules/stdlib-tests (Files): Add it and tests/signature.h.
53830         (Depends-on): Add ansi-c++-opt.
53831         (Makefile.am): Arrange to compile and run test-stdlib-c++.
53832         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
53833         gl_MODULE_INDICATOR.
53835         Tests of module 'stdio' in C++ mode.
53836         * tests/test-stdio-c++.cc: New file.
53837         * modules/stdio-tests (Files): Add it and tests/signature.h.
53838         (Depends-on): Add ansi-c++-opt.
53839         (Makefile.am): Arrange to compile and run test-stdio-c++.
53840         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
53841         gl_MODULE_INDICATOR.
53843         Tests of module 'spawn' in C++ mode.
53844         * tests/test-spawn-c++.cc: New file.
53845         * modules/spawn-tests (Files): Add it and tests/signature.h.
53846         (Depends-on): Add ansi-c++-opt.
53847         (Makefile.am): Arrange to compile and run test-spawn-c++.
53848         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
53849         gl_MODULE_INDICATOR.
53851         Tests of module 'signal' in C++ mode.
53852         * tests/test-signal-c++.cc: New file.
53853         * modules/signal-tests (Files): Add it and tests/signature.h.
53854         (Depends-on): Add ansi-c++-opt.
53855         (Makefile.am): Arrange to compile and run test-signal-c++.
53856         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
53857         gl_MODULE_INDICATOR.
53859         Tests of module 'search' in C++ mode.
53860         * tests/test-search-c++.cc: New file.
53861         * modules/search-tests (Files): Add it and tests/signature.h.
53862         (Depends-on): Add ansi-c++-opt.
53863         (Makefile.am): Arrange to compile and run test-search-c++.
53864         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
53865         gl_MODULE_INDICATOR.
53867         Tests of module 'math' in C++ mode.
53868         * tests/test-math-c++.cc: New file.
53869         * modules/math-tests (Files): Add it and tests/signature.h.
53870         (Depends-on): Add ansi-c++-opt.
53871         (Makefile.am): Arrange to compile and run test-math-c++.
53872         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
53874         Tests of module 'locale' in C++ mode.
53875         * tests/test-locale-c++.cc: New file.
53876         * modules/locale-tests (Files): Add it and tests/signature.h.
53877         (Depends-on): Add ansi-c++-opt.
53878         (Makefile.am): Arrange to compile and run test-locale-c++.
53879         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
53880         gl_MODULE_INDICATOR.
53882         Tests of module 'langinfo' in C++ mode.
53883         * tests/test-langinfo-c++.cc: New file.
53884         * modules/langinfo-tests (Files): Add it and tests/signature.h.
53885         (Depends-on): Add ansi-c++-opt.
53886         (Makefile.am): Arrange to compile and run test-langinfo-c++.
53887         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
53888         gl_MODULE_INDICATOR.
53890         Tests of module 'iconv-h' in C++ mode.
53891         * tests/test-iconv-h-c++.cc: New file.
53892         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
53893         (Depends-on): Add ansi-c++-opt.
53894         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
53896         Tests of module 'glob' in C++ mode.
53897         * tests/test-glob-c++.cc: New file.
53898         * modules/glob-tests (Files): Add it.
53899         (Depends-on): Add ansi-c++-opt.
53900         (Makefile.am): Arrange to compile and run test-glob-c++.
53902         Tests of module 'fcntl-h' in C++ mode.
53903         * tests/test-fcntl-h-c++.cc: New file.
53904         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
53905         (Depends-on): Add ansi-c++-opt.
53906         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
53907         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
53908         gl_MODULE_INDICATOR.
53910         Tests of module 'dirent' in C++ mode.
53911         * tests/test-dirent-c++.cc: New file.
53912         * modules/dirent-tests (Files): Add it and tests/signature.h.
53913         (Depends-on): Add ansi-c++-opt.
53914         (Makefile.am): Arrange to compile and run test-dirent-c++.
53915         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
53916         gl_MODULE_INDICATOR.
53918         New module 'ansi-c++-opt'.
53919         * modules/ansi-c++-opt: New file.
53920         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
53922         Document C++ namespace mode.
53923         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
53925         wctype: Avoid #define replacements in C++ mode.
53926         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
53927         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
53928         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
53929         In C++, define a namespaced alias symbol.
53930         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
53931         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
53932         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
53933         rule.
53935         wchar: Avoid #define replacements in C++ mode.
53936         * lib/wchar.in.h: Include c++defs.h.
53937         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
53938         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
53939         symbol.
53940         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
53941         * modules/wchar (Depends-on): Add c++defs.
53942         (Makefile.am): Update wchar.h rule.
53944         unistd: Avoid #define replacements in C++ mode.
53945         * lib/unistd.in.h: Include c++defs.h.
53946         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
53947         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
53948         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
53949         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
53950         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
53951         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
53952         symbol.
53953         (environ): Update.
53954         * modules/unistd (Depends-on): Add c++defs.
53955         (Makefile.am): Update unistd.h rule.
53957         time: Avoid #define replacements in C++ mode.
53958         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
53959         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
53960         define a namespaced alias symbol.
53961         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
53962         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
53963         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
53964         * modules/time (Depends-on): Add c++defs, warn-on-use.
53965         (Makefile.am): Update time.h rule.
53966         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
53967         * modules/nanosleep (configure.ac): Likewise.
53968         * modules/strptime (configure.ac): Likewise.
53969         * modules/timegm (configure.ac): Likewise.
53971         sys_time: Avoid #define replacements in C++ mode.
53972         * lib/sys_time.in.h: Include c++defs.h.
53973         (gettimeofday): In C++, define a namespaced alias symbol.
53974         * modules/sys_time (Depends-on): Add c++defs.
53975         (Makefile.am): Update sys/time.h rule.
53977         sys_stat: Avoid #define replacements in C++ mode.
53978         * lib/sys_stat.in.h: Include c++defs.h.
53979         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
53980         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
53981         namespaced alias symbol.
53982         In C++, define a namespaced alias symbol.
53983         * modules/sys_stat (Depends-on): Add c++defs.
53984         (Makefile.am): Update sys/stat.h rule.
53986         sys_socket: Avoid #define replacements in C++ mode.
53987         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
53988         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
53989         definitions also when the system has a <sys/socket.h>.
53990         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
53991         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
53992         In C++, define a namespaced alias symbol.
53993         * modules/sys_socket (Depends-on): Add c++defs.
53994         (Makefile.am): Update sys/socket.h rule.
53996         sys_select: Avoid #define replacements in C++ mode.
53997         * lib/sys_select.in.h: Include c++defs.h. Enable the function
53998         definitions also when the system has a <sys/select.h>.
53999         (select): In C++, define a namespaced alias symbol.
54000         * modules/sys_select (Depends-on): Add c++defs.
54001         (Makefile.am): Update sys/select.h rule.
54003         sys_ioctl: Avoid #define replacements in C++ mode.
54004         * lib/sys_ioctl.in.h: Include c++defs.h.
54005         (ioctl): In C++, define a namespaced alias symbol.
54006         * modules/sys_ioctl (Depends-on): Add c++defs.
54007         (Makefile.am): Update sys/ioctl.h rule.
54009         string: Avoid #define replacements in C++ mode.
54010         * lib/string.in.h: Include c++defs.h.
54011         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
54012         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
54013         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
54014         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
54015         strsignal, strverscmp): In C++, define a namespaced alias symbol.
54016         * modules/string (Depends-on): Add c++defs.
54017         (Makefile.am): Update string.h rule.
54019         stdlib: Avoid #define replacements in C++ mode.
54020         * lib/stdlib.in.h: Include c++defs.h.
54021         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
54022         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
54023         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
54024         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
54025         symbol.
54026         * modules/stdlib (Depends-on): Add c++defs.
54027         (Makefile.am): Update stdlib.h rule.
54029         stdio: Avoid #define replacements in C++ mode.
54030         * lib/stdio.in.h: Include c++defs.h.
54031         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
54032         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
54033         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
54034         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
54035         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
54036         namespaced alias symbol.
54037         * modules/stdio (Depends-on): Add c++defs.
54038         (Makefile.am): Update stdio.h rule.
54040         spawn: Avoid #define replacements in C++ mode.
54041         * lib/spawn.in.h: Include c++defs.h.
54042         (posix_spawn, posix_spawnp, posix_spawnattr_init,
54043         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
54044         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
54045         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
54046         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
54047         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
54048         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
54049         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
54050         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
54051         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
54052         In C++, define a namespaced alias symbol.
54053         * modules/spawn (Depends-on): Add c++defs.
54054         (Makefile.am): Update spawn.h rule.
54056         signal: Avoid #define replacements in C++ mode.
54057         * lib/signal.in.h: Include c++defs.h.
54058         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
54059         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
54060         namespaced alias symbol.
54061         * modules/signal (Depends-on): Add c++defs.
54062         (Makefile.am): Update signal.h rule.
54064         search: Avoid #define replacements in C++ mode.
54065         * lib/search.in.h: Include c++defs.h.
54066         (_gl_search_compar_fn, _gl_search_action_fn): New types.
54067         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
54068         symbol.
54069         * modules/search (Depends-on): Add c++defs.
54070         (Makefile.am): Update search.h rule.
54072         math: Avoid #define replacements in C++ mode.
54073         * lib/math.in.h: Include c++defs.h.
54074         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
54075         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
54076         trunc, truncl): In C++, define a namespaced alias symbol.
54077         * modules/math (Depends-on): Add c++defs.
54078         (Makefile.am): Update math.h rule.
54080         locale: Avoid #define replacements in C++ mode.
54081         * lib/locale.in.h: Include c++defs.h.
54082         (duplocale): In C++, define a namespaced alias symbol.
54083         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
54084         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
54085         * modules/locale (Depends-on): Add c++defs.
54086         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
54088         langinfo: Avoid #define replacements in C++ mode.
54089         * lib/langinfo.in.h: Include c++defs.h.
54090         (nl_langinfo): In C++, define a namespaced alias symbol.
54091         * modules/langinfo (Depends-on): Add c++defs.
54092         (Makefile.am): Update langinfo.h rule.
54094         iconv-h: Avoid #define replacements in C++ mode.
54095         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
54096         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
54097         symbol.
54098         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
54099         whenever iconv is present.
54100         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
54101         (Makefile.am): Update iconv.h rule.
54103         glob: Avoid #define replacements in C++ mode.
54104         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
54105         (_gl_glob_errfunc_fn): New type.
54106         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
54107         symbol.
54108         * modules/glob (Depends-on): Add c++defs, warn-on-use.
54109         (Makefile.am): Update glob.h rule.
54111         fcntl-h: Avoid #define replacements in C++ mode.
54112         * lib/fcntl.in.h: Include c++defs.h.
54113         (fcntl, open, openat): In C++, define a namespaced alias symbol.
54114         * modules/fcntl-h (Depends-on): Add c++defs.
54115         (Makefile.am): Update fcntl.h rule.
54117         dirent: Avoid #define replacements in C++ mode.
54118         * lib/dirent.in.h: Include c++defs.h.
54119         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
54120         namespaced alias symbol.
54121         (dirfd): Update declaration.
54122         * modules/dirent (Depends-on): Add c++defs.
54123         (Makefile.am): Update dirent.h rule.
54125         ctype: Make it usable in C++ code.
54126         * lib/ctype.in.h: Include c++defs.h.
54127         (isblank): Declare as extern "C".
54128         * modules/ctype (Depends-on): Add c++defs.
54129         (Makefile.am): Update ctype.h rule.
54131         New module 'c++defs'.
54132         * modules/c++defs: New file.
54133         * build-aux/c++defs.h: New file.
54134         Reported by John W. Eaton <jwe@gnu.org>.
54136 2010-03-07  Bruno Haible  <bruno@clisp.org>
54138         logb: Provide missing declaration for Cygwin.
54139         * lib/math.in.h (logb): New declaration.
54140         * m4/logb.m4: New file.
54141         * modules/logb (Files): Add m4/logb.m4.
54142         (Depends-on): Add math.
54143         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
54144         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
54145         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
54146         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
54147         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
54149 2010-03-07  Bruno Haible  <bruno@clisp.org>
54151         Fix test-cond link error.
54152         * tests/test-cond.c: Include <stdio.h>.
54154 2010-03-07  Bruno Haible  <bruno@clisp.org>
54156         Fix test-dirent-safer link error.
54157         * modules/dirent-safer-tests (Makefile.am): Define
54158         test_dirent_safer_LDADD.
54160 2010-03-07  Bruno Haible  <bruno@clisp.org>
54162         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
54163         among default module list.
54165 2010-03-07  Bruno Haible  <bruno@clisp.org>
54167         Fix link error on platforms with GNU libiconv.
54168         * modules/unistr/u8-strcoll-tests (Makefile): Define
54169         test_u8_strcoll_LDADD.
54170         * modules/unistr/u16-strcoll-tests (Makefile): Define
54171         test_u16_strcoll_LDADD.
54172         * modules/unistr/u32-strcoll-tests (Makefile): Define
54173         test_u32_strcoll_LDADD.
54175 2010-03-07  Bruno Haible  <bruno@clisp.org>
54177         Use POSIX declarations for socket functions.
54178         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
54179         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
54180         rpl_sendto): Change declaration to match POSIX.
54181         * lib/connect.c (rpl_connect): Likewise.
54182         * lib/accept.c (rpl_accept): Likewise.
54183         * lib/bind.c (rpl_bind): Likewise.
54184         * lib/getpeername.c (rpl_getpeername): Likewise.
54185         * lib/getsockname.c (rpl_getsockname): Likewise.
54186         * lib/recv.c (rpl_recv): Likewise.
54187         * lib/send.c (rpl_send): Likewise.
54188         * lib/recvfrom.c (rpl_recvfrom): Likewise.
54189         * lib/sendto.c (rpl_sendto): Likewise.
54191 2010-03-06  Bruno Haible  <bruno@clisp.org>
54193         Clarify access, euidaccess, faccessat.
54194         * doc/posix-functions/faccessat.texi: Mention security problem under
54195         "Other problems", not "Portability problems".
54196         * doc/posix-functions/access.texi: Likewise. Mention a related security
54197         problem.
54198         * doc/glibc-functions/euidaccess.texi: Mention security problems.
54199         * lib/euidaccess.c: Add comments about platforms.
54200         * lib/unistd.in.h (access, euidaccess): Add warnings.
54202 2010-03-07  Bruno Haible  <bruno@clisp.org>
54204         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
54205         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
54206         (POSIX_SPAWN_SETSCHEDULER): Likewise.
54207         (POSIX_SPAWN_USEVFORK): Define in a way that works when
54208         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
54209         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
54210         declare when POSIX_SPAWN_SETSCHEDULER is zero.
54211         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
54212         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
54213         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
54214         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
54215         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
54216         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
54217         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
54218         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
54219         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
54220         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
54221         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
54222         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
54223         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
54224         Likewise.
54225         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
54226         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
54227         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
54228         Likewise.
54229         * tests/test-spawn.c (main): Make it work when
54230         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
54232 2010-03-07  Bruno Haible  <bruno@clisp.org>
54234         Fix incorrect Makefile.am generation in German locale.
54235         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
54236         Execute sed command with character range in C locale.
54238 2010-03-06  Bruno Haible  <bruno@clisp.org>
54240         Tests for module 'iconv-h'.
54241         * modules/iconv-h-tests: New file.
54242         * tests/test-iconv-h.c: New file.
54244         New module 'iconv-h'.
54245         * modules/iconv-h: New file.
54246         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
54247         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
54248         (configure.ac): Remove gl_ICONV_H.
54249         (Makefile.am): Remove rule for iconv.h.
54251 2010-03-06  Bruno Haible  <bruno@clisp.org>
54253         More consistent naming of *.m4 files.
54254         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
54255         * modules/wctype (Files): Update.
54257         More consistent naming of *.m4 files.
54258         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
54259         * modules/wchar (Files): Update.
54261 2010-03-06  Jim Meyering  <meyering@redhat.com>
54263         euidaccess: relax license to LGPLv2+
54264         * modules/euidaccess (License): Relax to LGPLv2+.
54266 2010-03-06  Bruno Haible  <bruno@clisp.org>
54268         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
54269         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
54270         (Makefile.am): Augment lib_SOURCES instead.
54272 2010-03-04  Jim Meyering  <meyering@redhat.com>
54274         utime: remove obsolete module
54275         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
54276         unnecessary for years, and has been marked as obsolete for 10 months.
54277         * modules/utime: Remove file.
54278         * lib/utime.c: Remove file.
54279         * m4/utime.m4: Remove file.
54280         * m4/utimes-null.m4: Remove file.
54281         * doc/posix-functions/utime.texi (utime): Remove reference to
54282         the module.  Move the sole "fixed by gnulib" item into the
54283         "problems not fixed by Gnulib" list.
54284         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
54286 2010-03-05  Simon Josefsson  <simon@josefsson.org>
54288         * modules/exit (License): Relax license to LGPLv2+.
54289         (Status): Mark as obsolete.
54290         * NEWS: Mention deprecated 'exit' module.
54291         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
54292         of now obsolete 'exit'.
54294 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54296         fts-lgpl: remove unused module
54297         * modules/fts-lgpl: Remove.
54298         * MODULES.html.sh (func_all_modules): Adjust.
54299         * check-module (find_included_lib_files): Adjust.
54300         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
54302 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
54304         copy-acl: enhance Solaris ACL error handling
54305         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
54306         * lib/set-mode-acl.c (qset_acl): Likewise.
54308 2010-03-02  Bruno Haible  <bruno@clisp.org>
54310         spawn: Don't override the system defined values on FreeBSD 8.
54311         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
54312         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
54313         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
54314         if HAVE_POSIX_SPAWN is 1.
54315         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
54317 2010-03-01  Bruno Haible  <bruno@clisp.org>
54319         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
54320         regarding Automake.
54322 2010-02-25  Bruno Haible  <bruno@clisp.org>
54324         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
54325         * gnulib-tool: Define 'echo' as a function only before the ksh alias
54326         setting, not afterwards.
54327         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
54329 2010-02-24  Eric Blake  <eblake@redhat.com>
54331         bootstrap, git-version-gen: use timestamp
54332         * build-aux/git-version-gen (scriptversion): Force UTC.
54333         * build-aux/bootstrap (scriptversion): New variable.
54335         bootstrap: allow older git
54336         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
54337         older than 1.6.4.  Requested by the libvirt project.
54339 2010-02-23  Eric Blake  <eblake@redhat.com>
54341         warn-on-use: work with old autoconf
54342         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
54343         AS_VAR semantics of autoconf 2.60.
54344         Reported by Bruno Haible.
54346         bootstrap: improve some comments
54347         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
54348         clarification comments.
54350         gettimeofday: provide correct function
54351         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
54352         when replacement is declared, otherwise provide gettimeofday.
54353         Reported by Michael Goffioul.
54355 2010-02-23  Jim Meyering  <meyering@redhat.com>
54357         lib-ignore: relax license to "unlimited", not LGPLv2+
54358         * modules/lib-ignore (License): Relax to "unlimited".
54360 2010-02-23  Jim Meyering  <meyering@redhat.com>
54362         lib-ignore: relax license to LGPLv2+
54363         * modules/lib-ignore (License): Relax to LGPLv2+.
54365 2010-02-22  Eric Blake  <eblake@redhat.com>
54367         lseek: avoid bash 3.2 broken pipe bug
54368         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
54369         warning from bash 3.2.
54370         Reported by Ben Pfaff, with analysis from Bruno Haible.
54372         bootstrap: support non-FSF copyright holder
54373         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
54374         bootstrap.conf override of COPYRIGHT_HOLDER.
54375         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
54377         bootstrap: interoperate with gettext 0.14.1
54378         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
54380         bootstrap: allow for alternate submodule location
54381         * build-aux/bootstrap (gnulib_path): New variable; use instead of
54382         hardcoding submodule location.
54383         (gnulib_mk): Allow direct use of Makefile.am.
54385         bootstrap: use GNULIB_SRCDIR to reduce disk usage
54386         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
54387         rather than reconfiguring where the submodule points.
54389         gettimeofday: restore support for platforms that lack function
54390         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
54391         replacement if function is missing.
54392         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
54393         * modules/sys_time (Makefile.am): Substitute it.
54394         * lib/sys_time.in.h (gettimeofday): Check it.
54395         Reported by Michael Goffioul.
54397 2010-02-21  Bruno Haible  <bruno@clisp.org>
54399         * lib/stdio.in.h (obstack_printf): Fix typo.
54401 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
54403         vc-list-files: use bzr ls's -R option
54404         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
54405         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
54407 2010-02-21  Jim Meyering  <meyering@redhat.com>
54409         init.sh: fix EXEEXT shims to work also for names like test-prog
54410         * tests/init.sh: Re-exec a better shell, when needed.
54411         If the current shell lacks support for posix $(...), an init.sh-using
54412         test will now try to find a shell that supports that.  If EXEEXT is
54413         nonempty, we also require support for hyphen-in-alias-name and shell
54414         substitutions like ${var#glob}.  Failure to find such a shell results
54415         in a skipped test.
54417 2010-02-21  Bruno Haible  <bruno@clisp.org>
54419         Really work around "broken pipe" error message from bash 3.2.
54420         * gnulib-tool (func_reset_sigpipe): Remove function.
54421         (echo): In bash 3.2, define to a function that uses printf.
54422         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
54424 2010-02-20  Bruno Haible  <bruno@clisp.org>
54426         Restore support for automake 1.9.6 with autoconf 2.61.
54427         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
54428         Reported by James Youngman <jay@gnu.org>.
54430 2010-02-20  Bruno Haible  <bruno@clisp.org>
54432         Improve *printf warning condition.
54433         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
54434         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
54435         and the function is overridden due to SIGPIPE emulation.
54437 2010-02-20  Bruno Haible  <bruno@clisp.org>
54439         * lib/stdio.in.h: Tweak comments.
54441 2010-02-19  Bruno Haible  <bruno@clisp.org>
54443         Make it easier to find modules. New gnulib-tool option '--find'.
54444         * gnulib-tool: New option --find.
54445         (func_usage): Document it.
54446         (func_sanitize_modulelist): New function, extracted from
54447         func_all_modules.
54448         (func_all_modules): Invoke it.
54449         * doc/gnulib-tool.texi (Which modules?): New node.
54451 2010-02-18  Markus Duft  <mduft@gentoo.org>  (tiny change)
54453         * lib/sys_select.in.h: Provide select replacement even if
54454         sys/select.h exists on a system, for Interix.
54456 2010-02-18  Jim Meyering  <meyering@redhat.com>
54458         init.sh: don't use $(...) just yet
54459         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
54460         to accommodate e.g., Solaris' /bin/sh.
54462 2010-02-17  Bruno Haible  <bruno@clisp.org>
54464         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
54465         Reported by Ludovic Courtès <ludo@gnu.org>.
54467 2010-02-16  Simon Josefsson  <simon@josefsson.org>
54469         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
54470         linking with -lintl.
54472 2010-02-17  Simon Josefsson  <simon@josefsson.org>
54474         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
54475         if not provided by the system's netdb.h.  Reported by
54476         ludo@gnu.org (Ludovic Courtès).
54478 2010-02-15  Jim Meyering  <meyering@redhat.com>
54480         init.sh: improve portability and efficiency
54481         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
54482         "dummy" in a for loop.
54483         Use '!', not '^' to select the complement of a character set used
54484         in a "case" statement.
54485         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
54486         Suggestions from Eric Blake.
54488         init.sh: automatically accommodate programs with the .exe suffix
54489         Automatically arrange for an invocation of "prog" to execute the
54490         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
54491         may use the simpler "prog", yet still work when built on a system
54492         that requires specifying the added suffix.
54493         Do this by constructing a function named "prog" that invokes
54494         "prog.exe" for each .exe file in selected directories.
54495         * tests/init.sh (find_exe_basenames_): New function.
54496         (create_exe_shim_functions_): New function.
54497         (path_prepend_): Use it.
54499         maint.mk: mark syntax-check sc_*.m rules as .PHONY
54500         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
54501         "make -t syntax-check" doesn't create a ton of sc_*.m files.
54503 2010-02-14  Jim Meyering  <meyering@redhat.com>
54505         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
54506         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
54507         (sc_prohibit_hash_pjw_without_use): New rule.
54509         maint.mk: allow the default upload destination dir to be overridden
54510         * top/maint.mk (upload_dest_dir_): Define with a default that
54511         preserves the status quo.
54512         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
54513         Reported by Peter Simons.
54515         maint.mk: prohibit inclusion of "hash.h" without_use
54516         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
54518 2010-02-10  Jim Meyering  <meyering@redhat.com>
54520         maint.mk: prohibit inclusion of "ignore-value.h" without_use
54521         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
54523 2010-02-09  Eric Blake  <ebb9@byu.net>
54524         and Bruno Haible  <bruno@clisp.org>
54526         obstack-printf-posix: ensure declaration
54527         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
54528         extracted from gl_FUNC_OBSTACK_PRINTF.
54529         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
54530         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
54531         Likewise.
54532         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
54533         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
54534         0.
54536 2010-02-08  Bruno Haible  <bruno@clisp.org>
54538         gnulib-tool: Fix typo in 2010-02-07 commit.
54539         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
54540         Reported by Eric Blake.
54542 2010-02-07  Bruno Haible  <bruno@clisp.org>
54544         gnulib-tool: Fix up caching patches.
54545         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
54546         option --no-cache. Use associative arrays when supported by the shell.
54547         (sed_comments): New variable.
54548         (modcache): Renamed from do_cache.
54549         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
54550         abbreviate unnecessarily.
54551         (have_associative): New variable.
54552         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
54553         way also for ksh and zsh.
54554         (func_init_sed_convert_to_cache_statements): New function, extracted
54555         from func_cache_lookup_module. Add support for associative arrays.
54556         Don't set the c_MODULE_cached variable here. Ignore all lines before
54557         the first field header. Remove only the final newline, not all trailing
54558         newlines. Support empty fields correctly. Limit the use of 'eval' to
54559         assignments.
54560         (func_get_description, func_get_status, func_get_notice,
54561         func_get_applicability, func_get_filelist, func_get_dependencies,
54562         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
54563         func_get_automake_snippet, func_get_include_directive,
54564         func_get_link_directive, func_get_license, func_get_maintainer):
54565         Update documentation. List the unoptimized code first. Add support for
54566         associative arrays. Limit the use of 'eval' to assignments.
54567         (func_get_applicability): Undo stylistic pessimisations.
54568         (func_get_automake_snippet, func_get_include_directive): Reduce code
54569         duplication.
54570         (func_modules_transitive_closure, func_modules_add_dummy,
54571         func_modules_notice, func_modules_to_filelist, func_add_file,
54572         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
54573         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
54574         func_create_testdir, func_create_megatestdir): Update documentation.
54576 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54578         * gnulib-tool (func_cache_lookup_module): Store the module name
54579         belonging to the cache variable; error out if two different
54580         module names map to the same cache variable name.
54582 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54584         gnulib-tool: Make caching optional.
54585         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
54586         Update matching short versions of --no-changelog.
54587         (func_usage): Update.
54588         (sed_extract_cache_prog): Renamed from ...
54589         (sed_extract_prog): ... this; revert to old extraction script.
54590         (func_get_description, func_get_status)
54591         (func_get_notice, func_get_applicability, func_get_filelist)
54592         (func_get_dependencies, func_get_autoconf_early_snippet)
54593         (func_get_autoconf_snippet, func_get_automake_snippet)
54594         (func_get_include_directive, func_get_link_directive)
54595         (func_get_license, func_get_maintainer): If $do_cache is false,
54596         use old, non-caching extraction scripts.
54597         Suggestion by Bruno Haible.
54599 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54601         gnulib-tool: cache module metainformation.
54602         * gnulib-tool (sed_extract_prog): Match newline before each
54603         header, and rewrite header to a shell variable suffix.
54604         (func_cache_var, func_cache_lookup_module): New functions,
54605         to turn a module name into a cache variable prefix, and to
54606         look up and cache module metainformation.
54607         (func_get_description, func_get_status)
54608         (func_get_notice, func_get_applicability, func_get_filelist)
54609         (func_get_dependencies, func_get_autoconf_early_snippet)
54610         (func_get_autoconf_snippet, func_get_automake_snippet)
54611         (func_get_include_directive, func_get_link_directive)
54612         (func_get_license, func_get_maintainer): Use
54613         func_cache_lookup_module.
54615 2010-02-07  Bruno Haible  <bruno@clisp.org>
54617         fnctl: Fix missing dependency.
54618         * modules/fcntl (Depends-on): Add getdtablesize.
54619         Reported by John W. Eaton <jwe@gnu.org>.
54621 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
54623         Argp: fix recognition of short alias options.
54625         * lib/argp-parse.c (convert_options): Fix improper use of
54626         `|' between character values.
54627         * tests/test-argp.c (group1_option): New alias option
54628         --read (-r).
54629         (group1_parser): Special handling for 'r'.
54630         (test15): New test case.
54631         (test_fun): Add test15.
54632         * tests/test-argp-2.sh: Update expected --help and --usage
54633         outputs.
54635 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
54637         * tests/test-argp.c: Fix indentation.
54639 2010-02-04  Eric Blake  <ebb9@byu.net>
54641         gettimeofday: expose type of second argument
54642         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
54643         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
54644         * tests/test-gettimeofday.c: Use it to silence warning.
54645         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
54646         the issue.
54648 2010-02-03  Jim Meyering  <meyering@redhat.com>
54650         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
54651         * lib/regcomp.c (TYPE_SIGNED): Define.
54652         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
54654         regcomp.c: avoid a new -Wshadow warning
54655         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
54657 2010-02-01  Jim Meyering  <meyering@redhat.com>
54659         removing useless parentheses in cpp #define directives
54660         For motivation, see commit c0221df4, "define STREQ(a,b)
54661         consistently, removing useless parentheses"
54662         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
54663         * lib/mountlist.c (MNT_IGNORE): Likewise.
54664         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
54666 2010-02-01  Eric Blake  <ebb9@byu.net>
54668         sys_time: use link-warning
54669         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
54670         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
54671         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
54672         * modules/sys_time (Depends-on): Add warn-on-use.
54673         (Makefile.am): Always build replacement.
54674         (configure.ac): Update substitutions.
54675         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
54676         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
54677         bother with SYS_TIME_H.
54678         * modules/gettimeofday (configure.ac): Declare indicator.
54679         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
54680         in use.
54682         closein-tests: silence compiler warning
54683         * tests/test-closein.c (main): Ignore fread result.
54684         * modules/closein-tests (Depends-on): Add ignore-value.
54686         tests: silence warning about system return
54687         * tests/test-areadlink-with-size.c (main): Ignore system result.
54688         * tests/test-areadlink.c (main): Likewise.
54689         * tests/test-areadlinkat-with-size.c (main): Likewise.
54690         * tests/test-areadlinkat.c (main): Likewise.
54691         * tests/test-canonicalize-lgpl.c (main): Likewise.
54692         * tests/test-canonicalize.c (main): Likewise.
54693         * tests/test-chown.c (main): Likewise.
54694         * tests/test-fchownat.c (main): Likewise.
54695         * tests/test-fdutimensat.c (main): Likewise.
54696         * tests/test-fstatat.c (main): Likewise.
54697         * tests/test-futimens.c (main): Likewise.
54698         * tests/test-lchown.c (main): Likewise.
54699         * tests/test-link.c (main): Likewise.
54700         * tests/test-linkat.c (main): Likewise.
54701         * tests/test-lstat.c (main): Likewise.
54702         * tests/test-mkdir.c (main): Likewise.
54703         * tests/test-mkdirat.c (main): Likewise.
54704         * tests/test-mkfifo.c (main): Likewise.
54705         * tests/test-mkfifoat.c (main): Likewise.
54706         * tests/test-mknod.c (main): Likewise.
54707         * tests/test-readlink.c (main): Likewise.
54708         * tests/test-remove.c (main): Likewise.
54709         * tests/test-rename.c (main): Likewise.
54710         * tests/test-renameat.c (main): Likewise.
54711         * tests/test-rmdir.c (main): Likewise.
54712         * tests/test-symlink.c (main): Likewise.
54713         * tests/test-symlinkat.c (main): Likewise.
54714         * tests/test-unlink.c (main): Likewise.
54715         * tests/test-unlinkat.c (main): Likewise.
54716         * tests/test-utimens.c (main): Likewise.
54717         * tests/test-utimensat.c (main): Likewise.
54718         * modules/areadlink-tests (Depends-on): Add ignore-value.
54719         * modules/areadlink-with-size-tests (Depends-on): Likewise.
54720         * modules/areadlinkat-tests (Depends-on): Likewise.
54721         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
54722         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
54723         * modules/canonicalize-tests (Depends-on): Likewise.
54724         * modules/chown-tests (Depends-on): Likewise.
54725         * modules/fdutimensat-tests (Depends-on): Likewise.
54726         * modules/futimens-tests (Depends-on): Likewise.
54727         * modules/lchown-tests (Depends-on): Likewise.
54728         * modules/link-tests (Depends-on): Likewise.
54729         * modules/linkat-tests (Depends-on): Likewise.
54730         * modules/lstat-tests (Depends-on): Likewise.
54731         * modules/mkdir-tests (Depends-on): Likewise.
54732         * modules/mkfifo-tests (Depends-on): Likewise.
54733         * modules/mkfifoat-tests (Depends-on): Likewise.
54734         * modules/mknod-tests (Depends-on): Likewise.
54735         * modules/openat-tests (Depends-on): Likewise.
54736         * modules/readlink-tests (Depends-on): Likewise.
54737         * modules/remove-tests (Depends-on): Likewise.
54738         * modules/rename-tests (Depends-on): Likewise.
54739         * modules/renameat-tests (Depends-on): Likewise.
54740         * modules/rmdir-tests (Depends-on): Likewise.
54741         * modules/symlink-tests (Depends-on): Likewise.
54742         * modules/symlinkat-tests (Depends-on): Likewise.
54743         * modules/unlink-tests (Depends-on): Likewise.
54744         * modules/utimens-tests (Depends-on): Likewise.
54745         * modules/utimensat-tests (Depends-on): Likewise.
54747 2010-01-31  Bruno Haible  <bruno@clisp.org>
54749         Perform the same test for many <math.h> functions.
54750         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
54751         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
54752         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
54753         of gl_MATHFUNC.
54754         * modules/acos (configure.ac): Likewise.
54755         * modules/asin (configure.ac): Likewise.
54756         * modules/atan (configure.ac): Likewise.
54757         * modules/atan2 (configure.ac): Likewise.
54758         * modules/cbrt (configure.ac): Likewise.
54759         * modules/copysign (configure.ac): Likewise.
54760         * modules/cos (configure.ac): Likewise.
54761         * modules/cosh (configure.ac): Likewise.
54762         * modules/erf (configure.ac): Likewise.
54763         * modules/erfc (configure.ac): Likewise.
54764         * modules/exp (configure.ac): Likewise.
54765         * modules/fmod (configure.ac): Likewise.
54766         * modules/hypot (configure.ac): Likewise.
54767         * modules/j0 (configure.ac): Likewise.
54768         * modules/j1 (configure.ac): Likewise.
54769         * modules/jn (configure.ac): Likewise.
54770         * modules/lgamma (configure.ac): Likewise.
54771         * modules/log (configure.ac): Likewise.
54772         * modules/log10 (configure.ac): Likewise.
54773         * modules/log1p (configure.ac): Likewise.
54774         * modules/pow (configure.ac): Likewise.
54775         * modules/remainder (configure.ac): Likewise.
54776         * modules/sin (configure.ac): Likewise.
54777         * modules/sinh (configure.ac): Likewise.
54778         * modules/tan (configure.ac): Likewise.
54779         * modules/tanh (configure.ac): Likewise.
54780         * modules/y0 (configure.ac): Likewise.
54781         * modules/y1 (configure.ac): Likewise.
54782         * modules/yn (configure.ac): Likewise.
54783         Suggested by Paolo Bonzini.
54785 2010-01-31  Bruno Haible  <bruno@clisp.org>
54787         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
54789 2010-01-31  Bruno Haible  <bruno@clisp.org>
54791         Work around getdelim() bug on FreeBSD 8.0.
54792         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
54793         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
54794         not work.
54795         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
54796         is 1.
54797         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
54798         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
54799         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
54800         a non-zero size.
54801         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
54803 2010-01-31  Bruno Haible  <bruno@clisp.org>
54805         Work around getline() bug on FreeBSD 8.0.
54806         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
54807         and a non-zero size.
54808         * tests/test-getline.c (main): Likewise.
54809         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
54810         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
54812 2010-01-28  Eric Blake  <ebb9@byu.net>
54814         regex: fix build failure
54815         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
54816         platforms.
54818 2010-01-28  Jim Meyering  <meyering@redhat.com>
54820         regex: do not ignore memory allocation failure
54821         * lib/regex_internal.c (create_cd_newstate): Detect
54822         re_node_set_init_copy failure.   Extracted from glibc commit
54823         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
54825         regex: sync more white-space changes from libc
54826         * lib/regex_internal.c: White-space only changes.
54827         * lib/regexec.c: Likewise.
54829         regex: add many uses of __attribute_warn_unused_result__
54830         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
54831         * lib/regexec.c: Likewise.
54832         Extracted from a messy glibc commit.
54834         regcomp.c: spelling and merge-artifact from glibc
54835         * lib/regcomp.c: Merge remainder of glibc's
54836         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
54838         regcomp.c: sync white-space changes from glibc
54839         * lib/regcomp.c: Merge to accommodate white space
54840         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
54842         regcomp.c: do not ignore internal return values
54843         * lib/regcomp.c: Do not ignore internal return values.
54844         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
54845         but without its white-space changes and spelling fixes.
54847         regex_internal.h: define __attribute_warn_unused_result__
54848         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
54850         maint: add a syntax-check rule to check for vulnerable Makefile.in
54851         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
54853 2010-01-27  Jim Meyering  <meyering@redhat.com>
54855         ncftpput-ftp: clean up spaces
54856         * build-aux/ncftpput-ftp: Make Copyright line consistent.
54857         Remove trailing blanks.
54859 2010-01-27  Simon Josefsson  <simon@josefsson.org>
54861         * build-aux/git-version-gen: Fix copyright statement.
54862         * build-aux/gnupload: Likewise.
54863         * tests/test-arcfour.c: Likewise.
54864         * tests/test-arctwo.c: Likewise.
54865         * tests/test-count-one-bits.c: Likewise.
54866         * tests/test-crc.c: Likewise.
54867         * tests/test-des.c: Likewise.
54868         * tests/test-gc-arcfour.c: Likewise.
54869         * tests/test-gc-arctwo.c: Likewise.
54870         * tests/test-gc-des.c: Likewise.
54871         * tests/test-gc-hmac-md5.c: Likewise.
54872         * tests/test-gc-hmac-sha1.c: Likewise.
54873         * tests/test-gc-md2.c: Likewise.
54874         * tests/test-gc-md4.c: Likewise.
54875         * tests/test-gc-md5.c: Likewise.
54876         * tests/test-gc-pbkdf2-sha1.c: Likewise.
54877         * tests/test-gc-rijndael.c: Likewise.
54878         * tests/test-gc-sha1.c: Likewise.
54879         * tests/test-gc.c: Likewise.
54880         * tests/test-gethostname.c: Likewise.
54881         * tests/test-gettimeofday.c: Likewise.
54882         * tests/test-hash.c: Likewise.
54883         * tests/test-hmac-md5.c: Likewise.
54884         * tests/test-hmac-sha1.c: Likewise.
54885         * tests/test-md2.c: Likewise.
54886         * tests/test-md4.c: Likewise.
54887         * tests/test-md5.c: Likewise.
54888         * tests/test-memchr.c: Likewise.
54889         * tests/test-memchr2.c: Likewise.
54890         * tests/test-memcmp.c: Likewise.
54891         * tests/test-memmem.c: Likewise.
54892         * tests/test-memrchr.c: Likewise.
54893         * tests/test-rawmemchr.c: Likewise.
54894         * tests/test-read-file.c: Likewise.
54895         * tests/test-rijndael.c: Likewise.
54896         * tests/test-sockets.c: Likewise.
54897         * tests/test-strchrnul.c: Likewise.
54898         * tests/test-strstr.c: Likewise.
54899         * tests/test-strtod.c: Likewise.
54900         * build-aux/ncftpput-ftp: Likewise.
54902 2010-01-26  Eric Blake  <ebb9@byu.net>
54904         ignore-value: update recommended header name
54905         * modules/ignore-value (Include): Only use <> for headers that
54906         exist in glibc.
54908 2010-01-26  Jim Meyering  <meyering@redhat.com>
54910         test-userspec.c: avoid compiler warnings
54911         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
54912         and "initialization discards qualifiers..." warnings.
54913         Put the first "uid" in its own scope, and make char* members "const".
54915 2010-01-25  Bruno Haible  <bruno@clisp.org>
54917         gnulib-tool: Make warning diagnostics consistent.
54918         * gnulib-tool (func_warning): New function.
54919         Use it everywhere where gnulib-tool produces output to stderr and it is
54920         not a fatal error.
54922 2010-01-25  Bruno Haible  <bruno@clisp.org>
54924         Fix test dependencies.
54925         * modules/xstrtol-tests (Depends-on): Add inttypes.
54926         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
54928 2010-01-25  Pádraig Brady  <P@draigBrady.com>
54930         syntax-check: detect incorrect boolean macro values in config.h
54931         * modules/maintainer-makefile (configure.ac): Parameterize the location
54932         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
54933         The logic is from Eric Blake and the location indicated by Jim Meyering.
54934         Note the more natural CONFIG_HEADER name is prohibited by automake
54935         for backwards compatibility reasons.
54936         * top/maint.mk (sc_Wundef_boolean): New rule.
54938 2010-01-25  Jim Meyering  <meyering@redhat.com>
54940         bootstrap: detect MacOS 10.6's shasum, too
54941         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
54942         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
54944 2010-01-23  Jim Meyering  <meyering@redhat.com>
54946         xstrtoll: new module
54947         * modules/xstrtoll: New file.
54948         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
54949         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
54950         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
54951         ./configure fails if you use this module and lack "long long".
54952         * modules/xstrtoll-tests: New module.
54953         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
54954         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
54955         new init.sh-based test framework.
54957 2010-01-24  Bruno Haible  <bruno@clisp.org>
54959         Tests for module 'yn'.
54960         * modules/yn-tests: New file.
54961         * tests/test-yn.c: New file.
54963         Tests for module 'y1'.
54964         * modules/y1-tests: New file.
54965         * tests/test-y1.c: New file.
54967         Tests for module 'y0'.
54968         * modules/y0-tests: New file.
54969         * tests/test-y0.c: New file.
54971         Tests for module 'tanh'.
54972         * modules/tanh-tests: New file.
54973         * tests/test-tanh.c: New file.
54975         Tests for module 'tan'.
54976         * modules/tan-tests: New file.
54977         * tests/test-tan.c: New file.
54979         Tests for module 'sqrt'.
54980         * modules/sqrt-tests: New file.
54981         * tests/test-sqrt.c: New file.
54983         Tests for module 'sinh'.
54984         * modules/sinh-tests: New file.
54985         * tests/test-sinh.c: New file.
54987         Tests for module 'sin'.
54988         * modules/sin-tests: New file.
54989         * tests/test-sin.c: New file.
54991         Tests for module 'rint'.
54992         * modules/rint-tests: New file.
54993         * tests/test-rint.c: New file.
54995         Tests for module 'remainder'.
54996         * modules/remainder-tests: New file.
54997         * tests/test-remainder.c: New file.
54999         Tests for module 'pow'.
55000         * modules/pow-tests: New file.
55001         * tests/test-pow.c: New file.
55003         Tests for module 'nextafter'.
55004         * modules/nextafter-tests: New file.
55005         * tests/test-nextafter.c: New file.
55007         Tests for module 'modf'.
55008         * modules/modf-tests: New file.
55009         * tests/test-modf.c: New file.
55011         Tests for module 'logb'.
55012         * modules/logb-tests: New file.
55013         * tests/test-logb.c: New file.
55015         Tests for module 'log1p'.
55016         * modules/log1p-tests: New file.
55017         * tests/test-log1p.c: New file.
55019         Tests for module 'log10'.
55020         * modules/log10-tests: New file.
55021         * tests/test-log10.c: New file.
55023         Tests for module 'log'.
55024         * modules/log-tests: New file.
55025         * tests/test-log.c: New file.
55027         Tests for module 'lgamma'.
55028         * modules/lgamma-tests: New file.
55029         * tests/test-lgamma.c: New file.
55031         Tests for module 'ldexp'.
55032         * modules/ldexp-tests: New file.
55033         * tests/test-ldexp.c: New file.
55035         Tests for module 'jn'.
55036         * modules/jn-tests: New file.
55037         * tests/test-jn.c: New file.
55039         Tests for module 'j1'.
55040         * modules/j1-tests: New file.
55041         * tests/test-j1.c: New file.
55043         Tests for module 'j0'.
55044         * modules/j0-tests: New file.
55045         * tests/test-j0.c: New file.
55047         Tests for module 'hypot'.
55048         * modules/hypot-tests: New file.
55049         * tests/test-hypot.c: New file.
55051         Tests for module 'fmod'.
55052         * modules/fmod-tests: New file.
55053         * tests/test-fmod.c: New file.
55055         Tests for module 'fabs'.
55056         * modules/fabs-tests: New file.
55057         * tests/test-fabs.c: New file.
55059         Tests for module 'exp'.
55060         * modules/exp-tests: New file.
55061         * tests/test-exp.c: New file.
55063         Tests for module 'erfc'.
55064         * modules/erfc-tests: New file.
55065         * tests/test-erfc.c: New file.
55067         Tests for module 'erf'.
55068         * modules/erf-tests: New file.
55069         * tests/test-erf.c: New file.
55071         Tests for module 'cosh'.
55072         * modules/cosh-tests: New file.
55073         * tests/test-cosh.c: New file.
55075         Tests for module 'cos'.
55076         * modules/cos-tests: New file.
55077         * tests/test-cos.c: New file.
55079         Tests for module 'copysign'.
55080         * modules/copysign-tests: New file.
55081         * tests/test-copysign.c: New file.
55083         Tests for module 'cbrt'.
55084         * modules/cbrt-tests: New file.
55085         * tests/test-cbrt.c: New file.
55087         Tests for module 'atan2'.
55088         * modules/atan2-tests: New file.
55089         * tests/test-atan2.c: New file.
55091         Tests for module 'atan'.
55092         * modules/atan-tests: New file.
55093         * tests/test-atan.c: New file.
55095         Tests for module 'asin'.
55096         * modules/asin-tests: New file.
55097         * tests/test-asin.c: New file.
55099         Tests for module 'acos'.
55100         * modules/acos-tests: New file.
55101         * tests/test-acos.c: New file.
55103 2010-01-24  Bruno Haible  <bruno@clisp.org>
55105         Fix tests for common <math.h> functions.
55106         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
55107         code snippet that references the function pointer, rather than merely
55108         calling the function. Substitute the FUNC_LIBM variable.
55109         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
55110         * modules/acos (configure.ac): Likewise.
55111         * modules/asin (configure.ac): Likewise.
55112         * modules/atan (configure.ac): Likewise.
55113         * modules/atan2 (configure.ac): Likewise.
55114         * modules/cbrt (configure.ac): Likewise.
55115         * modules/copysign (configure.ac): Likewise.
55116         * modules/cos (configure.ac): Likewise.
55117         * modules/cosh (configure.ac): Likewise.
55118         * modules/erf (configure.ac): Likewise.
55119         * modules/erfc (configure.ac): Likewise.
55120         * modules/exp (configure.ac): Likewise.
55121         * modules/fabs (configure.ac): Likewise.
55122         * modules/fmod (configure.ac): Likewise.
55123         * modules/hypot (configure.ac): Likewise.
55124         * modules/j0 (configure.ac): Likewise.
55125         * modules/j1 (configure.ac): Likewise.
55126         * modules/jn (configure.ac): Likewise.
55127         * modules/ldexp (configure.ac): Likewise.
55128         * modules/lgamma (configure.ac): Likewise.
55129         * modules/log (configure.ac): Likewise.
55130         * modules/log10 (configure.ac): Likewise.
55131         * modules/log1p (configure.ac): Likewise.
55132         * modules/logb (configure.ac): Likewise.
55133         * modules/modf (configure.ac): Likewise.
55134         * modules/nextafter (configure.ac): Likewise.
55135         * modules/pow (configure.ac): Likewise.
55136         * modules/remainder (configure.ac): Likewise.
55137         * modules/rint (configure.ac): Likewise.
55138         * modules/sin (configure.ac): Likewise.
55139         * modules/sinh (configure.ac): Likewise.
55140         * modules/tan (configure.ac): Likewise.
55141         * modules/tanh (configure.ac): Likewise.
55142         * modules/y0 (configure.ac): Likewise.
55143         * modules/y1 (configure.ac): Likewise.
55144         * modules/yn (configure.ac): Likewise.
55146 2010-01-24  Bruno Haible  <bruno@clisp.org>
55148         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
55149         * tests/test-acosl.c (x): New variable.
55150         (main): Store argument in x and fetch it from x.
55151         * tests/test-asinl.c (x): New variable.
55152         (main): Store argument in x and fetch it from x.
55153         * tests/test-atanl.c (x): New variable.
55154         (main): Store argument in x and fetch it from x.
55155         * tests/test-cosl.c (x): New variable.
55156         (main): Store argument in x and fetch it from x.
55157         * tests/test-expl.c (x): New variable.
55158         (main): Store argument in x and fetch it from x.
55159         * tests/test-logl.c (x): New variable.
55160         (main): Store argument in x and fetch it from x.
55161         * tests/test-sinl.c (x): New variable.
55162         (main): Store argument in x and fetch it from x.
55163         * tests/test-sqrtl.c (x): New variable.
55164         (main): Store argument in x and fetch it from x.
55165         * tests/test-tanl.c (x): New variable.
55166         (main): Store argument in x and fetch it from x.
55168 2010-01-24  Bruno Haible  <bruno@clisp.org>
55170         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
55171         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
55172         assignments to the initial TESTS_ENVIRONMENT.
55173         * doc/gnulib.texi (Unit test modules): Document it.
55174         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
55175         TESTS_ENVIRONMENT.
55176         * modules/btowc-tests (Makefile.am): Likewise.
55177         * modules/c-stack-tests (Makefile.am): Likewise.
55178         * modules/c-strcase-tests (Makefile.am): Likewise.
55179         * modules/copy-file-tests (Makefile.am): Likewise.
55180         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
55181         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
55182         * modules/mbrtowc-tests (Makefile.am): Likewise.
55183         * modules/mbscasecmp-tests (Makefile.am): Likewise.
55184         * modules/mbscasestr-tests (Makefile.am): Likewise.
55185         * modules/mbschr-tests (Makefile.am): Likewise.
55186         * modules/mbscspn-tests (Makefile.am): Likewise.
55187         * modules/mbsinit-tests (Makefile.am): Likewise.
55188         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
55189         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
55190         * modules/mbspbrk-tests (Makefile.am): Likewise.
55191         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
55192         * modules/mbsrchr-tests (Makefile.am): Likewise.
55193         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
55194         * modules/mbsspn-tests (Makefile.am): Likewise.
55195         * modules/mbsstr-tests (Makefile.am): Likewise.
55196         * modules/nl_langinfo-tests (Makefile.am): Likewise.
55197         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
55198         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
55199         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
55200         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
55201         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
55202         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
55203         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
55204         * modules/wcrtomb-tests (Makefile.am): Likewise.
55205         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
55206         * modules/wcsrtombs-tests (Makefile.am): Likewise.
55207         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
55208         assignments from TESTS_ENVIRONMENT.
55209         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
55210         augmentation.
55211         * modules/argp-version-etc-tests (Makefile.am): Likewise.
55212         * modules/atexit-tests (Makefile.am): Likewise.
55213         * modules/binary-io-tests (Makefile.am): Likewise.
55214         * modules/closein-tests (Makefile.am): Likewise.
55215         * modules/dprintf-posix-tests (Makefile.am): Likewise.
55216         * modules/exclude-tests (Makefile.am): Likewise.
55217         * modules/fflush-tests (Makefile.am): Likewise.
55218         * modules/fpending-tests (Makefile.am): Likewise.
55219         * modules/fprintf-posix-tests (Makefile.am): Likewise.
55220         * modules/freadahead-tests (Makefile.am): Likewise.
55221         * modules/freadptr-tests (Makefile.am): Likewise.
55222         * modules/freadseek-tests (Makefile.am): Likewise.
55223         * modules/fseek-tests (Makefile.am): Likewise.
55224         * modules/fseeko-tests (Makefile.am): Likewise.
55225         * modules/ftell-tests (Makefile.am): Likewise.
55226         * modules/ftello-tests (Makefile.am): Likewise.
55227         * modules/idpriv-drop-tests (Makefile.am): Likewise.
55228         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
55229         * modules/lseek-tests (Makefile.am): Likewise.
55230         * modules/parse-duration-tests (Makefile.am): Likewise.
55231         * modules/perror-tests (Makefile.am): Likewise.
55232         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
55233         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
55234         * modules/pipe-tests (Makefile.am): Likewise.
55235         * modules/pread-tests (Makefile.am): Likewise.
55236         * modules/printf-posix-tests (Makefile.am): Likewise.
55237         * modules/select-tests (Makefile.am): Likewise.
55238         * modules/sigpipe-tests (Makefile.am): Likewise.
55239         * modules/tsearch-tests (Makefile.am): Likewise.
55240         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
55241         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
55242         * modules/uniname/uniname-tests (Makefile.am): Likewise.
55243         * modules/uniwidth/width-tests (Makefile.am): Likewise.
55244         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
55245         * modules/version-etc-tests (Makefile.am): Likewise.
55246         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
55247         * modules/vprintf-posix-tests (Makefile.am): Likewise.
55248         * modules/xalloc-die-tests (Makefile.am): Likewise.
55249         * modules/xprintf-posix-tests (Makefile.am): Likewise.
55250         * modules/xstrtoimax-tests (Makefile.am): Likewise.
55251         * modules/xstrtol-tests (Makefile.am): Likewise.
55252         * modules/xstrtoumax-tests (Makefile.am): Likewise.
55253         * modules/yesno-tests (Makefile.am): Likewise.
55254         Suggested by Jim Meyering.
55256 2010-01-24  Bruno Haible  <bruno@clisp.org>
55258         More documentation.
55259         * doc/gnulib.texi (Writing modules): New chapter.
55260         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
55261         the new chapter.
55263 2010-01-24  Jim Meyering  <meyering@redhat.com>
55265         maint.mk: do not prepend "./" after filtering
55266         * top/maint.mk (_prepend_srcdir_prefix): New variable
55267         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
55268         "./" when $(srcdir) is ".".
55270         define STREQ(a,b) consistently, removing useless parentheses
55271         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
55272         since the only risk is that "a" or "b" contains an unparenthesized
55273         comma, but if either did that, STREQ would have 3 or more arguments.
55274         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
55275         * lib/fts.c (STREQ): Remove unnecessary parentheses.
55276         * lib/hash-triple.c (STREQ): Likewise.
55277         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
55278         * lib/getugroups.c (STREQ): Likewise.
55280 2010-01-23  Jim Meyering  <meyering@redhat.com>
55282         maint.mk: fix syntax-check in a non-srcdir build directory
55283         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
55284         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
55286 2010-01-22  Jim Meyering  <meyering@redhat.com>
55288         userspec: add unit tests
55289         * tests/test-userspec.c: New file.
55290         * modules/userspec-tests: Likewise.
55292 2010-01-21  Jim Meyering  <meyering@redhat.com>
55294         maint.mk: handle source file names containing "." robustly
55295         * top/maint.mk (_dot_escaped_srcdir): Define.
55296         (VC_LIST): Use it in LHS of sed substitution.
55298 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
55300         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
55301         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
55302         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
55303         from a non-srcdir build.
55305 2010-01-20  Eric Blake  <ebb9@byu.net>
55307         warn-on-use: use instead of link-warning
55308         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
55309         * modules/unistd (Depends-on, Makefile.am): Likewise.
55310         * modules/arpa_inet (Depends-on): Replace link-warning with
55311         warn-on-use.
55312         (Makefile.am): Update rules accordingly.
55313         * modules/ctype (Depends-on, Makefile.am): Likewise.
55314         * modules/dirent (Depends-on, Makefile.am): Likewise.
55315         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
55316         * modules/inttypes (Depends-on, Makefile.am): Likewise.
55317         * modules/langinfo (Depends-on, Makefile.am): Likewise.
55318         * modules/locale (Depends-on, Makefile.am): Likewise.
55319         * modules/math (Depends-on, Makefile.am): Likewise.
55320         * modules/search (Depends-on, Makefile.am): Likewise.
55321         * modules/signal (Depends-on, Makefile.am): Likewise.
55322         * modules/spawn (Depends-on, Makefile.am): Likewise.
55323         * modules/stdlib (Depends-on, Makefile.am): Likewise.
55324         * modules/string (Depends-on, Makefile.am): Likewise.
55325         * modules/strings (Depends-on, Makefile.am): Likewise.
55326         * modules/sys_file (Depends-on, Makefile.am): Likewise.
55327         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
55328         * modules/sys_select (Depends-on, Makefile.am): Likewise.
55329         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
55330         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
55331         * modules/sys_times (Depends-on, Makefile.am): Likewise.
55332         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
55333         * modules/wchar (Depends-on, Makefile.am): Likewise.
55334         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
55335         should be poisoned.
55336         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
55337         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
55338         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
55339         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
55340         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
55341         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
55342         * m4/math_h.m4 (gl_MATH_H): Likewise.
55343         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
55344         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
55345         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
55346         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
55347         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
55348         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
55349         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
55350         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
55351         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
55352         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
55353         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
55354         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
55355         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
55356         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
55357         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
55358         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
55359         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
55360         GL_LINK_WARNING.
55361         * lib/ctype.in.h: Likewise.
55362         * lib/dirent.in.h: Likewise.
55363         * lib/fcntl.in.h: Likewise.
55364         * lib/inttypes.in.h: Likewise.
55365         * lib/langinfo.in.h: Likewise.
55366         * lib/locale.in.h: Likewise.
55367         * lib/math.in.h: Likewise.
55368         * lib/search.in.h: Likewise.
55369         * lib/signal.in.h: Likewise.
55370         * lib/spawn.in.h: Likewise.
55371         * lib/stdio.in.h: Likewise.
55372         * lib/stdlib.in.h: Likewise.
55373         * lib/string.in.h: Likewise.
55374         * lib/strings.in.h: Likewise.
55375         * lib/sys_file.in.h: Likewise.
55376         * lib/sys_ioctl.in.h: Likewise.
55377         * lib/sys_select.in.h: Likewise.
55378         * lib/sys_socket.in.h: Likewise.
55379         * lib/sys_stat.in.h: Likewise.
55380         * lib/sys_times.in.h: Likewise.
55381         * lib/sys_utsname.in.h: Likewise.
55382         * lib/unistd.in.h: Likewise.
55383         * lib/wchar.in.h: Likewise.
55385 2010-01-20  Bruno Haible  <bruno@clisp.org>
55387         Avoid duplicate -lm.
55388         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
55389         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
55390         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
55391         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
55392         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
55393         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
55394         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
55395         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
55396         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
55397         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
55398         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
55399         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
55400         Reported by Paolo Bonzini.
55402 2010-01-19  Bruno Haible  <bruno@clisp.org>
55404         langinfo, nl_langinfo: Relicense under LGPLv2+.
55405         * modules/langinfo (License): Change to LGPLv2+.
55406         * modules/nl_langinfo (License): Likewise.
55407         Patch by David Lutterkort <lutter@redhat.com>.
55409 2010-01-19  Bruno Haible  <bruno@clisp.org>
55411         Avoid compilation error with cc on OSF/1 5.1.
55412         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
55413         statement, not before.
55414         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
55416 2010-01-18  Bruno Haible  <bruno@clisp.org>
55418         Avoid a link error due to the __printf__ symbol.
55419         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
55420         and 2.6.x.
55421         (__format__, __printf__): Remove definitions.
55422         * lib/argp-fmtstream.h: Likewise.
55423         * lib/argp.h: Likewise.
55424         * lib/error.h: Likewise.
55425         * lib/vasnprintf.h: Likewise.
55426         * lib/xprintf.h: Likewise.
55427         * lib/xvasprintf.h: Likewise.
55428         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
55430 2010-01-18  Bruno Haible  <bruno@clisp.org>
55432         Tests for module 'tanl'.
55433         * modules/tanl-tests: New file.
55434         * tests/test-tanl.c: New file.
55436         Tests for module 'sqrtl'.
55437         * modules/sqrtl-tests: New file.
55438         * tests/test-sqrtl.c: New file.
55440         Tests for module 'sinl'.
55441         * modules/sinl-tests: New file.
55442         * tests/test-sinl.c: New file.
55444         Tests for module 'logl'.
55445         * modules/logl-tests: New file.
55446         * tests/test-logl.c: New file.
55448         Tests for module 'expl'.
55449         * modules/expl-tests: New file.
55450         * tests/test-expl.c: New file.
55452         Tests for module 'cosl'.
55453         * modules/cosl-tests: New file.
55454         * tests/test-cosl.c: New file.
55456         Tests for module 'atanl'.
55457         * modules/atanl-tests: New file.
55458         * tests/test-atanl.c: New file.
55460         Tests for module 'asinl'.
55461         * modules/asinl-tests: New file.
55462         * tests/test-asinl.c: New file.
55464         Tests for module 'acosl'.
55465         * modules/acosl-tests: New file.
55466         * tests/test-acosl.c: New file.
55468         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
55469         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
55470         tanl): Use the standard gnulib idiom.
55471         * lib/cosl.c: Don't include trigl.c and sincosl.c.
55472         * lib/sinl.c: Likewise.
55473         * lib/tanl.c: Don't include trigl.c.
55474         (kernel_tanl): Make static.
55475         * lib/sincosl.c: Include trigl.h first.
55476         * lib/trigl.c: Likewise.
55477         * m4/acosl.m4: New file.
55478         * m4/asinl.m4: New file.
55479         * m4/atanl.m4: New file.
55480         * m4/cosl.m4: New file.
55481         * m4/expl.m4: New file.
55482         * m4/logl.m4: New file.
55483         * m4/sinl.m4: New file.
55484         * m4/sqrtl.m4: New file.
55485         * m4/tanl.m4: New file.
55486         * m4/mathl.m4: Remove file.
55487         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
55488         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
55489         Don't initialize GNULIB_MATHL.
55490         * modules/acosl: New file.
55491         * modules/asinl: New file.
55492         * modules/atanl: New file.
55493         * modules/cosl: New file.
55494         * modules/expl: New file.
55495         * modules/logl: New file.
55496         * modules/sinl: New file.
55497         * modules/sqrtl: New file.
55498         * modules/tanl: New file.
55499         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
55500         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
55501         substitute GNULIB_MATHL.
55502         * modules/mathl: Rewritten.
55503         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
55504         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
55505         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
55506         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
55507         * doc/posix-functions/expl.texi: Mention the 'expl' module.
55508         * doc/posix-functions/logl.texi: Mention the 'logl' module.
55509         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
55510         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
55511         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
55513 2010-01-18  Bruno Haible  <bruno@clisp.org>
55515         sqrt: Make gl_FUNC_SQRT requirable.
55516         * m4/sqrt.m4: New file.
55517         * modules/sqrt (Files): Add it.
55518         (configure.ac): Invoke gl_FUNC_SQRT.
55520 2010-01-18  Bruno Haible  <bruno@clisp.org>
55522         New modules for common <math.h> functions.
55523         * m4/mathfunc.m4: New file.
55524         * modules/acos: New file.
55525         * modules/asin: New file.
55526         * modules/atan: New file.
55527         * modules/atan2: New file.
55528         * modules/cbrt: New file.
55529         * modules/copysign: New file.
55530         * modules/cos: New file.
55531         * modules/cosh: New file.
55532         * modules/erf: New file.
55533         * modules/erfc: New file.
55534         * modules/exp: New file.
55535         * modules/fabs: New file.
55536         * modules/fmod: New file.
55537         * modules/hypot: New file.
55538         * modules/j0: New file.
55539         * modules/j1: New file.
55540         * modules/jn: New file.
55541         * modules/ldexp: New file.
55542         * modules/lgamma: New file.
55543         * modules/log: New file.
55544         * modules/log10: New file.
55545         * modules/log1p: New file.
55546         * modules/logb: New file.
55547         * modules/modf: New file.
55548         * modules/nextafter: New file.
55549         * modules/pow: New file.
55550         * modules/remainder: New file.
55551         * modules/rint: New file.
55552         * modules/sin: New file.
55553         * modules/sinh: New file.
55554         * modules/sqrt: New file.
55555         * modules/tan: New file.
55556         * modules/tanh: New file.
55557         * modules/y0: New file.
55558         * modules/y1: New file.
55559         * modules/yn: New file.
55560         * doc/posix-functions/acos.texi: Mention the 'acos' module.
55561         * doc/posix-functions/asin.texi: Mention the 'asin' module.
55562         * doc/posix-functions/atan.texi: Mention the 'atan' module.
55563         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
55564         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
55565         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
55566         * doc/posix-functions/cos.texi: Mention the 'cos' module.
55567         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
55568         * doc/posix-functions/erf.texi: Mention the 'erf' module.
55569         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
55570         * doc/posix-functions/exp.texi: Mention the 'exp' module.
55571         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
55572         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
55573         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
55574         * doc/posix-functions/j0.texi: Mention the 'j0' module.
55575         * doc/posix-functions/j1.texi: Mention the 'j1' module.
55576         * doc/posix-functions/jn.texi: Mention the 'jn' module.
55577         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
55578         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
55579         * doc/posix-functions/log.texi: Mention the 'log' module.
55580         * doc/posix-functions/log10.texi: Mention the 'log10' module.
55581         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
55582         * doc/posix-functions/logb.texi: Mention the 'logb' module.
55583         * doc/posix-functions/modf.texi: Mention the 'modf' module.
55584         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
55585         * doc/posix-functions/pow.texi: Mention the 'pow' module.
55586         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
55587         * doc/posix-functions/rint.texi: Mention the 'rint' module.
55588         * doc/posix-functions/sin.texi: Mention the 'sin' module.
55589         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
55590         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
55591         * doc/posix-functions/tan.texi: Mention the 'tan' module.
55592         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
55593         * doc/posix-functions/y0.texi: Mention the 'y0' module.
55594         * doc/posix-functions/y1.texi: Mention the 'y1' module.
55595         * doc/posix-functions/yn.texi: Mention the 'yn' module.
55597 2010-01-18  Jim Meyering  <meyering@redhat.com>
55599         ignore-value: relax license to LGPLv2+
55600         * modules/ignore-value (License): Relax to LGPLv2+.
55602         getdate: don't leak when TZ contains two or more '"'s
55603         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
55604         double quote in TZ after the first one.
55606         readtokens: do not leak internal token_lengths buffer
55607         * lib/readtokens.c (readtokens): Free the local, lengths,
55608         when the supplied "token_lengths" parameter is NULL.
55610 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55612         Fix a couple of missing LIBTHREAD link failures on AIX.
55613         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
55614         $(LIBTHREAD).
55615         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
55617         Link test-poll against INET_PTON_LIB.
55618         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
55619         for inet_pton on Solaris 10.
55621 2010-01-17  Bruno Haible  <bruno@clisp.org>
55623         unistdio/*-sprintf: Fix typo in module description.
55624         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
55625         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
55626         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
55627         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
55628         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
55629         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
55630         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
55631         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
55633 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55635         gnulib-tool: fix filelist for AIX, HP-UX ksh.
55636         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
55637         variables in shell case patterns, for AIX and HP-UX ksh.
55639         Split large sed scripts, for HP-UX sed.
55640         * modules/stdio: Split sed scripts around 50 sed commands,
55641         to avoid HP-UX limit of 99 commands, in the near future.
55642         * modules/string: Likewise.
55643         * modules/unistd: Likewise.
55645         gnulib-tool: avoid writing in the current directory.
55646         * gnulib-tool (func_emit_lib_Makefile_am)
55647         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
55648         not in the current directory, so concurrent gnulib-tool
55649         instances do not interfere.
55651 2010-01-16  Jim Meyering  <meyering@redhat.com>
55653         doc: update users.txt
55654         * users.txt: Add grep.
55655         (diffutils, gzip): Update URLs.
55657 2010-01-12  Bruno Haible  <bruno@clisp.org>
55659         posix_spawn: Avoid test failure on Cygwin.
55660         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
55661         characters.
55662         Reported by Simon Josefsson.
55664 2010-01-12  Bruno Haible  <bruno@clisp.org>
55666         * tests/test-cond.c (main): When skipping the test, show the reason.
55668 2010-01-12  Simon Josefsson  <simon@josefsson.org>
55670         * lib/striconv.c (str_cd_iconv): Avoid if before free.
55672 2010-01-12  Simon Josefsson  <simon@josefsson.org>
55674         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
55675         VC_LIST_ALWAYS_EXCLUDE_REGEX.
55677 2010-01-12  Eric Blake  <ebb9@byu.net>
55679         build: guarantee AS_VAR_IF
55680         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
55681         (gl_AS_VAR_IF): Move...
55682         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
55683         Reported by Simon Josefsson.
55685 2010-01-12  Simon Josefsson  <simon@josefsson.org>
55687         * lib/stdio.in.h: Fix typo.
55689 2010-01-12  Simon Josefsson  <simon@josefsson.org>
55691         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
55692         libgpg-error.
55694 2010-01-12  Simon Josefsson  <simon@josefsson.org>
55696         * tests/test-xalloc-die.sh: Use $EXEEXT.
55698 2010-01-12  Simon Josefsson  <simon@josefsson.org>
55699             Bruno Haible  <bruno@clisp.org>
55701         getlogin, getlogin_r: Avoid test failure.
55702         * tests/test-getlogin.c: Include <stdio.h>.
55703         (main): Skip the test when the function fails because stdin is not a
55704         tty.
55705         * tests/test-getlogin_r.c: Include <stdio.h>.
55706         (main): Skip the test when the function fails because stdin is not a
55707         tty.
55709 2010-01-11  Eric Blake  <ebb9@byu.net>
55711         tests: avoid more large file warnings
55712         * tests/test-fflush.c: Avoid warning about ftell use.
55713         * tests/test-fseek.c: Avoid warning about fseek use.
55715 2010-01-10  Bruno Haible  <bruno@clisp.org>
55717         nproc: Work better on Linux when /proc and /sys are not mounted.
55718         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
55719         as lower bound when, on glibc/Linux systems,
55720         sysconf (_SC_NPROCESSORS_CONF) returns 1.
55721         Suggested by Pádraig Brady <P@draigbrady.com>.
55722         Reported by Dmitry V. Levin <ldv@altlinux.org>.
55724         nproc: Refactor.
55725         * lib/nproc.c (num_processors_via_affinity_mask): New function,
55726         extracted from num_processors.
55727         (num_processors): Call it.
55729 2010-01-11  Jim Meyering  <meyering@redhat.com>
55731         utimecmp: avoid new warning from upcoming gcc-4.5.0
55732         * lib/utimecmp.c (BILLION): Define using #define rather than an
55733         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
55735 2010-01-11  Eric Blake  <ebb9@byu.net>
55737         math: add portability warnings for classification macros
55738         * modules/math (Depends-on): Add warn-on-use.
55739         (Makefile.am): Provide new substitutions.
55740         * m4/math_h.m4 (gl_MATH_H): Require inline.
55741         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
55742         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
55743         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
55744         implement warnings.
55746         unistd: warn on use of environ without module
55747         * modules/unistd (Depends-on): Add warn-on-use.
55748         (Makefile.am): Provide new substitutions.
55749         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
55750         * lib/unistd.in.h (environ): Wrap with a warning helper function.
55752         stdio: warn on suspicious uses
55753         * modules/stdio (Depends-on): Add warn-on-use.
55754         (Makefile.am): Provide new substitutions.
55755         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
55756         fseeko.
55757         * lib/stdio.in.h (gets): Always warn on use.
55758         (fseek, ftell): Adjust when warnings are issued, and honor
55759         _GL_NO_LARGE_FILES as a way to silence the warning.
55760         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
55761         any warning about large file offsets.
55762         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
55763         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
55764         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
55765         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
55766         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
55767         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
55768         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
55769         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
55771         warn-on-use: new module
55772         * modules/warn-on-use: New file.
55773         * build-aux/warn-on-use.h: Likewise.
55774         * m4/warn-on-use.m4: Likewise.
55775         * MODULES.html.sh (Support for building): Mention it.
55777 2010-01-10  Bruno Haible  <bruno@clisp.org>
55779         Tests for module 'unistr/u32-strdup'.
55780         * modules/unistr/u32-strdup-tests: New file.
55781         * tests/unistr/test-u32-strdup.c: New file.
55783         Tests for module 'unistr/u16-strdup'.
55784         * modules/unistr/u16-strdup-tests: New file.
55785         * tests/unistr/test-u16-strdup.c: New file.
55787         Tests for module 'unistr/u8-strdup'.
55788         * modules/unistr/u8-strdup-tests: New file.
55789         * tests/unistr/test-u8-strdup.c: New file.
55790         * tests/unistr/test-strdup.h: New file.
55792         Tests for module 'unistr/u32-strncmp'.
55793         * modules/unistr/u32-strncmp-tests: New file.
55794         * tests/unistr/test-u32-strncmp.c: New file.
55796         Tests for module 'unistr/u16-strncmp'.
55797         * modules/unistr/u16-strncmp-tests: New file.
55798         * tests/unistr/test-u16-strncmp.c: New file.
55800         Tests for module 'unistr/u8-strncmp'.
55801         * modules/unistr/u8-strncmp-tests: New file.
55802         * tests/unistr/test-u8-strncmp.c: New file.
55803         * tests/unistr/test-strncmp.h: New file.
55805         Tests for module 'unistr/u32-strcoll'.
55806         * modules/unistr/u32-strcoll-tests: New file.
55807         * tests/unistr/test-u32-strcoll.c: New file.
55809         Tests for module 'unistr/u16-strcoll'.
55810         * modules/unistr/u16-strcoll-tests: New file.
55811         * tests/unistr/test-u16-strcoll.c: New file.
55813         Tests for module 'unistr/u8-strcoll'.
55814         * modules/unistr/u8-strcoll-tests: New file.
55815         * tests/unistr/test-u8-strcoll.c: New file.
55817         Tests for module 'unistr/u32-strcmp'.
55818         * modules/unistr/u32-strcmp-tests: New file.
55819         * tests/unistr/test-u32-strcmp.c: New file.
55820         * tests/unistr/test-u32-strcmp.h: New file.
55822         Tests for module 'unistr/u16-strcmp'.
55823         * modules/unistr/u16-strcmp-tests: New file.
55824         * tests/unistr/test-u16-strcmp.c: New file.
55825         * tests/unistr/test-u16-strcmp.h: New file.
55827         Tests for module 'unistr/u8-strcmp'.
55828         * modules/unistr/u8-strcmp-tests: New file.
55829         * tests/unistr/test-u8-strcmp.c: New file.
55830         * tests/unistr/test-u8-strcmp.h: New file.
55831         * tests/unistr/test-strcmp.h: New file.
55833         Tests for module 'unistr/u32-strncat'.
55834         * modules/unistr/u32-strncat-tests: New file.
55835         * tests/unistr/test-u32-strncat.c: New file.
55837         Tests for module 'unistr/u16-strncat'.
55838         * modules/unistr/u16-strncat-tests: New file.
55839         * tests/unistr/test-u16-strncat.c: New file.
55841         Tests for module 'unistr/u8-strncat'.
55842         * modules/unistr/u8-strncat-tests: New file.
55843         * tests/unistr/test-u8-strncat.c: New file.
55844         * tests/unistr/test-strncat.h: New file.
55846         Tests for module 'unistr/u32-strcat'.
55847         * modules/unistr/u32-strcat-tests: New file.
55848         * tests/unistr/test-u32-strcat.c: New file.
55850         Tests for module 'unistr/u16-strcat'.
55851         * modules/unistr/u16-strcat-tests: New file.
55852         * tests/unistr/test-u16-strcat.c: New file.
55854         Tests for module 'unistr/u8-strcat'.
55855         * modules/unistr/u8-strcat-tests: New file.
55856         * tests/unistr/test-u8-strcat.c: New file.
55857         * tests/unistr/test-strcat.h: New file.
55859         Tests for module 'unistr/u32-stpncpy'.
55860         * modules/unistr/u32-stpncpy-tests: New file.
55861         * tests/unistr/test-u32-stpncpy.c: New file.
55863         Tests for module 'unistr/u16-stpncpy'.
55864         * modules/unistr/u16-stpncpy-tests: New file.
55865         * tests/unistr/test-u16-stpncpy.c: New file.
55867         Tests for module 'unistr/u8-stpncpy'.
55868         * modules/unistr/u8-stpncpy-tests: New file.
55869         * tests/unistr/test-u8-stpncpy.c: New file.
55870         * tests/unistr/test-stpncpy.h: New file.
55872         Tests for module 'unistr/u32-strncpy'.
55873         * modules/unistr/u32-strncpy-tests: New file.
55874         * tests/unistr/test-u32-strncpy.c: New file.
55876         Tests for module 'unistr/u16-strncpy'.
55877         * modules/unistr/u16-strncpy-tests: New file.
55878         * tests/unistr/test-u16-strncpy.c: New file.
55880         Tests for module 'unistr/u8-strncpy'.
55881         * modules/unistr/u8-strncpy-tests: New file.
55882         * tests/unistr/test-u8-strncpy.c: New file.
55883         * tests/unistr/test-strncpy.h: New file.
55885         Tests for module 'unistr/u32-stpcpy'.
55886         * modules/unistr/u32-stpcpy-tests: New file.
55887         * tests/unistr/test-u32-stpcpy.c: New file.
55889         Tests for module 'unistr/u16-stpcpy'.
55890         * modules/unistr/u16-stpcpy-tests: New file.
55891         * tests/unistr/test-u16-stpcpy.c: New file.
55893         Tests for module 'unistr/u8-stpcpy'.
55894         * modules/unistr/u8-stpcpy-tests: New file.
55895         * tests/unistr/test-u8-stpcpy.c: New file.
55896         * tests/unistr/test-stpcpy.h: New file.
55898         Tests for module 'unistr/u32-strcpy'.
55899         * modules/unistr/u32-strcpy-tests: New file.
55900         * tests/unistr/test-u32-strcpy.c: New file.
55902         Tests for module 'unistr/u16-strcpy'.
55903         * modules/unistr/u16-strcpy-tests: New file.
55904         * tests/unistr/test-u16-strcpy.c: New file.
55906         Tests for module 'unistr/u8-strcpy'.
55907         * modules/unistr/u8-strcpy-tests: New file.
55908         * tests/unistr/test-u8-strcpy.c: New file.
55909         * tests/unistr/test-strcpy.h: New file.
55911         Tests for module 'unistr/u32-strnlen'.
55912         * modules/unistr/u32-strnlen-tests: New file.
55913         * tests/unistr/test-u32-strnlen.c: New file.
55915         Tests for module 'unistr/u16-strnlen'.
55916         * modules/unistr/u16-strnlen-tests: New file.
55917         * tests/unistr/test-u16-strnlen.c: New file.
55919         Tests for module 'unistr/u8-strnlen'.
55920         * modules/unistr/u8-strnlen-tests: New file.
55921         * tests/unistr/test-u8-strnlen.c: New file.
55922         * tests/unistr/test-strnlen.h: New file.
55924         Tests for module 'unistr/u32-strlen'.
55925         * modules/unistr/u32-strlen-tests: New file.
55926         * tests/unistr/test-u32-strlen.c: New file.
55928         Tests for module 'unistr/u16-strlen'.
55929         * modules/unistr/u16-strlen-tests: New file.
55930         * tests/unistr/test-u16-strlen.c: New file.
55932         Tests for module 'unistr/u8-strlen'.
55933         * modules/unistr/u8-strlen-tests: New file.
55934         * tests/unistr/test-u8-strlen.c: New file.
55936         Tests for module 'unistr/u32-prev'.
55937         * modules/unistr/u32-prev-tests: New file.
55938         * tests/unistr/test-u32-prev.c: New file.
55940         Tests for module 'unistr/u16-prev'.
55941         * modules/unistr/u16-prev-tests: New file.
55942         * tests/unistr/test-u16-prev.c: New file.
55944         Tests for module 'unistr/u8-prev'.
55945         * modules/unistr/u8-prev-tests: New file.
55946         * tests/unistr/test-u8-prev.c: New file.
55948         Tests for module 'unistr/u32-next'.
55949         * modules/unistr/u32-next-tests: New file.
55950         * tests/unistr/test-u32-next.c: New file.
55952         Tests for module 'unistr/u16-next'.
55953         * modules/unistr/u16-next-tests: New file.
55954         * tests/unistr/test-u16-next.c: New file.
55956         Tests for module 'unistr/u8-next'.
55957         * modules/unistr/u8-next-tests: New file.
55958         * tests/unistr/test-u8-next.c: New file.
55960         Tests for module 'unistr/u32-strmbtouc'.
55961         * modules/unistr/u32-strmbtouc-tests: New file.
55962         * tests/unistr/test-u32-strmbtouc.c: New file.
55964         Tests for module 'unistr/u16-strmbtouc'.
55965         * modules/unistr/u16-strmbtouc-tests: New file.
55966         * tests/unistr/test-u16-strmbtouc.c: New file.
55968         Tests for module 'unistr/u8-strmbtouc'.
55969         * modules/unistr/u8-strmbtouc-tests: New file.
55970         * tests/unistr/test-u8-strmbtouc.c: New file.
55972         Tests for module 'unistr/u32-strmblen'.
55973         * modules/unistr/u32-strmblen-tests: New file.
55974         * tests/unistr/test-u32-strmblen.c: New file.
55976         Tests for module 'unistr/u16-strmblen'.
55977         * modules/unistr/u16-strmblen-tests: New file.
55978         * tests/unistr/test-u16-strmblen.c: New file.
55980         Tests for module 'unistr/u8-strmblen'.
55981         * modules/unistr/u8-strmblen-tests: New file.
55982         * tests/unistr/test-u8-strmblen.c: New file.
55984         Tests for module 'unistr/u32-cpy-alloc'.
55985         * modules/unistr/u32-cpy-alloc-tests: New file.
55986         * tests/unistr/test-u32-cpy-alloc.c: New file.
55988         Tests for module 'unistr/u16-cpy-alloc'.
55989         * modules/unistr/u16-cpy-alloc-tests: New file.
55990         * tests/unistr/test-u16-cpy-alloc.c: New file.
55992         Tests for module 'unistr/u8-cpy-alloc'.
55993         * modules/unistr/u8-cpy-alloc-tests: New file.
55994         * tests/unistr/test-u8-cpy-alloc.c: New file.
55995         * tests/unistr/test-cpy-alloc.h: New file.
55997         Tests for module 'unistr/u32-mbsnlen'.
55998         * modules/unistr/u32-mbsnlen-tests: New file.
55999         * tests/unistr/test-u32-mbsnlen.c: New file.
56001         Tests for module 'unistr/u16-mbsnlen'.
56002         * modules/unistr/u16-mbsnlen-tests: New file.
56003         * tests/unistr/test-u16-mbsnlen.c: New file.
56005         Tests for module 'unistr/u8-mbsnlen'.
56006         * modules/unistr/u8-mbsnlen-tests: New file.
56007         * tests/unistr/test-u8-mbsnlen.c: New file.
56009         Tests for module 'unistr/u32-chr'.
56010         * modules/unistr/u32-chr-tests: New file.
56011         * tests/unistr/test-u32-chr.c: New file.
56013         Tests for module 'unistr/u16-chr'.
56014         * modules/unistr/u16-chr-tests: New file.
56015         * tests/unistr/test-u16-chr.c: New file.
56017         Tests for module 'unistr/u8-chr'.
56018         * modules/unistr/u8-chr-tests: New file.
56019         * tests/unistr/test-u8-chr.c: New file.
56020         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
56022         Tests for module 'unistr/u32-cmp2'.
56023         * modules/unistr/u32-cmp2-tests: New file.
56024         * tests/unistr/test-u32-cmp2.c: New file.
56026         Tests for module 'unistr/u16-cmp2'.
56027         * modules/unistr/u16-cmp2-tests: New file.
56028         * tests/unistr/test-u16-cmp2.c: New file.
56030         Tests for module 'unistr/u8-cmp2'.
56031         * modules/unistr/u8-cmp2-tests: New file.
56032         * tests/unistr/test-u8-cmp2.c: New file.
56033         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
56035         Tests for module 'unistr/u32-cmp'.
56036         * modules/unistr/u32-cmp-tests: New file.
56037         * tests/unistr/test-u32-cmp.c: New file.
56039         Tests for module 'unistr/u16-cmp'.
56040         * modules/unistr/u16-cmp-tests: New file.
56041         * tests/unistr/test-u16-cmp.c: New file.
56043         Tests for module 'unistr/u8-cmp'.
56044         * modules/unistr/u8-cmp-tests: New file.
56045         * tests/unistr/test-u8-cmp.c: New file.
56046         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
56048         Tests for module 'unistr/u32-set'.
56049         * modules/unistr/u32-set-tests: New file.
56050         * tests/unistr/test-u32-set.c: New file.
56052         Tests for module 'unistr/u16-set'.
56053         * modules/unistr/u16-set-tests: New file.
56054         * tests/unistr/test-u16-set.c: New file.
56056         Tests for module 'unistr/u8-set'.
56057         * modules/unistr/u8-set-tests: New file.
56058         * tests/unistr/test-u8-set.c: New file.
56059         * tests/unistr/test-set.h: New file.
56061         Tests for module 'unistr/u32-move'.
56062         * modules/unistr/u32-move-tests: New file.
56063         * tests/unistr/test-u32-move.c: New file.
56065         Tests for module 'unistr/u16-move'.
56066         * modules/unistr/u16-move-tests: New file.
56067         * tests/unistr/test-u16-move.c: New file.
56069         Tests for module 'unistr/u8-move'.
56070         * modules/unistr/u8-move-tests: New file.
56071         * tests/unistr/test-u8-move.c: New file.
56072         * tests/unistr/test-move.h: New file.
56074         Tests for module 'unistr/u32-cpy'.
56075         * modules/unistr/u32-cpy-tests: New file.
56076         * tests/unistr/test-u32-cpy.c: New file.
56078         Tests for module 'unistr/u16-cpy'.
56079         * modules/unistr/u16-cpy-tests: New file.
56080         * tests/unistr/test-u16-cpy.c: New file.
56082         Tests for module 'unistr/u8-cpy'.
56083         * modules/unistr/u8-cpy-tests: New file.
56084         * tests/unistr/test-u8-cpy.c: New file.
56085         * tests/unistr/test-cpy.h: New file.
56087 2010-01-09  Bruno Haible  <bruno@clisp.org>
56089         Tests for module 'unistr/u32-uctomb'.
56090         * modules/unistr/u32-uctomb-tests: New file.
56091         * tests/unistr/test-u32-uctomb.c: New file.
56093         Tests for module 'unistr/u16-uctomb'.
56094         * modules/unistr/u16-uctomb-tests: New file.
56095         * tests/unistr/test-u16-uctomb.c: New file.
56097         Tests for module 'unistr/u8-uctomb'.
56098         * modules/unistr/u8-uctomb-tests: New file.
56099         * tests/unistr/test-u8-uctomb.c: New file.
56101         Tests for module 'unistr/u32-mbtoucr'.
56102         * modules/unistr/u32-mbtoucr-tests: New file.
56103         * tests/unistr/test-u32-mbtoucr.c: New file.
56105         Tests for module 'unistr/u16-mbtoucr'.
56106         * modules/unistr/u16-mbtoucr-tests: New file.
56107         * tests/unistr/test-u16-mbtoucr.c: New file.
56109         Tests for module 'unistr/u8-mbtoucr'.
56110         * modules/unistr/u8-mbtoucr-tests: New file.
56111         * tests/unistr/test-u8-mbtoucr.c: New file.
56113         Tests for module 'unistr/u32-mbtouc'.
56114         * modules/unistr/u32-mbtouc-tests: New file.
56115         * tests/unistr/test-u32-mbtouc.c: New file.
56117         Tests for module 'unistr/u16-mbtouc'.
56118         * modules/unistr/u16-mbtouc-tests: New file.
56119         * tests/unistr/test-u16-mbtouc.c: New file.
56121         Tests for module 'unistr/u8-mbtouc'.
56122         * modules/unistr/u8-mbtouc-tests: New file.
56123         * tests/unistr/test-u8-mbtouc.c: New file.
56125         Tests for module 'unistr/u32-mbtouc-unsafe'.
56126         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
56127         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
56128         * tests/unistr/test-u32-mbtouc.h: New file.
56130         Tests for module 'unistr/u16-mbtouc-unsafe'.
56131         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
56132         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
56133         * tests/unistr/test-u16-mbtouc.h: New file.
56135         Tests for module 'unistr/u8-mbtouc-unsafe'.
56136         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
56137         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
56138         * tests/unistr/test-u8-mbtouc.h: New file.
56140         Tests for module 'unistr/u32-mblen'.
56141         * modules/unistr/u32-mblen-tests: New file.
56142         * tests/unistr/test-u32-mblen.c: New file.
56144         Tests for module 'unistr/u16-mblen'.
56145         * modules/unistr/u16-mblen-tests: New file.
56146         * tests/unistr/test-u16-mblen.c: New file.
56148         Tests for module 'unistr/u8-mblen'.
56149         * modules/unistr/u8-mblen-tests: New file.
56150         * tests/unistr/test-u8-mblen.c: New file.
56152         Tests for module 'unistr/u32-to-u16'.
56153         * modules/unistr/u32-to-u16-tests: New file.
56154         * tests/unistr/test-u32-to-u16.c: New file.
56156         Tests for module 'unistr/u32-to-u8'.
56157         * modules/unistr/u32-to-u8-tests: New file.
56158         * tests/unistr/test-u32-to-u8.c: New file.
56160         Tests for module 'unistr/u16-to-u32'.
56161         * modules/unistr/u16-to-u32-tests: New file.
56162         * tests/unistr/test-u16-to-u32.c: New file.
56164         Tests for module 'unistr/u16-to-u8'.
56165         * modules/unistr/u16-to-u8-tests: New file.
56166         * tests/unistr/test-u16-to-u8.c: New file.
56168         Tests for module 'unistr/u8-to-u32'.
56169         * modules/unistr/u8-to-u32-tests: New file.
56170         * tests/unistr/test-u8-to-u32.c: New file.
56172         Tests for module 'unistr/u8-to-u16'.
56173         * modules/unistr/u8-to-u16-tests: New file.
56174         * tests/unistr/test-u8-to-u16.c: New file.
56176         Tests for module 'unistr/u32-check'.
56177         * modules/unistr/u32-check-tests: New file.
56178         * tests/unistr/test-u32-check.c: New file.
56180         Tests for module 'unistr/u16-check'.
56181         * modules/unistr/u16-check-tests: New file.
56182         * tests/unistr/test-u16-check.c: New file.
56184         Tests for module 'unistr/u8-check'.
56185         * modules/unistr/u8-check-tests: New file.
56186         * tests/unistr/test-u8-check.c: New file.
56188         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
56189         (category_equals): New function.
56190         (main): Add more tests.
56191         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
56193         * tests/unictype/test-bidi_byname.c (main): Add more tests.
56195 2010-01-10  Bruno Haible  <bruno@clisp.org>
56197         unistr/u*-strcoll: Try harder to distinguish different strings.
56198         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
56199         compare s1 and s2 to see if they are different.
56201 2010-01-10  Bruno Haible  <bruno@clisp.org>
56203         unistr/u*-stpncpy: Fix the return value.
56204         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
56205         description of the return value consistent with stpncpy in glibc.
56206         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
56207         written non-NUL unit.
56209 2010-01-10  Bruno Haible  <bruno@clisp.org>
56211         unistr/u*-next: Add missing dependencies.
56212         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
56213         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
56214         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
56216 2010-01-10  Bruno Haible  <bruno@clisp.org>
56218         unistr/u8-mbsnlen: Fix return value for incomplete character.
56219         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
56220         u8_mblen.
56221         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
56222         Remove unistr/u8-mblen.
56223         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
56224         u16_mblen.
56225         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
56226         Remove unistr/u16-mblen.
56228 2010-01-10  Bruno Haible  <bruno@clisp.org>
56230         wchar: Fix compilation error when <wchar.h> is used from coreutils.
56231         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
56232         Reported by Brian Gough <bjg@gnu.org> and
56233         Chris Clayton <chris2553@googlemail.com> via
56234         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
56236 2010-01-09  Bruno Haible  <bruno@clisp.org>
56238         unistr/u16-to-u32: Reject invalid input.
56239         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
56240         u16_mbtouc.
56241         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
56242         Remove unistr/u16-mbtouc.
56244         unistr/u16-to-u8: Reject invalid input.
56245         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
56246         u16_mbtouc.
56247         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
56248         Remove unistr/u16-mbtouc.
56250         unistr/u8-to-u32: Reject invalid input.
56251         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
56252         u8_mbtouc.
56253         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
56254         Remove unistr/u8-mbtouc.
56256         unistr/u8-to-u16: Reject invalid input.
56257         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
56258         u8_mbtouc.
56259         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
56260         Remove unistr/u8-mbtouc.
56262 2010-01-09  Bruno Haible  <bruno@clisp.org>
56264         Tests for module 'getlogin'.
56265         * modules/getlogin-tests: New file.
56266         * tests/test-getlogin.c: New file.
56268         New module 'getlogin'.
56269         * lib/unistd.in.h (getlogin): New declaration.
56270         * lib/getlogin.c: New file.
56271         * m4/getlogin.m4: New file.
56272         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
56273         HAVE_GETLOGIN.
56274         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
56275         HAVE_GETLOGIN.
56276         * modules/getlogin: New file.
56277         * doc/posix-functions/getlogin.texi: Mention the new module.
56278         Reported by John W. Eaton <jwe@gnu.org>.
56280 2010-01-09  Bruno Haible  <bruno@clisp.org>
56282         getlogin_r: Support for native Windows.
56283         * lib/getlogin_r.c: Include <windows.h>
56284         (getlogin_r): Implement for native Windows.
56285         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
56286         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
56287         via John W. Eaton <jwe@gnu.org>.
56289 2010-01-09  Bruno Haible  <bruno@clisp.org>
56291         getlogin_r: Small fixes.
56292         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
56293         succeeds.
56294         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
56295         before testing whether getlogin_r is declared. No need to set
56296         HAVE_DECL_GETLOGIN_R to 1.
56297         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
56299 2010-01-09  Bruno Haible  <bruno@clisp.org>
56301         * lib/unistd.in.h (getlogin_r): Add comment.
56303 2010-01-09  Bruno Haible  <bruno@clisp.org>
56305         Tests for module 'getlogin_r'.
56306         * modules/getlogin_r-tests: New file.
56307         * tests/test-getlogin_r.c: New file.
56309 2010-01-09  Jim Meyering  <meyering@redhat.com>
56311         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
56312         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
56313         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
56315 2010-01-08  Simon Josefsson  <simon@josefsson.org>
56317         * lib/dup2.c (rpl_dup2): Improve comment.
56319 2010-01-08  Eric Blake  <ebb9@byu.net>
56321         maint.mk: allow packages to add makefile @@ exceptions
56322         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
56323         (sc_makefile_check): Rename...
56324         (sc_makefile_at_at_check): ...to this, and use hook.
56326         dup2: work around mingw bug
56327         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
56328         Reported by Simon Josefsson.
56330 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
56332         glob: Fix C++ compilation.
56333         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
56334         C++.
56336 2010-01-07  Bruno Haible  <bruno@clisp.org>
56338         Fix indentation of wctype.in.h, broken since 2007-01-06.
56339         * lib/wctype.in.h: Fix indentation of preprocessor directives.
56341 2010-01-07  Bruno Haible  <bruno@clisp.org>
56343         mbslen: Avoid collision with system function.
56344         * lib/string.in.h [MirBSD]: Include <wchar.h>.
56345         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
56346         * m4/mbslen.m4: New file.
56347         * modules/mbslen (Files): Add it.
56348         (configure.ac): Invoke gl_MBSLEN.
56349         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
56350         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
56351         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
56352         via Ian Beckwith <ianb@erislabs.net>.
56354 2010-01-07  Bruno Haible  <bruno@clisp.org>
56356         dirent: Document the last fix.
56357         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
56359 2010-01-07  Bruno Haible  <bruno@clisp.org>
56361         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
56362         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
56363         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
56364         va_list are defined.
56365         * doc/posix-headers/stdio.texi: Document the bug of missing types.
56366         Reported by Eric Blake.
56368 2010-01-07  Bruno Haible  <bruno@clisp.org>
56370         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
56371         * modules/xlist (Depends-on): Add 'list',
56372         * modules/xoset (Depends-on): Add 'oset'.
56373         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
56375 2010-01-07  Bruno Haible  <bruno@clisp.org>
56377         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
56378         * doc/posix-functions/strncasecmp.texi: Likewise.
56380 2010-01-07  Bruno Haible  <bruno@clisp.org>
56382         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
56384 2010-01-07  John W. Eaton  <jwe@octave.org>
56386         wctype: allow C++ use
56387         * lib/wctype.in.h: Add extern "C" block for C++.
56389 2010-01-06  Eric Blake  <ebb9@byu.net>
56391         maint.mk: detect incorrect GFDL usage
56392         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
56394 2010-01-06  Jim Meyering  <meyering@redhat.com>
56395         and Eric Blake  <ebb9@byu.net>
56397         maint.mk: ignore multi-line copyright in NEWS
56398         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
56400 2010-01-06  Eric Blake  <ebb9@byu.net>
56402         select: add missing dependency
56403         * modules/select-tests (Depends-on): Move sockets dependency...
56404         * modules/select (Depends-on): ...here.
56405         Reported by Ian Beckwith.
56407         doc: regenerate INSTALL
56408         * doc/INSTALL: Reflect recent autoconf update.
56409         * doc/INSTALL.ISO: Likewise.
56410         * doc/INSTALL.UTF-8: Likewise.
56412         pread: fix compilation on glibc
56413         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
56414         Reported by Ralf Wildenhues.
56416         dirent: fix test failure
56417         * lib/dirent.in.h (includes): Guarantee ino_t.
56418         Reported by Ralf Wildenhues.
56420 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
56422         linkat, renameat: avoid bad free
56423         * lib/at-func2.c (at_func2): Fix typo.
56424         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
56426 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56428         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
56429         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
56430         to avoid failure of symlink test later.
56432 2010-01-06  Eric Blake  <ebb9@byu.net>
56434         stdio, unistd: guarantee ssize_t
56435         * lib/unistd.in.h (includes): Ensure that types required by POSIX
56436         2008 are exposed when needed.
56437         * lib/stdio.in.h (includes): Likewise.
56438         Reported by Ralf Wildenhues.
56440 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
56442         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
56443         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
56444         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
56446 2010-01-06  Jim Meyering  <meyering@redhat.com>
56448         readtokens: this module *does* require xalloc.h
56449         It uses only functions that were omitted by the old syntax-check rule.
56450         * lib/readtokens.c: Include "xalloc.h" once again.
56451         * modules/readtokens (Depends-on): Add xalloc.
56452         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
56454 2010-01-05  Eric Blake  <ebb9@byu.net>
56456         maint: support 'make announcement' from a VPATH build
56457         * top/maint.mk (announcement): Look for correct NEWS file.
56459 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
56461         utimens (fdutimens): ignore a negative FD, per contract
56462         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
56463         when we have a valid file descriptor.  Otherwise, using a brand
56464         new glibc (with just-patched futimens that now fails with EBADF)
56465         would cause this function to fail with ENOSYS.
56466         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
56467         See also http://bugzilla.redhat.com/552320.
56469 2010-01-05  Eric Blake  <ebb9@byu.net>
56471         strcase: document what it provides
56472         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
56473         gnulib module.
56474         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
56475         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
56477 2010-01-05  Jim Meyering  <meyering@redhat.com>
56479         maint: remove useless inclusions of "xalloc.h"
56480         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
56481         * lib/readtokens.c: Likewise.
56482         * lib/same.c: Likewise.
56483         * modules/getloadavg (Depends-on): Remove xalloc.
56484         * modules/readtokens: Likewise.
56485         * modules/same: Likewise.
56487         maint.mk: include 4 more function names in alloca.h-checking regexp
56488         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
56489         regexp.  Before, we would give a false-positive (saying alloca.h
56490         is included unnecessarily) when the only uses involved omitted symbols.
56492         xalloc.h: use consistent formatting
56493         * lib/xalloc.h: Move declarations to start in the first column.
56495 2010-01-05  Eric Blake  <ebb9@byu.net>
56497         mkdir: avoid xalloc
56498         * lib/mkdir.c (includes): Drop unused header.
56499         Reported by John W. Eaton.
56501 2010-01-04  Jim Meyering  <meyering@redhat.com>
56503         nl_langinfo: avoid configure-time syntax error
56504         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
56505         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
56506         the empty string.  Don't let that provoke a shell syntax error.
56508         regcomp, regexec, fnmatch: avoid array bounds read error
56509         * lib/regcomp.c (build_equiv_class): From glibc:
56510         Use only the low 24 bits of a findidx return value as an index
56511         into the weights array.  Patch by Ulrich Drepper:
56512         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
56513         * lib/regexec.c (check_node_accept_bytes): Likewise.
56514         * lib/fnmatch_loop.c (FCT): Likewise.
56516         regcomp: skip collseq lookup when there are no rules
56517         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
56518         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
56520         regcomp: recognize ill-formed { } expressions
56521         * lib/regcomp.c (parse_dup_op): From glibc:
56522         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
56524         regcomp: fix typo in comment
56525         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
56526         s/satisfy/satisfies/.
56528         regcomp: sync from glibc: remove dead store
56529         * lib/regcomp.c (duplicate_node_closure): Remove useless
56530         search_duplicated_node call and dead store.
56532         regcomp: sync from glibc; always use nl_langinfo
56533         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
56534         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
56535         * modules/regex (Depends-on): Add nl_langinfo.
56537 2010-01-04  Eric Blake  <ebb9@byu.net>
56539         fdopendir: fix configure test
56540         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
56542 2010-01-01  Bruno Haible  <bruno@clisp.org>
56544         wchar: Remove unused configure check.
56545         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
56547 2010-01-01  Eric Blake  <ebb9@byu.net>
56549         headers: make check of system header explicit
56550         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
56551         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
56552         ourselves.
56553         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
56554         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
56555         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
56556         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
56557         internals.
56558         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
56559         missing.
56560         Suggested by Bruno Haible.
56562 2010-01-01  Jim Meyering  <meyering@redhat.com>
56564         ChangeLog: tweak to eliminate unnecessary copyright line
56565         * ChangeLog: Remove a copyright line that was mistakenly updated
56566         by today's update-copyright run.  Reported by Eric Blake.
56568         test-update-copyright: don't let envvar setting cause test failure
56569         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
56571 2010-01-01  Bruno Haible  <bruno@clisp.org>
56573         localename: Avoid gcc warning.
56574         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
56575         function if it is not used.
56577 2010-01-01  Jim Meyering  <meyering@redhat.com>
56579         update nearly all FSF copyright year lists to include 2010
56580         Use the same procedure as for 2009, outlined in
56581         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
56583         version-etc: set COPYRIGHT_YEAR to 2010
56584         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
56586 2009-12-31  Eric Blake  <ebb9@byu.net>
56588         doc: correct availability of cygwin 1.5.x getopt
56589         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
56590         variables.
56591         * doc/posix-functions/opterr.texi (opterr): Likewise.
56592         * doc/posix-functions/optind.texi (optind): Likewise.
56593         * doc/posix-functions/optopt.texi (optopt): Likewise.
56594         * doc/posix-functions/tzname.texi (tzname): Likewise.
56596         openat: update maintainer
56597         * modules/openat (Maintainer): Add myself.
56599         utimens: avoid shadowing warning
56600         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
56601         buffers into one, to avoid shadowing, as well as avoiding a
56602         redundant stat.
56603         Reported by Jim Meyering.
56605         test-dup2: avoid compiler warning
56606         * tests/test-dup2.c (is_inheritable): Only define if used.
56608 2010-01-01  Bruno Haible  <bruno@clisp.org>
56610         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
56611         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
56612         defined, use wctomb instead of wcrtomb.
56614 2010-01-01  Bruno Haible  <bruno@clisp.org>
56616         iconv: Reject native Solaris iconv.
56617         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
56618         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
56620 2009-12-31  Bruno Haible  <bruno@clisp.org>
56622         * tests/test-signal.c (main): Remove test of 'SIG'.
56624 2009-12-31  Bruno Haible  <bruno@clisp.org>
56626         spawn: Fix incomplete fix.
56627         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
56628         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
56629         warnings for GNULIB_POSIXCHECK again.
56630         Reported by Eric Blake.
56632 2009-12-31  Bruno Haible  <bruno@clisp.org>
56634         Avoid namespace pollution on glibc systems.
56635         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
56636         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
56637         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
56638         glibc systems.
56640 2009-12-31  Bruno Haible  <bruno@clisp.org>
56642         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
56643         (gl_REPLACE_WCHAR_H): Turn into a no-op.
56644         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
56645         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
56646         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
56647         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
56648         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
56650 2009-12-31  Bruno Haible  <bruno@clisp.org>
56652         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
56653         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
56654         afterwards.
56656 2009-12-31  Bruno Haible  <bruno@clisp.org>
56658         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
56659         SYS_UTSNAME_H.
56661 2009-12-31  Bruno Haible  <bruno@clisp.org>
56663         spawn: Fix misapplied patch.
56664         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
56665         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
56666         warnings for GNULIB_POSIXCHECK.
56668 2009-12-31  Bruno Haible  <bruno@clisp.org>
56670         times: Update after sys_times changed.
56671         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
56672         * modules/times (Files): Add it.
56673         (configure.ac): Invoke gl_FUNC_TIMES.
56675 2009-12-31  Bruno Haible  <bruno@clisp.org>
56677         Use AC_C_INLINE where necessary.
56678         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
56679         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
56680         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
56681         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
56682         * m4/mbfile.m4 (gl_MBFILE): Likewise.
56683         * m4/mbiter.m4 (gl_MBITER): Likewise.
56684         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
56685         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
56686         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
56687         * modules/u64 (configure.ac): Likewise.
56689 2009-12-31  Bruno Haible  <bruno@clisp.org>
56691         Use AC_C_INLINE instead of module 'inline' where possible.
56692         * modules/inline (Description): Clarify purpose.
56693         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
56694         * modules/count-one-bits (Depends-on): Remove inline.
56695         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
56696         * modules/openat (Depends-on): Remove inline.
56697         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
56698         instead of depending on module 'inline'.
56699         * modules/filevercmp (Depends-on, configure.ac): Likewise.
56700         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
56701         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
56702         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
56703         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
56704         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
56705         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
56706         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
56707         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
56708         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
56709         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
56710         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
56711         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
56712         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
56713         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
56714         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
56715         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
56716         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
56717         Likewise.
56718         * modules/unictype/property-ascii-hex-digit (Depends-on,
56719         configure.ac): Likewise.
56720         * modules/unictype/property-bidi-arabic-digit (Depends-on,
56721         configure.ac): Likewise.
56722         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
56723         configure.ac): Likewise.
56724         * modules/unictype/property-bidi-block-separator (Depends-on,
56725         configure.ac): Likewise.
56726         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
56727         configure.ac): Likewise.
56728         * modules/unictype/property-bidi-common-separator (Depends-on,
56729         configure.ac): Likewise.
56730         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
56731         Likewise.
56732         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
56733         configure.ac): Likewise.
56734         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
56735         configure.ac): Likewise.
56736         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
56737         configure.ac): Likewise.
56738         * modules/unictype/property-bidi-european-digit (Depends-on,
56739         configure.ac): Likewise.
56740         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
56741         configure.ac): Likewise.
56742         * modules/unictype/property-bidi-left-to-right (Depends-on,
56743         configure.ac): Likewise.
56744         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
56745         configure.ac): Likewise.
56746         * modules/unictype/property-bidi-other-neutral (Depends-on,
56747         configure.ac): Likewise.
56748         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
56749         Likewise.
56750         * modules/unictype/property-bidi-segment-separator (Depends-on,
56751         configure.ac): Likewise.
56752         * modules/unictype/property-bidi-whitespace (Depends-on,
56753         configure.ac): Likewise.
56754         * modules/unictype/property-combining (Depends-on, configure.ac):
56755         Likewise.
56756         * modules/unictype/property-composite (Depends-on, configure.ac):
56757         Likewise.
56758         * modules/unictype/property-currency-symbol (Depends-on,
56759         configure.ac): Likewise.
56760         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
56761         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
56762         Likewise.
56763         * modules/unictype/property-default-ignorable-code-point (Depends-on,
56764         configure.ac): Likewise.
56765         * modules/unictype/property-deprecated (Depends-on, configure.ac):
56766         Likewise.
56767         * modules/unictype/property-diacritic (Depends-on, configure.ac):
56768         Likewise.
56769         * modules/unictype/property-extender (Depends-on, configure.ac):
56770         Likewise.
56771         * modules/unictype/property-format-control (Depends-on, configure.ac):
56772         Likewise.
56773         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
56774         Likewise.
56775         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
56776         Likewise.
56777         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
56778         Likewise.
56779         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
56780         Likewise.
56781         * modules/unictype/property-hyphen (Depends-on, configure.ac):
56782         Likewise.
56783         * modules/unictype/property-id-continue (Depends-on, configure.ac):
56784         Likewise.
56785         * modules/unictype/property-id-start (Depends-on, configure.ac):
56786         Likewise.
56787         * modules/unictype/property-ideographic (Depends-on, configure.ac):
56788         Likewise.
56789         * modules/unictype/property-ids-binary-operator (Depends-on,
56790         configure.ac): Likewise.
56791         * modules/unictype/property-ids-trinary-operator (Depends-on,
56792         configure.ac): Likewise.
56793         * modules/unictype/property-ignorable-control (Depends-on,
56794         configure.ac): Likewise.
56795         * modules/unictype/property-iso-control (Depends-on, configure.ac):
56796         Likewise.
56797         * modules/unictype/property-join-control (Depends-on, configure.ac):
56798         Likewise.
56799         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
56800         Likewise.
56801         * modules/unictype/property-line-separator (Depends-on, configure.ac):
56802         Likewise.
56803         * modules/unictype/property-logical-order-exception (Depends-on,
56804         configure.ac): Likewise.
56805         * modules/unictype/property-lowercase (Depends-on, configure.ac):
56806         Likewise.
56807         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
56808         * modules/unictype/property-non-break (Depends-on, configure.ac):
56809         Likewise.
56810         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
56811         Likewise.
56812         * modules/unictype/property-numeric (Depends-on, configure.ac):
56813         Likewise.
56814         * modules/unictype/property-other-alphabetic (Depends-on,
56815         configure.ac): Likewise.
56816         * modules/unictype/property-other-default-ignorable-code-point
56817         (Depends-on, configure.ac): Likewise.
56818         * modules/unictype/property-other-grapheme-extend (Depends-on,
56819         configure.ac): Likewise.
56820         * modules/unictype/property-other-id-continue (Depends-on,
56821         configure.ac): Likewise.
56822         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
56823         Likewise.
56824         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
56825         Likewise.
56826         * modules/unictype/property-other-math (Depends-on, configure.ac):
56827         Likewise.
56828         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
56829         Likewise.
56830         * modules/unictype/property-paired-punctuation (Depends-on,
56831         configure.ac): Likewise.
56832         * modules/unictype/property-paragraph-separator (Depends-on,
56833         configure.ac): Likewise.
56834         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
56835         Likewise.
56836         * modules/unictype/property-pattern-white-space (Depends-on,
56837         configure.ac): Likewise.
56838         * modules/unictype/property-private-use (Depends-on, configure.ac):
56839         Likewise.
56840         * modules/unictype/property-punctuation (Depends-on, configure.ac):
56841         Likewise.
56842         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
56843         Likewise.
56844         * modules/unictype/property-radical (Depends-on, configure.ac):
56845         Likewise.
56846         * modules/unictype/property-sentence-terminal (Depends-on,
56847         configure.ac): Likewise.
56848         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
56849         Likewise.
56850         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
56851         * modules/unictype/property-terminal-punctuation (Depends-on,
56852         configure.ac): Likewise.
56853         * modules/unictype/property-titlecase (Depends-on, configure.ac):
56854         Likewise.
56855         * modules/unictype/property-unassigned-code-value (Depends-on,
56856         configure.ac): Likewise.
56857         * modules/unictype/property-unified-ideograph (Depends-on,
56858         configure.ac): Likewise.
56859         * modules/unictype/property-uppercase (Depends-on, configure.ac):
56860         Likewise.
56861         * modules/unictype/property-variation-selector (Depends-on,
56862         configure.ac): Likewise.
56863         * modules/unictype/property-white-space (Depends-on, configure.ac):
56864         Likewise.
56865         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
56866         Likewise.
56867         * modules/unictype/property-xid-start (Depends-on, configure.ac):
56868         Likewise.
56869         * modules/unictype/property-zero-width (Depends-on, configure.ac):
56870         Likewise.
56871         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
56872         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
56873         Likewise.
56875 2009-12-31  Bruno Haible  <bruno@clisp.org>
56877         Remove unnecessary AC_C_INLINE invocation.
56878         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
56879         since 2009-08-21.
56881 2009-12-31  Jim Meyering  <meyering@redhat.com>
56883         maint.mk: don't require explicit gpg_key_ID in cfg.mk
56884         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
56885         With this change, we can all remove the gpg_key_ID = ... definition
56886         from our respective cfg.mk files.
56888         maint.mk: create announcement template in ~/, not in /tmp
56889         * top/maint.mk (emit_upload_commands): Adjust.
56890         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
56891         Remove temporary file, .ci-msg.
56893 2009-12-31  Eric Blake  <ebb9@byu.net>
56895         link-warning: always build headers with link warnings
56896         * modules/arpa_inet (Makefile.am): Always build replacement
56897         header.
56898         * modules/ctype (Makefile.am): Likewise.
56899         * modules/dirent (Makefile.am): Likewise.
56900         * modules/inttypes (Makefile.am): Likewise.
56901         * modules/langinfo (Makefile.am): Likewise.
56902         * modules/locale (Makefile.am): Likewise.
56903         * modules/spawn (Makefile.am): Likewise.
56904         * modules/sys_file (Makefile.am): Likewise.
56905         * modules/sys_ioctl (Makefile.am): Likewise.
56906         * modules/sys_select (Makefile.am): Likewise.
56907         * modules/sys_socket (Makefile.am): Likewise.
56908         * modules/sys_times (Makefile.am): Likewise.
56909         * modules/sys_utsname (Makefile.am): Likewise.
56910         * modules/sys_wait (Makefile.am): Likewise.
56911         * modules/wchar (Makefile.am): Likewise.
56912         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
56913         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
56914         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
56915         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
56916         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
56917         Likewise.
56918         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
56919         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
56920         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
56921         Likewise.
56922         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
56923         Likewise.
56924         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
56925         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
56926         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
56927         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
56928         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
56929         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
56930         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
56931         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
56932         (gl_WCHAR_H_DEFAULTS): Likewise.
56934 2009-12-31  Eric Blake  <ebb9@byu.net>
56936         signal, spawn: use link warnings
56937         * lib/signal.in.h (sigset_t): Make unconditional.
56938         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
56939         (sigpending, sigprocmask, sigaction): Add link warnings.
56940         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
56941         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
56942         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
56943         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
56944         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
56945         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
56946         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
56947         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
56948         (posix_spawn_file_actions_destroy)
56949         (posix_spawn_file_actions_addopen)
56950         (posix_spawn_file_actions_addclose)
56951         (posix_spawn_file_actions_adddup2): Likewise.
56952         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
56953         * tests/test-signal.c (main): Enhance test.
56955         spawn: improve wrapper support
56956         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
56957         (gl_SPAWN_H_DEFAULTS): New defaults.
56958         * modules/spawn (Makefile.am): Substitute them.
56959         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
56960         Only declare if missing or broken.
56962         sys_times, sys_utsname: use include_next
56963         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
56964         header.
56965         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
56966         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
56967         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
56968         * modules/sys_times (Depends-on): Add include_next.
56969         (Makefile.am): Substitute additional values.
56970         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
56971         * lib/sys_times.in.h (includes): Include native header, if
56972         available.
56973         * lib/sys_utsname.in.h (includes): Likewise.
56974         * tests/test-sys_times.c (main): Enhance test.
56976         fdutimensat: revert prior patch
56977         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
56978         utimens.h.
56979         Reported by Bruno Haible.
56981 2009-12-30  Eric Blake  <ebb9@byu.net>
56983         sys_wait: drop link-warning dependency
56984         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
56985         link-warning efforts.
56986         * lib/sys_wait.in.h: Likewise.
56988         fdutimensat: remove bogus dependency
56989         * modules/fdutimensat (Depends-on): Drop inline.
56991         unistd: fix typo
56992         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
56994 2009-12-30  Bruno Haible  <bruno@clisp.org>
56996         Fix compilation error with Solaris cc.
56997         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
56998         * lib/unicase/u16-is-invariant.c: Likewise.
56999         * lib/unicase/u32-is-invariant.c: Likewise.
57000         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
57002 2009-12-30  Bruno Haible  <bruno@clisp.org>
57004         Fix test crash.
57005         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
57006         locales.
57007         Reported by Simon Josefsson <simon@josefsson.org>.
57009 2009-12-30  Bruno Haible  <bruno@clisp.org>
57011         Fix compilation error on most platforms.
57012         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
57013         Reported by Simon Josefsson <simon@josefsson.org>
57014         and Nelson H. F. Beebe <beebe@math.utah.edu>.
57016 2009-12-30  Eric Blake  <ebb9@byu.net>
57018         futimens, utimensat: work around ntfs-3g bug
57019         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
57020         a ctime bug is present, and expand workaround to cover ntfs-3g.
57021         * lib/utimens.c (fdutimens, lutimens): Likewise.
57022         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
57023         (validate_timespec): Adjust return value.
57024         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
57025         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
57026         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
57028 2009-12-29  Eric Blake  <ebb9@byu.net>
57030         link-warning: make usage consistent
57031         * modules/ctype (Depends-on): Add link-warning.
57032         (Makefile.am): Update rules accordingly.
57033         * modules/langinfo (Depends-on, Makefile.am): Likewise.
57034         * modules/locale (Depends-on, Makefile.am): Likewise.
57035         * modules/sys_file (Makefile.am): Likewise.
57036         * modules/getopt-posix (Makefile.am): Delete unused link warning
57037         efforts.
57038         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
57039         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
57040         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
57041         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
57043         stdio: remove unused variables
57044         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
57045         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
57046         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
57048         tests: test more substitute headers
57049         * modules/ctype-tests: New file.
57050         * modules/dirent-tests: Likewise.
57051         * modules/spawn-tests: Likewise.
57052         * modules/sys_file-tests: Likewise.
57053         * modules/sys_ioctl-tests: Likewise.
57054         * modules/sys_wait-tests: Likewise.
57055         * tests/test-ctype.c: Likewise.
57056         * tests/test-dirent.c: Likewise.
57057         * tests/test-spawn.c: Likewise.
57058         * tests/test-sys_file.c: Likewise.
57059         * tests/test-sys_ioctl.c: Likewise.
57060         * tests/test-sys_wait.c: Likewise.
57061         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
57062         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
57063         whether or not flock is in use.
57065         tests: remove License section from module
57066         * modules/arpa_inet-tests: Remove unneeded section.
57067         * modules/byteswap-tests: Likewise.
57068         * modules/ceilf-tests: Likewise.
57069         * modules/ceill-tests: Likewise.
57070         * modules/crypto/des-tests: Likewise.
57071         * modules/crypto/gc-arcfour-tests: Likewise.
57072         * modules/crypto/gc-arctwo-tests: Likewise.
57073         * modules/crypto/gc-des-tests: Likewise.
57074         * modules/crypto/gc-hmac-md5-tests: Likewise.
57075         * modules/crypto/gc-hmac-sha1-tests: Likewise.
57076         * modules/crypto/gc-md2-tests: Likewise.
57077         * modules/crypto/gc-md4-tests: Likewise.
57078         * modules/crypto/gc-md5-tests: Likewise.
57079         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
57080         * modules/crypto/gc-rijndael-tests: Likewise.
57081         * modules/crypto/gc-sha1-tests: Likewise.
57082         * modules/crypto/gc-tests: Likewise.
57083         * modules/crypto/md2-tests: Likewise.
57084         * modules/crypto/md4-tests: Likewise.
57085         * modules/fcntl-h-tests: Likewise.
57086         * modules/floorf-tests: Likewise.
57087         * modules/floorl-tests: Likewise.
57088         * modules/frexp-nolibm-tests: Likewise.
57089         * modules/frexp-tests: Likewise.
57090         * modules/frexpl-nolibm-tests: Likewise.
57091         * modules/frexpl-tests: Likewise.
57092         * modules/getaddrinfo-tests: Likewise.
57093         * modules/inttypes-tests: Likewise.
57094         * modules/isfinite-tests: Likewise.
57095         * modules/isinf-tests: Likewise.
57096         * modules/ldexpl-tests: Likewise.
57097         * modules/locale-tests: Likewise.
57098         * modules/math-tests: Likewise.
57099         * modules/netdb-tests: Likewise.
57100         * modules/netinet_in-tests: Likewise.
57101         * modules/printf-frexp-tests: Likewise.
57102         * modules/printf-frexpl-tests: Likewise.
57103         * modules/priv-set-tests: Likewise.
57104         * modules/random_r-tests: Likewise.
57105         * modules/round-tests: Likewise.
57106         * modules/roundf-tests: Likewise.
57107         * modules/roundl-tests: Likewise.
57108         * modules/search-tests: Likewise.
57109         * modules/select-tests: Likewise.
57110         * modules/signal-tests: Likewise.
57111         * modules/stdbool-tests: Likewise.
57112         * modules/stddef-tests: Likewise.
57113         * modules/stdint-tests: Likewise.
57114         * modules/stdio-tests: Likewise.
57115         * modules/stdlib-tests: Likewise.
57116         * modules/string-tests: Likewise.
57117         * modules/strings-tests: Likewise.
57118         * modules/sys_select-tests: Likewise.
57119         * modules/sys_socket-tests: Likewise.
57120         * modules/sys_stat-tests: Likewise.
57121         * modules/sys_time-tests: Likewise.
57122         * modules/sys_utsname-tests: Likewise.
57123         * modules/sysexits-tests: Likewise.
57124         * modules/time-tests: Likewise.
57125         * modules/trunc-tests: Likewise.
57126         * modules/truncf-tests: Likewise.
57127         * modules/truncl-tests: Likewise.
57128         * modules/tsearch-tests: Likewise.
57129         * modules/unistd-tests: Likewise.
57130         * modules/wchar-tests: Likewise.
57131         * modules/wctype-tests: Likewise.
57133         tests: fix license on several tests
57134         * tests/test-des.c: Update to GPLv3+.
57135         * tests/test-flock.c: Likewise.
57136         * tests/test-fsync.c: Likewise.
57137         * tests/test-futimens.h: Likewise.
57138         * tests/test-gc-arcfour.c: Likewise.
57139         * tests/test-gc-arctwo.c: Likewise.
57140         * tests/test-gc-des.c: Likewise.
57141         * tests/test-gc-hmac-md5.c: Likewise.
57142         * tests/test-gc-hmac-sha1.c: Likewise.
57143         * tests/test-gc-md2.c: Likewise.
57144         * tests/test-gc-md4.c: Likewise.
57145         * tests/test-gc-md5.c: Likewise.
57146         * tests/test-gc-pbkdf2-sha1.c: Likewise.
57147         * tests/test-gc-rijndael.c: Likewise.
57148         * tests/test-gc-sha1.c: Likewise.
57149         * tests/test-gc.c: Likewise.
57150         * tests/test-getcwd.c: Likewise.
57151         * tests/test-link.c: Likewise.
57152         * tests/test-link.h: Likewise.
57153         * tests/test-lutimens.h: Likewise.
57154         * tests/test-md2.c: Likewise.
57155         * tests/test-md4.c: Likewise.
57156         * tests/test-mkdir.h: Likewise.
57157         * tests/test-rename.c: Likewise.
57158         * tests/test-rename.h: Likewise.
57159         * tests/test-safe-alloc.c: Likewise.
57160         * tests/test-utimens-common.h: Likewise.
57161         * tests/test-utimens.h: Likewise.
57163         maint: sync license texts
57164         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
57165         * doc/gpl-3.0.texi: Revert copyright year update.
57166         * doc/lgpl-3.0.texi: Likewise.
57168 2009-12-29  Jim Meyering  <meyering@redhat.com>
57170         update nearly all FSF copyright year lists to include 2009
57171         The files named by the following are exempted:
57172             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
57173               test -f "$dst" && { echo "$dst"; continue; }
57174               test -d "$dst" || continue
57175               echo "$dst"/$(basename "$src")
57176             done > exempt
57177             git ls-files tests/unictype >> exempt
57178         In the remaining files, convert to all-interval notation if
57179         - there is already at least one year interval like 2000-2003
57180         - the file is maintained by me
57181         - the file is in lib/uni*/, where that style already prevails
57182         Otherwise, use update-copyright's default.
57184 2009-12-29  Simon Josefsson  <simon@josefsson.org>
57185         and Eric Blake  <ebb9@byu.net>
57187         tests: don't require debug system() to pass
57188         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
57189         * tests/test-rmdir.h (test_rmdir_func): Likewise.
57190         * tests/test-unlink.h (test_unlink_func): Likewise.
57191         * tests/test-fstatat.c (main): ...into callers.
57192         * tests/test-lstat.c (main): Likewise.
57193         * tests/test-rmdir.c (main): Likewise.
57194         * tests/test-unlink.c (main): Likewise.
57195         * tests/test-unlinkat.c (main): Likewise.
57196         * tests/test-areadlink-with-size.c (main): Don't require a
57197         debug-only system call to pass, aiding cross-testing to mingw.
57198         * tests/test-areadlink.c (main): Likewise.
57199         * tests/test-areadlinkat-with-size.c (main): Likewise.
57200         * tests/test-areadlinkat.c (main): Likewise.
57201         * tests/test-canonicalize-lgpl.c (main): Likewise.
57202         * tests/test-canonicalize.c (main): Likewise.
57203         * tests/test-chown.c (main): Likewise.
57204         * tests/test-fchownat.c (main): Likewise.
57205         * tests/test-lchown.c (main): Likewise.
57206         * tests/test-fdutimensat.c (main): Likewise.
57207         * tests/test-futimens.c (main): Likewise.
57208         * tests/test-link.c (main): Likewise.
57209         * tests/test-linkat.c (main): Likewise.
57210         * tests/test-mkdir.c (main): Likewise.
57211         * tests/test-mkdirat.c (main): Likewise.
57212         * tests/test-mkfifo.c (main): Likewise.
57213         * tests/test-mkfifoat.c (main): Likewise.
57214         * tests/test-mknod.c (main): Likewise.
57215         * tests/test-readlink.c (main): Likewise.
57216         * tests/test-remove.c (main): Likewise.
57217         * tests/test-rename.c (main): Likewise.
57218         * tests/test-renameat.c (main): Likewise.
57219         * tests/test-symlink.c (main): Likewise.
57220         * tests/test-symlinkat.c (main): Likewise.
57221         * tests/test-utimens.c (main): Likewise.
57222         * tests/test-utimensat.c (main): Likewise.
57224 2009-12-29  Simon Josefsson  <simon@josefsson.org>
57226         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
57227         on $(UNUSED_PARAMETER_H) to avoid build failure.
57229 2009-12-28  Jim Meyering  <meyering@redhat.com>
57231         update-copyright: you may specify a max. line length other than 72
57232         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
57234         maint: use consistent FSF copyright line syntax
57235         * lib/posixtm.c: Add missing comma in FSF copyright line.
57236         * lib/posixtm.h: Likewise.
57237         * lib/getugroups.c: Add missing ", Inc.".
57239         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
57240         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
57241         FSF copyright line.  Remove trailing blanks.
57243 2009-12-28  Eric Blake  <ebb9@byu.net>
57245         test-dup2: reduce dependencies
57246         * modules/cloexec (Configure.ac): Set witness.
57247         * modules/dup2-tests (Depends-on): Drop cloexec.
57248         * tests/test-dup2.c (main): Skip portion of test if cloexec module
57249         not present.
57250         Suggested by Bruno Haible.
57252 2009-12-26  Bruno Haible  <bruno@clisp.org>
57254         Remove an unneeded dependency.
57255         * modules/fseterr (Depends-on): Remove dup2.
57257 2009-12-26  Eric Blake  <ebb9@byu.net>
57259         tests: use macros.h in more places
57260         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
57261         (ASSERT_STREAM): Provide default of stderr.
57262         * tests/test-dirent-safer.c: Include macros.h, using alternate
57263         stream for assertions.
57264         * tests/test-dup-safer.c: Likewise.
57265         * tests/test-freopen-safer.c: Likewise.
57266         * tests/test-getopt.c: Likewise.
57267         * tests/test-openat-safer.c: Likewise.
57268         * tests/test-pipe.c: Likewise.
57269         * tests/test-popen-safer.c: Likewise.
57270         * modules/dirent-safer-tests (Files): Include macros.h.
57271         * modules/unistd-safer-tests (Files): Likewise.
57272         * modules/freopen-safer-tests (Files): Likewise.
57273         * modules/getopt-posix-tests (Files): Likewise.
57274         * modules/openat-safer-tests (Files): Likewise.
57275         * modules/pipe-tests (Files): Likewise.
57277 2009-12-26  Bruno Haible  <bruno@clisp.org>
57279         javacomp-script: Portability fix.
57280         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
57281         that it also works on Solaris.
57283 2009-12-26  Bruno Haible  <bruno@clisp.org>
57285         localename: Fix storage allocation of gl_locale_name_thread's result.
57286         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
57287         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
57288         all platforms that have 'uselocale'.
57289         (gl_locale_name_thread_unsafe): New function, extracted from
57290         gl_locale_name_thread.
57291         (gl_locale_name_thread): Call struniq on all platforms that have
57292         'uselocale'.
57293         * tests/test-localename.c (test_locale_name_thread): Check that the
57294         resulting strings are permanently allocated.
57295         * modules/localename-tests (Depends-on): Add strdup.
57297 2009-12-26  Bruno Haible  <bruno@clisp.org>
57299         * tests/test-localename.c (categories): Fill in the strings.
57301 2009-12-26  Jim Meyering  <meyering@redhat.com>
57303         isdir: complete the removal of m4/isdir.m4
57304         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
57306         isdir: clean up, since at least grep still uses it
57307         * lib/isdir.c: Include "isdir.h".
57308         (S_ISDIR): Remove now-unneeded definition.
57309         * modules/isdir (Files): Add lib/isdir.h.
57310         * lib/isdir.h: New file, with declaration.
57311         * m4/isdir.m4: Remove file -- unneeded.
57313 2009-12-25  Bruno Haible  <bruno@clisp.org>
57315         selinux-h: Make generated .h files standalone.
57316         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
57317         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
57318         * lib/se-selinux.in.h: Likewise.
57319         * modules/selinux-h (Depends-on): Add unused-parameter.
57320         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
57321         selinux/selinux.h and selinux/context.h.
57322         Suggested by Eric Blake.
57324 2009-12-25  Bruno Haible  <bruno@clisp.org>
57326         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
57327         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
57328         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
57329         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
57330         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
57332 2009-12-24  Bruno Haible  <bruno@clisp.org>
57334         openat: Fix warning.
57335         * lib/openat-proc.c: Include <unistd.h>.
57337 2009-12-24  Bruno Haible  <bruno@clisp.org>
57339         New module 'unused-parameter'.
57340         * build-aux/unused-parameter.h: New file, extracted from earlier
57341         gnulib-common.m4.
57342         * modules/unused-parameter: New file.
57343         * lib/unistr.h: Include unused-parameter.h.
57344         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
57345         _GL_UNUSED.
57346         * modules/unistr/base (Depends-on): Add unused-parameter.
57348 2009-12-24  Bruno Haible  <bruno@clisp.org>
57350         Add missing dependencies to 'extensions' module.
57351         * m4/extensions.m4: Add comment.
57352         * modules/accept4 (Depends-on): Add extensions.
57353         * modules/dup3 (Depends-on): Likewise.
57354         * modules/fcntl (Depends-on): Likewise.
57355         * modules/futimens (Depends-on): Likewise.
57356         * modules/mknod (Depends-on): Likewise.
57357         * modules/pipe2 (Depends-on): Likewise.
57358         * modules/stat-time (Depends-on): Likewise.
57359         * modules/strcasestr-simple (Depends-on): Likewise.
57360         * modules/strsignal (Depends-on): Likewise.
57361         * modules/utimensat (Depends-on): Likewise.
57362         * modules/localcharset (Depends-on): Likewise. Needed because of
57363         gl_FCNTL_O_FLAGS.
57364         * modules/wcrtomb (Depends-on): Likewise. Needed because of
57365         AC_TYPE_MBSTATE_T.
57366         * modules/wcsnrtombs (Depends-on): Likewise.
57367         * modules/wcsrtombs (Depends-on): Likewise.
57369 2009-12-24  Bruno Haible  <bruno@clisp.org>
57371         binary-io: Avoid gcc warning due to SET_BINARY.
57372         * lib/binary-io.h (SET_BINARY): Cast the result to void.
57373         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
57375 2009-12-24  Bruno Haible  <bruno@clisp.org>
57377         Avoid future namespace pollution on glibc systems.
57378         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
57379         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
57380         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
57381         glibc systems.
57383 2009-12-24  Bruno Haible  <bruno@clisp.org>
57385         Refactor common macros used in tests.
57386         * tests/macros.h: New file.
57387         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
57388         and/or <stdlib.h>, if appropriate.
57389         (ASSERT, SIZEOF): Remove macros.
57390         * tests/test-areadlink-with-size.c: Likewise.
57391         * tests/test-areadlinkat.c: Likewise.
57392         * tests/test-areadlinkat-with-size.c: Likewise.
57393         * tests/test-argmatch.c: Likewise.
57394         * tests/test-argv-iter.c: Likewise.
57395         * tests/test-array-mergesort.c: Likewise.
57396         * tests/test-array_list.c: Likewise.
57397         * tests/test-array_oset.c: Likewise.
57398         * tests/test-avltree_list.c: Likewise.
57399         * tests/test-avltree_oset.c: Likewise.
57400         * tests/test-avltreehash_list.c: Likewise.
57401         * tests/test-base64.c: Likewise.
57402         * tests/test-binary-io.c: Likewise.
57403         * tests/test-bitrotate.c: Likewise.
57404         * tests/test-btowc.c: Likewise.
57405         * tests/test-byteswap.c: Likewise.
57406         * tests/test-c-ctype.c: Likewise.
57407         * tests/test-c-stack.c: Likewise.
57408         * tests/test-c-strcasecmp.c: Likewise.
57409         * tests/test-c-strcasestr.c: Likewise.
57410         * tests/test-c-strncasecmp.c: Likewise.
57411         * tests/test-c-strstr.c: Likewise.
57412         * tests/test-canonicalize-lgpl.c: Likewise.
57413         * tests/test-canonicalize.c: Likewise.
57414         * tests/test-carray_list.c: Likewise.
57415         * tests/test-ceilf1.c: Likewise.
57416         * tests/test-ceilf2.c: Likewise.
57417         * tests/test-ceill.c: Likewise.
57418         * tests/test-chown.c: Likewise.
57419         * tests/test-cloexec.c: Likewise.
57420         * tests/test-copy-acl.c: Likewise.
57421         * tests/test-copy-file.c: Likewise.
57422         * tests/test-count-one-bits.c: Likewise.
57423         * tests/test-dprintf-posix.c: Likewise.
57424         * tests/test-dup2.c: Likewise.
57425         * tests/test-dup3.c: Likewise.
57426         * tests/test-duplocale.c: Likewise.
57427         * tests/test-fbufmode.c: Likewise.
57428         * tests/test-fchdir.c: Likewise.
57429         * tests/test-fchownat.c: Likewise.
57430         * tests/test-fcntl-safer.c: Likewise.
57431         * tests/test-fcntl.c: Likewise.
57432         * tests/test-fdopendir.c: Likewise.
57433         * tests/test-fdutimensat.c: Likewise.
57434         * tests/test-fflush2.c: Likewise.
57435         * tests/test-file-has-acl.c: Likewise.
57436         * tests/test-filevercmp.c: Likewise.
57437         * tests/test-flock.c: Likewise.
57438         * tests/test-floorf1.c: Likewise.
57439         * tests/test-floorf2.c: Likewise.
57440         * tests/test-floorl.c: Likewise.
57441         * tests/test-fnmatch.c: Likewise.
57442         * tests/test-fopen.h: Likewise.
57443         * tests/test-fpending.c: Likewise.
57444         * tests/test-fprintf-posix.c: Likewise.
57445         * tests/test-fpurge.c: Likewise.
57446         * tests/test-freadable.c: Likewise.
57447         * tests/test-freadahead.c: Likewise.
57448         * tests/test-freading.c: Likewise.
57449         * tests/test-freadptr.c: Likewise.
57450         * tests/test-freadptr2.c: Likewise.
57451         * tests/test-freadseek.c: Likewise.
57452         * tests/test-freopen.c: Likewise.
57453         * tests/test-frexp.c: Likewise.
57454         * tests/test-frexpl.c: Likewise.
57455         * tests/test-fseek.c: Likewise.
57456         * tests/test-fseeko.c: Likewise.
57457         * tests/test-fstatat.c: Likewise.
57458         * tests/test-fstrcmp.c: Likewise.
57459         * tests/test-fsync.c: Likewise.
57460         * tests/test-ftell.c: Likewise.
57461         * tests/test-ftello.c: Likewise.
57462         * tests/test-func.c: Likewise.
57463         * tests/test-futimens.c: Likewise.
57464         * tests/test-fwritable.c: Likewise.
57465         * tests/test-fwriting.c: Likewise.
57466         * tests/test-getcwd.c: Likewise.
57467         * tests/test-getdate.c: Likewise.
57468         * tests/test-getdelim.c: Likewise.
57469         * tests/test-getdtablesize.c: Likewise.
57470         * tests/test-getgroups.c: Likewise.
57471         * tests/test-getline.c: Likewise.
57472         * tests/test-getndelim2.c: Likewise.
57473         * tests/test-glob.c: Likewise.
57474         * tests/test-hash.c: Likewise.
57475         * tests/test-i-ring.c: Likewise.
57476         * tests/test-iconv-utf.c: Likewise.
57477         * tests/test-iconv.c: Likewise.
57478         * tests/test-idpriv-drop.c: Likewise.
57479         * tests/test-idpriv-droptemp.c: Likewise.
57480         * tests/test-inet_ntop.c: Likewise.
57481         * tests/test-inet_pton.c: Likewise.
57482         * tests/test-isblank.c: Likewise.
57483         * tests/test-isfinite.c: Likewise.
57484         * tests/test-isinf.c: Likewise.
57485         * tests/test-isnan.c: Likewise.
57486         * tests/test-isnand.h: Likewise.
57487         * tests/test-isnanf.h: Likewise.
57488         * tests/test-isnanl.h: Likewise.
57489         * tests/test-lchown.c: Likewise.
57490         * tests/test-ldexpl.c: Likewise.
57491         * tests/test-link.c: Likewise.
57492         * tests/test-linkat.c: Likewise.
57493         * tests/test-linked_list.c: Likewise.
57494         * tests/test-linkedhash_list.c: Likewise.
57495         * tests/test-localename.c: Likewise.
57496         * tests/test-lseek.c: Likewise.
57497         * tests/test-lstat.c: Likewise.
57498         * tests/test-mbmemcasecmp.c: Likewise.
57499         * tests/test-mbmemcasecoll.c: Likewise.
57500         * tests/test-mbrtowc.c: Likewise.
57501         * tests/test-mbscasecmp.c: Likewise.
57502         * tests/test-mbscasestr1.c: Likewise.
57503         * tests/test-mbscasestr2.c: Likewise.
57504         * tests/test-mbscasestr3.c: Likewise.
57505         * tests/test-mbscasestr4.c: Likewise.
57506         * tests/test-mbschr.c: Likewise.
57507         * tests/test-mbscspn.c: Likewise.
57508         * tests/test-mbsinit.c: Likewise.
57509         * tests/test-mbsncasecmp.c: Likewise.
57510         * tests/test-mbsnrtowcs.c: Likewise.
57511         * tests/test-mbspbrk.c: Likewise.
57512         * tests/test-mbspcasecmp.c: Likewise.
57513         * tests/test-mbsrchr.c: Likewise.
57514         * tests/test-mbsrtowcs.c: Likewise.
57515         * tests/test-mbsspn.c: Likewise.
57516         * tests/test-mbsstr1.c: Likewise.
57517         * tests/test-mbsstr2.c: Likewise.
57518         * tests/test-mbsstr3.c: Likewise.
57519         * tests/test-memchr.c: Likewise.
57520         * tests/test-memchr2.c: Likewise.
57521         * tests/test-memcmp.c: Likewise.
57522         * tests/test-memmem.c: Likewise.
57523         * tests/test-memrchr.c: Likewise.
57524         * tests/test-mkdir.c: Likewise.
57525         * tests/test-mkdirat.c: Likewise.
57526         * tests/test-mkfifo.c: Likewise.
57527         * tests/test-mkfifoat.c: Likewise.
57528         * tests/test-mknod.c: Likewise.
57529         * tests/test-nanosleep.c: Likewise.
57530         * tests/test-nl_langinfo.c: Likewise.
57531         * tests/test-obstack-printf.c: Likewise.
57532         * tests/test-open.c: Likewise.
57533         * tests/test-openat.c: Likewise.
57534         * tests/test-pipe-filter-gi1.c: Likewise.
57535         * tests/test-pipe-filter-gi2-main.c: Likewise.
57536         * tests/test-pipe-filter-ii1.c: Likewise.
57537         * tests/test-pipe-filter-ii2-main.c: Likewise.
57538         * tests/test-pipe2.c: Likewise.
57539         * tests/test-popen.h: Likewise.
57540         * tests/test-posixtm.c: Likewise.
57541         * tests/test-pread.c: Likewise.
57542         * tests/test-printf-frexp.c: Likewise.
57543         * tests/test-printf-frexpl.c: Likewise.
57544         * tests/test-printf-posix.c: Likewise.
57545         * tests/test-priv-set.c: Likewise.
57546         * tests/test-quotearg.c: Likewise.
57547         * tests/test-random_r.c: Likewise.
57548         * tests/test-rawmemchr.c: Likewise.
57549         * tests/test-rbtree_list.c: Likewise.
57550         * tests/test-rbtree_oset.c: Likewise.
57551         * tests/test-rbtreehash_list.c: Likewise.
57552         * tests/test-readlink.c: Likewise.
57553         * tests/test-remove.c: Likewise.
57554         * tests/test-rename.c: Likewise.
57555         * tests/test-renameat.c: Likewise.
57556         * tests/test-rmdir.c: Likewise.
57557         * tests/test-round1.c: Likewise.
57558         * tests/test-roundf1.c: Likewise.
57559         * tests/test-roundl.c: Likewise.
57560         * tests/test-safe-alloc.c: Likewise.
57561         * tests/test-sameacls.c: Likewise.
57562         * tests/test-set-mode-acl.c: Likewise.
57563         * tests/test-setenv.c: Likewise.
57564         * tests/test-sigaction.c: Likewise.
57565         * tests/test-signbit.c: Likewise.
57566         * tests/test-sleep.c: Likewise.
57567         * tests/test-snprintf-posix.c: Likewise.
57568         * tests/test-snprintf.c: Likewise.
57569         * tests/test-sprintf-posix.c: Likewise.
57570         * tests/test-stat-time.c: Likewise.
57571         * tests/test-stat.c: Likewise.
57572         * tests/test-strcasestr.c: Likewise.
57573         * tests/test-strchrnul.c: Likewise.
57574         * tests/test-strerror.c: Likewise.
57575         * tests/test-striconv.c: Likewise.
57576         * tests/test-striconveh.c: Likewise.
57577         * tests/test-striconveha.c: Likewise.
57578         * tests/test-strsignal.c: Likewise.
57579         * tests/test-strstr.c: Likewise.
57580         * tests/test-strtod.c: Likewise.
57581         * tests/test-strverscmp.c: Likewise.
57582         * tests/test-symlink.c: Likewise.
57583         * tests/test-symlinkat.c: Likewise.
57584         * tests/test-trunc1.c: Likewise.
57585         * tests/test-trunc2.c: Likewise.
57586         * tests/test-truncf1.c: Likewise.
57587         * tests/test-truncf2.c: Likewise.
57588         * tests/test-truncl.c: Likewise.
57589         * tests/test-uname.c: Likewise.
57590         * tests/test-unlink.c: Likewise.
57591         * tests/test-unlinkat.c: Likewise.
57592         * tests/test-unsetenv.c: Likewise.
57593         * tests/test-usleep.c: Likewise.
57594         * tests/test-utimens.c: Likewise.
57595         * tests/test-utimensat.c: Likewise.
57596         * tests/test-vasnprintf-posix.c: Likewise.
57597         * tests/test-vasnprintf-posix2.c: Likewise.
57598         * tests/test-vasnprintf.c: Likewise.
57599         * tests/test-vasprintf-posix.c: Likewise.
57600         * tests/test-vasprintf.c: Likewise.
57601         * tests/test-vdprintf-posix.c: Likewise.
57602         * tests/test-vfprintf-posix.c: Likewise.
57603         * tests/test-vprintf-posix.c: Likewise.
57604         * tests/test-vsnprintf-posix.c: Likewise.
57605         * tests/test-vsnprintf.c: Likewise.
57606         * tests/test-vsprintf-posix.c: Likewise.
57607         * tests/test-wcrtomb.c: Likewise.
57608         * tests/test-wcsnrtombs.c: Likewise.
57609         * tests/test-wcsrtombs.c: Likewise.
57610         * tests/test-wctype.c: Likewise.
57611         * tests/test-wcwidth.c: Likewise.
57612         * tests/test-xfprintf-posix.c: Likewise.
57613         * tests/test-xmemdup0.c: Likewise.
57614         * tests/test-xprintf-posix.c: Likewise.
57615         * tests/test-xvasprintf.c: Likewise.
57616         * tests/unicase/test-locale-language.c: Likewise.
57617         * tests/unicase/test-mapping-part1.h: Likewise.
57618         * tests/unicase/test-predicate-part1.h: Likewise.
57619         * tests/unicase/test-u8-casecmp.c: Likewise.
57620         * tests/unicase/test-u8-casecoll.c: Likewise.
57621         * tests/unicase/test-u8-casefold.c: Likewise.
57622         * tests/unicase/test-u8-is-cased.c: Likewise.
57623         * tests/unicase/test-u8-is-casefolded.c: Likewise.
57624         * tests/unicase/test-u8-is-lowercase.c: Likewise.
57625         * tests/unicase/test-u8-is-titlecase.c: Likewise.
57626         * tests/unicase/test-u8-is-uppercase.c: Likewise.
57627         * tests/unicase/test-u8-tolower.c: Likewise.
57628         * tests/unicase/test-u8-totitle.c: Likewise.
57629         * tests/unicase/test-u8-toupper.c: Likewise.
57630         * tests/unicase/test-u16-casecmp.c: Likewise.
57631         * tests/unicase/test-u16-casecoll.c: Likewise.
57632         * tests/unicase/test-u16-casefold.c: Likewise.
57633         * tests/unicase/test-u16-is-cased.c: Likewise.
57634         * tests/unicase/test-u16-is-casefolded.c: Likewise.
57635         * tests/unicase/test-u16-is-lowercase.c: Likewise.
57636         * tests/unicase/test-u16-is-titlecase.c: Likewise.
57637         * tests/unicase/test-u16-is-uppercase.c: Likewise.
57638         * tests/unicase/test-u16-tolower.c: Likewise.
57639         * tests/unicase/test-u16-totitle.c: Likewise.
57640         * tests/unicase/test-u16-toupper.c: Likewise.
57641         * tests/unicase/test-u32-casecmp.c: Likewise.
57642         * tests/unicase/test-u32-casecoll.c: Likewise.
57643         * tests/unicase/test-u32-casefold.c: Likewise.
57644         * tests/unicase/test-u32-is-cased.c: Likewise.
57645         * tests/unicase/test-u32-is-casefolded.c: Likewise.
57646         * tests/unicase/test-u32-is-lowercase.c: Likewise.
57647         * tests/unicase/test-u32-is-titlecase.c: Likewise.
57648         * tests/unicase/test-u32-is-uppercase.c: Likewise.
57649         * tests/unicase/test-u32-tolower.c: Likewise.
57650         * tests/unicase/test-u32-totitle.c: Likewise.
57651         * tests/unicase/test-u32-toupper.c: Likewise.
57652         * tests/unicase/test-ulc-casecmp.c: Likewise.
57653         * tests/unicase/test-ulc-casecoll.c: Likewise.
57654         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
57655         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
57656         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
57657         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
57658         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
57659         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
57660         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
57661         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
57662         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
57663         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
57664         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
57665         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
57666         * tests/unictype/test-bidi_byname.c: Likewise.
57667         * tests/unictype/test-bidi_name.c: Likewise.
57668         * tests/unictype/test-bidi_of.c: Likewise.
57669         * tests/unictype/test-bidi_test.c: Likewise.
57670         * tests/unictype/test-block_list.c: Likewise.
57671         * tests/unictype/test-block_of.c: Likewise.
57672         * tests/unictype/test-block_test.c: Likewise.
57673         * tests/unictype/test-categ_and.c: Likewise.
57674         * tests/unictype/test-categ_and_not.c: Likewise.
57675         * tests/unictype/test-categ_byname.c: Likewise.
57676         * tests/unictype/test-categ_name.c: Likewise.
57677         * tests/unictype/test-categ_none.c: Likewise.
57678         * tests/unictype/test-categ_of.c: Likewise.
57679         * tests/unictype/test-categ_or.c: Likewise.
57680         * tests/unictype/test-categ_test_withtable.c: Likewise.
57681         * tests/unictype/test-combining.c: Likewise.
57682         * tests/unictype/test-decdigit.c: Likewise.
57683         * tests/unictype/test-digit.c: Likewise.
57684         * tests/unictype/test-mirror.c: Likewise.
57685         * tests/unictype/test-numeric.c: Likewise.
57686         * tests/unictype/test-pr_byname.c: Likewise.
57687         * tests/unictype/test-pr_test.c: Likewise.
57688         * tests/unictype/test-predicate-part1.h: Likewise.
57689         * tests/unictype/test-scripts.c: Likewise.
57690         * tests/unictype/test-sy_c_ident.c: Likewise.
57691         * tests/unictype/test-sy_java_ident.c: Likewise.
57692         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
57693         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
57694         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
57695         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
57696         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
57697         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
57698         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
57699         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
57700         * tests/uninorm/test-canonical-decomposition.c: Likewise.
57701         * tests/uninorm/test-compat-decomposition.c: Likewise.
57702         * tests/uninorm/test-composition.c: Likewise.
57703         * tests/uninorm/test-decomposing-form.c: Likewise.
57704         * tests/uninorm/test-decomposition.c: Likewise.
57705         * tests/uninorm/test-u8-nfc.c: Likewise.
57706         * tests/uninorm/test-u8-nfd.c: Likewise.
57707         * tests/uninorm/test-u8-nfkc.c: Likewise.
57708         * tests/uninorm/test-u8-nfkd.c: Likewise.
57709         * tests/uninorm/test-u8-normcmp.c: Likewise.
57710         * tests/uninorm/test-u8-normcoll.c: Likewise.
57711         * tests/uninorm/test-u16-nfc.c: Likewise.
57712         * tests/uninorm/test-u16-nfd.c: Likewise.
57713         * tests/uninorm/test-u16-nfkc.c: Likewise.
57714         * tests/uninorm/test-u16-nfkd.c: Likewise.
57715         * tests/uninorm/test-u16-normcmp.c: Likewise.
57716         * tests/uninorm/test-u16-normcoll.c: Likewise.
57717         * tests/uninorm/test-u32-nfc.c: Likewise.
57718         * tests/uninorm/test-u32-nfd.c: Likewise.
57719         * tests/uninorm/test-u32-nfkc.c: Likewise.
57720         * tests/uninorm/test-u32-nfkd.c: Likewise.
57721         * tests/uninorm/test-u32-normalize-big.c: Likewise.
57722         * tests/uninorm/test-u32-normcmp.c: Likewise.
57723         * tests/uninorm/test-u32-normcoll.c: Likewise.
57724         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
57725         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
57726         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
57727         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
57728         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
57729         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
57730         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
57731         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
57732         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
57733         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
57734         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
57735         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
57736         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
57737         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
57738         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
57739         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
57740         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
57741         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
57742         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
57743         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
57744         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
57745         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
57746         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
57747         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
57748         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
57749         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
57750         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
57751         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
57752         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
57753         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
57754         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
57755         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
57756         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
57757         * tests/uniwidth/test-u8-strwidth.c: Likewise.
57758         * tests/uniwidth/test-u8-width.c: Likewise.
57759         * tests/uniwidth/test-u16-strwidth.c: Likewise.
57760         * tests/uniwidth/test-u16-width.c: Likewise.
57761         * tests/uniwidth/test-u32-strwidth.c: Likewise.
57762         * tests/uniwidth/test-u32-width.c: Likewise.
57763         * tests/uniwidth/test-uc_width.c: Likewise.
57764         * tests/uniwidth/test-uc_width2.c: Likewise.
57765         * modules/acl-tests (Files): Add tests/macros.h.
57766         * modules/areadlink-tests (Files): Likewise.
57767         * modules/areadlink-with-size-tests (Files): Likewise.
57768         * modules/areadlinkat-tests (Files): Likewise.
57769         * modules/areadlinkat-with-size-tests (Files): Likewise.
57770         * modules/argmatch-tests (Files): Likewise.
57771         * modules/argv-iter-tests (Files): Likewise.
57772         * modules/array-list-tests (Files): Likewise.
57773         * modules/array-mergesort-tests (Files): Likewise.
57774         * modules/array-oset-tests (Files): Likewise.
57775         * modules/avltree-list-tests (Files): Likewise.
57776         * modules/avltree-oset-tests (Files): Likewise.
57777         * modules/avltreehash-list-tests (Files): Likewise.
57778         * modules/base64-tests (Files): Likewise.
57779         * modules/binary-io-tests (Files): Likewise.
57780         * modules/bitrotate-tests (Files): Likewise.
57781         * modules/btowc-tests (Files): Likewise.
57782         * modules/byteswap-tests (Files): Likewise.
57783         * modules/c-ctype-tests (Files): Likewise.
57784         * modules/c-stack-tests (Files): Likewise.
57785         * modules/c-strcase-tests (Files): Likewise.
57786         * modules/c-strcasestr-tests (Files): Likewise.
57787         * modules/c-strstr-tests (Files): Likewise.
57788         * modules/canonicalize-lgpl-tests (Files): Likewise.
57789         * modules/canonicalize-tests (Files): Likewise.
57790         * modules/carray-list-tests (Files): Likewise.
57791         * modules/ceilf-tests (Files): Likewise.
57792         * modules/ceill-tests (Files): Likewise.
57793         * modules/chown-tests (Files): Likewise.
57794         * modules/cloexec-tests (Files): Likewise.
57795         * modules/copy-file-tests (Files): Likewise.
57796         * modules/count-one-bits-tests (Files): Likewise.
57797         * modules/dprintf-posix-tests (Files): Likewise.
57798         * modules/dup2-tests (Files): Likewise.
57799         * modules/dup3-tests (Files): Likewise.
57800         * modules/duplocale-tests (Files): Likewise.
57801         * modules/fbufmode-tests (Files): Likewise.
57802         * modules/fchdir-tests (Files): Likewise.
57803         * modules/fcntl-safer-tests (Files): Likewise.
57804         * modules/fcntl-tests (Files): Likewise.
57805         * modules/fdopendir-tests (Files): Likewise.
57806         * modules/fdutimensat-tests (Files): Likewise.
57807         * modules/fflush-tests (Files): Likewise.
57808         * modules/filevercmp-tests (Files): Likewise.
57809         * modules/flock-tests (Files): Likewise.
57810         * modules/floorf-tests (Files): Likewise.
57811         * modules/floorl-tests (Files): Likewise.
57812         * modules/fnmatch-tests (Files): Likewise.
57813         * modules/fopen-safer-tests (Files): Likewise.
57814         * modules/fopen-tests (Files): Likewise.
57815         * modules/fpending-tests (Files): Likewise.
57816         * modules/fprintf-posix-tests (Files): Likewise.
57817         * modules/fpurge-tests (Files): Likewise.
57818         * modules/freadable-tests (Files): Likewise.
57819         * modules/freadahead-tests (Files): Likewise.
57820         * modules/freading-tests (Files): Likewise.
57821         * modules/freadptr-tests (Files): Likewise.
57822         * modules/freadseek-tests (Files): Likewise.
57823         * modules/freopen-tests (Files): Likewise.
57824         * modules/frexp-nolibm-tests (Files): Likewise.
57825         * modules/frexp-tests (Files): Likewise.
57826         * modules/frexpl-nolibm-tests (Files): Likewise.
57827         * modules/frexpl-tests (Files): Likewise.
57828         * modules/fseek-tests (Files): Likewise.
57829         * modules/fseeko-tests (Files): Likewise.
57830         * modules/fstrcmp-tests (Files): Likewise.
57831         * modules/fsync-tests (Files): Likewise.
57832         * modules/ftell-tests (Files): Likewise.
57833         * modules/ftello-tests (Files): Likewise.
57834         * modules/func-tests (Files): Likewise.
57835         * modules/futimens-tests (Files): Likewise.
57836         * modules/fwritable-tests (Files): Likewise.
57837         * modules/fwriting-tests (Files): Likewise.
57838         * modules/getcwd-tests (Files): Likewise.
57839         * modules/getdate-tests (Files): Likewise.
57840         * modules/getdelim-tests (Files): Likewise.
57841         * modules/getdtablesize-tests (Files): Likewise.
57842         * modules/getgroups-tests (Files): Likewise.
57843         * modules/getline-tests (Files): Likewise.
57844         * modules/getndelim2-tests (Files): Likewise.
57845         * modules/glob-tests (Files): Likewise.
57846         * modules/hash-tests (Files): Likewise.
57847         * modules/i-ring-tests (Files): Likewise.
57848         * modules/iconv-tests (Files): Likewise.
57849         * modules/iconv_open-utf-tests (Files): Likewise.
57850         * modules/idpriv-drop-tests (Files): Likewise.
57851         * modules/idpriv-droptemp-tests (Files): Likewise.
57852         * modules/inet_ntop-tests (Files): Likewise.
57853         * modules/inet_pton-tests (Files): Likewise.
57854         * modules/isblank-tests (Files): Likewise.
57855         * modules/isfinite-tests (Files): Likewise.
57856         * modules/isinf-tests (Files): Likewise.
57857         * modules/isnan-tests (Files): Likewise.
57858         * modules/isnand-nolibm-tests (Files): Likewise.
57859         * modules/isnand-tests (Files): Likewise.
57860         * modules/isnanf-nolibm-tests (Files): Likewise.
57861         * modules/isnanf-tests (Files): Likewise.
57862         * modules/isnanl-nolibm-tests (Files): Likewise.
57863         * modules/isnanl-tests (Files): Likewise.
57864         * modules/lchown-tests (Files): Likewise.
57865         * modules/ldexpl-tests (Files): Likewise.
57866         * modules/link-tests (Files): Likewise.
57867         * modules/linkat-tests (Files): Likewise.
57868         * modules/linked-list-tests (Files): Likewise.
57869         * modules/linkedhash-list-tests (Files): Likewise.
57870         * modules/localename-tests (Files): Likewise.
57871         * modules/lseek-tests (Files): Likewise.
57872         * modules/lstat-tests (Files): Likewise.
57873         * modules/mbmemcasecmp-tests (Files): Likewise.
57874         * modules/mbmemcasecoll-tests (Files): Likewise.
57875         * modules/mbrtowc-tests (Files): Likewise.
57876         * modules/mbscasecmp-tests (Files): Likewise.
57877         * modules/mbscasestr-tests (Files): Likewise.
57878         * modules/mbschr-tests (Files): Likewise.
57879         * modules/mbscspn-tests (Files): Likewise.
57880         * modules/mbsinit-tests (Files): Likewise.
57881         * modules/mbsncasecmp-tests (Files): Likewise.
57882         * modules/mbsnrtowcs-tests (Files): Likewise.
57883         * modules/mbspbrk-tests (Files): Likewise.
57884         * modules/mbspcasecmp-tests (Files): Likewise.
57885         * modules/mbsrchr-tests (Files): Likewise.
57886         * modules/mbsrtowcs-tests (Files): Likewise.
57887         * modules/mbsspn-tests (Files): Likewise.
57888         * modules/mbsstr-tests (Files): Likewise.
57889         * modules/memchr-tests (Files): Likewise.
57890         * modules/memchr2-tests (Files): Likewise.
57891         * modules/memcmp-tests (Files): Likewise.
57892         * modules/memmem-tests (Files): Likewise.
57893         * modules/memrchr-tests (Files): Likewise.
57894         * modules/mkdir-tests (Files): Likewise.
57895         * modules/mkfifo-tests (Files): Likewise.
57896         * modules/mkfifoat-tests (Files): Likewise.
57897         * modules/mknod-tests (Files): Likewise.
57898         * modules/nanosleep-tests (Files): Likewise.
57899         * modules/nl_langinfo-tests (Files): Likewise.
57900         * modules/obstack-printf-tests (Files): Likewise.
57901         * modules/open-tests (Files): Likewise.
57902         * modules/openat-tests (Files): Likewise.
57903         * modules/pipe-filter-gi-tests (Files): Likewise.
57904         * modules/pipe-filter-ii-tests (Files): Likewise.
57905         * modules/pipe2-tests (Files): Likewise.
57906         * modules/popen-safer-tests (Files): Likewise.
57907         * modules/popen-tests (Files): Likewise.
57908         * modules/posixtm-tests (Files): Likewise.
57909         * modules/pread-tests (Files): Likewise.
57910         * modules/printf-frexp-tests (Files): Likewise.
57911         * modules/printf-frexpl-tests (Files): Likewise.
57912         * modules/printf-posix-tests (Files): Likewise.
57913         * modules/priv-set-tests (Files): Likewise.
57914         * modules/quotearg-tests (Files): Likewise.
57915         * modules/random_r-tests (Files): Likewise.
57916         * modules/rawmemchr-tests (Files): Likewise.
57917         * modules/rbtree-list-tests (Files): Likewise.
57918         * modules/rbtree-oset-tests (Files): Likewise.
57919         * modules/rbtreehash-list-tests (Files): Likewise.
57920         * modules/readlink-tests (Files): Likewise.
57921         * modules/remove-tests (Files): Likewise.
57922         * modules/rename-tests (Files): Likewise.
57923         * modules/renameat-tests (Files): Likewise.
57924         * modules/rmdir-tests (Files): Likewise.
57925         * modules/round-tests (Files): Likewise.
57926         * modules/roundf-tests (Files): Likewise.
57927         * modules/roundl-tests (Files): Likewise.
57928         * modules/safe-alloc-tests (Files): Likewise.
57929         * modules/setenv-tests (Files): Likewise.
57930         * modules/sigaction-tests (Files): Likewise.
57931         * modules/signbit-tests (Files): Likewise.
57932         * modules/sleep-tests (Files): Likewise.
57933         * modules/snprintf-posix-tests (Files): Likewise.
57934         * modules/snprintf-tests (Files): Likewise.
57935         * modules/sprintf-posix-tests (Files): Likewise.
57936         * modules/stat-tests (Files): Likewise.
57937         * modules/stat-time-tests (Files): Likewise.
57938         * modules/strcasestr-tests (Files): Likewise.
57939         * modules/strchrnul-tests (Files): Likewise.
57940         * modules/strerror-tests (Files): Likewise.
57941         * modules/striconv-tests (Files): Likewise.
57942         * modules/striconveh-tests (Files): Likewise.
57943         * modules/striconveha-tests (Files): Likewise.
57944         * modules/strsignal-tests (Files): Likewise.
57945         * modules/strstr-tests (Files): Likewise.
57946         * modules/strtod-tests (Files): Likewise.
57947         * modules/strverscmp-tests (Files): Likewise.
57948         * modules/symlink-tests (Files): Likewise.
57949         * modules/symlinkat-tests (Files): Likewise.
57950         * modules/trunc-tests (Files): Likewise.
57951         * modules/truncf-tests (Files): Likewise.
57952         * modules/truncl-tests (Files): Likewise.
57953         * modules/uname-tests (Files): Likewise.
57954         * modules/unicase/cased-tests (Files): Likewise.
57955         * modules/unicase/ignorable-tests (Files): Likewise.
57956         * modules/unicase/locale-language-tests (Files): Likewise.
57957         * modules/unicase/tolower-tests (Files): Likewise.
57958         * modules/unicase/totitle-tests (Files): Likewise.
57959         * modules/unicase/toupper-tests (Files): Likewise.
57960         * modules/unicase/u8-casecmp-tests (Files): Likewise.
57961         * modules/unicase/u8-casecoll-tests (Files): Likewise.
57962         * modules/unicase/u8-casefold-tests (Files): Likewise.
57963         * modules/unicase/u8-is-cased-tests (Files): Likewise.
57964         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
57965         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
57966         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
57967         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
57968         * modules/unicase/u8-tolower-tests (Files): Likewise.
57969         * modules/unicase/u8-totitle-tests (Files): Likewise.
57970         * modules/unicase/u8-toupper-tests (Files): Likewise.
57971         * modules/unicase/u16-casecmp-tests (Files): Likewise.
57972         * modules/unicase/u16-casecoll-tests (Files): Likewise.
57973         * modules/unicase/u16-casefold-tests (Files): Likewise.
57974         * modules/unicase/u16-is-cased-tests (Files): Likewise.
57975         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
57976         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
57977         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
57978         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
57979         * modules/unicase/u16-tolower-tests (Files): Likewise.
57980         * modules/unicase/u16-totitle-tests (Files): Likewise.
57981         * modules/unicase/u16-toupper-tests (Files): Likewise.
57982         * modules/unicase/u32-casecmp-tests (Files): Likewise.
57983         * modules/unicase/u32-casecoll-tests (Files): Likewise.
57984         * modules/unicase/u32-casefold-tests (Files): Likewise.
57985         * modules/unicase/u32-is-cased-tests (Files): Likewise.
57986         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
57987         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
57988         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
57989         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
57990         * modules/unicase/u32-tolower-tests (Files): Likewise.
57991         * modules/unicase/u32-totitle-tests (Files): Likewise.
57992         * modules/unicase/u32-toupper-tests (Files): Likewise.
57993         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
57994         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
57995         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
57996         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
57997         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
57998         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
57999         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
58000         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
58001         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
58002         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
58003         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
58004         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
58005         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
58006         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
58007         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
58008         * modules/unictype/bidicategory-name-tests (Files): Likewise.
58009         * modules/unictype/bidicategory-of-tests (Files): Likewise.
58010         * modules/unictype/bidicategory-test-tests (Files): Likewise.
58011         * modules/unictype/block-list-tests (Files): Likewise.
58012         * modules/unictype/block-of-tests (Files): Likewise.
58013         * modules/unictype/block-test-tests (Files): Likewise.
58014         * modules/unictype/category-C-tests (Files): Likewise.
58015         * modules/unictype/category-Cc-tests (Files): Likewise.
58016         * modules/unictype/category-Cf-tests (Files): Likewise.
58017         * modules/unictype/category-Cn-tests (Files): Likewise.
58018         * modules/unictype/category-Co-tests (Files): Likewise.
58019         * modules/unictype/category-Cs-tests (Files): Likewise.
58020         * modules/unictype/category-L-tests (Files): Likewise.
58021         * modules/unictype/category-Ll-tests (Files): Likewise.
58022         * modules/unictype/category-Lm-tests (Files): Likewise.
58023         * modules/unictype/category-Lo-tests (Files): Likewise.
58024         * modules/unictype/category-Lt-tests (Files): Likewise.
58025         * modules/unictype/category-Lu-tests (Files): Likewise.
58026         * modules/unictype/category-M-tests (Files): Likewise.
58027         * modules/unictype/category-Mc-tests (Files): Likewise.
58028         * modules/unictype/category-Me-tests (Files): Likewise.
58029         * modules/unictype/category-Mn-tests (Files): Likewise.
58030         * modules/unictype/category-N-tests (Files): Likewise.
58031         * modules/unictype/category-Nd-tests (Files): Likewise.
58032         * modules/unictype/category-Nl-tests (Files): Likewise.
58033         * modules/unictype/category-No-tests (Files): Likewise.
58034         * modules/unictype/category-P-tests (Files): Likewise.
58035         * modules/unictype/category-Pc-tests (Files): Likewise.
58036         * modules/unictype/category-Pd-tests (Files): Likewise.
58037         * modules/unictype/category-Pe-tests (Files): Likewise.
58038         * modules/unictype/category-Pf-tests (Files): Likewise.
58039         * modules/unictype/category-Pi-tests (Files): Likewise.
58040         * modules/unictype/category-Po-tests (Files): Likewise.
58041         * modules/unictype/category-Ps-tests (Files): Likewise.
58042         * modules/unictype/category-S-tests (Files): Likewise.
58043         * modules/unictype/category-Sc-tests (Files): Likewise.
58044         * modules/unictype/category-Sk-tests (Files): Likewise.
58045         * modules/unictype/category-Sm-tests (Files): Likewise.
58046         * modules/unictype/category-So-tests (Files): Likewise.
58047         * modules/unictype/category-Z-tests (Files): Likewise.
58048         * modules/unictype/category-Zl-tests (Files): Likewise.
58049         * modules/unictype/category-Zp-tests (Files): Likewise.
58050         * modules/unictype/category-Zs-tests (Files): Likewise.
58051         * modules/unictype/category-and-not-tests (Files): Likewise.
58052         * modules/unictype/category-and-tests (Files): Likewise.
58053         * modules/unictype/category-byname-tests (Files): Likewise.
58054         * modules/unictype/category-name-tests (Files): Likewise.
58055         * modules/unictype/category-none-tests (Files): Likewise.
58056         * modules/unictype/category-of-tests (Files): Likewise.
58057         * modules/unictype/category-or-tests (Files): Likewise.
58058         * modules/unictype/category-test-withtable-tests (Files): Likewise.
58059         * modules/unictype/combining-class-tests (Files): Likewise.
58060         * modules/unictype/ctype-alnum-tests (Files): Likewise.
58061         * modules/unictype/ctype-alpha-tests (Files): Likewise.
58062         * modules/unictype/ctype-blank-tests (Files): Likewise.
58063         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
58064         * modules/unictype/ctype-digit-tests (Files): Likewise.
58065         * modules/unictype/ctype-graph-tests (Files): Likewise.
58066         * modules/unictype/ctype-lower-tests (Files): Likewise.
58067         * modules/unictype/ctype-print-tests (Files): Likewise.
58068         * modules/unictype/ctype-punct-tests (Files): Likewise.
58069         * modules/unictype/ctype-space-tests (Files): Likewise.
58070         * modules/unictype/ctype-upper-tests (Files): Likewise.
58071         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
58072         * modules/unictype/decimal-digit-tests (Files): Likewise.
58073         * modules/unictype/digit-tests (Files): Likewise.
58074         * modules/unictype/mirror-tests (Files): Likewise.
58075         * modules/unictype/numeric-tests (Files): Likewise.
58076         * modules/unictype/property-alphabetic-tests (Files): Likewise.
58077         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
58078         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
58079         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
58080         Likewise.
58081         * modules/unictype/property-bidi-block-separator-tests (Files):
58082         Likewise.
58083         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
58084         Likewise.
58085         * modules/unictype/property-bidi-common-separator-tests (Files):
58086         Likewise.
58087         * modules/unictype/property-bidi-control-tests (Files): Likewise.
58088         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
58089         Likewise.
58090         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
58091         Likewise.
58092         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
58093         Likewise.
58094         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
58095         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
58096         Likewise.
58097         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
58098         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
58099         Likewise.
58100         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
58101         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
58102         * modules/unictype/property-bidi-segment-separator-tests (Files):
58103         Likewise.
58104         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
58105         * modules/unictype/property-byname-tests (Files): Likewise.
58106         * modules/unictype/property-combining-tests (Files): Likewise.
58107         * modules/unictype/property-composite-tests (Files): Likewise.
58108         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
58109         * modules/unictype/property-dash-tests (Files): Likewise.
58110         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
58111         * modules/unictype/property-default-ignorable-code-point-tests (Files):
58112         Likewise.
58113         * modules/unictype/property-deprecated-tests (Files): Likewise.
58114         * modules/unictype/property-diacritic-tests (Files): Likewise.
58115         * modules/unictype/property-extender-tests (Files): Likewise.
58116         * modules/unictype/property-format-control-tests (Files): Likewise.
58117         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
58118         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
58119         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
58120         * modules/unictype/property-hex-digit-tests (Files): Likewise.
58121         * modules/unictype/property-hyphen-tests (Files): Likewise.
58122         * modules/unictype/property-id-continue-tests (Files): Likewise.
58123         * modules/unictype/property-id-start-tests (Files): Likewise.
58124         * modules/unictype/property-ideographic-tests (Files): Likewise.
58125         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
58126         * modules/unictype/property-ids-trinary-operator-tests (Files):
58127         Likewise.
58128         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
58129         * modules/unictype/property-iso-control-tests (Files): Likewise.
58130         * modules/unictype/property-join-control-tests (Files): Likewise.
58131         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
58132         * modules/unictype/property-line-separator-tests (Files): Likewise.
58133         * modules/unictype/property-logical-order-exception-tests (Files):
58134         Likewise.
58135         * modules/unictype/property-lowercase-tests (Files): Likewise.
58136         * modules/unictype/property-math-tests (Files): Likewise.
58137         * modules/unictype/property-non-break-tests (Files): Likewise.
58138         * modules/unictype/property-not-a-character-tests (Files): Likewise.
58139         * modules/unictype/property-numeric-tests (Files): Likewise.
58140         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
58141         * modules/unictype/property-other-default-ignorable-code-point-tests
58142         (Files): Likewise.
58143         * modules/unictype/property-other-grapheme-extend-tests (Files):
58144         Likewise.
58145         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
58146         * modules/unictype/property-other-id-start-tests (Files): Likewise.
58147         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
58148         * modules/unictype/property-other-math-tests (Files): Likewise.
58149         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
58150         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
58151         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
58152         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
58153         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
58154         * modules/unictype/property-private-use-tests (Files): Likewise.
58155         * modules/unictype/property-punctuation-tests (Files): Likewise.
58156         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
58157         * modules/unictype/property-radical-tests (Files): Likewise.
58158         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
58159         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
58160         * modules/unictype/property-space-tests (Files): Likewise.
58161         * modules/unictype/property-terminal-punctuation-tests (Files):
58162         Likewise.
58163         * modules/unictype/property-test-tests (Files): Likewise.
58164         * modules/unictype/property-titlecase-tests (Files): Likewise.
58165         * modules/unictype/property-unassigned-code-value-tests (Files):
58166         Likewise.
58167         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
58168         * modules/unictype/property-uppercase-tests (Files): Likewise.
58169         * modules/unictype/property-variation-selector-tests (Files): Likewise.
58170         * modules/unictype/property-white-space-tests (Files): Likewise.
58171         * modules/unictype/property-xid-continue-tests (Files): Likewise.
58172         * modules/unictype/property-xid-start-tests (Files): Likewise.
58173         * modules/unictype/property-zero-width-tests (Files): Likewise.
58174         * modules/unictype/scripts-tests (Files): Likewise.
58175         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
58176         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
58177         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
58178         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
58179         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
58180         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
58181         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
58182         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
58183         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
58184         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
58185         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
58186         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
58187         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
58188         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
58189         * modules/uninorm/composition-tests (Files): Likewise.
58190         * modules/uninorm/decomposing-form-tests (Files): Likewise.
58191         * modules/uninorm/decomposition-tests (Files): Likewise.
58192         * modules/uninorm/filter-tests (Files): Likewise.
58193         * modules/uninorm/nfc-tests (Files): Likewise.
58194         * modules/uninorm/nfd-tests (Files): Likewise.
58195         * modules/uninorm/nfkc-tests (Files): Likewise.
58196         * modules/uninorm/nfkd-tests (Files): Likewise.
58197         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
58198         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
58199         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
58200         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
58201         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
58202         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
58203         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
58204         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
58205         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
58206         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
58207         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
58208         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
58209         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
58210         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
58211         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
58212         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
58213         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
58214         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
58215         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
58216         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
58217         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
58218         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
58219         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
58220         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
58221         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
58222         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
58223         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
58224         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
58225         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
58226         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
58227         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
58228         * modules/uniwidth/u8-width-tests (Files): Likewise.
58229         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
58230         * modules/uniwidth/u16-width-tests (Files): Likewise.
58231         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
58232         * modules/uniwidth/u32-width-tests (Files): Likewise.
58233         * modules/uniwidth/width-tests (Files): Likewise.
58234         * modules/unlink-tests (Files): Likewise.
58235         * modules/unsetenv-tests (Files): Likewise.
58236         * modules/usleep-tests (Files): Likewise.
58237         * modules/utimens-tests (Files): Likewise.
58238         * modules/utimensat-tests (Files): Likewise.
58239         * modules/vasnprintf-posix-tests (Files): Likewise.
58240         * modules/vasnprintf-tests (Files): Likewise.
58241         * modules/vasprintf-posix-tests (Files): Likewise.
58242         * modules/vasprintf-tests (Files): Likewise.
58243         * modules/vdprintf-posix-tests (Files): Likewise.
58244         * modules/vfprintf-posix-tests (Files): Likewise.
58245         * modules/vprintf-posix-tests (Files): Likewise.
58246         * modules/vsnprintf-posix-tests (Files): Likewise.
58247         * modules/vsnprintf-tests (Files): Likewise.
58248         * modules/vsprintf-posix-tests (Files): Likewise.
58249         * modules/wcrtomb-tests (Files): Likewise.
58250         * modules/wcsnrtombs-tests (Files): Likewise.
58251         * modules/wcsrtombs-tests (Files): Likewise.
58252         * modules/wctype-tests (Files): Likewise.
58253         * modules/wcwidth-tests (Files): Likewise.
58254         * modules/xmemdup0-tests (Files): Likewise.
58255         * modules/xprintf-posix-tests (Files): Likewise.
58256         * modules/xvasprintf-tests (Files): Likewise.
58258 2009-12-24  Eric Blake  <ebb9@byu.net>
58260         test-nanosleep: fix typo
58261         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
58262         patch.
58263         Reported by Bruno Haible.
58265 2009-12-24  Bruno Haible  <bruno@clisp.org>
58267         Reduce namespace pollution on glibc systems.
58268         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
58269         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
58270         systems.
58271         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
58272         <getopt.h> on glibc systems.
58273         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
58274         systems.
58275         * lib/fcntl.c: Include <unistd.h> here instead.
58277 2009-12-24  Bruno Haible  <bruno@clisp.org>
58279         * lib/stdlib.in.h (includes): Fix typo in today's commit.
58281 2009-12-24  Eric Blake  <ebb9@byu.net>
58283         tests: add signature checks
58284         * tests/signature.h (SIGNATURE_CHECK): New file.
58285         * modules/atexit-tests (Files): Use it.
58286         * modules/btowc-tests (Files): Likewise.
58287         * modules/canonicalize-lgpl-tests (Files): Likewise.
58288         * modules/ceilf-tests (Files): Likewise.
58289         * modules/ceill-tests (Files): Likewise.
58290         * modules/chown-tests (Files): Likewise.
58291         * modules/dprintf-posix-tests (Files): Likewise.
58292         * modules/dup2-tests (Files): Likewise.
58293         * modules/dup3-tests (Files): Likewise.
58294         * modules/duplocale-tests (Files): Likewise.
58295         * modules/fchdir-tests (Files): Likewise.
58296         * modules/fcntl-tests (Files): Likewise.
58297         * modules/fdopendir-tests (Files): Likewise.
58298         * modules/fflush-tests (Files): Likewise.
58299         * modules/flock-tests (Files): Likewise.
58300         * modules/floorf-tests (Files): Likewise.
58301         * modules/floorl-tests (Files): Likewise.
58302         * modules/fnmatch-tests (Files): Likewise.
58303         * modules/fopen-tests (Files): Likewise.
58304         * modules/fprintf-posix-tests (Files): Likewise.
58305         * modules/freopen-tests (Files): Likewise.
58306         * modules/frexp-nolibm-tests (Files): Likewise.
58307         * modules/frexp-tests (Files): Likewise.
58308         * modules/frexpl-nolibm-tests (Files): Likewise.
58309         * modules/frexpl-tests (Files): Likewise.
58310         * modules/fseek-tests (Files): Likewise.
58311         * modules/fseeko-tests (Files): Likewise.
58312         * modules/fsync-tests (Files): Likewise.
58313         * modules/ftell-tests (Files): Likewise.
58314         * modules/ftello-tests (Files): Likewise.
58315         * modules/futimens-tests (Files): Likewise.
58316         * modules/getaddrinfo-tests (Files): Likewise.
58317         * modules/getcwd-tests (Files): Likewise.
58318         * modules/getdelim-tests (Files): Likewise.
58319         * modules/getdtablesize-tests (Files): Likewise.
58320         * modules/getgroups-tests (Files): Likewise.
58321         * modules/gethostname-tests (Files): Likewise.
58322         * modules/getline-tests (Files): Likewise.
58323         * modules/getopt-posix-tests (Files): Likewise.
58324         * modules/gettimeofday-tests (Files): Likewise.
58325         * modules/glob-tests (Files): Likewise.
58326         * modules/iconv-tests (Files): Likewise.
58327         * modules/inet_ntop-tests (Files): Likewise.
58328         * modules/inet_pton-tests (Files): Likewise.
58329         * modules/isblank-tests (Files): Likewise.
58330         * modules/lchown-tests (Files): Likewise.
58331         * modules/ldexpl-tests (Files): Likewise.
58332         * modules/link-tests (Files): Likewise.
58333         * modules/linkat-tests (Files): Likewise.
58334         * modules/lseek-tests (Files): Likewise.
58335         * modules/lstat-tests (Files): Likewise.
58336         * modules/mbrtowc-tests (Files): Likewise.
58337         * modules/mbsinit-tests (Files): Likewise.
58338         * modules/mbsnrtowcs-tests (Files): Likewise.
58339         * modules/mbsrtowcs-tests (Files): Likewise.
58340         * modules/memchr-tests (Files): Likewise.
58341         * modules/memcmp-tests (Files): Likewise.
58342         * modules/memmem-tests (Files): Likewise.
58343         * modules/memrchr-tests (Files): Likewise.
58344         * modules/mkdir-tests (Files): Likewise.
58345         * modules/mkfifo-tests (Files): Likewise.
58346         * modules/mkfifoat-tests (Files): Likewise.
58347         * modules/mknod-tests (Files): Likewise.
58348         * modules/nanosleep-tests (Files): Likewise.
58349         * modules/nl_langinfo-tests (Files): Likewise.
58350         * modules/obstack-printf-tests (Files): Likewise.
58351         * modules/open-tests (Files): Likewise.
58352         * modules/openat-tests (Files): Likewise.
58353         * modules/perror-tests (Files): Likewise.
58354         * modules/pipe2-tests (Files): Likewise.
58355         * modules/poll-tests (Files): Likewise.
58356         * modules/popen-tests (Files): Likewise.
58357         * modules/posix_spawn-tests (Files): Likewise.
58358         * modules/posix_spawnp-tests (Files): Likewise.
58359         * modules/pread-tests (Files): Likewise.
58360         * modules/printf-posix-tests (Files): Likewise.
58361         * modules/pty-tests (Files): Likewise.
58362         * modules/random_r-tests (Files): Likewise.
58363         * modules/rawmemchr-tests (Files): Likewise.
58364         * modules/readlink-tests (Files): Likewise.
58365         * modules/remove-tests (Files): Likewise.
58366         * modules/rename-tests (Files): Likewise.
58367         * modules/renameat-tests (Files): Likewise.
58368         * modules/rmdir-tests (Files): Likewise.
58369         * modules/round-tests (Files): Likewise.
58370         * modules/roundf-tests (Files): Likewise.
58371         * modules/roundl-tests (Files): Likewise.
58372         * modules/select-tests (Files): Likewise.
58373         * modules/setenv-tests (Files): Likewise.
58374         * modules/sigaction-tests (Files): Likewise.
58375         * modules/sleep-tests (Files): Likewise.
58376         * modules/snprintf-posix-tests (Files): Likewise.
58377         * modules/snprintf-tests (Files): Likewise.
58378         * modules/sprintf-posix-tests (Files): Likewise.
58379         * modules/stat-tests (Files): Likewise.
58380         * modules/strcasestr-tests (Files): Likewise.
58381         * modules/strchrnul-tests (Files): Likewise.
58382         * modules/strerror-tests (Files): Likewise.
58383         * modules/strsignal-tests (Files): Likewise.
58384         * modules/strstr-tests (Files): Likewise.
58385         * modules/strtod-tests (Files): Likewise.
58386         * modules/strverscmp-tests (Files): Likewise.
58387         * modules/symlink-tests (Files): Likewise.
58388         * modules/symlinkat-tests (Files): Likewise.
58389         * modules/times-tests (Files): Likewise.
58390         * modules/trunc-tests (Files): Likewise.
58391         * modules/truncf-tests (Files): Likewise.
58392         * modules/truncl-tests (Files): Likewise.
58393         * modules/tsearch-tests (Files): Likewise.
58394         * modules/uname-tests (Files): Likewise.
58395         * modules/unlink-tests (Files): Likewise.
58396         * modules/unsetenv-tests (Files): Likewise.
58397         * modules/usleep-tests (Files): Likewise.
58398         * modules/utimensat-tests (Files): Likewise.
58399         * modules/vasprintf-tests (Files): Likewise.
58400         * modules/vdprintf-posix-tests (Files): Likewise.
58401         * modules/vfprintf-posix-tests (Files): Likewise.
58402         * modules/vprintf-posix-tests (Files): Likewise.
58403         * modules/vsnprintf-posix-tests (Files): Likewise.
58404         * modules/vsnprintf-tests (Files): Likewise.
58405         * modules/vsprintf-posix-tests (Files): Likewise.
58406         * modules/wcrtomb-tests (Files): Likewise.
58407         * modules/wcsnrtombs-tests (Files): Likewise.
58408         * modules/wcsrtombs-tests (Files): Likewise.
58409         * modules/wcwidth-tests (Files): Likewise.
58410         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
58411         * tests/test-isinf.c (isinf): Likewise.
58412         * tests/test-isnan.c (isnan): Likewise.
58413         * tests/test-signbit.c (signbit): Likewise.
58414         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
58415         declaration, either as macro or with correct signature.
58416         (select): Ensure function under test is declared with correct
58417         signature in correct header.
58418         * tests/test-atexit.c (atexit): Likewise.
58419         * tests/test-btowc.c (btowc): Likewise.
58420         * tests/test-canonicalize-lgpl.c (realpath)
58421         (canonicalize_file_name): Likewise.
58422         * tests/test-ceilf1.c (ceilf): Likewise.
58423         * tests/test-ceill.c (ceill): Likewise.
58424         * tests/test-chown.c (chown): Likewise.
58425         * tests/test-dprintf-posix.c (dprintf): Likewise.
58426         * tests/test-dup2.c (dup2): Likewise.
58427         * tests/test-dup3.c (dup3): Likewise.
58428         * tests/test-duplocale.c (duplocale): Likewise.
58429         * tests/test-fchdir.c (fchdir): Likewise.
58430         * tests/test-fchownat.c (fchownat): Likewise.
58431         * tests/test-fcntl.c (fcntl): Likewise.
58432         * tests/test-fdopendir.c (fdopendir): Likewise.
58433         * tests/test-fflush.c (fflush): Likewise.
58434         * tests/test-flock.c (flock): Likewise.
58435         * tests/test-floorf1.c (floorf): Likewise.
58436         * tests/test-floorl.c (floorl): Likewise.
58437         * tests/test-fnmatch.c (fnmatch): Likewise.
58438         * tests/test-fopen.c (fopen): Likewise.
58439         * tests/test-fprintf-posix.c (fprintf): Likewise.
58440         * tests/test-freopen.c (freopen): Likewise.
58441         * tests/test-frexp.c (frexp): Likewise.
58442         * tests/test-frexpl.c (frexpl): Likewise.
58443         * tests/test-fseek.c (fseek): Likewise.
58444         * tests/test-fseeko.c (fseeko): Likewise.
58445         * tests/test-fstatat.c (fstatat): Likewise.
58446         * tests/test-fsync.c (fsync): Likewise.
58447         * tests/test-ftell.c (ftell): Likewise.
58448         * tests/test-ftello.c (ftello): Likewise.
58449         * tests/test-futimens.c (futimens): Likewise.
58450         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
58451         (gai_strerror): Likewise.
58452         * tests/test-getcwd.c (getcwd): Likewise.
58453         * tests/test-getdelim.c (getdelim): Likewise.
58454         * tests/test-getdtablesize.c (getdtablesize): Likewise.
58455         * tests/test-getgroups.c (getgroups): Likewise.
58456         * tests/test-gethostname.c (gethostname): Likewise.
58457         * tests/test-getline.c (getline): Likewise.
58458         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
58459         Likewise.
58460         * tests/test-gettimeofday.c (gettimeofday): Likewise.
58461         * tests/test-glob.c (glob, globfree): Likewise.
58462         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
58463         * tests/test-inet_ntop.c (inet_ntop): Likewise.
58464         * tests/test-inet_pton.c (inet_pton): Likewise.
58465         * tests/test-isblank.c (isblank): Likewise.
58466         * tests/test-lchown.c (lchown): Likewise.
58467         * tests/test-ldexpl.c (ldexpl): Likewise.
58468         * tests/test-link.c (link): Likewise.
58469         * tests/test-linkat.c (linkat): Likewise.
58470         * tests/test-lseek.c (lseek): Likewise.
58471         * tests/test-lstat.c (lstat): Likewise.
58472         * tests/test-mbrtowc.c (mbrtowc): Likewise.
58473         * tests/test-mbsinit.c (mbsinit): Likewise.
58474         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
58475         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
58476         * tests/test-memchr.c (memchr): Likewise.
58477         * tests/test-memcmp.c (memcmp): Likewise.
58478         * tests/test-memmem.c (memmem): Likewise.
58479         * tests/test-memrchr.c (memrchr): Likewise.
58480         * tests/test-mkdir.c (mkdir): Likewise.
58481         * tests/test-mkdirat.c (mkdirat): Likewise.
58482         * tests/test-mkfifo.c (mkfifo): Likewise.
58483         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
58484         * tests/test-mknod.c (mknod): Likewise.
58485         * tests/test-nanosleep.c (nanosleep): Likewise.
58486         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
58487         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
58488         Likewise.
58489         * tests/test-open.c (open): Likewise.
58490         * tests/test-openat.c (openat): Likewise.
58491         * tests/test-perror.c (perror): Likewise.
58492         * tests/test-pipe2.c (pipe2): Likewise.
58493         * tests/test-poll.c (poll): Likewise.
58494         * tests/test-popen.c (popen, pclose): Likewise.
58495         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
58496         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
58497         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
58498         (posix_spawn_file_actions_destroy)
58499         (posix_spawn_file_actions_addclose)
58500         (posix_spawn_file_actions_addopen)
58501         (posix_spawn_file_actions_adddup2): Likewise.
58502         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
58503         * tests/test-pread.c (pread): Likewise.
58504         * tests/test-printf-posix.c (printf): Likewise.
58505         * tests/test-pty.c (openpty, forkpty): Likewise.
58506         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
58507         (random_r): Likewise.
58508         * tests/test-rawmemchr.c (rawmemchr): Likewise.
58509         * tests/test-readlink.c (readlink): Likewise.
58510         * tests/test-remove.c (remove): Likewise.
58511         * tests/test-rename.c (rename): Likewise.
58512         * tests/test-renameat.c (renameat): Likewise.
58513         * tests/test-rmdir.c (rmdir): Likewise.
58514         * tests/test-round1.c (round): Likewise.
58515         * tests/test-roundf1.c (roundf): Likewise.
58516         * tests/test-roundl.c (roundl): Likewise.
58517         * tests/test-setenv.c (setenv): Likewise.
58518         * tests/test-sigaction.c (sigaction): Likewise.
58519         * tests/test-sleep.c (sleep): Likewise.
58520         * tests/test-snprintf.c (snprintf): Likewise.
58521         * tests/test-sprintf-posix.c (sprintf): Likewise.
58522         * tests/test-stat.c (stat): Likewise.
58523         * tests/test-stpncpy.c (stpncpy): Likewise.
58524         * tests/test-strcasestr.c (strcasestr): Likewise.
58525         * tests/test-strchrnul.c (strchrnul): Likewise.
58526         * tests/test-strerror.c (strerror): Likewise.
58527         * tests/test-strsignal.c (strsignal): Likewise.
58528         * tests/test-strstr.c (strstr): Likewise.
58529         * tests/test-strtod.c (strtod): Likewise.
58530         * tests/test-strverscmp.c (strverscmp): Likewise.
58531         * tests/test-symlink.c (symlink): Likewise.
58532         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
58533         * tests/test-times.c (times): Likewise.
58534         * tests/test-trunc1.c (trunc): Likewise.
58535         * tests/test-truncf1.c (truncf): Likewise.
58536         * tests/test-truncl.c (truncl): Likewise.
58537         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
58538         Likewise.
58539         * tests/test-uname.c (uname): Likewise.
58540         * tests/test-unlink.c (unlink): Likewise.
58541         * tests/test-unlinkat.c (unlinkat): Likewise.
58542         * tests/test-unsetenv.c (unsetenv): Likewise.
58543         * tests/test-usleep.c (usleep): Likewise.
58544         * tests/test-utimensat.c (utimensat): Likewise.
58545         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
58546         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
58547         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
58548         * tests/test-vprintf-posix.c (vprintf): Likewise.
58549         * tests/test-vsnprintf.c (vsnprintf): Likewise.
58550         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
58551         * tests/test-wcrtomb.c (wcrtomb): Likewise.
58552         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
58553         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
58554         * tests/test-wcwidth.c (wcwidth): Likewise.
58556         build: pull in conditional headers during GNULIB_POSIXCHECK
58557         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
58558         definitions from any conditionally-included headers.
58559         * lib/stdlib.in.h (includes): Likewise.
58560         * lib/unistd.in.h (includes): Likewise.
58562 2009-12-24  Bruno Haible  <bruno@clisp.org>
58564         * tests/test-argv-iter.c: Include header file being tested immediately
58565         after config.h.
58566         * tests/test-base64.c: Likewise.
58567         * tests/test-flock.c: Likewise.
58568         * tests/test-fsync.c: Likewise.
58569         * tests/test-getdate.c: Likewise.
58570         * tests/test-getndelim2.c: Likewise.
58571         * tests/test-isfinite.c: Likewise.
58572         * tests/test-isinf.c: Likewise.
58573         * tests/test-strerror.c: Likewise.
58574         * tests/test-strsignal.c: Likewise.
58576 2009-12-23  Eric Blake  <ebb9@byu.net>
58578         unistd: work around cygwin bug
58579         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
58580         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
58581         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
58583 2009-12-23  Bruno Haible  <bruno@clisp.org>
58585         localename: More tests.
58586         * tests/test-localename.c (SIZEOF): New macro.
58587         (categories): New variable.
58588         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
58589         test_locale_name_default): Add test w.r.t. thread locale.
58590         (test_locale_name_thread): New function.
58591         (main): Invoke it.
58593         localename: Make aware of thread locale.
58594         * lib/localename.h (gl_locale_name_thread): New declaration.
58595         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
58596         behaviour with respect to thread locale.
58597         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
58598         <langinfo.h>, glthread/lock.h.
58599         (SIZE_BITS): New macro.
58600         (string_hash): New function.
58601         (struct hash_node): New type.
58602         (HASH_TABLE_SIZE): New macro.
58603         (struniq_hash_table, struniq_lock): New variables.
58604         (struniq): New function.
58605         (gl_locale_name_thread): New function.
58606         (gl_locale_name): Invoke it.
58607         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
58608         * modules/localename (Depends-on): Add lock.
58609         Reported by Mike Gran <spk121@yahoo.com>.
58611 2009-12-23  Eric Blake  <ebb9@byu.net>
58613         va-args: new module
58614         * modules/va-args: New file.
58615         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
58616         * MODULES.html.sh (Core language properties): Mention it.
58618         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
58619         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
58620         named alias for __attribute__((__unused__)).
58621         * lib/chown.c: Update client.
58622         * lib/fchmodat.c: Likewise.
58623         * lib/fts.c: Likewise.
58624         * lib/getdate.y: Likewise.
58625         * lib/getgroups.c: Likewise.
58626         * lib/getopt.c: Likewise.
58627         * lib/getugroups.c: Likewise.
58628         * lib/mkdir.c: Likewise.
58629         * lib/mkfifo.c: Likewise.
58630         * lib/mkfifoat.c: Likewise.
58631         * lib/mknod.c: Likewise.
58632         * lib/mknodat.c: Likewise.
58633         * lib/readlink.c: Likewise.
58634         * lib/se-context.in.h: Likewise.
58635         * lib/se-selinux.in.h: Likewise.
58636         * lib/sockets.c: Likewise.
58637         * lib/symlink.c: Likewise.
58638         * lib/symlinkat.c: Likewise.
58639         * lib/unicodeio.c: Likewise.
58640         * lib/unistr.h: Likewise.
58641         * tests/test-areadlink.c: Likewise.
58642         * tests/test-areadlinkat.c: Likewise.
58643         * tests/test-filenamecat.c: Likewise.
58644         * tests/test-fseeko.c: Likewise.
58645         * tests/test-ftello.c: Likewise.
58646         * tests/test-getdate.c: Likewise.
58647         * tests/test-getgroups.c: Likewise.
58648         * tests/test-gethostname.c: Likewise.
58649         * tests/test-quotearg.c: Likewise.
58650         * tests/test-version-etc.c: Likewise.
58651         * tests/test-xalloc-die.c: Likewise.
58652         * tests/test-xfprintf-posix.c: Likewise.
58653         * tests/test-xprintf-posix.c: Likewise.
58654         * tests/test-xvasprintf.c: Likewise.
58656         tests: avoid compiler warnings
58657         * tests/test-fcntl.c (main): Delete unused parameters.
58658         * tests/test-freopen-safer.c (main): Likewise.
58659         * tests/test-xalloc-die.c (main): Mark unused parameters.
58660         * tests/test-fseeko.c (main): Likewise.
58661         * tests/test-ftello.c (main): Likewise.
58662         * tests/test-nanosleep.c (main): Avoid declaration warning.
58663         * tests/test-sleep.c (main): Likewise.
58664         * tests/test-unsetenv.c (main): Silence warning about string
58665         literal.
58666         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
58668 2009-12-23  Bruno Haible  <bruno@clisp.org>
58670         * tests/test-localename.c (test_locale_name): New function, extracted
58671         from main. Also test mixed situations.
58672         (test_locale_name_posix, test_locale_name_environ,
58673         test_locale_name_default): New functions.
58674         (main): Invoke them all.
58675         * modules/localename-tests (configure.ac): Test for newlocale.
58677 2009-12-23  Bruno Haible  <bruno@clisp.org>
58679         unistd: Ensure getcwd gets declared before being overridden.
58680         * lib/unistd.in.h: Conditionally include <io.h>.
58682 2009-12-22  Bruno Haible  <bruno@clisp.org>
58684         wchar: Diagnose broken combination of glibc and gcc versions and flags.
58685         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
58686         (gl_WCHAR_H): Invoke it.
58687         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
58688         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
58689         Reported by Karl Berry <karl@freefriends.org>.
58691 2009-12-22  Eric Blake  <ebb9@byu.net>
58693         math, unistd: avoid redundant includes
58694         * lib/math.in.h (isnan): No need to re-include <math.h>.
58695         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
58697         getsubopt: work around cygwin bug
58698         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
58699         avoid conflicting with system getsubopt.
58700         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
58701         bug.
58703         getopt: synchronize from glibc
58704         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
58705         parameter order.  Adjust all callers.
58706         (_getopt_internal_r, main): Adjust quoting in error messages.
58707         Drop considerations for outdated POSIX 1003.2 error message.
58708         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
58709         callers.
58710         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
58712         test-getopt: test stderr behavior
58713         * modules/getopt-posix-tests (Depends-on): Add dup2.
58714         * tests/test-getopt.c (ASSERT): Avoid stderr.
58715         (main): Move stderr to a temporary file.
58716         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
58717         Instead, add parameter to inform caller if output occurred.
58718         (test_getopt): Adjust all existing tests to expect silence, and
58719         add new tests of leading ":".
58720         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
58721         glibc shortcomings with leading "-:" or "+:" in optstring.
58722         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
58723         Likewise.
58724         * doc/posix-functions/getopt.texi (getopt): Likewise.
58726         test-getopt: enhance test
58727         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
58728         supports optind=0.
58729         * tests/test-getopt.c (OPTIND_MIN): Move...
58730         * tests/test-getopt.h (OPTIND_MIN): ...here.
58731         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
58732         Require that optind=0 works, since modern BSD supports it in
58733         addition to optreset, and since coreutils expects it.
58734         (test_getopt_long_only): New test.
58735         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
58736         glibc shortcomings with 'W;', and enforcement of optind=0.
58737         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
58738         Likewise.
58740 2009-12-21  Bruno Haible  <bruno@clisp.org>
58742         localename: Improvements for MacOS X and Cygwin.
58743         * lib/localename.h (gl_locale_name_environ): New declaration.
58744         * lib/localename.c (gl_locale_name_environ): New function, extracted from
58745         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
58746         (gl_locale_name_posix): Invoke it.
58747         (gl_locale_name_default): Add comments. Use Windows native API also on
58748         Cygwin.
58750 2009-12-21  Bruno Haible  <bruno@clisp.org>
58752         Update list of Win32 locale ids.
58753         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
58754         (LANG_SAMI): Renamed from LANG_SAAMI.
58755         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
58756         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
58757         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
58758         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
58759         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
58760         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
58761         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
58762         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
58763         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
58764         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
58765         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
58766         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
58767         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
58768         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
58769         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
58770         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
58771         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
58772         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
58773         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
58774         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
58775         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
58776         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
58777         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
58778         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
58779         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
58780         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
58781         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
58782         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
58783         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
58784         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
58785         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
58786         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
58787         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
58788         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
58789         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
58790         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
58791         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
58792         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
58793         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
58794         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
58795         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
58796         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
58797         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
58798         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
58799         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
58800         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
58801         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
58802         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
58803         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
58804         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
58805         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
58806         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
58807         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
58808         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
58809         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
58810         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
58811         Add more languages and countries for Sami, Sorbian. Add more countries
58812         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
58813         for Pashto. Change country for Syriac, Tswana.
58815 2009-12-21  Eric Blake  <ebb9@byu.net>
58817         test-utimens: avoid spurious failure
58818         * tests/test-chown.h (nap): Factor...
58819         * tests/nap.h: ...into new file.
58820         * tests/test-lchown.h (nap): Avoid duplication.
58821         * tests/test-utimens-common.h (nap): Use shared implementation,
58822         necessary on file systems with 1-second resolution.
58823         * modules/chown-tests (Files): Include new file.
58824         * modules/fdutimensat-tests (Files): Likewise.
58825         * modules/futimens-tests (Files): Likewise.
58826         * modules/lchown-tests (Files): Likewise.
58827         * modules/openat-tests (Files): Likewise.
58828         * modules/utimens-tests (Files): Likewise.
58829         * modules/utimensat-tests (Files): Likewise.
58831 2009-12-19  Eric Blake  <ebb9@byu.net>
58833         futimens, utimensat: work around Linux bug
58834         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
58835         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
58836         * lib/utimensat.c (rpl_utimensat): Work around it.
58837         * lib/futimens.c (rpl_futimens): Adjust comment.
58839         utimens: work around Linux ctime bug
58840         * lib/utimens.c (detect_ctime_bug): New helper function.
58841         (update_timespec): Differentiate between workaround needed for
58842         this bug vs. what is needed for systems that lack utimensat.
58843         (fdutimens, lutimens): Work around bug.
58845         utimens: check for ctime update
58846         * tests/test-utimens-common.h (check_ctime): Define.
58847         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
58848         * tests/test-futimens.h (test_futimens): Likewise.
58849         * tests/test-lutimens.h (test_lutimens): Likewise.
58850         * doc/posix-functions/futimens.texi (futimens): Document the bug.
58851         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
58853 2009-12-19  Bruno Haible  <bruno@clisp.org>
58855         dprintf-posix: Check against memory leak fixed on 2009-12-15.
58856         * tests/test-dprintf-posix2.sh: New file.
58857         * tests/test-dprintf-posix2.c: New file.
58858         * modules/dprintf-posix-tests (Files): Add them.
58859         (configure.ac): Check for getrlimit and setrlimit.
58860         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
58862 2009-12-19  Bruno Haible  <bruno@clisp.org>
58864         fprintf-posix: Check against memory leak fixed on 2009-12-15.
58865         * tests/test-fprintf-posix3.sh: New file.
58866         * tests/test-fprintf-posix3.c: New file.
58867         * modules/fprintf-posix-tests (Files): Add them.
58868         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
58870 2009-12-19  Eric Blake  <ebb9@byu.net>
58872         dirfd: fix prototype
58873         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
58874         * lib/dirfd.c (dirfd): Likewise.
58876         canonicalize: reduce memory usage
58877         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
58878         allocation to size.
58879         Reported by Solar Designer <solar@openwall.com>.
58881 2009-12-19  Bruno Haible  <bruno@clisp.org>
58883         New module attribute 'Applicability'.
58884         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
58885         * gnulib-tool: New option --extract-applicability.
58886         (func_usage): Document it.
58887         (sed_extract_prog): Recognize it.
58888         (func_get_applicability): New function.
58889         (func_import): Generalize handling of 'link-warning' module.
58890         * modules/link-warning (Applicability): New section.
58891         * modules/arg-nonnull (Applicability): New section.
58892         Repoted by Simon Josefsson <simon@josefsson.org>.
58894 2009-12-19  Bruno Haible  <bruno@clisp.org>
58896         fflush: tweak
58897         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
58898         * lib/fseeko.c (rpl_fseeko): Likewise.
58900 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
58902         * lib/gl_list.h: Fix typo in comment.
58904 2009-12-16  Eric Blake  <ebb9@byu.net>
58906         fcntl: use to simplify other modules
58907         * modules/cloexec (Depends-on): Add fcntl.
58908         * modules/fchdir (Depends-on): Likewise.
58909         * modules/fd-safer-flag (Depends-on): Likewise.
58910         * modules/unistd-safer (Depends-on): Likewise.
58911         * modules/dup3 (configure.ac): Set module indicator.
58912         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
58913         missing.
58914         * lib/fchdir.c (_gl_register_dup): Fix comment.
58915         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
58916         * lib/dup-safer.c (dup_safer): Likewise.
58917         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
58918         * lib/dup3.c (dup3): Likewise.
58919         * tests/test-fchdir.c (main): Enhance test.
58920         Fixes a dup_cloexec bug reported by Ondřej Vašík.
58922         fcntl: port portions of fcntl to mingw
58923         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
58924         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
58925         replacement for mingw.
58926         * modules/fcntl (Description): Update.
58927         (Depends-on): Add dup2.
58928         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
58929         * modules/fcntl-h (Makefile.am): Substitute it.
58930         * lib/fcntl.in.h (fcntl): Update declaration.
58931         (F_DUPFD, F_GETFD): New macros, when needed.
58932         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
58933         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
58934         * tests/test-fcntl.c (check_flags, main): Enhance test for items
58935         we now guarantee.
58937         fcntl: work around cygwin bug in F_DUPFD
58938         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
58939         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
58940         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
58941         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
58942         * doc/posix-functions/fcntl.texi (fcntl): Document it.
58944         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
58945         * modules/fcntl (Files): List new files.
58946         (configure.ac): Run a test.
58947         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
58948         * lib/fcntl.c (rpl_fcntl): Likewise.
58949         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
58950         (gl_FCNTL_H): Always replace fcntl.h.
58951         * modules/fcntl-h (Makefile.am): Substitute witnesses.
58952         * lib/fcntl.in.h (fcntl): Declare replacement.
58953         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
58954         needed, plus a witness.
58955         * doc/posix-functions/fcntl.texi (fcntl): Document this.
58956         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
58957         * tests/test-fcntl.c: New file.
58958         * modules/fcntl-tests: Likewise.
58960         binary-io: avoid potential compilation warning
58961         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
58962         directives.
58964         fflush: avoid compilation error on NetBSD
58965         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
58966         between off_t and fpos_t, since the latter is sometimes a struct.
58967         * lib/fseeko.c (rpl_fseeko): Likewise.
58968         Reported by Alexander Nasonov <alnsn@yandex.ru>.
58970 2009-12-15  Eric Blake  <ebb9@byu.net>
58972         fcntl-h, stdio, sys_ioctl: fix declarations
58973         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
58974         function must not take arguments.
58975         * lib/sys_ioctl.in.h (ioctl): Likewise.
58976         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
58977         (open): Add a link warning.
58979 2009-12-15  Jim Meyering  <meyering@redhat.com>
58981         areadlink, areadlink-with-size: relax license to LGPLv2+
58982         * modules/areadlink (License): Relax to LGPLv2+.
58983         * modules/areadlink-with-size (License): Likewise.
58985 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
58986             Bruno Haible  <bruno@clisp.org>
58988         *printf: Fix memory leak.
58989         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
58990         * lib/vfprintf.c (vfprintf): Likewise.
58991         * lib/dprintf.c (dprintf): Likewise.
58992         * lib/vdprintf.c (vdprintf): Likewise.
58994 2009-12-14  Eric Blake  <ebb9@byu.net>
58996         accept4: adjust module dependencies
58997         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
58999         utimens: one more try at avoiding compiler warning
59000         * lib/utimens.c (lutimens): Lower scope of result.
59002 2009-12-13  Bruno Haible  <bruno@clisp.org>
59004         Move the malloc checking from module 'list' to new module 'xlist'.
59005         * modules/xlist: New file.
59006         * lib/gl_xlist.h: New file.
59007         * lib/gl_xlist.c: New file.
59008         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
59009         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
59010         gl_list_add_last, gl_list_add_before, gl_list_add_after,
59011         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
59012         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
59013         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
59014         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
59015         gl_sortedlist_nx_add): New declarations.
59016         (struct gl_list_implementation): Rename and change methods accordingly.
59017         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
59018         (gl_list_nx_create): Renamed from gl_list_create.
59019         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
59020         (gl_list_nx_set_at): Renamed from gl_list_set_at.
59021         (gl_list_nx_add_first): Renamed from gl_list_add_first.
59022         (gl_list_nx_add_last): Renamed from gl_list_add_last.
59023         (gl_list_nx_add_before): Renamed from gl_list_add_before.
59024         (gl_list_nx_add_after): Renamed from gl_list_add_after.
59025         (gl_list_nx_add_at): Renamed from gl_list_add_at.
59026         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
59027         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
59028         gl_list_create_empty.
59029         (gl_list_nx_create): Renamed from gl_list_create.
59030         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
59031         (gl_list_nx_set_at): Renamed from gl_list_set_at.
59032         (gl_list_nx_add_first): Renamed from gl_list_add_first.
59033         (gl_list_nx_add_last): Renamed from gl_list_add_last.
59034         (gl_list_nx_add_before): Renamed from gl_list_add_before.
59035         (gl_list_nx_add_after): Renamed from gl_list_add_after.
59036         (gl_list_nx_add_at): Renamed from gl_list_add_at.
59037         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
59038         * lib/gl_array_list.c: Don't include xalloc.h.
59039         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
59040         NULL upon out-of-memory.
59041         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
59042         out-of-memory.
59043         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
59044         Change return type to 'int'.
59045         (gl_array_nx_set_at): Renamed from gl_array_set_at.
59046         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
59047         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
59048         upon out-of-memory.
59049         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
59050         upon out-of-memory.
59051         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
59052         upon out-of-memory.
59053         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
59054         upon out-of-memory.
59055         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
59056         out-of-memory.
59057         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
59058         Update.
59059         (gl_array_list_implementation): Update.
59060         * lib/gl_carray_list.c: Don't include xalloc.h.
59061         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
59062         Return NULL upon out-of-memory.
59063         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
59064         out-of-memory.
59065         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
59066         Change return type to 'int'.
59067         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
59068         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
59069         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
59070         upon out-of-memory.
59071         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
59072         upon out-of-memory.
59073         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
59074         out-of-memory.
59075         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
59076         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
59077         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
59078         Update.
59079         (gl_carray_list_implementation): Update.
59080         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
59081         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
59082         gl_linked_create_empty. Return NULL upon out-of-memory.
59083         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
59084         out-of-memory.
59085         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
59086         Change return type to 'int'. Return -1 upon out-of-memory.
59087         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
59088         out-of-memory.
59089         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
59090         upon out-of-memory.
59091         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
59092         upon out-of-memory.
59093         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
59094         NULL upon out-of-memory.
59095         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
59096         upon out-of-memory.
59097         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
59098         out-of-memory.
59099         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
59100         Update.
59101         * lib/gl_linked_list.c: Don't include xalloc.h.
59102         (gl_linked_list_implementation): Update.
59103         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
59104         (add_to_bucket): Change return type to 'int'.
59105         (gl_linkedhash_list_implementation): Update.
59106         * lib/gl_anytree_list1.h (free_subtree): New function.
59107         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
59108         gl_tree_create_empty. Return NULL upon out-of-memory.
59109         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
59110         Change return type to 'int'. Return -1 upon out-of-memory.
59111         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
59112         out-of-memory.
59113         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
59114         (gl_tree_remove_node): New function, moved here from
59115         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
59116         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
59117         Update.
59118         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
59119         malloc, not xmalloc. Return NULL upon out-of-memory.
59120         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
59121         out-of-memory.
59122         (gl_tree_remove_node_from_tree): New function, extracted from
59123         gl_tree_remove_node.
59124         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
59125         upon out-of-memory.
59126         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
59127         out-of-memory.
59128         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
59129         upon out-of-memory.
59130         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
59131         upon out-of-memory.
59132         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
59133         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
59134         not xmalloc. Return NULL upon out-of-memory.
59135         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
59136         out-of-memory.
59137         (gl_tree_remove_node_from_tree): New function, extracted from
59138         gl_tree_remove_node.
59139         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
59140         upon out-of-memory.
59141         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
59142         out-of-memory.
59143         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
59144         upon out-of-memory.
59145         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
59146         upon out-of-memory.
59147         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
59148         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
59149         gl_anytree_list1.h before gl_anyavltree_list2.h.
59150         (gl_avltree_list_implementation): Update.
59151         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
59152         gl_anytree_list1.h before gl_anyavltree_list2.h.
59153         (gl_rbtree_list_implementation): Update.
59154         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
59155         Change return type to 'int'. Return -1 upon out-of-memory. Use
59156         __builtin_expect.
59157         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
59158         (gl_avltreehash_list_implementation): Update.
59159         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
59160         (gl_rbtreehash_list_implementation): Update.
59161         * modules/array-list (Depends-on): Remove xalloc.
59162         * modules/carray-list (Depends-on): Likewise.
59163         * modules/linked-list (Depends-on): Likewise.
59164         * modules/linkedhash-list (Depends-on): Likewise.
59165         * modules/avltree-list (Depends-on): Likewise.
59166         * modules/rbtree-list (Depends-on): Likewise.
59167         * modules/avltreehash-list (Depends-on): Likewise.
59168         * modules/rbtreehash-list (Depends-on): Likewise.
59170         * modules/xsublist: New file.
59171         * lib/gl_xsublist.h: New file.
59172         * lib/gl_xsublist.c: New file.
59173         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
59174         (gl_sublist_nx_create): New declaration.
59175         * lib/gl_sublist.c: Don't include xalloc.h.
59176         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
59177         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
59178         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
59179         Change return type to 'int'. Return -1 upon out-of-memory.
59180         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
59181         upon out-of-memory.
59182         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
59183         NULL upon out-of-memory.
59184         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
59185         upon out-of-memory.
59186         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
59187         NULL upon out-of-memory.
59188         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
59189         NULL upon out-of-memory.
59190         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
59191         upon out-of-memory.
59192         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
59193         (gl_sublist_list_implementation): Update.
59194         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
59195         upon out-of-memory.
59196         * modules/sublist (Depends-on): Remove xalloc.
59198         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
59199         * tests/test-carray_list.c: Likewise.
59200         * tests/test-linked_list.c: Likewise.
59201         * tests/test-linkedhash_list.c: Likewise.
59202         * tests/test-avltree_list.c: Likewise.
59203         * tests/test-rbtree_list.c: Likewise.
59204         * tests/test-avltreehash_list.c: Likewise.
59205         * tests/test-rbtreehash_list.c: Likewise.
59206         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
59207         * modules/carray-list-tests (Makefile.am): Likewise.
59208         * modules/linked-list-tests (Makefile.am): Likewise.
59209         * modules/linkedhash-list-tests (Makefile.am): Likewise.
59210         * modules/avltree-list-tests (Makefile.am): Likewise.
59211         * modules/rbtree-list-tests (Makefile.am): Likewise.
59212         * modules/avltreehash-list-tests (Makefile.am): Likewise.
59213         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
59215         * NEWS: Mention the changes.
59217         * lib/clean-temp.c: Include gl_xlist.h.
59218         * modules/clean-temp (Depends-on): Add xlist.
59220         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
59221         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
59223         * tests/test-array_oset.c: Include gl_xlist.h.
59224         * modules/array-oset-tests (Depends-on): Add xlist.
59226         Reported by José E. Marchesi <jemarch@gnu.org>.
59228 2009-12-13  Bruno Haible  <bruno@clisp.org>
59230         Move the malloc checking from module 'oset' to new module 'xoset'.
59231         * modules/xoset: New file.
59232         * lib/gl_xoset.h: New file.
59233         * lib/gl_xoset.c: New file.
59234         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
59235         declarations.
59236         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
59237         (struct gl_oset_implementation): Rename and change methods accordingly.
59238         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
59239         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
59240         'int'. Mark as __warn_unused_result__.
59241         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
59242         gl_oset_create_empty.
59243         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
59244         'int'.
59245         * lib/gl_array_oset.c: Don't include xalloc.h.
59246         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
59247         malloc, not xmalloc.
59248         (grow): Change return type to 'int'. Don't call xalloc_die.
59249         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
59250         to 'int'.
59251         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
59252         'int'.
59253         (gl_array_oset_implementation): Update.
59254         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
59255         gl_tree_create_empty.
59256         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
59257         'int'.
59258         * lib/gl_avltree_oset.c: Don't include xalloc.h.
59259         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
59260         xmalloc.
59261         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
59262         not xmalloc.
59263         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
59264         xmalloc.
59265         (gl_avltree_oset_implementation): Update.
59266         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
59267         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
59268         xmalloc.
59269         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
59270         not xmalloc.
59271         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
59272         xmalloc.
59273         (gl_rbtree_oset_implementation): Update.
59274         * modules/array-oset (Depends-on): Remove xalloc.
59275         * modules/avltree-oset (Depends-on): Likewise.
59276         * modules/rbtree-oset (Depends-on): Likewise.
59277         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
59278         * tests/test-avltree_oset.c: Likewise.
59279         * tests/test-rbtree_oset.c: Likewise.
59280         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
59281         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
59282         * modules/rbtree-oset-tests (Makefile.am): Likewise.
59283         * NEWS: Mention the change.
59285 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
59287         maint.mk: allow a project to override release-prep commands
59288         * top/maint.mk (alpha, beta, stable): Move release-preparatory
59289         commands into a new rule.
59290         (release-prep): New rule.
59291         (release-prep-hook): New overridable variable.
59293 2009-12-13  Bruno Haible  <bruno@clisp.org>
59295         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
59297 2009-12-13  Jim Meyering  <meyering@redhat.com>
59299         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
59300         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
59302 2009-12-12  Bruno Haible  <bruno@clisp.org>
59304         duplocale: Tweak.
59305         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
59307 2009-12-12  Karl Berry  <karl@gnu.org>
59309         * config/srclist.txt (strtoll.c): tab changes, no more sync.
59311 2009-12-12  Bruno Haible  <bruno@clisp.org>
59313         * m4/po.m4: Undo incorrect untabification.
59315 2009-12-12  Bruno Haible  <bruno@clisp.org>
59317         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
59318         * modules/c-strtod (Depends-on): Add locale.
59319         * modules/c-strtold (Depends-on): Likewise.
59321 2009-12-12  Bruno Haible  <bruno@clisp.org>
59323         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
59325 2009-12-11  Eric Blake  <ebb9@byu.net>
59327         setenv: relax requirement in light of POSIX ruling
59328         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
59329         not NULL.
59330         * tests/test-setenv.c (main): Relax test.
59331         * tests/test-unsetenv.c (main): Likewise.
59332         * doc/posix-functions/setenv.texi (setenv): Document this.
59333         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
59335 2009-12-11  Bruno Haible  <bruno@clisp.org>
59337         New module 'fd-safer-flag'.
59338         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
59339         * lib/dup-safer.c (dup_safer_flag): Remove function.
59340         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
59341         * lib/fd-safer.c (fd_safer_flag): Remove function.
59342         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
59343         * modules/cloexec (configure.ac): Drop indicator macro.
59344         * modules/fd-safer-flag: New file.
59345         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
59346         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
59347         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
59349 2009-12-11  Bruno Haible  <bruno@clisp.org>
59351         Tests for module 'nl_langinfo'.
59352         * modules/nl_langinfo-tests: New file.
59353         * tests/test-nl_langinfo.sh: New file.
59354         * tests/test-nl_langinfo.c: New file.
59356         New module 'nl_langinfo'.
59357         * lib/nl_langinfo.c: New file.
59358         * m4/nl_langinfo.m4: New file.
59359         * modules/nl_langinfo: New file.
59360         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
59362 2009-12-11  Bruno Haible  <bruno@clisp.org>
59364         Tests for module 'langinfo'.
59365         * modules/langinfo-tests: New file.
59366         * tests/test-langinfo.c: New file.
59368         New module 'langinfo'.
59369         * lib/langinfo.in.h: New file.
59370         * m4/langinfo_h.m4: New file.
59371         * modules/langinfo: New file.
59372         * doc/posix-headers/langinfo.texi: Mention the new module.
59374 2009-12-11  Bruno Haible  <bruno@clisp.org>
59376         * lib/config.charset: Untabify.
59378 2009-12-11  Bruno Haible  <bruno@clisp.org>
59380         * modules/unistd-safer (configure.ac): Drop indicator macro.
59382 2009-12-11  Bruno Haible  <bruno@clisp.org>
59384         Move pipe2-safer code to its own file.
59385         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
59386         * lib/pipe-safer.c (pipe2_safer): Remove function.
59387         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
59388         (Makefile.am): Add it to lib_SOURCES.
59390 2009-12-10  Bruno Haible  <bruno@clisp.org>
59392         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
59394 2009-12-10  Bruno Haible  <bruno@clisp.org>
59396         Declare which arguments expect non-NULL values, for GCC and clang.
59397         * build-aux/arg-nonnull.h: New file.
59398         * modules/arg-nonnull: New file.
59399         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
59400         (inet_ntop, inet_pton): Use it.
59401         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
59402         (closedir, dirfd, opendir, scandir, alphasort): Use it.
59403         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
59404         (open, openat): Use it.
59405         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
59406         (fnmatch): Use it.
59407         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
59408         (getopt, getopt_long, getopt_long_only): Use it.
59409         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
59410         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
59411         Use it.
59412         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
59413         (iconv_open): Use it.
59414         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
59415         (strtoimax, strtoumax): Use it.
59416         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
59417         (duplocale): Use it.
59418         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
59419         (frexp, frexpl): Use it.
59420         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
59421         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
59422         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
59423         (tsearch, tfind, tdelete, twalk): Use it.
59424         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
59425         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
59426         sigpending): Use it.
59427         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
59428         (posix_spawn, posix_spawnp, posix_spawnattr_init,
59429         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
59430         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
59431         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
59432         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
59433         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
59434         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
59435         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
59436         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
59437         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
59438         Use it.
59439         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
59440         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
59441         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
59442         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
59443         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
59444         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
59445         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
59446         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
59447         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
59448         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
59449         strtoull, unsetenv): Use it.
59450         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
59451         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
59452         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
59453         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
59454         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
59455         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
59456         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
59457         (strcasecmp, strncasecmp): Use it.
59458         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
59459         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
59460         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
59461         rpl_setsockopt): Use it.
59462         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
59463         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
59464         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
59465         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
59466         (gettimeofday): Use it.
59467         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
59468         (times): Use it.
59469         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
59470         (uname): Use it.
59471         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
59472         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
59473         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
59474         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
59475         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
59476         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
59477         unlinkat, write): Use it.
59478         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
59479         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
59480         * lib/argv-iter.h: Include arg-nonnull.h.
59481         (_ATTRIBUTE_NONNULL_): Remove macro.
59482         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
59483         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
59484         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
59485         optimization.
59486         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
59487         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
59488         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
59489         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
59490         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
59491         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
59492         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
59493         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
59494         * modules/arpa_inet (Depends-on): Add arg-nonnull.
59495         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
59496         * modules/dirent (Depends-on): Add arg-nonnull.
59497         (Makefile.am): Insert arg-nonnull.h into dirent.h.
59498         * modules/fcntl-h (Depends-on): Add arg-nonnull.
59499         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
59500         * modules/fnmatch (Depends-on): Add arg-nonnull.
59501         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
59502         * modules/getopt-posix (Depends-on): Add arg-nonnull.
59503         (Makefile.am): Insert arg-nonnull.h into getopt.h.
59504         * modules/glob (Depends-on): Add arg-nonnull.
59505         (Makefile.am): Insert arg-nonnull.h into glob.h.
59506         * modules/iconv_open (Depends-on): Add arg-nonnull.
59507         (Makefile.am): Insert arg-nonnull.h into iconv.h.
59508         * modules/inttypes (Depends-on): Add arg-nonnull.
59509         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
59510         * modules/locale (Depends-on): Add arg-nonnull.
59511         (Makefile.am): Insert arg-nonnull.h into locale.h.
59512         * modules/math (Depends-on): Add arg-nonnull.
59513         (Makefile.am): Insert arg-nonnull.h into math.h.
59514         * modules/netdb (Depends-on): Add arg-nonnull.
59515         (Makefile.am): Insert arg-nonnull.h into netdb.h.
59516         * modules/search (Depends-on): Add arg-nonnull.
59517         (Makefile.am): Insert arg-nonnull.h into search.h.
59518         * modules/signal (Depends-on): Add arg-nonnull.
59519         (Makefile.am): Insert arg-nonnull.h into signal.h.
59520         * modules/spawn (Depends-on): Add arg-nonnull.
59521         (Makefile.am): Insert arg-nonnull.h into spawn.h.
59522         * modules/stdio (Depends-on): Add arg-nonnull.
59523         (Makefile.am): Insert arg-nonnull.h into stdio.h.
59524         * modules/stdlib (Depends-on): Add arg-nonnull.
59525         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
59526         * modules/string (Depends-on): Add arg-nonnull.
59527         (Makefile.am): Insert arg-nonnull.h into string.h.
59528         * modules/strings (Depends-on): Add arg-nonnull.
59529         (Makefile.am): Insert arg-nonnull.h into strings.h.
59530         * modules/sys_socket (Depends-on): Add arg-nonnull.
59531         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
59532         * modules/sys_stat (Depends-on): Add arg-nonnull.
59533         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
59534         * modules/sys_time (Depends-on): Add arg-nonnull.
59535         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
59536         * modules/sys_times (Depends-on): Add arg-nonnull.
59537         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
59538         * modules/sys_utsname (Depends-on): Add arg-nonnull.
59539         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
59540         * modules/time (Depends-on): Add arg-nonnull.
59541         (Makefile.am): Insert arg-nonnull.h into time.h.
59542         * modules/unistd (Depends-on): Add arg-nonnull.
59543         (Makefile.am): Insert arg-nonnull.h into unistd.h.
59544         * modules/wchar (Depends-on): Add arg-nonnull.
59545         (Makefile.am): Insert arg-nonnull.h into wchar.h.
59546         * modules/argv-iter (Depends-on): Add arg-nonnull.
59547         * tests/test-canonicalize.c (null_ptr): New function.
59548         (main): Use it.
59549         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
59550         (main): Use it.
59551         * tests/test-memmem.c (null_ptr): New function.
59552         (main): Use it.
59553         Reported by Jim Meyering.
59555 2009-12-10  Bruno Haible  <bruno@clisp.org>
59557         Use spaces for indentation, not tabs.
59558         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
59559         * m4/*.m4: Untabify.
59560         * build-aux/*.h: Untabify.
59561         * tests/**/*.[hc]: Untabify.
59562         * README: New section "Indent with spaces, not TABs", based on
59563         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
59564         * NEWS: Mention the change.
59566 2009-12-10  Bruno Haible  <bruno@clisp.org>
59568         pty test: Fix link error.
59569         * modules/pty-tests (Makefile.am): Add the default LDADD value to
59570         test_pty_LDADD.
59572 2009-12-07  Simon Josefsson  <simon@josefsson.org>
59574         * modules/pty: New file.
59575         * modules/pty-tests: New file.
59576         * m4/pty.m4: New file.
59577         * tests/test-pty.c: New file.
59578         * doc/glibc-headers/pty.texi: Modified.
59579         * doc/glibc-functions/forkpty.texi: Modified.
59580         * doc/glibc-functions/openpty.texi: Modified.
59582 2009-12-10  Bruno Haible  <bruno@clisp.org>
59584         Avoid syntax error in C++ mode.
59585         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
59587 2009-12-10  Bruno Haible  <bruno@clisp.org>
59589         Use sed with option -e.
59590         * gnulib-tool (func_version, func_emit_copyright_notice,
59591         func_emit_initmacro_end, func_import, func_create_testdir): Pass
59592         option -e to sed.
59593         * modules/link-warning (Makefile.am): Likewise.
59595 2009-12-10  Jim Meyering  <meyering@redhat.com>
59597         mgetgroups: do not write bytes beyond end of malloc'd buffer
59598         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
59599         username, we call getgroups with a one-element-shorter buffer,
59600         but still told it the length was original, max_n_groups.
59602 2009-12-09  Eric Blake  <ebb9@byu.net>
59604         cloexec: relax license
59605         * modules/cloexec (Maintainer): Add myself.
59606         (License): Use LGPL, not GPL.
59608         link-warning: optimize generation
59609         * modules/link-warning (Makefile.am): Reduce process usage.
59611 2009-12-09  Bruno Haible  <bruno@clisp.org>
59613         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
59614         workaround was added on 2009-11-17.
59616 2009-12-09  Jim Meyering  <meyering@redhat.com>
59617             Bruno Haible  <bruno@clisp.org>
59619         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
59620         * modules/link-warning (Makefile.am): Make the comment-removing sed
59621         command more robust in the face of bootstrap-prepended comment lines.
59623 2009-12-09  Bruno Haible  <bruno@clisp.org>
59625         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
59626         most one group.
59628 2009-12-09  Simon Josefsson  <simon@josefsson.org>
59629             Bruno Haible  <bruno@clisp.org>
59631         * build-aux/link-warning.h: Add copyright notice.
59632         * modules/link-warning (Makefile.am): Generate link-warning.h from
59633         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
59634         * NEWS: Mention change in link-warning module.
59635         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
59636         * modules/dirent (Makefile.am): Add dependency to dirent.h.
59637         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
59638         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
59639         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
59640         * modules/math (Makefile.am): Add dependency to math.h.
59641         * modules/search (Makefile.am): Add dependency to search.h.
59642         * modules/signal (Makefile.am): Add dependency to signal.h.
59643         * modules/spawn (Makefile.am): Add dependency to spawn.h.
59644         * modules/stdio (Makefile.am): Add dependency to stdio.h.
59645         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
59646         * modules/string (Makefile.am): Add dependency to string.h.
59647         * modules/strings (Makefile.am): Add dependency to strings.h.
59648         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
59649         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
59650         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
59651         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
59652         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
59653         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
59654         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
59655         * modules/unistd (Makefile.am): Add dependency to unistd.h.
59656         * modules/wchar (Makefile.am): Add dependency to wchar.h.
59658 2009-12-09  Bruno Haible  <bruno@clisp.org>
59660         fchdir: Optimize away rpl_fstat when possible.
59661         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
59662         REPLACE_OPEN_DIRECTORY.
59663         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
59665 2009-12-09  Bruno Haible  <bruno@clisp.org>
59667         * lib/fchdir.c: Update comment.
59669 2009-12-09  Bruno Haible  <bruno@clisp.org>
59671         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
59673 2009-12-08  Eric Blake  <ebb9@byu.net>
59675         fchdir: avoid memory leak on re-registration.
59676         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
59678 2009-12-08  Jim Meyering  <meyering@redhat.com>
59680         init.sh: avoid Solaris 10 /bin/sh portability problem
59681         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
59682         sourced script:
59683           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
59684           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
59685           bar
59686         tests/init.sh relied on that, accepting a --set-path=DIR argument,
59687         and two tests used that idiom.
59688         * tests/init.sh: Update suggested usage comments.
59689         (path_prepend_): New function, to be used in place
59690         of the --src-path=DIR option.
59691         (setup_): Move PATH-prepending code into path_prepend_.
59692         * tests/test-pread.sh: Adapt to new usage.
59693         * tests/test-xalloc-die.sh: Likewise.
59695 2009-12-08  Simon Josefsson  <simon@josefsson.org>
59697         * doc/gnulib.texi (Glibc pty.h): Add.
59698         * doc/glibc-functions/forkpty.texi: Add.
59699         * doc/glibc-functions/openpty.texi: Add.
59700         Suggested by Bruno Haible.
59702 2009-12-08  Eric Blake  <ebb9@byu.net>
59704         fchdir: fix logic bugs
59705         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
59706         * tests/test-fchdir.c (main): Enhance test.
59707         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
59708         is in use.
59710         dup2: fix logic bugs
59711         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
59712         REPLACE_DUP2 to decide when rpl_dup2 is needed.
59713         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
59714         exists.
59715         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
59717 2009-12-07  Eric Blake  <ebb9@byu.net>
59719         unlink: fix m4 detection
59720         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
59722         unistd-safer: add unit test
59723         * modules/unistd-safer-tests: New file.
59724         * tests/test-dup-safer.c: Likewise.
59725         * tests/test-cloexec.c (setmode): Avoid compiler warning.
59726         * tests/test-dup2.c (setmode): Likewise.
59727         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
59729         cloexec: preserve text vs. binary across dup_cloexec
59730         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
59731         mode.
59732         * modules/dup2-tests (Depends-on): Add binary-io.
59733         * modules/cloexec-tests (Depends-on): Likewise.
59734         * tests/test-dup2.c (setmode, is_mode): New helpers.
59735         (main): Add tests that translation mode is preserved.
59736         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
59737         Reported by Bruno Haible.
59739         mgetgroups: reduce duplicate listings
59740         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
59741         resulting array.
59742         * tests/test-chown.h (test_chown): Simplify client.
59743         * tests/test-lchown.h (test_lchown): Likewise.
59745 2009-12-06  Bruno Haible  <bruno@clisp.org>
59747         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
59748         value.
59750 2009-12-06  Bruno Haible  <bruno@clisp.org>
59752         * lib/progname.c: Include stdio.h, stdlib.h.
59753         (set_program_name): Reject a NULL argument.
59755 2009-12-05  Eric Blake  <ebb9@byu.net>
59757         pipe2-safer: new module
59758         * modules/pipe2-safer: New file.
59759         * lib/unistd-safer.h (pipe2_safer): New prototype.
59760         * lib/unistd--.h (pipe2): New wrapper.
59761         * lib/pipe-safer.c (pipe2_safer): New function.
59762         * modules/pipe (Depends-on): Add pipe2-safer.
59763         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
59765         stdlib-safer: preserve cloexec flag for mkostemp[s]
59766         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
59767         fd_safer_flag.
59769         unistd-safer: allow preservation of cloexec status via flag
59770         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
59771         prototypes.
59772         * lib/dup-safer.c (dup_safer_flag): New function.
59773         * lib/fd-safer.c (fd_safer_flag): Likewise.
59774         * modules/cloexec (configure.ac): Set witness.
59776         test-dup2: enhance test
59777         * modules/dup2-tests (Depends-on): Add cloexec.
59778         * tests/test-dup2.c (main): Enhance test.
59780         cloexec: add dup_cloexec
59781         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
59782         header and comments.
59783         * lib/cloexec.c (set_cloexec_flag): Add comments.
59784         (dup_cloexec): New function, with mingw implementation borrowed
59785         from...
59786         * lib/w32spawn.h (dup_noinherit): ...here.
59787         * modules/execute (Depends-on): Add cloexec.
59788         * modules/pipe (Depends-on): Likewise.
59789         * modules/cloexec (Depends-on): Add dup2.
59790         * modules/cloexec-tests (Files): New file.
59791         * tests/test-cloexec.c: Likewise.
59793         test-xalloc-die: fix test for mingw
59794         * modules/xalloc-die-tests (Files): Add tests/init.sh.
59795         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
59796         directory and .exe suffix off argv[0] output.
59798         test-fseeko: fix test for mingw
59799         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
59800         than undefining fseek, so test will pass on mingw.
59802 2009-12-05  Bruno Haible  <bruno@clisp.org>
59804         * lib/progname.h (set_program_name): Clarify specification.
59805         * lib/progname.c (set_program_name): Likewise.
59806         Reported by Jim Meyering.
59808 2009-12-05  Jim Meyering  <meyering@redhat.com>
59810         maint.mk: backslash-escape parens in default regexp
59811         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
59812         backslash-escape the literal parentheses.
59814         maint.mk: news-date-check: use grep -E
59815         * top/maint.mk (today): Define a Make variable, not a...
59816         (news-date-check): ...shell variable.
59817         (news-date-regexp): Use the Make variable.
59818         Use grep's -E option.  Change the failing diagnostic to mention
59819         the variable, $(news-date-regexp).
59821 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
59823         maintainer-makefile: allow customization of NEWS entry format
59824         * top/maint.mk (news-date-regexp): New overridable variable.
59825         (news-date-check): Use it.
59827 2009-12-04  Eric Blake  <ebb9@byu.net>
59829         mgetgroups: add xgetgroups, and avoid ENOSYS failures
59830         * lib/mgetgroups.h (xgetgroups): New prototype.
59831         * lib/mgetgroups.c (xgetgroups): New wrapper.
59832         (mgetgroups): Handle ENOSYS.
59833         * modules/mgetgroups (Depends-on): Add realloc.
59834         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
59836         mgetgroups: avoid argument promotion issues with -1
59837         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
59838         for invalid gid_t.
59839         * tests/test-chown.h (getegid, test_chown): Likewise.
59840         * tests/test-lchown.h (getegid, test_lchown): Likewise.
59842 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
59844         exclude: Fix header file problems.
59845         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
59847 2009-12-01  Jim Meyering  <meyering@redhat.com>
59849         fts: fts_open: do not let an empty string cause immediate failure
59850         This is required in support of GNU rm, for which the command
59851         "rm A '' B" must process and remove both A and B, in spite of
59852         the empty string argument.
59853         * lib/fts.c (fts_open): Do not let the presence of an empty string
59854         cause fts_open to fail immediately.  Most fts-using tools must be
59855         able to process all arguments, in order, and can be expected to
59856         diagnose such arguments themselves.
59858 2009-11-30  Eric Blake  <ebb9@byu.net>
59860         utimens: fix compilation error
59861         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
59862         Declare variable at right scope.
59864 2009-11-29  Jim Meyering  <meyering@redhat.com>
59866         bootstrap: handle perl-5.11's changed --version output
59867         * build-aux/bootstrap (get_version): Handle perl separately,
59868         since perl-5.11's --version output is different.
59870 2009-11-28  Jim Meyering  <meyering@redhat.com>
59872         userspec: depend on the inttostr module, too
59873         * modules/userspec (Depends-on): Add inttostr.
59875         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
59876         * lib/userspec.c (parse_with_separator): Do not accept a user ID
59877         number of MAXUID when it evaluates to (uid_t) -1.
59878         Likewise for group ID.  Reported by Matt McCutchen in
59879         <http://savannah.gnu.org/bugs/?28113>
59881         userspec: reformat to use spaces, not TABs
59882         * lib/userspec.c: Expand TABs to spaces.
59883         Add Emacs' "indent-tabs-mode: nil" hint.
59885 2009-11-27  Eric Blake  <ebb9@byu.net>
59887         getopt-gnu: flush out another BSD bug
59888         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
59889         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
59890         flush out BSD bug.
59891         * tests/test-getopt.h (test_getopt): End lists with NULL.
59892         * tests/test-getopt_long.h (test_getopt_long): Likewise.
59893         (test_getopt_long_posix): Enhance test.
59894         * modules/getopt-posix-tests (Depends-on): Add stdbool.
59895         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
59896         getopt-gnu.
59897         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
59898         Likewise.
59900 2009-11-27  Simon Josefsson  <simon@josefsson.org>
59902         * modules/idpriv-droptemp-tests (Notice): Fix text.
59904 2009-11-27  Jim Meyering  <meyering@redhat.com>
59906         test-xalloc-die: avoid spurious failure due to libtool argv difference
59907         In a libtool-enabled project, this test would fail due to a difference
59908         in the emitted program name, e.g.,
59909         -test-xalloc-die: memory exhausted
59910         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
59911         Use program to avoid that.
59912         * modules/xalloc-die-tests (Depends-on): Add progname.
59913         * tests/test-xalloc-die.c: Include progname.h".
59914         (program_name): Remove decl.
59915         (main): Call set_program_name.
59916         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
59918 2009-11-26  Richard Jones  <rjones@redhat.com>
59920         w32sock: leave win32 error in place.
59921         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
59923 2009-11-26  Eric Blake  <ebb9@byu.net>
59925         init.sh: suggest to use skip_ and fail_ functions in comments
59926         * tests/init.sh: Add a sentence.
59928 2009-11-25  Bruno Haible  <bruno@clisp.org>
59930         init.sh: add documentation in comments
59931         * tests/init.sh: Add some developer and user documentation.
59933 2009-11-26  Jim Meyering  <meyering@redhat.com>
59935         init.sh: accommodate even those who specify bogus srcdir manually
59936         * tests/init.sh: Normally, srcdir is guaranteed by automake and
59937         configure-time tests to be sanitized, so that there is no need to
59938         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
59939         (with no double quotes) suffices.  However, since tests may be
59940         invoked manually, and since you may explicitly set srcdir to the
59941         name of a directory containing spaces, do quote its uses here.
59942         * tests/test-pread.sh: Likewise.
59943         Suggested by Bruno Haible.
59945         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
59946         * tests/test-pread.sh: Write no data into the pipe, because
59947         test-pread actually reads none.  This avoids a diagnostic,
59948         "bash: echo: write error: Broken pipe", that arises in the unusual
59949         event something is ignoring SIGPIPE, and might be interpreted
59950         as some sort of failure.  Reported by Bruno Haible.
59952 2009-11-25  Jim Meyering  <meyering@redhat.com>
59954         test-pread: cover failure with ESPIPE and EINVAL
59955         * tests/test-pread.c (main): Test for failure, too.
59956         * tests/test-pread.sh: Invoke with stdin on a pipe.
59957         Suggested by Eric Blake.
59959         pread: improvement and fix
59960         * modules/pread (Depends-on): Depend on lseek, for portability to
59961         e.g., mingw.  Suggested by Eric Blake.
59962         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
59964         unistd.in.h: correct declaration of pread
59965         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
59966         Reported by Richard W.M. Jones.
59968         test-pread.sh: distribute the test script
59969         * modules/pread-tests (Files): Include test-pread.sh.
59971         test-pread.sh: clean up
59972         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
59973         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
59974         That is unnecessary, since it's always ".".
59975         Suggestion from Eric Blake.
59977         test-pread.sh: make executable
59978         * tests/test-pread.sh: Set executable bit.
59979         Reported by Eric Blake.
59981         correct typo in test-pread.sh
59982         * tests/test-pread.sh: Add #! line.
59984         test pread
59985         * tests/test-pread.c: New file.
59986         * tests/test-pread.sh: Likewise.
59987         * modules/pread-tests: Likewise.
59989         pread: new module
59990         * modules/pread: New file.
59991         * lib/unistd.in.h (pread): Define/declare.
59992         * lib/pread.c (pread): New file.
59993         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
59994         * modules/unistd (Makefile.am): Substitute witnesses.
59995         * doc/posix-functions/pread.texi (pread): Update.
59996         * MODULES.html.sh: Add pread.
59998 2009-11-25  Jim Meyering  <meyering@redhat.com>
60000         tests/init.sh: new file to be used via most *.sh tests
60001         * tests/init.sh: New file.
60003 2009-11-25  Eric Blake  <ebb9@byu.net>
60005         utimens: work around older Linux failure with symlinks
60006         * lib/utimens.c (lutimensat_works_really): New variable.
60007         (fdutimens, lutimens): Use it to manage kernels that support
60008         nanosecond times on files, but not on symlinks.
60009         Reported by Ondřej Vašík.
60011         utimes: fix configure grammar
60012         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
60014 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
60016         regex: Fix fastmap for multibyte character ranges.
60017         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
60018         characters when a multibyte character range is included.
60020 2009-11-22  Andy Wingo  <wingo@pobox.com>
60022         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
60023         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
60025 2009-11-24  Bruno Haible  <bruno@clisp.org>
60027         doc: Most *_l functions exist in MacOS X 10.5.
60028         * doc/posix-functions/duplocale.texi: Update platforms list.
60029         * doc/posix-functions/freelocale.texi: Likewise.
60030         * doc/posix-functions/newlocale.texi: Likewise.
60031         * doc/posix-functions/uselocale.texi: Likewise.
60032         * doc/posix-functions/isalnum_l.texi: Likewise.
60033         * doc/posix-functions/isalpha_l.texi: Likewise.
60034         * doc/posix-functions/isblank_l.texi: Likewise.
60035         * doc/posix-functions/iscntrl_l.texi: Likewise.
60036         * doc/posix-functions/isdigit_l.texi: Likewise.
60037         * doc/posix-functions/isgraph_l.texi: Likewise.
60038         * doc/posix-functions/islower_l.texi: Likewise.
60039         * doc/posix-functions/isprint_l.texi: Likewise.
60040         * doc/posix-functions/ispunct_l.texi: Likewise.
60041         * doc/posix-functions/isspace_l.texi: Likewise.
60042         * doc/posix-functions/isupper_l.texi: Likewise.
60043         * doc/posix-functions/iswalnum_l.texi: Likewise.
60044         * doc/posix-functions/iswalpha_l.texi: Likewise.
60045         * doc/posix-functions/iswblank_l.texi: Likewise.
60046         * doc/posix-functions/iswcntrl_l.texi: Likewise.
60047         * doc/posix-functions/iswctype_l.texi: Likewise.
60048         * doc/posix-functions/iswdigit_l.texi: Likewise.
60049         * doc/posix-functions/iswgraph_l.texi: Likewise.
60050         * doc/posix-functions/iswlower_l.texi: Likewise.
60051         * doc/posix-functions/iswprint_l.texi: Likewise.
60052         * doc/posix-functions/iswpunct_l.texi: Likewise.
60053         * doc/posix-functions/iswspace_l.texi: Likewise.
60054         * doc/posix-functions/iswupper_l.texi: Likewise.
60055         * doc/posix-functions/iswxdigit_l.texi: Likewise.
60056         * doc/posix-functions/isxdigit_l.texi: Likewise.
60057         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
60058         * doc/posix-functions/strcasecmp_l.texi: Likewise.
60059         * doc/posix-functions/strcoll_l.texi: Likewise.
60060         * doc/posix-functions/strfmon_l.texi: Likewise.
60061         * doc/posix-functions/strftime_l.texi: Likewise.
60062         * doc/posix-functions/strncasecmp_l.texi: Likewise.
60063         * doc/posix-functions/strxfrm_l.texi: Likewise.
60064         * doc/posix-functions/tolower_l.texi: Likewise.
60065         * doc/posix-functions/toupper_l.texi: Likewise.
60066         * doc/posix-functions/towctrans_l.texi: Likewise.
60067         * doc/posix-functions/towlower_l.texi: Likewise.
60068         * doc/posix-functions/towupper_l.texi: Likewise.
60069         * doc/posix-functions/wcscoll_l.texi: Likewise.
60070         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
60071         * doc/posix-functions/wctrans_l.texi: Likewise.
60072         * doc/posix-functions/wctype_l.texi: Likewise.
60073         * doc/glibc-functions/strptime_l.texi: Likewise.
60074         * doc/glibc-functions/strtod_l.texi: Likewise.
60075         * doc/glibc-functions/strtof_l.texi: Likewise.
60076         * doc/glibc-functions/strtol_l.texi: Likewise.
60077         * doc/glibc-functions/strtold_l.texi: Likewise.
60078         * doc/glibc-functions/strtoll_l.texi: Likewise.
60079         * doc/glibc-functions/strtoul_l.texi: Likewise.
60080         * doc/glibc-functions/strtoull_l.texi: Likewise.
60081         * doc/glibc-functions/wcsftime_l.texi: Likewise.
60082         * doc/glibc-functions/wcstod_l.texi: Likewise.
60083         * doc/glibc-functions/wcstof_l.texi: Likewise.
60084         * doc/glibc-functions/wcstol_l.texi: Likewise.
60085         * doc/glibc-functions/wcstold_l.texi: Likewise.
60086         * doc/glibc-functions/wcstoll_l.texi: Likewise.
60087         * doc/glibc-functions/wcstoul_l.texi: Likewise.
60088         * doc/glibc-functions/wcstoull_l.texi: Likewise.
60090 2009-11-24  Bruno Haible  <bruno@clisp.org>
60092         duplocale: Fix logic bug.
60093         * lib/duplocale.c: Don't include <langinfo.h>.
60094         (_NL_LOCALE_NAME): Remove macro.
60095         (rpl_duplocale): Use setlocale instead of nl_langinfo.
60096         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
60098 2009-11-23  Jim Meyering  <meyering@redhat.com>
60100         test-update-copyright: don't hard-code /usr/bin/perl
60101         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
60102         perl to print the current year.  Gilles Espinasse reported that
60103         the replaced use of perl was hard-coded as /usr/bin/perl.
60105 2009-11-23  Bruno Haible  <bruno@clisp.org>
60107         duplocale: Add support for glibc 2.3.x.
60108         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
60110 2009-11-22  Bruno Haible  <bruno@clisp.org>
60112         vasnprintf: Tiny optimization.
60113         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
60114         MacOS X.
60116 2009-11-22  Bruno Haible  <bruno@clisp.org>
60118         Tests for module 'duplocale'.
60119         * modules/duplocale-tests: New file.
60120         * tests/test-duplocale.c: New file.
60122         New module 'duplocale'.
60123         * m4/duplocale.m4: New file.
60124         * lib/locale.in.h (duplocale): New declaration.
60125         * lib/duplocale.c: New file.
60126         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
60127         gl_LOCALE_H_DEFAULTS): New macros.
60128         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
60129         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
60130         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
60131         REPLACE_DUPLOCALE.
60132         * modules/duplocale: New file.
60133         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
60135 2009-11-22  Bruno Haible  <bruno@clisp.org>
60137         * modules/locale-tests (configure.ac): Test for newlocale function.
60138         * tests/test-locale.c: When the system has extended locale functions,
60139         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
60141         locale: Make locale_t available when possible.
60142         * lib/locale.in.h: Include <xlocale.h> when it exists.
60143         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
60144         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
60145         * modules/locale (Depends-on): Add extensions.
60146         (Makefile.am): Also substitute HAVE_XLOCALE_H.
60147         * doc/posix-headers/locale.texi: Document the problem with locale_t.
60149 2009-11-22  Bruno Haible  <bruno@clisp.org>
60151         Add comments.
60152         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
60153         invocation.
60154         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
60155         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
60156         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
60158 2009-11-22  Bruno Haible  <bruno@clisp.org>
60160         error: account for the possibility of freopen (stdout).
60161         * lib/error.c: Include <unistd.h>.
60162         (flush_stdout): New function, extracted from error and error_at_line.
60163         Determine stdout's fd dynamically.
60164         (error, error_at_line): Invoke flush_stdout.
60165         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
60166         * modules/error (Depends-on): Add unistd.
60168 2009-11-22  Bruno Haible  <bruno@clisp.org>
60170         diffseq: Add comment.
60171         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
60173 2009-11-22  Jim Meyering  <meyering@redhat.com>
60175         c-stack: avoid defining an unused static function
60176         * lib/c-stack.c (find_stack_direction): Do not define this function
60177         when it will not be used.
60179         diffseq: avoid spurious gcc warnings
60180         * lib/diffseq.h (IF_LINT2): Define.
60181         (compareseq): Use it to initialize two members of "part".
60182         This avoids two used-uninitialized warnings.
60184 2009-11-21  Jim Meyering  <meyering@redhat.com>
60186         c-stack: avoid "ignoring return value of `write'" warning
60187         * lib/c-stack.c: Include "ignore-value.h".
60188         (die): Explicitly ignore each write return value.
60189         * modules/c-stack (Depends-on): Add ignore-value.
60191 2009-11-21  Bruno Haible  <bruno@clisp.org>
60193         diffseq: reduce scope of variable 'best'.
60194         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
60195         variable, earlier used for two different purposes.
60197 2009-11-21  Jim Meyering  <meyering@redhat.com>
60199         diffseq: remove useless assignment to "best"
60200         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
60201         assignment.  At that point "best" is already guaranteed to be zero.
60203 2009-11-20  Eric Blake  <ebb9@byu.net>
60205         build: mention ftp redirector in release announcements
60206         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
60207         values that used to come from cfg.mk; mention FTP redirect URL.
60208         * build-aux/announce-gen: Mention the mirror list.
60209         Suggested by Karl Berry.
60211         nanosleep: improve port to mingw
60212         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
60213         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
60214         LIB_NANOSLEEP, but only when needed.
60215         * modules/select (Link): Document LIBSOCKET.
60216         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
60217         enough.
60219         nanosleep: work around cygwin bug
60220         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
60221         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
60222         bug.
60223         (getnow): Delete, not needed.
60224         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
60225         LIB_CLOCK_GETTIME.
60226         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
60227         clock-time, gettime.
60228         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
60229         bug.
60230         * modules/nanosleep-tests: New test.
60231         * tests/test-nanosleep.c: New file.
60233         sleep: work around cygwin bug
60234         * lib/sleep.c (rpl_sleep): Work around the bug.
60235         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
60236         (gl_PREREQ_SLEEP): Delete unused macro.
60237         * modules/sleep (Depends-on): Add verify.
60238         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
60239         * modules/unistd (Makefile.am): Substitute witness.
60240         * lib/unistd.in.h (sleep): Update prototype.
60241         * doc/posix-functions/sleep.texi (sleep): Document the bug.
60242         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
60243         * modules/sleep-tests (Depends-on): Check for alarm.
60245 2009-11-20  Jim Meyering  <meyering@redhat.com>
60247         maint.mk: improve sc_prohibit_magic_number_exit
60248         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
60249         so it does not match uses like System.exit(1).
60250         Add comments showing how to correct all offenders.
60252 2009-11-19  Eric Blake  <ebb9@byu.net>
60254         xalloc-die-tests: add missing library
60255         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
60257         test-xvasprintf: silence compiler warnings
60258         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
60259         empty string from gcc.
60261 2009-11-19  Jim Meyering  <meyering@redhat.com>
60263         xfreopen: new module, from coreutils
60264         * modules/xfreopen: New module.
60265         * lib/xfreopen.c: New file.
60266         * lib/xfreopen.h: New file.
60267         * MODULES.html.sh (File stream based Input/Output"): Add it.
60269 2009-11-19  Eric Blake  <ebb9@byu.net>
60271         manywarnings: depend on warnings
60272         * modules/manywarnings (Depends-on): Add warnings.
60274         build: avoid compiler warnings
60275         * lib/select.c (rpl_select): Delete unused variable.
60276         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
60278 2009-11-18  Eric Blake  <ebb9@byu.net>
60280         tests: avoid false negative with --with-packager
60281         * tests/test-version-etc.sh: Discard packager information.
60282         * tests/test-argp-version-etc-1.sh: Likewise.
60283         Reported by Mike Frysinger.
60285         utimens: fix regression on Solaris
60286         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
60287         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
60288         can only change fd timestamps via futimesat.  Instead, use an
60289         additional witness macro to avoid BSD bug.
60290         Reported by Jim Meyering.
60292 2009-11-17  Eric Blake  <ebb9@byu.net>
60294         usleep: use it to simplify tests
60295         * modules/stat-time-tests (Depends-on): Add usleep.
60296         (configure.ac): Drop usleep check.
60297         * modules/chown-tests (Depends-on, configure.ac): Likewise.
60298         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
60299         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
60300         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
60301         * modules/openat-tests (Depends-on, configure.ac): Likewise.
60302         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
60303         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
60304         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
60305         Likewise.
60306         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
60307         * tests/test-lchown.h (nap): Likewise.
60308         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
60309         * tests/test-stat-time.c (nap): Likewise.
60310         * tests/test-utimens-common.h (nap): Update comments.
60312         usleep: new module
60313         * modules/usleep: New file.
60314         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
60315         * lib/usleep.c (usleep): Likewise.
60316         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
60317         * modules/unistd (Makefile.am): Substitute witnesses.
60318         * lib/unistd.in.h (usleep): Add declaration.
60319         * doc/pastposix-functions/usleep.texi (usleep): Document this.
60320         * MODULES.html.sh (Date and time): Likewise.
60321         * modules/usleep-tests (Depends-on): New test.
60322         * tests/test-usleep.c: New file.
60324         chown: work around OpenBSD bug
60325         * lib/chown.c (rpl_chown): Work around the bug.
60326         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
60327         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
60328         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
60329         * modules/chown (Depends-on): Add stdbool.
60330         * modules/lchown (Depends-on): Likewise.
60331         * doc/posix-functions/chown.texi (chown): Document the bug.
60332         * doc/posix-functions/lchown.texi (lchown): Likewise.
60333         * tests/test-lchown.h (test_chown): Relax test.
60335         mkstemp: avoid conflict with C++ keyword template
60336         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
60337         * lib/mkostemp.c (mkostemp): Likewise.
60338         * lib/mkostemps.c (mkostemps): Likewise.
60339         * lib/mkstemp.c (mkstemp): Likewise.
60340         * lib/mkstemps.c (mkstemps): Likewise.
60342         xalloc-die-tests: optimize
60343         * tests/test-xalloc-die.sh: Reduce number of processes.
60345 2009-11-17  Simon Josefsson  <simon@josefsson.org>
60347         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
60348         patch from ludo@gnu.org (Ludovic Courtès).
60350 2009-11-17  Jim Meyering  <meyering@redhat.com>
60352         version-etc: use proper license string
60353         * modules/version-etc (License): Use LGPL, not LGPLv3+.
60354         * modules/version-etc-fsf: Likewise.
60356 2009-11-17  Simon Josefsson  <simon@josefsson.org>
60358         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
60359         printed to stdout.  Deal with EOL differences.
60361 2009-11-17  Eric Blake  <ebb9@byu.net>
60363         unsetenv: work around Solaris bug
60364         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
60365         * lib/unsetenv.c (rpl_unsetenv): Work around it.
60366         Reported by Jim Meyering.
60368         vasnprintf: avoid compiler warnings
60369         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
60370         variables.
60371         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
60373 2009-11-17  Simon Josefsson  <simon@josefsson.org>
60375         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
60376         settings since xalloc-die is no longer the self test,
60377         xalloc-die.sh is.
60379 2009-11-17  Jim Meyering  <meyering@redhat.com>
60381         test-xalloc-die.sh: make the code agree with the commit log
60382         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
60383         at the end, just in case you happen to have a test-xalloc-die
60384         program in some other PATH directory.
60386         test-xalloc-die.sh: fix a portability bug
60387         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
60388         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
60389         Otherwise, argv[0] (as often seen in diagnostics) would be too
60390         system-dependent, sometimes with, and sometimes without the leading "./".
60392         version-etc-fsf: relax license to LGPLv3+
60393         * modules/version-etc-fsf (License): Relax license.
60395 2009-11-16  Eric Blake  <ebb9@byu.net>
60397         xalloc-die-tests: avoid printing null pointer
60398         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
60399         shell script.
60400         * tests/test-xalloc-die.c (program_name): Declare.
60401         * tests/test-xalloc-die.sh (tmpfiles): New file.
60403         setenv, unsetenv: work around various bugs
60404         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
60405         (setenv) [HAVE_SETENV]: Work around bugs.
60406         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
60407         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
60408         for bugs.
60409         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
60410         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
60411         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
60412         * modules/stdlib (Makefile.am): Update substitutions.
60413         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
60414         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
60415         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
60416         * modules/setenv-tests: New test.
60417         * modules/unsetenv-tests: Likewise.
60418         * tests/test-setenv.c: New file.
60419         * tests/test-unsetenv.c: Likewise.
60421 2009-11-16  Jim Meyering  <meyering@redhat.com>
60423         version-etc: relax license to LGPLv3+
60424         * modules/version-etc (License): Relax license.
60426         better AC_REQUIRE expanded-before-required-warning avoidance
60427         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
60428         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
60429         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
60430         which is no longer needed.
60432 2009-11-16  Eric Blake  <ebb9@byu.net>
60434         test-freading: clean up temporary file
60435         * tests/test-freading.c (main): Remove file on success, and use
60436         ASSERT more liberally.
60437         Reported by Jim Meyering.
60439 2009-11-16  Jim Meyering  <meyering@redhat.com>
60441         avoid new AC_REQUIRE expanded-before-required warnings
60442         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
60443         merely using it.
60444         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
60445         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
60447 2009-11-15  Simon Josefsson  <simon@josefsson.org>
60449         * tests/test-xalloc-die.c: New file.
60450         * modules/xalloc-die-tests: New file.
60451         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
60452         XFAIL_TESTS so it can be appended by modules.
60454 2009-11-15  Simon Josefsson  <simon@josefsson.org>
60456         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
60457         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
60459 2009-11-14  Eric Blake  <ebb9@byu.net>
60461         fnmatch: avoid compiler warning
60462         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
60463         to silence compiler warning about mismatch signedness in ?:.
60464         Reported by Robert Millan.
60466         intprops: add double-inclusion guard
60467         * lib/intprops.h: Allow idempotent includes.
60468         Suggested by Bruce Korb.
60470         openat: detect Solaris fchownat bug
60471         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
60472         penalizing glibc chownat when only lchownat is broken.
60473         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
60474         trailing slash bugs.
60475         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
60476         * modules/openat-tests (Files): Include more files.
60477         (Depends-on): Add mgetgroups, sleep, stat-time.
60478         (configure.ac): Add additional checks.
60479         (Makefile.am): Build new test.
60480         * tests/test-fchownat.c: New file.
60482         lchown: detect Solaris and FreeBSD bug
60483         * lib/lchown.c (rpl_lchown): Work around bug.
60484         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
60485         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
60486         * modules/unistd (Makefile.am): Populate it.
60487         * lib/unistd.in.h (lchown): Update declaration.
60488         * doc/posix-functions/lchown.texi (lchown): Document the bug.
60489         * modules/lchown-tests: New file.
60490         * tests/test-lchown.h (test_lchown): Likewise.
60491         * tests/test-lchown.c (main): Likewise.
60493         chown: detect Solaris and FreeBSD bug
60494         * lib/chown.c (rpl_chown): Work around bug.
60495         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
60496         (gl_PREREQ_CHOWN): Delete.
60497         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
60498         * modules/unistd (Makefile.am): Populate it.
60499         * lib/unistd.in.h (chown): Update declaration.
60500         * lib/lchown.c (chown): Update client.
60501         * modules/lchown (Depends-on): Add lstat.
60502         * doc/posix-functions/chown.texi (chown): Document the bug.
60503         * doc/posix-functions/getgroups.texi (getgroups): Document
60504         getgroups pitfall.
60505         * modules/chown-tests: New file.
60506         * tests/test-chown.h (test_chown): Likewise.
60507         * tests/test-chown.c (main): Likewise.
60509 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
60511         gnulib-tool: correctly detect absence of m4 directories
60512         * gnulib-tool: Avoid extra newline on data passed to wc -l.
60514 2009-11-14  Jim Meyering  <meyering@redhat.com>
60516         maint.mk: Prohibit inclusion of "xalloc.h" without use.
60517         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
60519 2009-11-14  John W. Eaton  <jwe@gnu.org>
60521         strftime.h: wrap function declaration in extern "C" block
60522         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
60524 2009-11-13  Eric Blake  <ebb9@byu.net>
60526         getgroups: avoid compiler warning
60527         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
60529         getgroups: work around FreeBSD bug
60530         * lib/getgroups.c (rpl_getgroups): Work around the bug.
60531         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
60532         * doc/posix-functions/getgroups.texi (getgroups): Document it.
60533         * tests/test-getgroups.c (main): Fix buffer overrun.
60535         getgroups: avoid compilation failure
60536         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
60537         * modules/getgroups (Depends-on): Add stdint.
60539 2009-11-13  Jim Meyering  <meyering@redhat.com>
60541         test-getgroups: avoid compilation failure
60542         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
60544 2009-11-13  Eric Blake  <ebb9@byu.net>
60546         mgetgroups: new module, taken from coreutils
60547         * modules/mgetgroups: New file.
60548         * lib/mgetgroups.h: Likewise.
60549         * lib/mgetgroups.c (mgetgroups): Likewise.
60550         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
60551         * MODULES.html.sh (Users and groups): Mention it.
60553         getgroups: don't expose GETGROUPS_T to user
60554         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
60555         an element at a time if GETGROUPS_T is wrong size.
60556         * lib/getugroups.h (getugroups): Change signature.
60557         * lib/unistd.in.h (getgroups): Likewise.
60558         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
60559         signature needs fixing.
60560         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
60561         AC_TYPE_GETGROUPS.
60562         * modules/group-member (Depends-on): Add getgroups.
60563         * lib/group-member.c (group_info, get_group_info): Use gid_t.
60564         (group_member): Rely on getgroups replacement.
60565         * lib/getugroups.c (getugroups): Use gid_t.
60566         * tests/test-getgroups.c (main): Likewise.
60567         * NEWS: Mention the signature change.
60568         * doc/posix-functions/getgroups.texi (getgroups): Mention the
60569         problem with signature.
60570         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
60571         GETGROUPS_T is still useful for setgroups.
60573         getgroups, getugroups: provide stubs for mingw
60574         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
60575         * lib/getugroups.c (getugroups): Likewise.
60576         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
60577         function.  Modernize replacement scheme.
60578         (gl_PREREQ_GETGROUPS): Delete.
60579         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
60580         * modules/getgroups (configure.ac): Declare witness.
60581         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
60582         * modules/unistd (Depends-on): Substitute witness.
60583         * lib/unistd.in.h (getgroups): Declare replacement.
60585         getgroups: avoid calling exit
60586         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
60587         drop xalloc.
60588         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
60589         dependencies.
60590         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
60591         exiting, in the rare case of malloc failure.
60593         getgroups: fix logic error
60594         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
60595         has more than 20 groups.
60596         * modules/getgroups-tests: New test.
60597         * tests/test-getgroups.c: New file.
60599 2009-11-13  Simon Josefsson  <simon@josefsson.org>
60601         * tests/test-base64.c: Improve.
60603 2009-11-13  Simon Josefsson  <simon@josefsson.org>
60605         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
60606         Blake <ebb9@byu.net>.
60608 2009-11-13  Simon Josefsson  <simon@josefsson.org>
60610         * tests/test-xvasprintf.c: Add %s%s related checks.
60612 2009-11-12  Eric Blake  <ebb9@byu.net>
60614         version-etc: match standards.texi style
60615         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
60616         and use <> only for URLs.
60618 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
60620         fts: do not fail on a submount during traversal
60621         * lib/fts.c (fts_build): Read the stat info again after opening
60622         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
60623         Original report at http://bugzilla.redhat.com/501848.
60625 2009-11-12  Jim Meyering  <meyering@redhat.com>
60627         bootstrap: sync from coreutils
60628         * build-aux/bootstrap (bootstrap_epilogue): New function.
60629         Use git_modules_config in one more place.  This make bootstrap's
60630         --gnulib-srcdir option more useful for testing.
60632         bootstrap: generalize autoheader check
60633         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
60634         AC_CONFIG_HEADERS.
60636 2009-11-11  Eric Blake  <ebb9@byu.net>
60638         mkfifoat: use new modules for Solaris and BSD bugs
60639         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
60640         * lib/mkfifoat.c (mknodat): Split...
60641         * lib/mknodat.c (mknodat): ...into new file.
60642         * modules/mkfifoat (Files): Ship new file.
60643         (Depends-on): Add mkfifo, mknod.
60644         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
60645         (Depends-on): Add symlink.
60646         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
60647         redundant with test_mkfifo.h.
60648         (do_mkfifoat, do_mknodat): New helpers.
60650         mknod: new module
60651         * modules/mknod: New file.
60652         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
60653         * lib/mknod.c (mknod): Likewise.
60654         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
60655         defaults.
60656         * modules/sys_stat (Makefile.am): Substitute them.
60657         * lib/sys_stat.in.h (mknod): Declare replacement.
60658         * MODULES.html.sh (Support for systems lacking POSIX:2008):
60659         Document it.
60660         * doc/posix-functions/mknod.texi (mknod): Likewise.
60661         * modules/mknod-tests: New test.
60662         * tests/test-mknod.c: Likewise.
60664         mkfifo: new module
60665         * modules/mkfifo: New file.
60666         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
60667         * lib/mkfifo.c (mkfifo): Likewise.
60668         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
60669         defaults.
60670         * modules/sys_stat (Makefile.am): Substitute them.
60671         * lib/sys_stat.in.h (mkfifo): Declare replacement.
60672         * MODULES.html.sh (Support for systems lacking POSIX:2008):
60673         Document it.
60674         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
60675         * modules/mkfifo-tests: New test.
60676         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
60677         from test-mkfifoat.c.
60678         * tests/test-mkfifo.c: New file.
60680         readlink: detect FreeBSD bug
60681         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
60682         slash on symlink.
60683         * doc/posix-functions/readlink.texi (readlink): Document the bug.
60684         * tests/test-readlink.h (test_readlink): Enhance test.
60686         symlink: detect FreeBSD bug
60687         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
60688         slash on symlink.
60689         * doc/posix-functions/symlink.texi (symlink): Document the bug.
60690         * tests/test-symlink.h (test_symlink): Enhance test.
60692 2009-11-10  Eric Blake  <ebb9@byu.net>
60694         link: detect FreeBSD bug
60695         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
60696         symlink.
60697         * doc/posix-functions/link.texi (link): Document the bug.
60698         * tests/test-link.h (test_link): Enhance test.
60699         * tests/test-linkat.c (main): Update caller.
60701         unlink, remove: detect FreeBSD bug
60702         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
60703         slash on symlink.
60704         * doc/posix-functions/unlink.texi (unlink): Document the bug.
60705         * doc/posix-functions/remove.texi (remove): Likewise.
60706         * tests/test-unlink.h (test_unlink): Enhance test.
60707         * tests/test-remove.c (main): Likewise.
60709 2009-11-09  Eric Blake  <ebb9@byu.net>
60711         rename: detect FreeBSD bug
60712         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
60713         slash on symlink.
60714         * modules/renameat-tests (Depends-on): Add filenamecat.
60715         * tests/test-rename.h (test_rename): Allow one more errno.
60716         * tests/test-renameat.c (main): Likewise.
60717         * doc/posix-functions/rename.texi (rename): Document the bug.
60719         open: detect FreeBSD bug
60720         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
60721         symlink.
60722         * doc/posix-functions/open.texi (open): Document the bug.
60723         * doc/posix-functions/utimes.texi (utimes): Likewise.
60724         * tests/test-open.h (test_open): Add parameters, and test symlink
60725         handling.
60726         * tests/test-open.c (main): Adjust caller.
60727         * tests/test-fcntl-safer.c (main): Likewise.
60728         * modules/open-tests (Depends-on): Add stdbool, symlink.
60729         * modules/fcntl-safer-tests (Depends-on): Likewise.
60730         * tests/test-openat.c (main): Add test-open tests.
60732         stat: detect FreeBSD bug
60733         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
60734         symlink.
60735         * doc/posix-functions/stat.texi (stat): Document the bug.
60736         * tests/test-stat.h (test_stat_func): Add argument.
60737         * tests/test-stat.c (main): Adjust caller.
60738         * tests/test-fstatat.c (main): Likewise.
60739         * modules/stat-tests (Depends-on): Add stdbool, symlink.
60740         Reported by Jim Meyering.
60742 2009-11-09  James Youngman  <jay@gnu.org>
60744         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
60745         * lib/strftime.c: Correct placement of #include "ignore-value.h".
60747 2009-11-08  Jim Meyering  <meyering@redhat.com>
60749         utimens: remove invalid futimesat call
60750         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
60751         It used the file descriptor of the target file as the DIR_FD
60752         parameter and NULL as the file name.  That caused failure with
60753         errno == EFAULT on FreeBSD-8.0-rc2
60755 2009-11-07  Eric Blake  <ebb9@byu.net>
60757         fflush, freadseek: use fseeko, not fseek
60758         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
60759         (clear_ungetc_buffer): Avoid potential problems on large files.
60760         * lib/freadseek.c (freadseek): Likewise.
60761         * modules/freadseek (Depends-on): Add fseeko.
60762         * modules/fseek (configure.ac): Set a witness.
60763         * tests/test-fflush.c (main): Use fseeko.
60764         * tests/test-fpurge.c (fseek): Disable link warning.
60765         * tests/test-freadable.c (fseek): Likewise.
60766         * tests/test-freading.c (fseek): Likewise.
60767         * tests/test-fseeko.c (fseek): Likewise.
60768         * tests/test-ftell.c (fseek): Likewise.
60769         * tests/test-ftello.c (fseek): Likewise.
60770         * tests/test-fwritable.c (fseek): Likewise.
60771         * tests/test-fwriting.c (fseek): Likewise.
60773 2009-11-06  Simon Josefsson  <simon@josefsson.org>
60775         * modules/memchr (Depends-on): Drop getpagesize dependency.
60777 2009-11-06  Simon Josefsson  <simon@josefsson.org>
60779         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
60780         Reported by Ludovic Courtès.
60781         * build-aux/pmccabe2html: Improve example usage.
60782         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
60784 2009-11-06  Jim Meyering  <meyering@redhat.com>
60786         do-release-commit-and-tag: New module.
60787         Automate the release-commit and tag process.
60788         * build-aux/do-release-commit-and-tag: New script, from coreutils.
60789         * modules/do-release-commit-and-tag: New file.
60790         * MODULES.html.sh (Support for maintaining and releasing): Add it.
60792 2009-11-06  Simon Josefsson  <simon@josefsson.org>
60794         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
60795         because test-select.c uses inet_pton.
60797 2009-11-06  Simon Josefsson  <simon@josefsson.org>
60799         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
60800         GETADDRINFO_LIB.  Bump serial number.
60801         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
60802         Suggested by Eric Blake <ebb9@byu.net>.
60804 2009-11-05  Eric Blake  <ebb9@byu.net>
60806         strtod: detect darwin bug
60807         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
60808         Reported by Leo Davis.
60810         freopen-safer: new module
60811         * modules/freopen-safer: New module.
60812         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
60813         * lib/freopen-safer.c (freopen_safer): New file.
60814         * lib/stdio-safer.h (freopen_safer): New declaration.
60815         * lib/stdio--.h (freopen): New override.
60816         * MODULES.html.sh (File stream based Input/Output): Mention it.
60817         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
60818         freopen-safer module.
60819         * doc/posix-functions/stderr.texi (stderr): Likewise.
60820         * doc/posix-functions/stdin.texi (stdin): Likewise.
60821         * doc/posix-functions/stdout.texi (stdout): Likewise.
60822         * modules/freopen-safer-tests: New test.
60823         * tests/test-reopen-safer.c: New file.
60825 2009-11-05  Jim Meyering  <meyering@redhat.com>
60827         maint.mk: Prohibit inclusion of "close-stream.h" without use.
60828         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
60830 2009-11-05  Simon Josefsson  <simon@josefsson.org>
60832         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
60834 2009-11-05  Simon Josefsson  <simon@josefsson.org>
60836         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
60838 2009-11-05  Simon Josefsson  <simon@josefsson.org>
60840         Fix link error.
60841         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
60842         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
60844 2009-11-05  Simon Josefsson  <simon@josefsson.org>
60846         * tests/test-func.c: Also test value of __func__.
60848 2009-11-05  Simon Josefsson  <simon@josefsson.org>
60850         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
60851         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
60853 2009-11-05  Bruno Haible  <bruno@clisp.org>
60855         Fix link error.
60856         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
60857         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
60858         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
60860 2009-11-05  Bruno Haible  <bruno@clisp.org>
60862         Tests for module 'inet_pton'.
60863         * modules/inet_pton-tests: New file.
60864         * tests/test-inet_pton.c: New file.
60866 2009-11-05  Bruno Haible  <bruno@clisp.org>
60868         Tests for module 'inet_ntop'.
60869         * modules/inet_ntop-tests: New file.
60870         * tests/test-inet_ntop.c: New file.
60872 2009-11-04  Eric Blake  <ebb9@byu.net>
60874         stdlib-safer: wrap all mkstemp variants
60875         * modules/mkostemp (configure.ac): Set witness.
60876         * modules/mkostemps (configure.ac): Likewise.
60877         * modules/mkstemps (configure.ac): Likewise.
60878         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
60879         (mkstemps_safer): Wrap more functions.
60880         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
60881         wrapping.
60882         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
60883         (mkstemps_safer): Implement the wrappers.
60885         mkstemps, mkostemps: new modules
60886         * modules/mkostemps: New module.
60887         * modules/mkstemps: Likewise.
60888         * lib/mkostemps.c (mkostemps): New file.
60889         * lib/mkstemps.c (mkstemps): Likewise.
60890         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
60891         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
60892         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
60893         * modules/stdlib (Makefile.am): Substitute them.
60894         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
60895         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
60896         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
60897         * doc/gnulib.texi (Glibc stdlib.h): Include them.
60898         * MODULES.html.sh (File system functions): Mention them.
60900         tempname: resync from glibc
60901         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
60902         same values for __GT_FILE as glibc.  Abort even when assertions
60903         are disabled.
60904         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
60905         match its value otherwise.  Allow idempotent inclusion.
60906         * lib/mkdtemp.c (mkdtemp): Adjust caller.
60907         * lib/mkostemp.c (mkostemp): Likewise.
60908         * lib/mkstemp.c (mkstemp): Likewise.
60909         * lib/tmpfile.c (tmpfile): Likewise.
60910         * NEWS: Document this.
60912         utimens: fix use of futimens on older Linux
60913         * lib/utimens.c (fdutimens): Use updated, rather than original,
60914         timespec to avoid bug in older Linux kernel.
60915         Reported by Simon Josefsson.
60917 2009-11-04  Bruno Haible  <bruno@clisp.org>
60919         Make num_processors more flexible and consistent.
60920         * lib/nproc.h (enum nproc_query): New type.
60921         (num_processors): Add a 'query' argument.
60922         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
60923         (num_processors): Add a 'query' argument. Test the value of the
60924         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
60925         mingw, count the number of CPUs available for the current process.
60926         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
60927         Check for sched_getaffinity and sched_getaffinity_np.
60928         * modules/nproc (Depends-on): Add c-ctype, extensions.
60929         * NEWS: Mention the change.
60931 2009-11-03  Bruno Haible  <bruno@clisp.org>
60933         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
60935 2009-11-03  Jim Meyering  <meyering@redhat.com>
60937         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
60938         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
60939         if it is defined.
60941 2009-11-02  Eric Blake  <ebb9@byu.net>
60943         mktime, timegm: share common declaration
60944         * lib/mktime-internal.h: New file.
60945         * lib/mktime.c: Use it rather than open-coding a declaration.
60946         * lib/timegm.c: Likewise.
60947         * modules/mktime (Files): Ship it.
60948         * modules/timegm (Files): Likewise.
60949         Suggested by Bruno Haible.
60951         test-update-copyright: update test to match script changes
60952         * tests/test-update-copyright.sh: Avoid hard-coding perl
60953         location.  Don't update *.bak created by earlier runs.
60955 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
60956             Simon Josefsson  <simon@josefsson.org>
60957             Bruno Haible  <bruno@clisp.org>
60959         Fix link error on Solaris 8.
60960         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
60961         also in libnsl. Define also INET_PTON_LIB.
60962         * modules/inet_pton (Link): New section.
60964 2009-11-02  Simon Josefsson  <simon@josefsson.org>
60965             Bruno Haible  <bruno@clisp.org>
60967         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
60968         * modules/inet_ntop (Link): New section.
60969         Reported by Boyan Kasarov <bkasarov@gmail.com>.
60971 2009-11-02  Eric Blake  <ebb9@byu.net>
60973         maint: avoid compiler warnings in m4 macros
60974         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
60975         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
60977 2009-11-02  Simon Josefsson  <simon@josefsson.org>
60979         * m4/pmccabe2html.m4: Remove file.
60980         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
60981         function.  Change maintainer.
60982         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
60983         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
60984         Courtès).
60986 2009-10-31  Eric Blake  <ebb9@byu.net>
60988         fseeko: fix m4 regression
60989         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
60990         regression from 2009-10-27.
60991         Reported by Ralf Wildenhues.
60993 2009-10-31  Jim Meyering  <meyering@redhat.com>
60995         inttostr: aesthetics and improved (compile-time) safety
60996         Define inttype_is_signed rather than inttype_is_unsigned,
60997         since the sole use is via "#if inttype_is_signed".
60998         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
60999         inttype_is_unsigned.
61000         * lib/offtostr.c (inttype_is_signed): Likewise.
61001         * lib/uinttostr.c (inttype_is_signed): Likewise.
61002         * lib/umaxtostr.c (inttype_is_signed): Likewise.
61003         * lib/inttostr.c (inttostr): Use verify to cross-check the
61004         inttype_is_signed value and the signedness of the actual type.
61005         * modules/inttostr (Depends-on): Add verify.
61007 2009-10-30  Eric Blake  <ebb9@byu.net>
61009         build: avoid compiler warnings
61010         * lib/fchmodat.c (lchmod): Mark unused variables.
61011         * lib/getopt.c (_getopt_initialize): Likewise.
61012         * lib/mktime.c (__mktime_internal): Provide prototype.
61013         * lib/inttostr.c (inttostr): Avoid compiler warning even with
61014         older gcc that do not understand #pragma GCC diagnostic.
61015         * lib/uinttostr.c (inttype_is_unsigned): Define.
61016         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
61018 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
61020         stat: fix compilation on AIX
61021         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
61022         only see struct stat64.
61024 2009-10-30  Eric Blake  <ebb9@byu.net>
61026         exclude: make more robust
61027         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
61028         rather than masking a coding bug.
61029         Suggested by Bruno Haible.
61031 2009-10-30  Jim Meyering  <meyering@redhat.com>
61033         perl scripts: remove #!/usr/bin/perl in favor of more portable...
61034         Rather than putting #!/usr/bin/perl on the first line,
61035         start with a variant of what's recommended by "man perlrun" that
61036         invokes the first "perl" program from your shell's search path.
61037         * build-aux/gitlog-to-changelog: Replace #!... as above.
61038         Add a "Local Variables" perl mode setting.
61039         Prompted by a patch from Ludovic Courtès.
61040         Improved by Eric Blake.
61041         * build-aux/useless-if-before-free: Likewise.
61042         * build-aux/announce-gen: Likewise.
61043         * build-aux/update-copyright: Likewise.
61045 2009-10-29  Eric Blake  <ebb9@byu.net>
61047         filenamecat-lgpl: adjust clients
61048         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
61049         filenamecat.
61050         * modules/renameat (Depends-on): Likewise.
61052         filenamecat: split into filenamecat-lgpl
61053         * modules/filenamecat-lgpl: New module.
61054         * modules/filenamecat (Files): Move library-safe files into
61055         filenamecat-lgpl.
61056         (Depends-on): Add filenamecat-lgpl.
61057         (configure.ac): Declare witness.
61058         * lib/filenamecat.h (file_name_concat): Only declare when using
61059         GPL module.
61060         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
61061         Move...
61062         * lib/filenamecat-lgpl.c: ...into new file.
61063         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
61064         (gl_FILE_NAME_CONCAT): Use it.
61065         * MODULES.html.sh (File system functions): Mention new module.
61067         argp: avoid memory leak
61068         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
61069         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
61070         base_name, since the latter malloc()s and can call exit().
61071         Leak introduced 2006-07-03.
61073         dirname-lgpl: adjust clients that don't need full dirname
61074         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
61075         * modules/filenamecat (Depends-on): Likewise.
61076         * modules/linkat (Depends-on): Likewise.
61077         * modules/mkancesdirs (Depends-on): Likewise.
61078         * modules/mkdir (Depends-on): Likewise.
61079         * modules/openat (Depends-on): Likewise.
61080         * modules/savewd (Depends-on): Likewise.
61081         * modules/rename (Depends-on): Likewise.
61082         (License): Relax license.
61083         * modules/mkdir-tests (Depends-on): Drop progname.
61084         (Makefile.am): Delete unneeded LDADD.
61085         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
61087         dirname: split into dirname-lgpl
61088         * modules/dirname-lgpl: New module.
61089         * modules/dirname (Files): Move library-safe files into
61090         dirname-lgpl.
61091         (Depends-on): Add dirname-lgpl.
61092         (configure.ac): Declare witness.
61093         * modules/double-slash-root (License): Relax license.
61094         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
61095         module.
61096         * lib/dirname.c (dir_len, mdir_name): Move...
61097         * lib/dirname-lgpl.c: ...into new file.
61098         * lib/basename.c (last_component, base_len): Move...
61099         * lib/basename-lgpl.c: ...into new file.
61100         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
61101         (gl_DIRNAME): Use it.
61102         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
61103         Mention new module.
61104         * modules/dirname-tests (Depends-on): Add progname.
61105         * tests/test-dirname.c (program_name): Delete.
61107         mkdir: make safe for libraries
61108         * modules/mkdir (Depends-on): Drop xalloc.
61109         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
61110         exit.
61112         tests: avoid some compiler warnings
61113         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
61114         literals.
61115         * tests/test-memchr.c (main): Avoid type mismatch.
61116         * tests/test-arpa_inet.c (main): Avoid unused parameters.
61117         * tests/test-base64.c (main): Likewise.
61118         * tests/test-getdelim.c (main): Likewise.
61119         * tests/test-gethostname.c (main): Likewise.
61120         * tests/test-getline.c (main): Likewise.
61121         * tests/test-netinet_in.c (main): Likewise.
61122         * tests/test-select.c (open_server_socket, main): Likewise.
61123         * tests/test-select-stdin.c (main): Likewise.
61124         * tests/test-sockets.c (main): Likewise.
61125         * tests/test-strsignal.c (main): Likewise.
61126         * tests/test-sys_select.c (main): Likewise.
61127         * tests/test-sys_socket.c (main): Likewise.
61128         * tests/test-u64.c (main): Likewise.
61129         * tests/test-xfprintf-posix.c (main): Likewise.
61130         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
61132         sockets: avoid compiler warning
61133         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
61135         maint: detect usage(1) and other suspicious exits
61136         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
61138 2009-10-29  Jim Meyering  <meyering@redhat.com>
61140         timespec: long-to-int truncation could make timespec_cmp malfunction
61141         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
61142         a multiple of 2^32 nanoseconds as no difference.
61144 2009-10-28  Jim Meyering  <meyering@redhat.com>
61146         fprintftime: wrap macro code argument in "do {...} while(0)"
61147         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
61148         cpy macro must be a statement that can be followed by a semicolon.
61149         Now that the else clause contains a comment and is hence longer
61150         than one line, I require curly braces.  That in turn requires
61151         that we wrap this code block in the standard do...while(0).
61153         fprintftime: remove stray semicolon from previous change
61154         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
61156         fprintftime: avoid a warning about ignored fwrite return value
61157         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
61158         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
61159         that is unsafe.
61160         * modules/fprintftime (Depends-on): Add ignore-value.
61162         exclude: avoid an unwarranted warning
61163         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
61165 2009-10-27  Eric Blake  <ebb9@byu.net>
61167         fseek: avoid compilation failure when fflush is replaced
61168         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
61169         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
61170         module is in use.
61171         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
61172         module is not in use; since REPLACE_FSEEK worked otherwise.
61173         (GNULIB_FTELLO): Likewise for ftell.
61174         Reported by Ian Beckwith and others.
61176 2009-10-27  Bruno Haible  <bruno@clisp.org>
61178         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
61179         Reported by Jim Meyering.
61181 2009-10-27  Jim Meyering  <jim@meyering.net>
61182             Bruno Haible  <bruno@clisp.org>
61184         Avoid warning despite dropping the return value of fwrite.
61185         * lib/unicodeio.c: Include ignore-value.h.
61186         (fwrite_success_callback): Explicitly ignore fwrite's return value.
61187         * modules/unicodeio (Depends-on): Add ignore-value.
61189 2009-10-26  Eric Blake  <ebb9@byu.net>
61191         areadlinkat: fix fallback path
61192         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
61193         pointer and zero.
61195 2009-10-22  Pádraig Brady  <P@draigBrady.com>
61197         Use a better IO block size for modern systems
61198         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
61199         * lib/md2.c: Likewise.
61200         * lib/md4.c: Likewise.
61201         * lib/md5.c: Likewise.
61202         * lib/sha1.c: Likewise.
61203         * lib/sha256.c: Likewise.
61204         * lib/sha512.c: Likewise.
61206 2009-10-22  Eric Blake  <ebb9@byu.net>
61208         tests: avoid several compiler warnings
61209         * tests/test-getcwd.c (main): Avoid buffer underflow.
61210         * tests/test-getdate.c (main): String literals are not safe with
61211         putenv, so use setenv.  Declare unused argument.
61212         * modules/getdate-tests (Depends-on): Add setenv.
61213         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
61214         problems with string literals in char *.
61215         * tests/test-hash.c (main): Avoid shadowing declaration.
61216         (insert_new): Treat string literals as char const *.
61217         * tests/test-getopt.h (test_getopt): Likewise.
61218         (getopt_loop): Alter types to minimize casting elsewhere.
61219         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
61220         (test_getopt_long_posix): Likewise.
61221         (do_getopt_long): Add wrapper to minimize casting.
61222         * tests/test-atexit.c (clear_temp_file): Use void.
61223         * tests/test-areadlink-with-size.c (main): Declare unused
61224         arguments.
61225         * tests/test-areadlink.c (main): Likewise.
61226         * tests/test-areadlinkat-with-size.c (main): Likewise.
61227         * tests/test-areadlinkat.c (main): Likewise.
61228         * tests/test-canonicalize-lgpl.c (main): Likewise.
61229         * tests/test-canonicalize.c (main): Likewise.
61230         * tests/test-dirent-safer.c (main): Likewise.
61231         * tests/test-dirname.c (main): Likewise.
61232         * tests/test-dup2.c (main): Likewise.
61233         * tests/test-fchdir.c (main): Likewise.
61234         * tests/test-fcntl-h.c (main): Likewise.
61235         * tests/test-fcntl-safer.c (main): Likewise.
61236         * tests/test-fdopendir.c (main): Likewise.
61237         * tests/test-fdutimensat.c (main): Likewise.
61238         * tests/test-fflush.c (main): Likewise.
61239         * tests/test-filenamecat.c (main): Likewise.
61240         * tests/test-filevercmp.c (main): Likewise.
61241         * tests/test-fopen-safer.c (main): Likewise.
61242         * tests/test-fopen.c (main): Likewise.
61243         * tests/test-fpending.c (main): Likewise.
61244         * tests/test-fpurge.c (main): Likewise.
61245         * tests/test-freading.c (main): Likewise.
61246         * tests/test-fstatat.c (main): Likewise.
61247         * tests/test-fsync.c (main): Likewise.
61248         * tests/test-futimens.c (main): Likewise.
61249         * tests/test-getndelim2.c (main): Likewise.
61250         * tests/test-gettimeofday.c (main): Likewise.
61251         * tests/test-getopt.c (main): Likewise.
61252         * tests/test-i-ring.c (main): Likewise.
61253         * tests/test-inttypes.c (main): Likewise.
61254         * tests/test-link.c (main): Likewise.
61255         * tests/test-lstat.c (main): Likewise.
61256         * tests/test-math.c (main): Likewise.
61257         * tests/test-md5.c (main): Likewise.
61258         * tests/test-memchr2.c (main): Likewise.
61259         * tests/test-memrchr.c (main): Likewise.
61260         * tests/test-mkdir.c (main): Likewise.
61261         * tests/test-mkdirat.c (main): Likewise.
61262         * tests/test-mkfifoat.c (main): Likewise.
61263         * tests/test-open.c (main): Likewise.
61264         * tests/test-openat-safer.c (main): Likewise.
61265         * tests/test-openat.c (main): Likewise.
61266         * tests/test-quotearg.c (main): Likewise.
61267         * tests/test-rawmemchr.c (main): Likewise.
61268         * tests/test-readlink.c (main): Likewise.
61269         * tests/test-remove.c (main): Likewise.
61270         * tests/test-rename.c (main): Likewise.
61271         * tests/test-renameat.c (main): Likewise.
61272         * tests/test-rmdir.c (main): Likewise.
61273         * tests/test-sha1.c (main): Likewise.
61274         * tests/test-signal.c (main): Likewise.
61275         * tests/test-sigaction.c (main): Likewise.
61276         * tests/test-stat.c (main): Likewise.
61277         * tests/test-stat-time.c (main): Likewise.
61278         * tests/test-stddef.c (main): Likewise.
61279         * tests/test-stdint.c (main): Likewise.
61280         * tests/test-stdio.c (main): Likewise.
61281         * tests/test-stdlib.c (main): Likewise.
61282         * tests/test-strchrnul.c (main): Likewise.
61283         * tests/test-strerror.c (main): Likewise.
61284         * tests/test-string.c (main): Likewise.
61285         * tests/test-strtod.c (main): Likewise.
61286         * tests/test-strverscmp.c (main): Likewise.
61287         * tests/test-symlink.c (main): Likewise.
61288         * tests/test-symlinkat.c (main): Likewise.
61289         * tests/test-sys_stat.c (main): Likewise.
61290         * tests/test-sys_time.c (main): Likewise.
61291         * tests/test-time.c (main): Likewise.
61292         * tests/test-unistd.c (main): Likewise.
61293         * tests/test-unlink.c (main): Likewise.
61294         * tests/test-unlinkat.c (main): Likewise.
61295         * tests/test-utimens.c (main): Likewise.
61296         * tests/test-utimensat.c (main): Likewise.
61297         * tests/test-version-etc.c (main): Likewise.
61298         * tests/test-wchar.c (main): Likewise.
61299         * tests/test-wctype.c (main): Likewise.
61300         * tests/test-xprintf-posix.c (main): Likewise.
61301         * tests/test-posixtm.c (main): Likewise.
61302         (STREQ): Delete unused macro.
61303         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
61304         shadowed variables.
61305         * tests/test-memchr.c (main): Likewise.
61307 2009-10-21  Eric Blake  <ebb9@byu.net>
61309         areadlinkat: avoid failure on older glibc
61310         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
61311         rather than mis-comparing 0 against FUNC_RESULT of char*.
61313 2009-10-21  Bruno Haible  <bruno@clisp.org>
61315         * modules/stpncpy (License): Relicense under LGPLv2+.
61316         Reported by David Lutterkort <lutter@redhat.com>.
61318 2009-10-20  Eric Blake  <ebb9@byu.net>
61320         utimensat: work around Solaris 9 bug
61321         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
61322         has trailing slash bugs.
61323         * tests/test-lutimens.h (test_lutimens): Enhance test.
61324         * tests/test-utimens.h (test_utimens): Likewise.
61325         * doc/posix-functions/utime.texi (utime): Enhance documentation.
61326         * doc/posix-functions/utimes.texi (utimes): Likewise.
61327         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
61328         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
61329         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
61330         * doc/posix-functions/futimens.texi (futimens): Likewise.
61332         fdutimensat: new module
61333         * modules/fdutimensat: New file.
61334         * lib/fdutimensat.c (fdutimensat): Likewise.
61335         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
61336         * MODULES.html.sh (File system functions): Mention module.
61337         * modules/fdutimensat-tests: New test.
61338         * tests/test-fdutimensat.c: Likewise.
61340         doc: regenerate INSTALL
61341         * doc/INSTALL: Reflect recent autoconf update.
61342         * doc/INSTALL.ISO: Likewise.
61343         * doc/INSTALL.UTF-8: Likewise.
61345 2009-10-20  Pádraig Brady  <P@draigBrady.com>
61347         acl: warn if ACL support is not detected
61348         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
61350 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
61352         * lib/nproc.h: Add extern "C" block for C++.
61354 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
61355             Bruno Haible  <bruno@clisp.org>
61357         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
61358         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
61359         * doc/posix-functions/isalpha.texi: Likewise.
61360         * doc/posix-functions/isblank.texi: Likewise.
61361         * doc/posix-functions/iscntrl.texi: Likewise.
61362         * doc/posix-functions/isdigit.texi: Likewise.
61363         * doc/posix-functions/isgraph.texi: Likewise.
61364         * doc/posix-functions/islower.texi: Likewise.
61365         * doc/posix-functions/isprint.texi: Likewise.
61366         * doc/posix-functions/ispunct.texi: Likewise.
61367         * doc/posix-functions/isspace.texi: Likewise.
61368         * doc/posix-functions/isupper.texi: Likewise.
61369         * doc/posix-functions/isxdigit.texi: Likewise.
61371 2009-10-18  Bruno Haible  <bruno@clisp.org>
61373         Tests for module 'isblank'.
61374         * modules/isblank-tests: New file.
61375         * tests/test-isblank.c: New file.
61377         New module 'isblank'.
61378         * lib/isblank.c: New file.
61379         * m4/isblank.m4: New file.
61380         * modules/isblank: New file.
61381         * doc/posix-functions/isblank.texi: Mention the new module.
61383 2009-10-18  Bruno Haible  <bruno@clisp.org>
61385         New module 'ctype'.
61386         * lib/ctype.in.h: New file.
61387         * m4/ctype.m4: New file.
61388         * modules/ctype: New file.
61389         * doc/posix-headers/ctype.texi: Mention the new module.
61391 2009-10-18  Jim Meyering  <meyering@redhat.com>
61393         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
61394         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
61395         right after its initialization, rather than farther down.
61396         Keeping these in close proximity makes it easier to ensure
61397         that each such variable is initialized.  E.g.,
61399             LIB_CLOCK_GETTIME=
61400             AC_SUBST([LIB_CLOCK_GETTIME])
61402         This change also increments these serial numbers.
61403         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
61404         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
61405         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
61407 2009-10-18  Bruno Haible  <bruno@clisp.org>
61409         Don't let environment variables perturb build.
61410         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
61411         (gl_PREREQ_GETHRXTIME): ... not here.
61413 2009-10-18  Bruno Haible  <bruno@clisp.org>
61415         Avoid symlink attack in localcharset module.
61416         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
61417         (O_NOFOLLOW): Define fallback.
61418         (get_charset_aliases): Don't open the file if it is a symbolic link.
61419         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
61420         gl_FCNTL_H.
61421         (gl_FCNTL_H): Require it.
61422         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
61423         * modules/localcharset (Files): Add m4/fcntl_h.m4.
61424         Reported by Fergal Glynn <fglynn@veracode.com>.
61426 2009-10-18  Bruno Haible  <bruno@clisp.org>
61428         Implement nproc for mingw.
61429         * lib/nproc.c: Include <windows.h>
61430         (num_processors): On native Windows platforms, try GetSystemInfo.
61432 2009-10-18  Bruno Haible  <bruno@clisp.org>
61434         Implement nproc for IRIX.
61435         * lib/nproc.c: Include <sys/sysmp.h>.
61436         (num_processors): On IRIX systems, try sysmp.
61437         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
61439 2009-10-18  Bruno Haible  <bruno@clisp.org>
61441         Implement nproc for HP-UX.
61442         * lib/nproc.c: Include <sys/pstat.h>
61443         (num_processors): On HP-UX systems, try pstat_getdynamic.
61444         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
61445         pstat_getdynamic.
61447 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
61448             Bruno Haible  <bruno@clisp.org>
61450         Implement nproc for NetBSD, OpenBSD.
61451         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
61452         (ARRAY_SIZE): New macro.
61453         (num_processors): On BSD systems, try sysctl of HW_NCPU.
61454         * m4/nproc.m4: New file.
61455         * modules/nproc (Files): Add m4/nproc.m4.
61456         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
61457         (Makefile.am): Instead, augment lib_SOURCES.
61459 2009-10-18  Bruno Haible  <bruno@clisp.org>
61461         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
61462         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
61463         sys/param.h.
61465 2009-10-16  Eric Blake  <ebb9@byu.net>
61467         utimensat: new module
61468         * modules/utimensat: New file.
61469         * lib/utimensat.c (utimensat): Likewise.
61470         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
61471         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
61472         so we can work around Linux bugs.
61473         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
61474         * modules/sys_stat (Makefile.am): Substitute them.
61475         * lib/sys_stat.in.h (utimensat): Declare it.
61476         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
61477         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
61478         * modules/utimensat-tests: New test.
61479         * tests/test-utimensat.c: Likewise.
61481         utimens: let lutimens work on non-symlinks
61482         * lib/utimens.c (lutimens): Fall back to utimens rather than
61483         failing with ENOSYS, when file is not a symlink.
61484         (utimens): Reduce redirection.
61485         * tests/test-lutimens.h (test_lutimens): Update test to cover
61486         non-symlinks.
61487         * tests/test-utimens.h (test_utimens): Update test to cover
61488         symlinks.
61489         * tests/test-utimens.c (main): Update caller.
61491         utimens: cache whether utimensat syscall works
61492         * lib/utimens.c (utimensat_works_really): New cache variable.
61493         (fdutimens, lutimens): Use it to avoid failing syscall.
61495         test-stat-time, test-utimens: improve portability
61496         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
61497         ext4 on alpha, and for cygwin.
61498         * tests/test-utimens-common.h: New file.
61499         (nap): Factor delays into single function.
61500         * tests/test-lutimens.h (test_lutimens): Use new header.
61501         * tests/test-futimens.h (test_futimens): Likewise.
61502         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
61503         timestamps to occur from same machine, as was done previously for
61504         test_utimens.
61505         * modules/utimens-tests (Files): Ship new file.
61506         * modules/futimens-tests (Files): Likewise.
61507         Reported in part by Jim Meyering.
61509         sys_stat: sort replacement declarations
61510         * lib/sys_stat.in.h: Sort declarations.
61511         * lib/futimens.c (futimens): Fix typo.
61513 2009-10-15  Jim Meyering  <meyering@redhat.com>
61515         don't let environment settings perturb build
61516         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
61517         could cause a configure-time and/or build-time malfunction.
61518         Typically, a configure-time function-in-library test is performed
61519         via code like this:
61521           LIB_VAR=
61522           AC_SUBST([LIB_VAR])
61523           prefix_saved_LIBS=$LIBS
61524             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
61525                        [test "$ac_cv_search_FUNC" = "none required" ||
61526                         LIB_VAR=$ac_cv_search_FUNC])
61527           LIBS=$prefix_saved_LIBS
61529         However, in each of the files affected by this change, the LIB_VAR=
61530         initialization was omitted.  Thus, when set in the environment, its
61531         value would propagate into generated Makefiles when FUNC is not found
61532         in LIB_NAME.
61533         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
61534         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
61535         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
61537 2009-10-14  Eric Blake  <ebb9@byu.net>
61539         fchdir: avoid infinite recursion in mingw
61540         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
61541         recursing.
61543         test-stat-time: port to mingw
61544         * tests/test-stat-time.c (force_unlink): Return a value.
61545         (test_ctime) [W32]: Fix compilation error.
61546         (nap): Don't call usleep with too large an argument.  Use
61547         force_unlink.
61548         * doc/pastposix-functions/usleep.texi (usleep): Document the
61549         portability issue.
61551 2009-10-13  Jim Meyering  <meyering@redhat.com>
61553         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
61554         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
61555         * modules/pipe-filter-ii: Likewise.
61556         * modules/sys_socket-tests: Likewise.
61557         * modules/tsearch-tests: Likewise.
61558         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
61559         (check): Depend on it.
61561 2009-10-12  Eric Blake  <ebb9@byu.net>
61563         utimens-tests: port to NFS file systems
61564         * tests/test-utimens.h (test_utimens): Refactor utimecmp
61565         comparisons to avoid spurious failures from timestamp drift
61566         between NFS machines.
61568 2009-10-12  Eric Blake  <ebb9@byu.net>
61570         stat-time-tests: minor cleanups
61571         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
61572         * tests/test-stat-time.c (nap): Separate assignment from call.
61573         Suggested by Paolo Bonzini and Bruno Haible.
61575         sys_stat: guarantee struct timespec
61576         * lib/sys_stat.in.h (includes): Always include <time.h>
61577         * modules/sys_stat (Depends-on): Add time.
61578         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
61579         mode_t permission values.
61580         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
61581         get at subsecond timestamps.
61583 2009-10-10  Eric Blake  <ebb9@byu.net>
61585         futimens: new module
61586         * modules/futimens: New file.
61587         * lib/futimens.c (futimens): Likewise.
61588         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
61589         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
61590         we can work around Linux bugs.
61591         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
61592         * modules/sys_stat (Makefile.am): Substitute them.
61593         * lib/sys_stat.in.h (futimens): Declare it.
61594         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
61595         * doc/posix-functions/futimens.texi (futimens): Likewise.
61596         * modules/futimens-tests: New test.
61597         * tests/test-futimens.c: Likewise.
61599         utimens: introduce fdutimens
61600         * lib/utimens.h (fdutimens): New prototype.
61601         * lib/utimens.c (gl_futimens): Move guts...
61602         (fdutimens): ...to new interface.
61603         * tests/test-utimens.c (do_fdutimens): Use it.
61605         utimens: add UTIME_NOW and UTIME_OMIT support
61606         * lib/utimens.c (validate_timespec, update_timespec): New helper
61607         functions.
61608         (gl_futimens, lutimens): Use them.
61609         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
61610         stdbool, sys_stat.
61611         (Link): Mention resulting library dependency.
61612         * modules/utimecmp (Link): Likewise.
61613         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
61614         (Makefile.am): Pick up library dependency.
61615         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
61616         definition.
61617         * tests/test-sys_stat.c: Test the definitions.
61618         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
61619         * NEWS: Document library dependency.
61621         utimecmp: support symlink timestamps
61622         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
61623         hashing when possible.  Use pathconf when available.
61624         (SYSCALL_RESOLUTION): Recognize tighter resolution.
61625         * modules/utimecmp (Depends-on): Add lstat.
61627         utimens: add lutimens interface
61628         * lib/utimens.c (lutimens): New function.
61629         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
61630         * lib/utimens.h (lutimens): Declare new interface.
61631         * tests/test-utimens.c (main): Enhance test.
61632         * tests/test-lutimens.h (test_lutimens): New file.
61633         * modules/utimens-tests (Files): Distribute it.
61634         (Depends-on): Add symlink.
61635         (configure.ac): Check for usleep.
61637         utimens: validate futimens usage
61638         * lib/utimens.c (gl_futimens): Require valid fd up front, using
61639         fewer syscalls on failure later on.  Avoid compiler warning on
61640         mingw.
61641         * modules/utimens (Depends-on): Add dup2.
61643         utimens: add test
61644         * modules/utimens-tests: New test.
61645         * tests/test-utimens.h: New file.
61646         * tests/test-futimens.h: Likewise.
61647         * tests/test-utimens.c: Likewise.
61649         doc: mention timestamp portability issues
61650         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
61651         instead.
61652         * doc/posix-functions/utime.texi (utime): Likewise.
61653         * doc/posix-functions/utimes.texi (utimes): Likewise.
61654         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
61655         instead.
61656         * doc/posix-functions/futimens.texi (futimens): Mention utimens
61657         module.
61658         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
61659         Mention weakness with symlink timestamps.
61660         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
61661         to utimensat/futimens instead.
61662         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
61664         test-dup2: enhance test
61665         * tests/test-dup2.c (main): Also check AT_FDCWD.
61667         test-stat-time: avoid more spurious failures
61668         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
61669         xfs; and avoid race if the two timestamps cross quantization edge.
61671         relocatable: prefer 'file system' over 'filesystem'
61672         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
61673         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
61674         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
61675         * doc/relocatable.texi (Enabling Relocatability): Likewise.
61676         * lib/relocatable.c (compute_curr_prefix): Likewise.
61678 2009-10-10  Jim Meyering  <meyering@redhat.com>
61680         stat-time-tests: check for the usleep function
61681         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
61683 2009-10-10  Bruno Haible  <bruno@clisp.org>
61685         * modules/xnanosleep: Put the Link section after the Include section.
61687 2009-10-09  Eric Blake  <ebb9@byu.net>
61689         dup2: work around FreeBSD 6.1 bug
61690         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
61691         * doc/posix-functions/dup2.texi (dup2): Document it.
61692         Reported by Nelson H. F. Beebe and Jim Meyering.
61694         test-stat-time: port to buggy NFS clients
61695         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
61696         (test_ctime): Also skip test if mtime and ctime are skewed.
61698         maint: prefer 'file system' over 'filesystem'
61699         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
61700         * doc/posix-functions/lstat.texi (lstat): Likewise.
61701         * lib/file-has-acl.c (file_has_acl): Likewise.
61702         * lib/fwriteerror.c [TEST]: Likewise.
61703         * tests/test-areadlink.h (test_areadlink): Likewise.
61704         * tests/test-areadlinkat-with-size.c (main): Likewise.
61705         * tests/test-areadlinkat.c (main): Likewise.
61706         * tests/test-canonicalize-lgpl.c (main): Likewise.
61707         * tests/test-canonicalize.c (main): Likewise.
61708         * tests/test-fstatat.c (main): Likewise.
61709         * tests/test-linkat.c (main): Likewise.
61710         * tests/test-lstat.h (test_lstat_func): Likewise.
61711         * tests/test-mkdir.h (test_mkdir): Likewise.
61712         * tests/test-readlink.h (test_readlink): Likewise.
61713         * tests/test-remove.c (main): Likewise.
61714         * tests/test-rename.h (test_rename): Likewise.
61715         * tests/test-renameat.c (main): Likewise.
61716         * tests/test-rmdir.h (test_rmdir_func): Likewise.
61717         * tests/test-symlink.h (test_symlink): Likewise.
61718         * tests/test-symlinkat.c (main): Likewise.
61719         * tests/test-unlink.h (test_unlink_func): Likewise.
61720         * tests/test-unlinkat.c (main): Likewise.
61722         maint: make realtime library usage explicit
61723         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
61724         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
61725         * modules/settime (Link): Likewise.
61726         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
61728         test-stat-time: speed up execution
61729         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
61730         warning on mingw.
61731         (nap): New helper function.
61732         (prepare_test): Use it to reduce sleep time.
61733         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
61734         execution.
61735         * modules/stat-time-tests (configure.ac): Check for usleep.
61737 2009-10-09  Jim Meyering  <meyering@redhat.com>
61739         selinux-h: always use getfilecon wrappers
61740         * lib/getfilecon.c: New file.
61741         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
61742         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
61743         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
61744         (fgetfilecon): Provide a stub.
61745         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
61746         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
61747         file unconditionally.
61748         When <selinux/selinux.h> is found, arrange to use wrappers.
61749         * modules/selinux-h (Files): Add getfilecon.c.
61750         (Makefile.am): Substitute include-next-related bits
61751         into the now-always-generated selinux/selinux.h file.
61752         * doc/glibc-functions/lgetfilecon.texi: New file.
61753         * doc/glibc-functions/fgetfilecon.texi: New file.
61754         * doc/glibc-functions/getfilecon.texi: New file.
61755         * doc/glibc-functions/getfilecon-desc.texi: New file.
61756         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
61757         which to pull in the new files.
61758         * MODULES.html.sh (Misc): Add selinux-h.
61760 2009-10-08  Jim Meyering  <meyering@redhat.com>
61762         unistd: fix comment typo
61763         * lib/unistd.in.h (euidaccess): Fix a comment typo.
61765 2009-10-08  Eric Blake  <ebb9@byu.net>
61767         areadlink: use SIZE_MAX consistently
61768         * modules/areadlink (Depends-on): Add stdint.
61769         * modules/areadlink-with-size (Depends-on): Likewise.
61770         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
61771         gives NULL; drop sys/types, since unistd gives size_t; and add
61772         stdint for SIZE_MAX.
61773         (SIZE_MAX): Rely on headers.
61774         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
61775         and add stdint.
61776         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
61777         (SIZE_MAX): Likewise.
61778         (INITIAL_BUF_SIZE): Turn into enum.
61779         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
61781 2009-10-08  Jim Meyering  <meyering@redhat.com>
61783         areadlinkat: avoid compilation failure
61784         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
61785         Fix typo in comment.
61787 2009-10-07  Eric Blake  <ebb9@byu.net>
61789         areadlinkat-with-size: new module
61790         * modules/areadlinkat-with-size: New module.
61791         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
61792         * lib/areadlink.h (areadlinkat): Declare it.
61793         * MODULES.html.sh (File system functions): Mention it.
61794         * modules/areadlinkat-with-size-tests: New test.
61795         * tests/test-areadlinkat-with-size.c: New file.
61797         xreadlinkat: new module
61798         * modules/xreadlinkat: New module.
61799         * lib/xreadlinkat.c (xreadlinkat): New file.
61800         * lib/xreadlink.h (xreadlinkat): Declare it.
61801         * MODULES.html.sh (File system functions): Mention it.
61803         areadlinkat: new module
61804         * lib/at-func.c (FUNC_FAIL): New define.
61805         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
61806         * modules/areadlinkat: New module.
61807         * lib/linkat.c (areadlinkat): Move...
61808         * lib/areadlinkat.c (areadlinkat): ...to new file.
61809         * lib/areadlink.h (areadlinkat): Declare it.
61810         * modules/linkat (Depends-on): Add areadlinkat.
61811         * MODULES.html.sh (File system functions): Mention it.
61812         * modules/areadlinkat-tests: New test.
61813         * tests/test-areadlinkat.c: New file.
61815         areadlink, areadlink-with-size: add tests
61816         * modules/areadlink-tests: New test.
61817         * modules/areadlink-with-size-tests: Likewise.
61818         * tests/test-areadlink.h: New file.
61819         * tests/test-areadlink.c: Likewise.
61820         * tests/test-areadlink-with-size.c: Likewise.
61822         maint: minor cleanups
61823         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
61824         _UNUSED_PARAMETER_ instead.
61825         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
61826         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
61827         * modules/linkat-tests (Files): Distribute test-link.h.
61829         openat, utimens: whitespace cleanup
61830         * lib/openat.c: Prefer space throughout, rather than mix of 8
61831         spaces vs. tabs.
61832         * lib/at-func.c: Likewise.
61833         * lib/utimens.c: Likewise.
61835         openat: avoid using wrong fd
61836         * lib/openat.c (openat_permissive): Reject user's fd if saving the
61837         working directory chooses same fd.
61838         * lib/at-func.c (AT_FUNC_NAME): Likewise.
61840         mkdir, mkdirat: fix cygwin 1.5.x bug
61841         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
61842         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
61843         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
61844         bug.
61845         (gl_PREREQ_MKDIR): Delete unused macro.
61846         * modules/mkdir (Files): Track file rename.
61847         (configure.ac): Update macro name.
61848         * modules/openat (Depends-on): Add mkdir.
61849         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
61851         mkdir, mkdirat: add tests
61852         * modules/mkdir-tests: New test.
61853         * tests/test-mkdir.h: New file.
61854         * tests/test-mkdir.c: Likewise.
61855         * tests/test-mkdirat.c: Likewise.
61856         * modules/openat-tests (Files): Add new files.
61857         (Makefile.am): Run new test.
61859 2009-10-06  Eric Blake  <ebb9@byu.net>
61861         doc: tweak *at function documentation
61862         * doc/posix-functions/faccessat.texi (faccessat): Mention
61863         known issue with replacement.
61864         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
61865         * doc/posix-functions/linkat.texi (linkat): Likewise.
61866         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
61867         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
61868         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
61869         * doc/posix-functions/renameat.texi (renameat): Likewise.
61870         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
61872         openat: fix GNU/Hurd bug in unlinkat
61873         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
61874         broken.
61875         * doc/posix-functions/unlink.texi (unlink): Document this.
61876         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
61878         fdopendir: fix GNU/Hurd bug
61879         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
61880         allowing non-directory fds.
61881         * lib/fdopendir.c (rpl_fdopendir): Work around it.
61882         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
61883         * modules/dirent (Makefile.am): Substitute it.
61884         * lib/dirent.in.h (fdopendir): Declare replacement.
61885         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
61886         * tests/test-fdopendir.c (main): Test something other than
61887         /dev/null, since on Hurd that behaves like a directory.
61889         test-symlink: port to GNU/Hurd
61890         * tests/test-symlink.h (test_symlink): Relax expected errno.
61892         doc: tweak more cygwin information
61893         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
61894         now compatible with glibc.
61895         * doc/posix-functions/getopt.texi (getopt): Likewise.
61897         getopt-gnu: add another test
61898         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
61899         guarantee behavior relied on by m4.
61900         * tests/test-getopt.c (main): Use it.
61901         * modules/getopt-posix-tests (Depends-on): Add setenv.
61902         See http://lists.gnu.org/r/bug-m4/2006-09/msg00028.html.
61904         getopt: fix compilation on darwin
61905         * lib/getopt.in.h (includes): Leave breadcrumbs during system
61906         include.
61907         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
61908         Reported by Ludovic Courtès.
61910 2009-10-06  Bruno Haible  <bruno@clisp.org>
61912         * modules/size_max (Description): Discourage its use.
61913         Reported by Simon Josefsson.
61915 2009-10-06  Jim Meyering  <meyering@redhat.com>
61917         linkat: avoid compilation failure
61918         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
61920 2009-10-05  Eric Blake  <ebb9@byu.net>
61922         linkat: support Linux 2.6.17
61923         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
61924         linkat on Linux, but allow cache variable override.
61925         * lib/linkat.c (rpl_linkat): Define override.
61926         * modules/linkat (Depends-on): Add symlinkat.
61927         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
61928         * modules/unistd (Makefile.am): Substitute it.
61929         * lib/unistd.in.h (linkat): Declare replacement.
61930         Reported by Pádraig Brady.
61932         quotearg: port test to systems with C.UTF-8 locale
61933         * tests/test-quotearg.c (struct result_strings): Add another
61934         member, differentiating between C.ASCII and C.UTF-8 handling.
61935         (compare_strings): Add parameter.
61936         (main): Adjust all callers.
61938         getopt: avoid clash with FreeBSD _getopt_internal
61939         * lib/getopt.in.h (_getopt_internal): Override the name.
61940         * lib/getopt_int.h (includes): Pick up any overrides.
61941         Reported by Reuben Thomas.
61943         hash: allow C89 compilation
61944         * lib/hash.c (check_tuning): Move declaration before statement.
61945         Reported by Reuben Thomas.
61947 2009-10-05  Karl Berry  <karl@gnu.org>
61949         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
61951 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
61952             Bruno Haible  <bruno@clisp.org>
61954         * lib/uname.c (uname): Use a table-driven algorithm to compute
61955         Windows NT versions.
61957 2009-10-04  Bruno Haible  <bruno@clisp.org>
61959         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
61960         program_invocation_short_name.
61961         * modules/progname (configure.ac): Test for presence of
61962         program_invocation_short_name.
61963         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
61965 2009-10-04  Bruno Haible  <bruno@clisp.org>
61967         * lib/progname.c (set_program_name): Fix comment.
61968         Reported by Jim Meyering.
61970 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
61971             Bruno Haible  <bruno@clisp.org>
61973         * lib/uname.c: Include <string.h>.
61974         (uname): Do only one call to GetVersionEx in the common case.
61976 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
61977             Bruno Haible  <bruno@clisp.org>
61979         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
61980         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
61981         (uname): Add support for Windows CE and various non-x86 CPU types.
61983 2009-10-03  Bruno Haible  <bruno@clisp.org>
61985         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
61986         invocation to tests/configure.ac.
61987         Reported by Ian Beckwith <ianb@erislabs.net>.
61989 2009-10-02  Eric Blake  <ebb9@byu.net>
61991         fchdir: avoid compiler warning
61992         * lib/fchdir.c (canonicalize_file_name)
61993         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
61995         test-open: support mingw errno values
61996         * tests/test-open.h (test_open): Relax test.
61997         * tests/test-fopen.h (test_fopen): Likewise.
61998         * tests/test-openat-safer.c (main): Likewise.
62000         open: fix opening directory on mingw
62001         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
62003         test-open: on GNU/Hurd, /dev/null is a directory
62004         * tests/test-fopen.h (main): Rename...
62005         (test_fopen): ...to this.  Use a guaranteed non-directory when
62006         confirming open behavior on trailing slash.
62007         * tests/test-openat-safer.c (main): Likewise.
62008         * tests/test-open.h (main): Likewise....
62009         (test_open): ...to this.
62010         * tests/test-fopen.c (main): Adjust caller.
62011         * tests/test-fopen-safer.c (main): Likewise.
62012         * tests/test-open.c (main): Likewise.
62013         * tests/test-fcntl-safer.c (main): Likewise.
62014         Reported by Samuel Thibault.
62016         rename, fchdir: don't ignore chdir failure
62017         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
62018         * lib/rename.c (rpl_rename) [W32]: Likewise.
62019         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
62020         an empty destination directory if source cannot be renamed,
62021         although there is still possibility for failure.
62022         * doc/posix-functions/rename.texi (rename): Document the race.
62023         Reported by Jim Meyering.
62025         maint: cleanup whitespace in recent commits
62026         * lib/rename.c (rpl_rename): Remove tabs.
62027         * tests/test-link.h (test_link): Likewise.
62028         * lib/fchdir.c (get_name): Likewise.
62029         Reported by Jim Meyering.
62031 2009-10-02  Ben Pfaff  <blp@gnu.org>
62033         relocatable-prog-wrapper: Add missing dependency on
62034         double-slash-root.
62035         * modules/relocatable-prog-wrapper: Add dependency.
62036         Reported by Ian Beckwith <ianb@erislabs.net>.
62038 2009-10-02  Eric Blake  <ebb9@byu.net>
62040         renameat: fix Solaris bugs
62041         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
62042         needed fixing.
62043         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
62044         * modules/stdio (Makefile.am): Substitute it.
62045         * lib/stdio.in.h (renameat): Declare replacement.
62046         * lib/renameat.c (rpl_renameat): Implement fix.
62048         renameat: new module
62049         * modules/renameat: New file.
62050         * lib/renameat.c (renameat): Likewise.
62051         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
62052         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
62053         * modules/stdio (Makefile.am): Substitute them.
62054         * lib/stdio.in.h (renameat): Declare it.
62055         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
62056         * doc/posix-functions/renameat.texi (renameat): Likewise.
62057         * modules/renameat-tests: New test.
62058         * tests/test-renameat.c: Likewise.
62060         rename: fix mingw bugs
62061         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
62062         directory overwrite bugs.
62064         rename: fix another cygwin 1.5 bug
62065         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
62066         checks.
62067         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
62068         unnecessary cygwin workarounds.  Also work around bug with moving
62069         full directory onto an empty one.
62070         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
62072         rename-dest-slash: merge into rename module
62073         * modules/rename-dest-slash (Status): Mark obsolete.
62074         (Depends-on): Add rename.
62075         (Files): Let rename do it all.
62076         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
62077         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
62078         * m4/rename-dest-slash.m4: ...so this file can be deleted.
62079         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
62080         * lib/rename.c (rpl_rename): Update comments.
62082         rename: fix cygwin 1.5.x bugs
62083         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
62084         * lib/rename.c (rpl_rename): Work around them.
62085         * modules/rename (Depends-on): Add same-inode.
62087         rename: fix Solaris 10 bug
62088         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
62089         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
62090         was the only bug.
62092         rename: fix Solaris 9 bug
62093         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
62094         on non-directory.  Avoid calling exit.
62095         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
62096         strdup.
62097         * modules/rename-tests (Depends-on): Drop lstat.
62098         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
62099         (gl_PREREQ_RENAME): Delete unused macro.
62101         rename-dest-slash: fix NetBSD bug
62102         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
62103         links.
62104         * modules/rename-dest-slash (Depends-on): Add same-inode.
62106         rename-tests: new test, exposes several platform bugs
62107         * modules/rename-tests: New file.
62108         * tests/test-rename.h: Likewise.
62109         * tests/test-rename.c: Likewise.
62110         * doc/posix-functions/rename.texi (rename): Improve documentation,
62111         including bugs that will eventually be fixed in gnulib.
62113 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
62115         * lib/uname.c: Include <stdlib.h>
62116         (uname): Assume version info is available.
62118 2009-10-02  Jim Meyering  <meyering@redhat.com>
62120         gnu-web-doc-update: correct --help output
62121         * build-aux/gnu-web-doc-update: Make --help output relevant.
62123         gnu-web-doc-update: add standard options
62124         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
62126         gnu-web-doc-update: New module.
62127         Use this script to automatically update the on-line web documentation
62128         for your GNU project at http://www.gnu.org/software/$pkg/manual/
62129         * modules/gnu-web-doc-update: New file, from coreutils.
62130         * build-aux/gnu-web-doc-update: New script.
62132 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
62134         link: LoadLibrary is not needed.
62135         * lib/link.c: Use GetModuleHandle.
62137 2009-10-01  Eric Blake  <ebb9@byu.net>
62139         getopt: bump serial number
62140         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
62141         change.
62143         tests: tighten link, rmdir, and remove tests
62144         * tests/test-link.h (includes): No need to use <config.h> here.
62145         Clean up if directory hard link was created, otherwise test for
62146         trailing '.'.
62147         * tests/test-linkat.c (main): Simplify.
62148         * tests/test-remove.c (main): Enhance test for trailing '.'.
62149         * tests/test-rmdir.h (test_rmdir_func): Likewise.
62151 2009-10-01  Jim Meyering  <meyering@redhat.com>
62153         maint.mk: requiring "make major" was annoying, for a "minor" release.
62154         What is intended is "stable", to contrast with alpha and beta,
62155         so require "make stable", not "make major".
62156         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
62157         (get_tool_versions): Likewise.
62158         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
62160 2009-09-30  Ben Pfaff  <blp@gnu.org>
62162         Fix broken build of replacement for Windows tmpfile().
62163         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
62164         flags argument added along with the 'mkostemp' module.
62166 2009-09-28  Bruno Haible  <bruno@clisp.org>
62168         Avoid identifier clash with POSIX function 'remove' defined as a macro.
62169         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
62170         to 'remove_elt'.
62171         (gl_list_remove): Update.
62172         * lib/gl_list.c (gl_list_remove): Update.
62173         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
62174         to 'remove_elt'.
62175         (gl_oset_remove): Update.
62176         * lib/gl_list.c (gl_oset_remove): Update.
62177         Reported by Eric Blake.
62179 2009-09-28  Eric Blake  <ebb9@byu.net>
62181         doc: mention yet more cygwin 1.7 status
62182         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
62183         cygwin.
62184         * doc/glibc-functions/execvpe.texi (execvpe): New file.
62185         * doc/gnulib.texi (Glibc unistd.h): Mention it.
62187         argp: fix test failure
62188         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
62189         that are not upper-case.  Pass correct range to tolower.
62191 2009-09-27  Jim Meyering  <meyering@redhat.com>
62193         test-yesno: work around sparc-dash here-document infelicity
62194         Without this change, the literal \177 byte in a here document
62195         would make dash 0.5.5.1-3 access uninitialized memory.
62196         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
62197         Instead, use a marker, "@", and filter through tr to create the desired
62198         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
62200 2009-09-27  Bruno Haible  <bruno@clisp.org>
62202         Disable untested support for new flavours of ACLs on AIX.
62203         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
62204         progress.
62205         * lib/set-mode-acl.c (qset_acl): Likewise.
62207 2008-12-07  Bruno Haible  <bruno@clisp.org>
62209         Add support for new flavours of ACLs on AIX. (Untested.)
62210         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
62211         (file_has_acl): Add support for newer AIX.
62212         * lib/set-mode-acl.c (qset_acl): Likewise.
62213         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
62214         Rainer Tammer <tammer@tammer.net>.
62216 2009-09-26  Eric Blake  <ebb9@byu.net>
62218         argp: fix compilation of getopt
62219         * lib/getopt.in.h (includes): Use different guard than glibc.
62220         Reported by Sergey Poznyakoff.
62222         doc: mention more cygwin 1.7 status
62223         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
62224         bug.
62225         * doc/posix-functions/execl.texi (execl): Likewise.
62226         * doc/posix-functions/execle.texi (execle): Likewise.
62227         * doc/posix-functions/execlp.texi (execlp): Likewise.
62228         * doc/posix-functions/execv.texi (execv): Likewise.
62229         * doc/posix-functions/execve.texi (execve): Likewise.
62230         * doc/posix-functions/execvp.texi (execvp): Likewise.
62231         * doc/glibc-functions/canonicalize_file_name.texi
62232         (canonicalize_file_name): Cygwin 1.7 now provides this.
62233         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
62234         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
62235         on AT_SYMLINK_NOFOLLOW.
62237 2009-09-24  Eric Blake  <ebb9@byu.net>
62239         test-linkat: make test more robust
62240         * tests/test-linkat.c (main): Avoid collision with EEXIST.
62242         getopt: fix inclusion guards for cygwin
62243         * modules/getopt-posix (Depends-on): Add include-next.
62244         (Makefile.am): Substitute more items in replacement header.
62245         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
62246         <getopt.h>.
62247         * lib/getopt.in.h (includes): Use split inclusion guard, and
62248         prefer <getopt.h> over include <unistd.h> when one is present.
62249         (option): Also override name of 'struct option'.
62251         same-inode: revert prior change; it is not yet ready
62252         * NEWS: Undo mention of this change.
62253         * lib/same-inode.h (same-inode.h): Undo tri-state change.
62254         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
62255         * lib/cycle-check.c (cycle_check): Likewise.
62256         * lib/same.c (same_name): Likewise.
62257         * lib/at-func2.c (at_func2): Likewise.
62259 2009-09-23  Eric Blake  <ebb9@byu.net>
62261         linkat: new module
62262         * modules/linkat: New file.
62263         * lib/at-func2.c (at_func2): Likewise.
62264         * lib/linkat.c (linkat): Likewise.
62265         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
62266         * lib/openat-priv.h (at_func2): Add declaration.
62267         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
62268         * modules/unistd (Makefile.am): Substitute them.
62269         * lib/unistd.in.h (linkat): Declare it.
62270         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
62271         * doc/posix-functions/linkat.texi (linkat): Likewise.
62272         * doc/posix-functions/link.texi (link): Tweak wording.
62273         * tests/test-link.c (main): Move guts...
62274         * tests/test-link.h (test_link): ...into new file.
62275         * modules/linkat-tests: New test.
62276         * tests/test-linkat.c: Likewise.
62277         * modules/link-tests (Files): Ship new file.
62278         (Depends-on): Add stdbool.
62280         dirname: add library-safe mdir_name
62281         * lib/dirname.h (mdir_name): New prototype.
62282         * lib/dirname.c (dir_name): Move guts...
62283         (mdir_name): ...to new function that avoids xalloc_die.
62285         fchdir: another mingw fix
62286         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
62287         * lib/fchdir.c (get_name): New helper method; skips canonicalize
62288         on mingw (where it has not yet been ported), and make it optional
62289         elsewhere.
62290         (_gl_register_fd): Use it.
62292         same-inode: make SAME_INODE tri-state, to port to mingw
62293         * NEWS: Mention this change.
62294         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
62295         st_ino always being 0.
62296         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
62297         * lib/cycle-check.c (cycle_check): Likewise.
62298         * lib/same.c (same_name): Likewise.
62300         lstat: avoid mingw compilation error
62301         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
62302         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
62303         lstat ourselves.
62304         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
62305         was adequate.
62306         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
62307         the checks for lstat.
62308         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
62310         link: fix test failure on Solaris 9
62311         * lib/link.c (rpl_link): Don't assume link will catch bogus
62312         trailing slash on source.
62314         test-symlinkat: enhance test
62315         * tests/test-readlink.c (main): Move guts...
62316         * tests/test-readlink.h (test_readlink): ...into new file.
62317         * tests/test-symlink.c (main): Move guts...
62318         * tests/test-symlink.h (test_symlink): ...into new file.
62319         * tests/test-symlinkat.c (main): Use new files for further
62320         coverage.
62321         (do_symlink, do_readlink): New helper functions.
62322         * modules/symlink-tests (Files): Ship new file.
62323         (Depends-on): Add stdbool.
62324         * modules/readlink-tests (Files): Ship new file.
62325         (Depends-on): Add stdbool.
62326         * modules/symlinkat-tests (Files): Use new files.
62328 2009-09-23  Eric Blake  <ebb9@byu.net>
62330         readlink: document portability issue with symlink length
62331         * doc/posix-functions/lstat.texi (lstat): Mention that some file
62332         systems have bogus st_size on symlinks, and mention the
62333         areadlink-with-size module.
62334         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
62335         * doc/posix-functions/readlink.texi (readlink): Mention the
62336         areadlink module, and ERANGE failure.
62337         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
62338         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
62340         readlink: fix Solaris 9 bug with trailing slash
62341         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
62342         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
62343         * doc/posix-functions/readlink.texi (readlink): Document this.
62344         * modules/readlink-tests: New test.
62345         * tests/test-readlink.c: Likewise.
62347         readlink: fix cygwin 1.5.x bug with return type
62348         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
62349         * lib/unistd.in.h (readlink): Use ssize_t.
62350         * lib/readlink.c (readlink): Likewise.
62351         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
62352         * modules/unistd (Makefile.am): Substitute it.
62353         * lib/unistd.in.h (readlink): Declare replacement.
62354         * doc/posix-functions/readlink.texi (readlink): Document this.
62356         symlink: use throughout gnulib
62357         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
62358         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
62359         symlink is not used.
62360         * modules/symlinkat (Depends-on): Add symlink.
62361         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
62362         * modules/canonicalize-tests (Depends-on): Likewise.
62363         * modules/lstat-tests (Depends-on): Likewise.
62364         * modules/openat-tests (Depends-on): Likewise.
62365         * modules/remove-tests (Depends-on): Likewise.
62366         * modules/rmdir-tests (Depends-on): Likewise.
62367         * modules/unlink-tests (Depends-on): Likewise.
62368         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
62369         * tests/test-canonicalize.c (symlink): Likewise.
62370         * tests/test-fstatat.c (symlink): Likewise.
62371         * tests/test-lstat.c (symlink): Likewise.
62372         * tests/test-remove.c (symlink): Likewise.
62373         * tests/test-rmdir.c (symlink): Likewise.
62374         * tests/test-unlink.c (symlink): Likewise.
62375         * tests/test-unlinkat.c (symlink): Likewise.
62377         symlink: new module, for Solaris 9 bug
62378         * modules/symlink: New file.
62379         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
62380         * lib/symlink.c: Likewise.
62381         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
62382         * modules/unistd (Makefile.am): Substitute them.
62383         * lib/unistd.in.h (symlink): Declare replacement.
62384         * MODULES.html.sh (File system functions): Mention it.
62385         * doc/posix-functions/symlink.texi (symlink): Likewise.
62386         * modules/symlink-tests: New test.
62387         * tests/test-symlink.c: Likewise.
62389 2009-09-23  Bruno Haible  <bruno@clisp.org>
62391         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
62392         when needed.
62393         Test case: gnulib-tool --import --with-tests atexit inttypes.
62394         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
62396 2009-09-23  Bruno Haible  <bruno@clisp.org>
62398         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
62399         subcommand, not in a subshell.
62401 2009-09-22  Eric Blake  <ebb9@byu.net>
62403         unistd: sort replacement declarations
62404         * lib/unistd.in.h: Sort declarations.
62406         open, openat: minor optimization
62407         * lib/open.c (open): If open succeeded, len is non-zero.
62408         * lib/openat.c (rpl_openat): Likewise.
62410         link-follow: ensure correct result
62411         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
62412         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
62413         distinguish between possible failures.
62415 2009-09-21  Eric Blake  <ebb9@byu.net>
62417         fts: avoid compiler warning
62418         * lib/fts.c (dirent_inode_sort_may_be_useful)
62419         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
62421 2009-09-19  Bruno Haible  <bruno@clisp.org>
62423         * lib/progreloc.c (canonicalize_file_name): New declaration.
62425 2009-09-19  Eric Blake  <ebb9@byu.net>
62427         link: fix quoting
62428         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
62430         openat: fix openat bugs on Solaris 9
62431         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
62432         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
62433         * modules/openat (Depends-on): Add open.
62434         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
62435         * modules/fcntl-h (Makefile.am): Substitute it.
62436         * lib/fcntl.in.h (openat): Declare replacement.
62437         * doc/posix-functions/openat.texi (openat): Document this.
62439         openat: move fstatat and unlinkat into correct files
62440         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
62441         compiled.
62442         * lib/openat.c (fstatat, unlinkat): Move...
62443         * lib/fstatat.c (fstatat): ...into correct files.
62444         * lib/unlinkat.c (unlinkat): Likewise.
62446         openat: fix unlinkat bugs on Solaris 9
62447         * lib/unlinkat.c (unlinkat): New file.
62448         * modules/openat (Depends-on): Add unlink.
62449         (Files): Distribute it.
62450         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
62451         trailing slash behavior is broken.
62452         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
62453         * modules/unistd (Makefile.am): Substitute it.
62454         * lib/unistd.in.h (unlinkat): Declare replacement.
62455         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
62457         openat: fix fstatat bugs on Solaris 9
62458         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
62459         stat.
62460         * doc/posix-functions/fstatat.texi (fstatat): Document this.
62462         test-unlinkat: enhance test, to expose Solaris 9 bug
62463         * tests/test-unlink.c (main): Factor guts...
62464         * tests/test-unlink.h (test_rmdir_func): ...into new file.
62465         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
62466         * tests/test-rmdir.c (main): Adjust caller.
62467         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
62468         (unlinker): New helper function.
62469         (rmdirat): Enhance check.
62470         * modules/rmdir-tests (Depends-on): Add stdbool.
62471         * modules/unlink-tests (Depends-on): Likewise.
62472         (Files): Add test-unlink.h.
62473         * modules/openat-tests (Files): Likewise.
62474         (Depends-on): Add unlinkdir.
62476         test-fstatat: new test, to expose Solaris 9 bugs
62477         * tests/test-stat.c (main): Factor guts...
62478         * tests/test-stat.h (test_stat_func): ...into new file.
62479         * tests/test-lstat.c (main): Factor guts...
62480         * tests/test-lstat.h (test_lstat_func): ...into new file.
62481         * tests/test-fstatat.c: New file.
62482         * modules/stat-tests (Files): Add test-stat.h.
62483         * modules/lstat-tests (Files): Add test-lstat.h.
62484         (Depends-on): Add stdbool.
62485         * modules/openat-tests (Depends-on): Add pathmax.
62486         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
62487         (Makefile.am): Run new test.
62489         remove: new module, for mingw and Solaris 9 bugs
62490         * modules/remove: New file.
62491         * lib/remove.c: Likewise.
62492         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
62493         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
62494         * modules/stdio (Makefile.am): Use them.
62495         * lib/stdio.in.h (remove): Declare replacement.
62496         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
62497         * doc/posix-functions/remove.texi (remove): Likewise.
62498         * modules/remove-tests: New test.
62499         * tests/test-remove.c: Likewise.
62501         unlink: new module, for Solaris 9 bug
62502         * modules/unlink: New file.
62503         * lib/unlink.c: Likewise.
62504         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
62505         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
62506         * modules/unistd (Makefile.am): Use them.
62507         * lib/unistd.in.h (stat): Declare replacement.
62508         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
62509         * doc/posix-functions/unlink.texi (unlink): Likewise.
62510         * modules/unlink-tests: New test.
62511         * tests/test-unlink.c: Likewise.
62513         lstat: fix Solaris 9 bug
62514         * lib/lstat.c (lstat): Also check for trailing slash on
62515         non-symlink, non-directories.  Use stat module to simplify logic.
62516         * doc/posix-functions/lstat.texi (lstat): Document it.
62517         * modules/lstat-tests (Depends-on): Add errno, same-inode.
62518         (configure.ac): Check for symlink.
62519         * tests/test-lstat.c (main): Add more tests.
62521         stat: add as dependency to other modules
62522         * modules/chown (Depends-on): Add stat.
62523         * modules/euidaccess (Depends-on): Likewise.
62524         * modules/fchdir (Depends-on): Likewise.
62525         * modules/isdir (Depends-on): Likewise.
62526         * modules/link (Depends-on): Likewise.
62527         * modules/lstat (Depends-on): Likewise.
62528         * modules/mkdir-p (Depends-on): Likewise.
62529         * modules/modechange (Depends-on): Likewise.
62530         * modules/open (Depends-on): Likewise.
62531         * modules/readlink (Depends-on): Likewise.
62532         * modules/same (Depends-on): Likewise.
62534         stat: fix Solaris 9 bug
62535         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
62536         slash.
62537         * lib/stat.c (rpl_stat): Work around it.
62538         * doc/posix-functions/stat.texi (stat): Update documentation.
62540         stat: new module, for mingw bug
62541         * modules/stat: New file.
62542         * lib/stat.c: Likewise.
62543         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
62544         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
62545         * modules/sys_stat (Makefile.am): Use them.
62546         * lib/sys_stat.in.h (stat): Declare replacement.
62547         * lib/openat.c (fstatat): Deal with lstat and stat being function
62548         macros.
62549         * modules/openat (Depends-on): Add inline.
62550         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
62551         * doc/posix-functions/stat.texi (stat): Likewise.
62552         * modules/stat-tests: New test.
62553         * tests/test-stat.c: Likewise.
62555 2009-09-19  Jim Meyering  <meyering@redhat.com>
62557         syntax-check: detect unnecessary inclusion of canonicalize.h
62558         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
62560 2009-09-19  Eric Blake  <ebb9@byu.net>
62562         canonicalize-lgpl: adjust clients to use correct header
62563         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
62564         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
62565         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
62566         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
62567         * lib/progreloc.c (includes): Likewise.
62569 2009-09-19  Jim Meyering  <meyering@redhat.com>
62571         test-posixtm.c: correct a comment
62572         * tests/test-posixtm.c: Correct first-line comment.
62573         Spotted by Eric Blake.
62575 2009-09-16  Jim Meyering  <meyering@redhat.com>
62577         posixtm-tests: make T const-correct; add a test case
62578         * tests/test-posixtm.c (T): Declare const.
62579         Add a test for -(2^31+1).
62580         Remove useless can-succeed-only-in-2002 test.
62582         posixtm-tests: adjust the sole failing test
62583         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
62584         expected output matches what mktime now produces.  Cross-checked via
62585         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
62587         posixtm: move #ifdef'd tests into a new module
62588         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
62589         * tests/test-posixtm.c: ... this new file.
62590         * modules/posixtm-tests: New module.
62592 2009-09-19  Eric Blake  <ebb9@byu.net>
62594         openat: simplify use of at-func.c
62595         * lib/at-func.c (includes): Include prerequisites here, to
62596         simplify requirements on client files.
62597         * lib/openat-priv.h: Add double-inclusion guard.
62598         * lib/faccessat.c (includes): Simplify.
62599         * lib/fchmodat.c (includes): Likewise.
62600         * lib/fchownat.c (includes): Likewise.
62601         * lib/mkdirat.c (includes): Likewise.
62602         * lib/mkfifoat.c (includes): Likewise.
62603         * lib/symlinkat.c (includes): Likewise.
62605         openat: allow return of fd 0
62606         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
62607         * modules/save-cwd (Depends-on): Replace fcntl-safer with
62608         unistd-safer.
62609         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
62610         <fcntl.h>; this module does not leak fds.
62611         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
62612         must be allowed to return 0, leaving openat_safer to add the
62613         safety.
62614         (openat_permissive): Avoid writing to just-opened fd 2 if
62615         restoring the current directory fails.
62616         * lib/openat-die.c (openat_restore_fail): Add comment.
62617         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
62618         (save_cwd): Guarantee safe fd, but without use of open_safer.
62619         * tests/test-openat.c: New test.
62620         * modules/openat-tests (Files, Makefile.am): Distribute and build
62621         new file.
62623         relocatable-prog-wrapper: fix build
62624         * modules/relocatable-prog-wrapper (Files): Update name of
62625         canonicalize m4 file, broken on 2009-09-17.
62626         Reported by emad hajjar <aleppos@hotmail.com>.
62628 2009-09-19  Bruno Haible  <bruno@clisp.org>
62630         * lib/safe-alloc.h: Use the standard header with GPL copyright.
62631         * lib/safe-alloc.c: Likewise.
62632         Reported by Ian Beckwith <ianb@erislabs.net>.
62634 2009-09-18  Bruno Haible  <bruno@clisp.org>
62636         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
62637         Reported by <erobles@sensacd.com.mx>.
62639 2009-09-17  Eric Blake  <ebb9@byu.net>
62641         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
62642         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
62643         slashes when checking if last component is missing.
62644         * tests/test-canonicalize.c (main): Test this.
62646         canonicalize, canonicalize-lgpl: honor // if distinct from /
62647         * modules/canonicalize (Files): Add double-slash-root.m4.
62648         * modules/canonicalize-lgpl (Files): Likewise.
62649         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
62650         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
62651         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
62652         fallback definition.
62653         (canonicalize_filename_mode): Use it to protect //.
62654         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
62655         (__realpath): Likewise.
62656         * tests/test-canonicalize.c (main): Test this.
62657         * tests/test-canonicalize-lgpl.c (main): Likewise.
62658         * modules/canonicalize-tests (Depends-on): Add same-inode.
62659         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
62661         canonicalize-lgpl: fix glibc bug with trailing slash
62662         * m4/canonicalize-lgpl.m4: Move contents...
62663         * m4/canonicalize.m4: ...here.
62664         (gl_CANONICALIZE_LGPL): Factor realpath check...
62665         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
62666         glibc 2.3.5 bug, fixed 2005-04-27.
62667         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
62668         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
62669         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
62670         * modules/canonicalize-lgpl (Files): Manage file rename.
62671         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
62672         * modules/stdlib (Makefile.am): Substitute witness.
62673         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
62674         is needed.
62675         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
62676         replacement is required.
62677         * lib/canonicalize.c (canonicalize_file_name): Likewise.
62678         * doc/glibc-functions/canonicalize_file_name.texi
62679         (canonicalize_file_name): Document this.
62680         * doc/posix-functions/realpath.texi (realpath): Likewise.
62682         canonicalize-lgpl: reject non-directory with trailing slash
62683         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
62684         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
62685         catches failures in glibc 2.3.5.
62686         * tests/test-canonicalize.c (main): Likewise.
62688         canonicalize-lgpl: use native realpath if it works
62689         * lib/canonicalize-lgpl.c (realpath): Guard with
62690         FUNC_REALPATH_WORKS.
62691         * lib/stdlib.in.h (realpath): Make declaration optional based on
62692         HAVE_REALPATH.
62693         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
62694         native realpath works.
62695         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
62696         * modules/stdlib (Makefile.am): Substitute witness.
62698         canonicalize, canonicalize-lgpl: use <stdlib.h>
62699         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
62700         (Include): Mention <stdlib.h>.
62701         (configure.ac): Mention functions we provide.
62702         * modules/canonicalize (configure.ac): Likewise.
62703         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
62704         realpath if canonicalize_file_name is missing.
62705         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
62706         * modules/stdlib (Makefile.am): Substitute witnesses.
62707         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
62708         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
62709         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
62710         * NEWS: Document this.
62711         * doc/glibc-functions/canonicalize_file_name.texi
62712         (canonicalize_file_name): Likewise.
62713         * doc/posix-functions/realpath.texi (realpath): Likewise.
62714         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
62716         test-canonicalize: consolidate into single C program
62717         * tests/test-canonicalize.sh: Delete; move setup into...
62718         * tests/test-canonicalize.c (main): ...the program, making it
62719         easier to run in debugger.  Add some tests.
62720         * modules/canonicalize-tests (Files): Remove unused file.
62721         (Depends-on): Add progname.
62722         (configure.ac, Makefile.am): Simplify.
62724         test-canonicalize-lgpl: consolidate into single C program
62725         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
62726         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
62727         easier to run in debugger.  Add some tests.
62728         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
62729         (configure.ac, Makefile.am): Simplify.
62731         canonicalize: avoid resolvepath
62732         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
62733         unnecessary checks.
62734         * lib/canonicalize.c (includes): Simplify.
62735         (canonicalize_file_name): Drop resolvepath implementation.
62736         * modules/canonicalize (Depends-on): Drop filenamecat.
62738         canonicalize: don't lose errno
62739         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
62740         over calls to free.
62742         canonicalize: simplify errno handling
62743         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
62744         assignment.
62746         canonicalize, canonicalize-lgpl: update module dependencies
62747         * modules/canonicalize (Depends-on): Add extensions, lstat,
62748         pathmax, stdlib.
62749         (Files): Drop pathmax.h.
62750         (configure.ac): Adjust macro name.
62751         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
62752         lstat, stdlib, sys_stat.
62753         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
62754         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
62755         extensions.
62756         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
62757         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
62758         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
62759         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
62760         declaration, if available.
62761         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
62762         we can rely on the readlink module.
62763         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
62764         (includes): Use <unistd.h> unconditionally.
62766 2009-09-17  Eric Blake  <ebb9@byu.net>
62768         maint: make Include sections of modules consistent
62769         * modules/alloca: Use only header name; no need to list #include.
62770         * modules/alloca-opt: Likewise.
62771         * modules/arpa_inet: Likewise.
62772         * modules/canon-host: Likewise.
62773         * modules/configmake: Likewise.
62774         * modules/dirent: Likewise.
62775         * modules/eealloc: Likewise.
62776         * modules/environ: Likewise.
62777         * modules/fchdir: Likewise.
62778         * modules/fcntl: Likewise.
62779         * modules/fcntl-h: Likewise.
62780         * modules/gethrxtime: Likewise.
62781         * modules/gettime: Likewise.
62782         * modules/ignore-value: Likewise.
62783         * modules/inet_ntop: Likewise.
62784         * modules/inet_pton: Likewise.
62785         * modules/inttypes: Likewise.
62786         * modules/isnand-nolibm: Likewise.
62787         * modules/isnanf-nolibm: Likewise.
62788         * modules/mbchar: Likewise.
62789         * modules/mbfile: Likewise.
62790         * modules/mbiter: Likewise.
62791         * modules/mbuiter: Likewise.
62792         * modules/netdb: Likewise.
62793         * modules/netinet_in: Likewise.
62794         * modules/nproc: Likewise.
62795         * modules/pagealign_alloc: Likewise.
62796         * modules/poll: Likewise.
62797         * modules/printf-frexp: Likewise.
62798         * modules/pthread: Likewise.
62799         * modules/putenv: Likewise.
62800         * modules/random_r: Likewise.
62801         * modules/relocatable-prog: Likewise.
62802         * modules/search: Likewise.
62803         * modules/select: Likewise.
62804         * modules/selinux-h: Likewise.
62805         * modules/settime: Likewise.
62806         * modules/signal: Likewise.
62807         * modules/size_max: Likewise.
62808         * modules/socklen: Likewise.
62809         * modules/ssize_t: Likewise.
62810         * modules/stdarg: Likewise.
62811         * modules/stdbool: Likewise.
62812         * modules/stddef: Likewise.
62813         * modules/stdint: Likewise.
62814         * modules/stdio: Likewise.
62815         * modules/stdlib: Likewise.
62816         * modules/string: Likewise.
62817         * modules/strings: Likewise.
62818         * modules/sys_file: Likewise.
62819         * modules/sys_ioctl: Likewise.
62820         * modules/sys_select: Likewise.
62821         * modules/sys_socket: Likewise.
62822         * modules/sys_stat: Likewise.
62823         * modules/sys_time: Likewise.
62824         * modules/sys_times: Likewise.
62825         * modules/sys_utsname: Likewise.
62826         * modules/sys_wait: Likewise.
62827         * modules/sysexits: Likewise.
62828         * modules/time: Likewise.
62829         * modules/times: Likewise.
62830         * modules/tmpfile: Likewise.
62831         * modules/trim: Likewise.
62832         * modules/unistd: Likewise.
62833         * modules/wchar: Likewise.
62834         * modules/wctype: Likewise.
62836 2009-09-17  Bruno Haible  <bruno@clisp.org>
62838         Make getdate.y compile on QNX and NetBSD 5 / i386.
62839         * m4/getdate.m4 (gl_GETDATE): Conditionally define
62840         TIME_T_FITS_IN_LONG_INT.
62841         * lib/getdate.y (long_time_t): New type.
62842         (relative_time): Change type of 'seconds' field to long_time_t.
62843         (get_date): Update types of local variables. Check against overflow
62844         during conversion from long_time_t to time_t.
62845         Reported by Matt Kraai <kraai@ftbfs.org>
62846         and Hasso Tepper <hasso@netbsd.org>.
62848 2009-09-17  Bruno Haible  <bruno@clisp.org>
62850         * modules/COPYING: Update copyright years.
62851         * modules/README: Likeiwse.
62852         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
62853         Reported by Ian Beckwith <ianb@erislabs.net>.
62855 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
62857         * users.txt: Update references for gnuit package.
62859 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
62861         * m4/getdelim.m4: Fix typo in copyright line.
62863 2009-09-17  Bruno Haible  <bruno@clisp.org>
62865         * lib/atoll.c: Use the standard header with GPL copyright.
62866         * lib/argz.in.h: Likewise.
62867         * lib/glob.c: Likewise.
62868         * lib/glob-libc.h: Likewise.
62869         * lib/random_r.c: Likewise.
62870         * lib/siglist.h: Likewise.
62871         * lib/strsignal.c: Likewise.
62872         Reported by Ian Beckwith <ianb@erislabs.net>.
62874 2009-09-17  Eric Blake  <ebb9@byu.net>
62876         rmdir: ensure correct dependency order
62877         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
62879 2009-09-17  Bruno Haible  <bruno@clisp.org>
62881         Disable assertion that fails on NetBSD 5 / i386.
62882         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
62883         Reported by Sam Steingold <sds@gnu.org>
62884         and Hasso Tepper <hasso@netbsd.org>.
62886 2009-09-16  Eric Blake  <ebb9@byu.net>
62888         unlinkdir: port to mingw
62889         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
62890         on which no one can unlink a directory.
62892         stdlib: sort witness names
62893         * modules/stdlib (Makefile.am): Sort replacements.
62894         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
62895         * lib/stdlib.in.h: Likewise.
62897         parse-duration-tests: avoid link failure
62898         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
62899         LIBINTL.
62900         Reported by Tom G. Christensen.
62902         openat-tests: ensure unlinkat behaves like rmdir
62903         * tests/test-rmdir.c (main): Factor guts...
62904         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
62905         * modules/rmdir-tests (Files): Ship new file.
62906         * modules/openat-tests: New test.
62907         * tests/test-unlinkat.c: Likewise.
62909         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
62910         * modules/rmdir-errno (Status, Notice): Now obsolete.
62912         rmdir: work around cygwin 1.5.x and mingw bugs
62913         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
62914         * lib/rmdir.c (rmdir): Work around it.
62915         * modules/rmdir (Status, Notice): No longer obsolete.
62916         (Files): Add dos.m4.
62917         (Depends-on): Add unistd.
62918         (configure.ac): Set witnesses.
62919         (License): Relax to LGPLv2+.
62920         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
62921         * modules/unistd (Makefile.am): Substitute witnesses.
62922         * lib/unistd.in.h (rmdir): Declare replacement.
62923         * doc/posix-functions/rmdir.texi (rmdir): Document this.
62924         * modules/rmdir-tests: New tests.
62925         * tests/test-rmdir.c: Likewise.
62927 2009-09-15  Eric Blake  <ebb9@byu.net>
62929         fchdir: improve use of replacement functions
62930         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
62931         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
62932         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
62933         REPLACE_CLOSEDIR.
62934         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
62935         * modules/sys_stat (Makefile.am): Substitute correct witness.
62936         * modules/dirent (Makefile.am): Likewise.
62937         * modules/unistd (Makefile.am): Likewise.
62938         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
62939         * lib/unistd.in.h (dup): Likewise.
62940         * lib/sys_stat.in.h (fstat): Likewise.
62942         maint: ignore gnulib-tool temp files
62943         * .gitignore: Ignore files created during gnulib-tool --test.
62945 2009-09-13  Jim Meyering  <meyering@redhat.com>
62947         posixtm: don't reject a time that specify "60" as the number of seconds
62948         * lib/posixtm.c (posixtime): The code to reject invalid dates
62949         would also reject a time specified with the .60 suffix.
62950         But POSIX allows that, in order to accommodate leap seconds.
62951         So don't reject it.
62952         (main): Adjust tests accordingly.
62953         * modules/posixtm (Depends-on): Add stpcpy.
62955 2009-09-11  Jim Meyering  <meyering@redhat.com>
62957         announce-gen: include [$release_type] in emitted Subject:
62958         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
62959         e.g., [stable] in the emitted Subject: line.
62961 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62963         Remove obsolete macros from several modules.
62964         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
62965         obsolete Autoconf macros with their modern counterparts.
62966         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
62967         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
62968         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
62969         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
62970         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
62971         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
62972         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
62973         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
62974         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
62975         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
62976         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
62977         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
62978         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
62979         * m4/sockets.m4 (gl_SOCKETS): Likewise.
62980         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
62981         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
62982         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
62983         * m4/time_r.m4 (gl_TIME_R): Likewise.
62984         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
62985         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
62986         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
62988         Fix copyright header in build-aux scripts.
62989         * build-aux/git-version-gen: Fix copyright header to match GPLv3
62990         recommendation.
62991         * build-aux/ncftpput-ftp: Likewise.
62992         * build-aux/update-copyright: Likewise.
62994 2009-09-09  Eric Blake  <ebb9@byu.net>
62996         test-link: allow Linux choice of errno
62997         * tests/test-link.c (main): Relax test for alternate error.
62999         strndup: fix improper m4 caching
63000         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
63001         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
63002         (gl_PREREQ_STRNDUP): Delete.
63003         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
63004         * modules/string (Makefile.am): Substitute it.
63005         * lib/string.in.h (strndup): Modernize prototype.
63007         getcwd: port to mingw
63008         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
63009         different from the POSIX assumptions made throughout the getcwd
63010         module; fortunately, the mingw getcwd does not need replacement.
63011         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
63012         * modules/getcwd-tests: New test.
63013         * tests/test-getcwd.c: Likewise.
63015         link: fix platform bugs
63016         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
63017         * lib/link.c (link): Work around them.  Fix related mingw bug.
63018         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
63019         * modules/unistd (Makefile.am): Substitute it.
63020         * lib/unistd.in.h (link): Declare replacement.
63021         * doc/posix-functions/link.texi (link): Document this.
63022         * modules/link (Depends-on): Add strdup-posix, sys_stat.
63024         test-link: consolidate into single C program, test more cases
63025         * tests/test-link.sh: Delete.
63026         * tests/test-link.c: Test more error conditions.  Exposes bugs on
63027         at least Cygwin and Solaris.
63028         * modules/link-tests (Files): Remove unused file.
63029         (Depends-on): Add errno, sys_stat.
63030         (Makefile.am): Simplify.
63032 2009-09-08  Bruno Haible  <bruno@clisp.org>
63034         Work around towlower, towupper bug on mingw.
63035         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
63036         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
63037         * doc/posix-functions/towlower.texi: Mention the mingw bug.
63038         * doc/posix-functions/towupper.texi: Likewise.
63039         Reported by Eric Blake.
63041 2009-09-08  Jim Meyering  <meyering@redhat.com>
63043         build: don't try to run autoheader if we don't use it
63044         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
63045         is not used in configure.ac.
63047 2009-09-08  Eric Blake  <ebb9@byu.net>
63049         euidaccess: fix compilation error
63050         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
63052         rawmemchr: relax license
63053         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
63054         okay.
63055         Reported by Jim Meyering.
63057         mkfifoat: new module
63058         * modules/mkfifoat: New file.
63059         * lib/mkfifoat.c: Likewise.
63060         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
63061         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
63062         * modules/sys_stat (Makefile.am): Use them.
63063         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
63064         * MODULES.html.sh (File system functions): Mention module.
63065         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
63066         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
63067         * modules/mkfifoat-tests: New test.
63068         * tests/test-mkfifoat.c: Likewise.
63070         strchrnul: relax license
63071         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
63072         okay.
63073         Reported by Jim Meyering.
63075 2009-09-08  Eric Blake  <ebb9@byu.net>
63077         fstatat: fix compilation on Solaris
63078         * lib/fstatat.c (includes): Add fcntl.h.
63079         Reported by Pádraig Brady.
63081 2009-09-07  Eric Blake  <ebb9@byu.net>
63083         rename: modernize replacement
63084         * modules/rename (Depends-on): Add stdio.
63085         (configure.ac): Declare witness.
63086         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
63087         stdio take care of replacement.
63088         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
63089         * modules/stdio (Makefile.am): Substitute them.
63090         * lib/stdio.in.h (rename): Declare replacement.
63091         * lib/rename.c (includes): Allow cross-compilation to non-windows
63092         machines.
63093         * doc/posix-functions/rename.texi (rename): Improve
63094         documentation.
63096         stdio: sort witness names
63097         * modules/stdio (Makefile.am): Sort replacements.
63098         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
63099         * lib/stdio.in.h: Likewise.
63101         getcwd: minor cleanups
63102         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
63103         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
63105         openat: provide more convenience names
63106         * modules/faccessat (configure.ac): Add C witness.
63107         * lib/unistd.in.h (readlinkat): Fix typo.
63108         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
63109         convenience wrappers.
63110         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
63111         wrappers in syntax checks.
63113 2009-09-06  Eric Blake  <ebb9@byu.net>
63115         doc: fix comments in recent patches
63116         * lib/faccessat.c: Mention correct function.
63117         * lib/fchmodat.c: Likewise.
63118         * lib/fchownat.c: Likewise.
63119         * lib/symlinkat.c: Likewise.
63120         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
63121         constants.
63123         faccessat, symlinkat: continue cleanup of previous patch
63124         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
63125         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
63126         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
63127         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
63128         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
63129         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
63130         set.
63132 2009-09-06  Bruno Haible  <bruno@clisp.org>
63134         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
63135         (fstatat): Declare if GNULIB_FSTATAT is set.
63136         (mkdirat): Declare if GNULIB_MKDIRAT is set.
63137         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
63138         (unlinkat): Declare if GNULIB_UNLINKAT is set.
63139         * modules/fcntl-h (Files): Remove m4/openat.m4.
63140         * modules/sys_stat (Files): Remove m4/openat.m4.
63141         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
63142         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
63143         * modules/unistd (Files): Remove m4/openat.m4.
63144         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
63145         GNULIB_OPENAT.
63146         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
63147         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
63148         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
63149         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
63150         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
63151         gl_OPENAT_DEFAULTS.
63152         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
63153         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
63154         Don't require gl_OPENAT_DEFAULTS.
63155         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
63156         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
63157         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
63158         (gl_OPENAT_DEFAULTS): Remove macro.
63160 2009-09-06  Bruno Haible  <bruno@clisp.org>
63162         * modules/openat (configure.ac): Remove unneeded witness.
63164 2009-09-06  Bruno Haible  <bruno@clisp.org>
63166         Set errno to ENOSYS when a function is entirely unsupported.
63167         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
63168         EOPNOTSUPP.
63169         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
63170         * modules/chown (Depends-on): Remove errno.
63172 2009-09-06  Bruno Haible  <bruno@clisp.org>
63174         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
63176 2009-09-06  Bruno Haible  <bruno@clisp.org>
63178         * lib/sys_stat.in.h: Fix preprocessor command indentation.
63180 2009-09-06  Ben Pfaff  <blp@gnu.org>
63181             Bruno Haible  <bruno@clisp.org>
63183         Work around a glibc bug in strtok_r.
63184         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
63185         Undefine if UNDEFINE_STRTOK_R is set.
63186         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
63187         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
63188         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
63189         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
63190         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
63191         UNDEFINE_STRTOK_R.
63192         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
63194 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
63196         exclude: minor fix
63197         * lib/exclude.c: Include wctype.h
63199 2009-09-06  Akim Demaille  <demaille@gostai.com>
63201         bootstrap: improve error message
63202         * build-aux/bootstrap (find_tool): Upon failure, report the list
63203         of candidates.
63204         Honor the initial value of the envvar.
63206 2009-09-05  Eric Blake  <ebb9@byu.net>
63208         symlinkat: new module
63209         * modules/symlinkat: New file.
63210         * lib/symlinkat.c: Likewise.
63211         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
63212         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
63213         * modules/unistd (Makefile.am): Use them.
63214         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
63215         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
63216         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
63217         * MODULES.html.sh (File system functions): Mention module.
63218         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
63219         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
63220         * modules/symlinkat-tests: New test.
63221         * tests/test-symlinkat.c: Likewise.
63223         test-openat-safer: add more checks
63224         * tests/test-openat-safer.c (main): Check more code paths.
63226 2009-09-05  Jim Meyering  <meyering@redhat.com>
63228         syntax-check: detect unnecessary inclusion of openat.h
63229         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
63231 2009-09-05  Bruno Haible  <bruno@clisp.org>
63233         Support towlower, towupper.
63234         * doc/posix-functions/towlower.texi: Mention module wctype.
63235         * doc/posix-functions/towupper.texi: Likewise.
63236         * lib/wctype.in.h (towlower, towupper): New functions.
63237         * tests/test-wctype.c: Include stdio.h, stdlib.h.
63238         (ASSERT): New macro.
63239         (e): New variable.
63240         (main): Test also towlower, towupper. Test WEOF argument.
63241         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
63243 2009-09-05  Bruno Haible  <bruno@clisp.org>
63245         Fix conversion behaviour when the input is invalid.
63246         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
63247         mark occurring in first pass of indirect conversion.
63248         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
63249         input.
63250         Found by clang's static analyzer.
63252 2009-09-05  Bruno Haible  <bruno@clisp.org>
63254         * tests/test-striconveh.c (main): Test indirect conversion on platforms
63255         where direct conversion is possible.
63257 2009-09-04  Eric Blake  <ebb9@byu.net>
63259         openat: fail with ENOENT on empty name
63260         * lib/openat-proc.c (openat_proc_name): Special-case the empty
63261         buffer.
63263         link-follow: fix logic bug in prior patch
63264         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
63265         reversed sense of yes and no in prior patch.  Avoid confusing
63266         compilation failure with desired semantics.
63268         link-follow: accommodate mingw and cross-compilation
63269         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
63270         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
63271         cross-compilation results to -1, to make linkat easier to
63272         implement when cross-compiling.  Trivially support mingw.
63273         * modules/link-follow (configure.ac): Call new name.
63274         * NEWS: Mention this.
63276 2009-09-03  Eric Blake  <ebb9@byu.net>
63278         faccessat: compile replacement
63279         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
63280         needed.
63282         fts: fix compilation error
63283         * lib/fts.c (includes): Re-add "openat.h", for
63284         openat_needs_fchdir.
63286         faccessat: new module
63287         * modules/faccessat: New file.
63288         * lib/faccessat.c: Likewise.
63289         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
63290         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
63291         * modules/unistd (Makefile.am): Use it.
63292         * lib/unistd.in.h (faccessat): Declare it.
63293         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
63294         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
63295         * MODULES.html.sh (File system functions): Mention it.
63296         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
63297         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
63299         euidaccess: prefer POSIX over non-standard implementation
63300         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
63301         * lib/euidaccess.c (euidaccess): Use it if available.
63303         openat: make template easier to use
63304         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
63305         AT_FUNC_F2 to be undefined.
63306         (VALIDATE_FLAG): New macro; use it to reject bad flags.
63307         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
63308         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
63309         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
63310         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
63311         Likewise.
63312         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
63313         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
63314         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
63315         Likewise.
63317         openat: declare in POSIX headers
63318         * NEWS: Mention this.
63319         * modules/openat (configure.ac): Declare witnesses.
63320         (Depends-on): Add fcntl-h, sys_stat, unistd.
63321         (Include): Mention correct headers.
63322         * modules/fcntl-h (Depends-on): Add link-warning.
63323         (Files): Add openat.m4.
63324         (Makefile.am): Substitute witnesses.
63325         * modules/sys_stat (Files, Makefile.am): Likewise.
63326         * modules/unistd (Files, Makefile.am): Likewise.
63327         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
63328         (gl_OPENAT_DEFAULTS): New macro.
63329         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
63330         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
63331         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
63332         (SYS_STAT_H): Remove unused variable.
63333         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
63334         * lib/fcntl--.h (includes): Remove unneeded header.
63335         * lib/openat-safer.c (includes): Likewise.
63336         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
63337         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
63338         appropriate headers.
63339         (__OPENAT_PREFIX): Delete.
63340         * lib/fcntl.in.h (openat): Provide declaration.
63341         (AT_FDCWD): Fix Solaris bug.
63342         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
63343         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
63344         * lib/fchmodat.c (includes):  Adjust to find declaration.
63345         * lib/fchownat.c (includes): Likewise.
63346         * lib/mkdirat.c (includes): Likewise.
63347         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
63348         still visible.
63350 2009-09-02  Eric Blake  <ebb9@byu.net>
63352         errno: use consistently
63353         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
63354         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
63355         * lib/canonicalize.c (ELOOP): Likewise.
63356         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
63357         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
63358         * lib/lchown.c (EOPNOTSUPP): Likewise.
63359         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
63360         * lib/savewd.c (ESTALE): Likewise.
63361         * lib/settime.c (ENOSYS): Likewise.
63362         * lib/utimens.c (ENOSYS): Likewise.
63363         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
63364         * lib/chdir-safer.c (ELOOP): Likewise.
63365         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
63366         * modules/c-stack (Depends-on): Add errno.
63367         * modules/canonicalize (Depends-on): Likewise.
63368         * modules/chdir-safer (Depends-on): Likewise.
63369         * modules/fdopendir (Depends-on): Likewise.
63370         * modules/inet_ntop (Depends-on): Likewise.
63371         * modules/inet_pton (Depends-on): Likewise.
63372         * modules/lchown (Depends-on): Likewise.
63373         * modules/openat (Depends-on): Likewise.
63374         * modules/savewd (Depends-on): Likewise.
63375         * modules/settime (Depends-on): Likewise.
63376         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
63378         fts: avoid leaking fds
63379         * modules/fts (Depends-on): Add cloexec.
63380         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
63381         flag.
63383         fts: make directory fds more robust
63384         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
63385         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
63387         backupfile, chdir-long, fts, savedir: make safer
63388         * lib/backupfile.c (includes): Use "dirent--.h", since
63389         numbered_backup can write to stderr during readdir.
63390         * lib/savedir.c (includes): Likewise.
63391         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
63392         emulation can write to stderr on failure.
63393         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
63394         * lib/getcwd.c: Document why opendir_safer is unused.
63395         * lib/glob.c: Likewise.
63396         * lib/scandir.c: Likewise.
63397         * lib/openat-proc.c: Likewise, for open_safer.
63398         * modules/backupfile (Depends-on): Add dirent-safer.
63399         * modules/savedir (Depends-on): Likewise.
63400         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
63401         * modules/chdir-long (Depends-on): Add openat-safer.
63403         openat-safer: new module
63404         * modules/openat-safer: New file.
63405         * lib/openat-safer.c: Likewise.
63406         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
63407         * lib/fcntl-safer.h (openat_safer): Declare.
63408         * lib/fcntl--.h (openat): Override.
63409         * MODULES.html.sh (File descriptor based I/O): Mention it.
63410         * lib/openat.h: Add double-inclusion guards.
63411         * lib/openat.c (includes): Only include "fcntl-safer.h", not
63412         "fcntl--.h", so we can implement openat.
63413         * modules/openat-safer-tests: New test.
63414         * tests/test-openat-safer.c: New file.
63416         dirent-safer: new module
63417         * modules/dirent-safer: New file.
63418         * lib/dirent--.h: Likewise.
63419         * lib/dirent-safer.h: Likewise.
63420         * lib/opendir-safer.c: Likewise.
63421         * m4/dirent-safer.m4: Likewise.
63422         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
63423         * modules/dirent-safer-tests: New test.
63424         * tests/test-dirent-safer.c: New file.
63425         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
63427         fdopendir: optimize on mingw
63428         * lib/unistd.in.h (_gl_directory_name): New prototype.
63429         * lib/fchdir.c (_gl_directory_name): Implement it.
63430         (fchdir): Use it to simplify implementation.
63431         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
63432         fchdir, when available, to avoid calling [f]chdir().
63434         fdopendir: split into its own module
63435         * lib/openat.c (fdopendir): Move...
63436         * lib/fdopendir.c: ...into new file.
63437         * modules/fdopendir: New module.
63438         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
63439         * modules/openat (Depends-on): Add fdopendir.
63440         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
63441         fdopendir here.
63442         * modules/savedir (Depends-on): Only need fdopendir, not full
63443         openat.
63444         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
63445         * lib/openat.h (fdopendir): Drop prototype.
63446         * lib/dirent.in.h (fdopendir): Provide prototype.
63447         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
63448         * modules/dirent (Makefile.am): Substitute them.
63449         * MODULES.html.sh (File system functions): Mention it.
63450         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
63451         * modules/fdopendir-tests: New file.
63452         * tests/test-fdopendir.c: Likewise.
63454         fchdir: use more consistent macro convention
63455         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
63456         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
63457         REPLACE_FCHDIR, rather than relying on config.h macros.
63458         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
63459         inside a single make-time REPLACE_FCHDIR block, rather than using
63460         the config.h FCHDIR_REPLACEMENT.
63461         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
63462         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
63463         Manage fstat replacement.
63464         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
63465         REPLACE_FCHDIR.
63466         * modules/sys_stat (Files): Add m4/unistd_h.m4.
63467         (Makefile.am): Substitute REPLACE_FCHDIR.
63468         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
63469         FCHDIR_REPLACEMENT.
63470         * lib/dup-safer.c (dup_safer): Likewise.
63471         * lib/dup2.c (rpl_dup2): Likewise.
63472         * lib/dup3.c (rpl_dup3): Likewise.
63473         * lib/open.c (rpl_open): Likewise.
63475         fchdir: simplify error handling, and support dup3
63476         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
63477         stdbool, malloc-posix, realloc-posix.
63478         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
63479         (ensure_dirs_slot): Return false on allocation failure.
63480         (rpl_dup2): Delete.
63481         (_gl_register_dup): New function.
63482         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
63483         (_gl_register_fd): Close fd on allocation failure.
63484         * lib/fcntl.in.h (_gl_register_fd): Update signature.
63485         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
63486         prototype.
63487         (rpl_dup2_fchdir): Delete prototype.
63488         * lib/open.c (open): Update caller.
63489         * lib/dup2.c (dup2): Track fchdir metadata.
63490         * lib/dup3.c (dup3): Likewise.
63491         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
63492         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
63494 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63496         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
63497         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
63498         don't pass arguments to AC_OUTPUT.
63500 2009-09-02  Bruno Haible  <bruno@clisp.org>
63502         * modules/mkdtemp (License): Relicense under LGPLv2+.
63503         Reported by Paolo Bonzini.
63505 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63507         Replace uses of obsolete autoconf macros in Jim's modules.
63508         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
63509         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
63510         can evoke a warning from autoconf when run with -Wobsolete
63511         enabled.  They were declared obsolete for good reasons (see
63512         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
63513         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
63514         should not continue using the deprecated macros.
63515         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
63516         obsolete Autoconf macros with modern counterparts.
63517         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
63518         * m4/dos.m4 (gl_AC_DOS): Likewise.
63519         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
63520         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
63521         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
63522         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
63523         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
63524         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
63525         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
63526         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
63527         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
63528         Likewise.
63529         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
63530         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
63531         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
63532         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
63533         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
63534         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
63536 2009-09-01  Eric Blake  <ebb9@byu.net>
63538         fchdir: fix off-by-one bug in previous patch
63539         * lib/fchdir.c (rpl_fstat): Use correct bounds.
63540         (_gl_unregister_fd): Delete useless if.
63542 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
63544         maint.mk: sort the list of syntax-check rules
63545         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
63546         easier to get a sense of progress when the rules are run sequentially
63547         and take a long time.
63549 2009-09-01  Simon Josefsson  <simon@josefsson.org>
63551         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
63552         * modules/netinet_in: Likewise.
63553         * modules/sys_file: Likewise.
63554         * modules/sys_ioctl: Likewise.
63555         * modules/sys_select: Likewise.
63556         * modules/sys_socket: Likewise.
63557         * modules/sys_stat: Likewise.
63558         * modules/sys_time: Likewise.
63559         * modules/sys_times: Likewise.
63560         * modules/sys_utsname: Likewise.
63561         * modules/sys_wait: Likewise.
63563 2009-09-01  Jim Meyering  <meyering@redhat.com>
63565         fts: help ensure that return values are not ignored
63566         * lib/fts_.h (__GNUC_PREREQ): Define.
63567         (__attribute_warn_unused_result__): Define.
63568         (fts_children, fts_close, fts_open, fts_read): Declare with
63569         __attribute_warn_unused_result__.
63571         fts: fts_close now fails also when closing a dir file descriptor fails
63572         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
63573         and propagate to caller, along with errno.
63575         announce-gen: correct formatting in --help output
63576         * build-aux/announce-gen (usage): Move the one-line description in
63577         --help output "up", to where it belongs, just after Usage:.
63579 2009-08-31  Eric Blake  <ebb9@byu.net>
63581         fchdir: port to mingw
63582         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
63583         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
63584         opened, then use a substitute.
63585         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
63586         replacement.
63587         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
63588         (_gl_register_fd): No need to check stat if open already filters
63589         all directories.
63590         (fchdir): Fix error condition to match POSIX.
63591         * modules/fchdir (Depends-on): Add sys_stat.
63592         * doc/posix-functions/open.texi (open): Document the limitation.
63593         * modules/fchdir-tests: New file.
63594         * tests/test-fchdir.c: Likewise.
63596         canonicalize: allow cross-testing from cygwin to mingw
63597         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
63598         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
63599         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
63600         Likewise.
63601         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
63602         target does not support symlinks.
63603         * tests/test-canonicalize-lgpl.sh: Likewise.
63605         chown: avoid compilation warning on mingw
63606         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
63607         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
63608         mingw.
63609         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
63610         * modules/chown (Depends-on): Add errno.
63612 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
63614         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
63615         command.
63617 2009-08-31  Jim Meyering  <meyering@redhat.com>
63619         canonicalize: remove useless initialization
63620         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
63621         initialization of local, "end".
63623 2009-08-30  Bruno Haible  <bruno@clisp.org>
63625         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
63626         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
63627         ENOSYS.
63629 2009-08-30  Bruno Haible  <bruno@clisp.org>
63631         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
63632         /usr/xpg4/bin/tr when it exists.
63633         * tests/test-pipe-filter-gi1.sh: Likewise.
63635 2009-08-30  Bruno Haible  <bruno@clisp.org>
63637         Work around deficient /usr/bin/id program on Solaris.
63638         * tests/test-file-has-acl.sh (ID): New variable.
63639         * tests/test-set-mode-acl.sh (ID): Likewise.
63640         * tests/test-copy-acl.sh (ID): Likewise.
63641         * tests/test-copy-file.sh (ID): Likewise.
63643 2009-08-30  Bruno Haible  <bruno@clisp.org>
63645         New module 'xstriconveh'.
63646         * lib/xstriconveh.h: New file.
63647         * lib/xstriconveh.c: New file.
63648         * modules/xstriconveh: New file.
63650 2009-08-30  Bruno Haible  <bruno@clisp.org>
63652         Make it easier to use mem_cd_iconveh.
63653         * lib/striconveh.h (iconveh_t): New type.
63654         (iconveh_open, iconveh_close): New declarations.
63655         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
63656         with a single 'const iconveh_t *' argument.
63657         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
63658         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
63659         with a single 'const iconveh_t *' argument.
63660         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
63661         * tests/test-striconveh.c (main): Update.
63662         * NEWS: Mention the change.
63664 2009-08-30  Bruno Haible  <bruno@clisp.org>
63666         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
63667         problem.
63669 2009-08-30  Bruno Haible  <bruno@clisp.org>
63671         Work around iconv_open problem on Solaris.
63672         * lib/iconv_open-solaris.gperf: New file.
63673         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
63674         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
63675         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
63676         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
63677         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
63678         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
63680 2009-08-29  Jim Meyering  <meyering@redhat.com>
63682         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
63683         * top/maint.mk (cvs-check): Remove target; it was just an alias
63684         to the better-named vc-diff-check.
63685         (maintainer-distcheck): Remove rule.  It was used only from
63686         the (alpha/beta/major) target, and all of its commands but one
63687         were coreutils-specific.
63688         (vc-dist): Remove rule.
63689         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
63690         Run vc-diff-check, not vc-dist.
63691         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
63693 2009-08-27  Bruno Haible  <bruno@clisp.org>
63695         * tests/test-bitrotate.c (main): Remove test that uses a shift count
63696         of 0.
63698 2009-08-27  Bruno Haible  <bruno@clisp.org>
63700         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
63701         compilers.
63702         * doc/func.texi: Document the SunPRO C bug.
63704 2009-08-27  Bruno Haible  <bruno@clisp.org>
63706         Fix link error on Solaris.
63707         * tests/test-parse-duration.c (xstrdup): Remove function.
63709 2009-08-26  Pádraig Brady  <P@draigbrady.com>
63711         ignore-value: handle pointer types, too
63712         * lib/ignore-value.h (__attribute__): Remove definition.
63713         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
63714         of a more concise and more-often effective "(void) i" statement.
63715         (ignore_ptr): New function to suppress warnings from functions that
63716         return pointers, and to make it explicit that one function doesn't
63717         handle all cases.
63719 2009-08-25  Bruno Haible  <bruno@clisp.org>
63721         dup2: work around a Linux bug.
63722         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
63723         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
63724         * doc/posix-functions/dup2.texi: Mention the Linux bug.
63725         Reported by Simon Josefsson.
63727 2009-08-25  Jim Meyering  <meyering@redhat.com>
63729         libguestfs uses gnulib
63730         * users.txt: Add libguestfs.
63732 2009-08-24  Eric Blake  <ebb9@byu.net>
63734         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
63735         * lib/pipe2.c (includes): Add binary-io.h.
63736         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
63738 2009-08-24  Bruno Haible  <bruno@clisp.org>
63740         Tolerate declared but missing accept4 syscall.
63741         * lib/accept4.c (accept4): Invoke original accept4 function first, if
63742         available.
63743         * lib/sys_socket.in.h (accept4): If the function is already present,
63744         override it.
63745         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
63746         * modules/accept4 (Makefile.am): Compile accept4.c always.
63747         Reported by Paolo Bonzini and Eric Blake.
63749 2009-08-23  Bruno Haible  <bruno@clisp.org>
63751         New module 'accept4'.
63752         * lib/sys_socket.in.h (accept4): New declaration.
63753         * lib/accept4.c: New file.
63754         * m4/accept4.m4: New file.
63755         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
63756         GNULIB_ACCEPT4, HAVE_ACCEPT4.
63757         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
63758         HAVE_ACCEPT4.
63759         * modules/accept4: New file.
63760         * doc/glibc-functions/accept4.texi: Mention the new module.
63762 2009-08-24  Jim Meyering  <meyering@redhat.com>
63764         progname: also set global program_invocation_name, when possible
63765         Before this change, a libtool-enabled program that calls glibc's
63766         error function would report the program name as
63767         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
63768         * modules/progname (configure.ac): Check for a declaration of
63769         program_invocation_name.
63770         * lib/progname.c:  Include <errno.h>.
63771         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
63772         Set program_invocation_name.
63774 2009-08-23  Bruno Haible  <bruno@clisp.org>
63776         * lib/dup3.c: Include <string.h>.
63778 2009-08-23  Bruno Haible  <bruno@clisp.org>
63780         * lib/dup3.c (dup3): Test only once whether the system actually exists.
63781         * lib/pipe2.c (pipe2): Likewise.
63782         Suggested by Eric Blake.
63784 2009-08-23  Bruno Haible  <bruno@clisp.org>
63786         Tolerate declared but missing dup3 syscall.
63787         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
63788         * lib/unistd.in.h (dup3): If the function is already present,
63789         override it.
63790         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
63791         * modules/dup3 (Makefile.am): Compile dup3.c always.
63792         Reported by Paolo Bonzini.
63794 2009-08-23  Bruno Haible  <bruno@clisp.org>
63796         Tolerate declared but missing pipe2 syscall.
63797         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
63798         available.
63799         * lib/unistd.in.h (pipe2): If the function is already present,
63800         override it.
63801         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
63802         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
63803         Reported by Paolo Bonzini.
63805 2009-08-23  Bruno Haible  <bruno@clisp.org>
63807         * lib/pipe2.c (pipe2): Move #ifs inside function.
63809 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
63811         quotearg: document limitations of quote_these_too
63812         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
63813         those limitations are created.
63814         * lib/quotearg.h (set_char_quoting): Document that digits and
63815         letters that are special after backslash are not permitted.
63816         (quotearg_char): Cross-reference set_char_quoting documentation.
63818 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
63820         quotearg: implement custom_quoting_style
63821         * lib/quotearg.c: (struct quoting_options): Add left_quote and
63822         right_quote fields.
63823         (set_custom_quoting): New public function.
63824         (quotearg_buffer_restyled): Add left_quote and right_quote
63825         arguments, handle them very much like locale quoting, and update
63826         all uses.
63827         (quotearg_n_custom): New public function.
63828         (quotearg_n_custom_mem): New public function.
63829         (quotearg_custom): New public function.
63830         (quotearg_custom_mem): New public function.
63831         * lib/quotearg.h: Prototype and document new public functions.
63832         (enum quoting_style): For escape_quoting_style and
63833         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
63834         ignored even though they're otherwise like c_quoting_style.
63835         Add custom_quoting_style member and document with comparison to
63836         clocale_quoting_style.
63837         * tests/test-quotearg.c (custom_quotes): New array.
63838         (custom_results): New array.
63839         (main): Extend to test custom quoting.
63841 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
63843         quotearg: fix right quote escaping when it's in quote_these_too
63844         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
63845         quote, be sure to prepend only one backslash.
63846         * tests/test-quotearg.c (use_quote_double_quotes): New function.
63847         (main): Test it.
63849 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
63851         quotearg-tests: test escaping of embedded locale quotes
63852         * tests/test-quotearg.c (struct result_strings): Add member for
63853         new input.
63854         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
63855         (inputs): Add new input.
63856         (results_g): Add expected results.
63857         (flag_results): Likewise.
63858         (locale_results): Likewise.
63859         (compare_strings): Check those.
63861 2009-08-23  Bruno Haible  <bruno@clisp.org>
63863         Tests for module 'dup3'.
63864         * modules/dup3-tests: New file.
63865         * tests/test-dup3.c: New file.
63867         New module 'dup3'.
63868         * lib/unistd.in.h (dup3): New declaration.
63869         * lib/dup3.c: New file.
63870         * m4/dup3.m4: New file.
63871         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
63872         HAVE_DUP3.
63873         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
63874         * modules/dup3: New file.
63875         * doc/glibc-functions/dup3.texi: Mention the new module.
63877 2009-08-23  Bruno Haible  <bruno@clisp.org>
63879         Tweak the dup2 test.
63880         * tests/test-dup2.c (main): Create the test file empty. Verify that an
63881         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
63882         the test file is still empty. Fix argument order of lseek.
63884 2009-08-23  Bruno Haible  <bruno@clisp.org>
63886         Avoid test link errors when the modules getopt-gnu, gettext are used.
63887         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
63888         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
63890 2009-08-23  Bruno Haible  <bruno@clisp.org>
63892         Fix getdtablesize() on mingw.
63893         * lib/getdtablesize.c (getdtablesize): Implement differently.
63894         * lib/unistd.in.h (getdtablesize): Improve comment.
63896 2009-08-23  Bruno Haible  <bruno@clisp.org>
63898         New module 'mkostemp'.
63899         Based on Ulrich Drepper's 2007-08-10 change in glibc.
63900         * lib/stdlib.in.h (mksotemp): New declaration.
63901         * lib/mkostemp.c: New file, from glibc with modifications.
63902         * lib/tempname.h (GT_FILE): Remove outdated comment.
63903         (gen_tempname): Add flags argument.
63904         * lib/tempname.c (__GT_BIGFILE): Remove macro.
63905         (__GT_FILE): Map to 1.
63906         (small_open, large_open): Remove macros.
63907         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
63908         * lib/mkstemp.c (mkstemp): Update.
63909         * lib/mkdtemp.c (mkdtemp): Likewise.
63910         * m4/mkostemp.m4: New file.
63911         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
63912         HAVE_MKOSTEMP.
63913         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
63914         HAVE_MKOSTEMP.
63915         * modules/mkostemp: New file, based on modules/mkstemp.
63916         * doc/glibc-functions/mkostemp.texi: Mention the new module.
63917         * NEWS: Mention the change.
63919 2009-08-23  Bruno Haible  <bruno@clisp.org>
63921         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
63922         Reported by Eric Blake.
63924 2009-08-23  Bruno Haible  <bruno@clisp.org>
63926         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
63927         Reported by Eric Blake.
63929 2009-08-23  Bruno Haible  <bruno@clisp.org>
63931         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
63932         * modules/pipe2 (Depends-on): Likewise.
63934 2009-08-23  Eric Blake  <ebb9@byu.net>
63936         fcntl-h: add O_TTY_INIT support
63937         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
63938         * tests/test-fcntl-h.c (o): Test it.
63939         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
63941         fcntl-h: rename from fcntl, in preparation for fcntl(2)
63942         * modules/fcntl: Move <fcntl.h> header replacement...
63943         * modules/fcntl-h: ...to new name, so as not to collide with
63944         like-named function.
63945         * tests/test-fcntl.c: Rename...
63946         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
63947         * modules/fcntl-tests: Rename...
63948         * modules/fcntl-h-tests: ...to this.  Update test file name.
63949         * modules/chdir-long (Depends-on): Update clients.
63950         * modules/chdir-safer (Depends-on): Likewise.
63951         * modules/fcntl-safer (Depends-on): Likewise.
63952         * modules/fts (Depends-on): Likewise.
63953         * modules/mkancesdirs (Depends-on): Likewise.
63954         * modules/mkdir-p (Depends-on): Likewise.
63955         * modules/open (Depends-on): Likewise.
63956         * modules/savewd (Depends-on): Likewise.
63957         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
63958         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
63960 2009-08-22  Bruno Haible  <bruno@clisp.org>
63962         * modules/binary-io (License): Relicense under LGPL.
63963         * modules/pipe2 (License): Likewise.
63965 2009-08-22  Bruno Haible  <bruno@clisp.org>
63967         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
63968         return value.
63969         * lib/pipe-filter-gi.c (filter_init): Likewise.
63970         Reported by Eric Blake.
63972 2009-08-22  Bruno Haible  <bruno@clisp.org>
63974         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
63975         * modules/pipe (Depends-on): Add pipe2.
63977 2009-08-22  Bruno Haible  <bruno@clisp.org>
63979         Tests for module 'pipe2'.
63980         * modules/pipe2-tests: New file.
63981         * tests/test-pipe2.c: New file.
63983         New module 'pipe2'.
63984         * lib/unistd.in.h (pipe2): New declaration.
63985         * lib/pipe2.c: New file.
63986         * m4/pipe2.m4: New file.
63987         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
63988         HAVE_PIPE2.
63989         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
63990         * modules/pipe2: New file.
63991         * doc/glibc-functions/pipe2.texi: Mention the new module.
63993 2009-08-22  Bruno Haible  <bruno@clisp.org>
63995         Reference some new glibc functions.
63996         * doc/glibc-functions/accept4.texi: New file.
63997         * doc/glibc-functions/dup3.texi: New file.
63998         * doc/glibc-functions/mkostemp.texi: New file.
63999         * doc/glibc-functions/pipe2.texi: New file.
64000         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
64001         (Glibc sys/socket.h): Refer to accept4.
64002         (Glibc unistd.h): Refer to dup3, pipe2.
64003         Reported by Eric Blake.
64005 2009-08-22  Jim Meyering  <meyering@redhat.com>
64006             Bruno Haible  <bruno@clisp.org>
64008         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
64009         This makes it so packages using automake-1.11's silent-rules option
64010         can print e.g., a single "GEN    configmake.h" line, rather than
64011         the 30+ statements that perform the job.  If you want to see the
64012         actual commands, you can still run "make V=1".
64013         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
64014         so that make output is abbreviated when those variables are defined
64015         appropriately.
64016         * modules/argz: Likewise.
64017         * modules/arpa_inet: Likewise.
64018         * modules/byteswap: Likewise.
64019         * modules/configmake: Likewise.
64020         * modules/dirent: Likewise.
64021         * modules/errno: Likewise.
64022         * modules/fcntl: Likewise.
64023         * modules/float: Likewise.
64024         * modules/fnmatch: Likewise.
64025         * modules/getopt-posix: Likewise.
64026         * modules/glob: Likewise.
64027         * modules/iconv_open: Likewise.
64028         * modules/inttypes: Likewise.
64029         * modules/localcharset: Likewise.
64030         * modules/locale: Likewise.
64031         * modules/math: Likewise.
64032         * modules/netdb: Likewise.
64033         * modules/netinet_in: Likewise.
64034         * modules/poll: Likewise.
64035         * modules/posix_spawnp-tests: Likewise.
64036         * modules/sched: Likewise.
64037         * modules/search: Likewise.
64038         * modules/selinux-h: Likewise.
64039         * modules/signal: Likewise.
64040         * modules/spawn: Likewise.
64041         * modules/stdarg: Likewise.
64042         * modules/stdbool: Likewise.
64043         * modules/stddef: Likewise.
64044         * modules/stdint: Likewise.
64045         * modules/stdio: Likewise.
64046         * modules/stdlib: Likewise.
64047         * modules/string: Likewise.
64048         * modules/strings: Likewise.
64049         * modules/sys_file: Likewise.
64050         * modules/sys_ioctl: Likewise.
64051         * modules/sys_select: Likewise.
64052         * modules/sys_socket: Likewise.
64053         * modules/sys_stat: Likewise.
64054         * modules/sys_time: Likewise.
64055         * modules/sys_times: Likewise.
64056         * modules/sys_utsname: Likewise.
64057         * modules/sys_wait: Likewise.
64058         * modules/sysexits: Likewise.
64059         * modules/time: Likewise.
64060         * modules/unistd: Likewise.
64061         * modules/wchar: Likewise.
64062         * modules/wctype: Likewise.
64064 2009-08-22  Jim Meyering  <meyering@redhat.com>
64066         announce-gen: detect write failure
64067         * build-aux/announce-gen: Add Coda at end.
64068         Remove equivalent-but-more-verbose block at top.
64070 2009-08-19  Akim Demaille  <demaille@gostai.com>
64072         bootstrap: --help to stdout.
64073         * bootstrap (usage): Don't send --help to stderr.
64074         Use a here doc instead of a long string.
64076 2009-08-21  Eric Blake  <ebb9@byu.net>
64078         test-popen-safer: split from test-popen
64079         * tests/test-popen.c (main): Move...
64080         * tests/test-popen.h: ...into new file.
64081         * tests/test-popen-safer2.c: New file.
64082         * modules/popen-tests (Files): Add test-popen.h.
64083         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
64084         Suggested by Bruno Haible.
64086         test-fcntl-safer: split from test-open
64087         * tests/test-open.c (main): Move...
64088         * tests/test-open.h: ...into new file.
64089         * tests/test-fcntl-safer.c: New file.
64090         * modules/open-tests (Files): Add test-open.h.
64091         * modules/fcntl-safer-tests: New file.
64092         Suggested by Bruno Haible.
64094         test-fopen-safer: split from test-fopen
64095         * tests/test-fopen.c (main): Move...
64096         * tests/test-fopen.h: ...into new file.
64097         * tests/test-fopen-safer.c: New file.
64098         * modules/fopen-tests (Files): Add test-fopen.h.
64099         * modules/fopen-safer-tests: New file.
64100         Suggested by Bruno Haible.
64102 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
64104         popen-safer: test O_CLOEXEC at run-time.
64105         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
64107 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
64109         fcntl: move more flags to the header
64110         * lib/cloexec.c: Do not define FD_CLOEXEC here.
64111         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
64112         * lib/fcntl.in.h: Do both things here.
64114 2009-08-21  Jim Meyering  <meyering@redhat.com>
64116         consistently remove $@-t before redirecting to it
64117         * modules/argz: Remove $@-t and $@ before redirecting to the former.
64118         * modules/alloca-opt: Likewise.
64119         * modules/byteswap: Likewise.
64120         * modules/fnmatch: Likewise.
64121         * modules/getopt-posix: Likewise.
64122         * modules/glob: Likewise.
64123         * modules/poll: Likewise.
64124         * modules/posix_spawnp-tests: Likewise.
64125         * modules/sys_socket: Likewise.
64126         * modules/sysexits: Likewise.
64128 2009-08-21  Eric Blake  <ebb9@byu.net>
64130         popen: simplify access to original popen
64131         * lib/popen.c (rpl_popen): No need to worry about popen being a
64132         macro.
64133         Reported by Bruno Haible.
64135 2009-08-20  Eric Blake  <ebb9@byu.net>
64137         build: avoid some compiler warnings
64138         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
64139         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
64140         type.
64141         (new_exclude_segment, excluded_file_pattern_p)
64142         (excluded_file_name_p): Reduce scope.
64143         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
64144         old-style declaration.
64146 2009-08-20  Simon Josefsson  <simon@josefsson.org>
64148         * tests/test-exclude1.sh: Handle Windows EOL.
64149         * tests/test-exclude2.sh: Likewise.
64150         * tests/test-exclude3.sh: Likewise.
64151         * tests/test-exclude4.sh: Likewise.
64152         * tests/test-exclude5.sh: Likewise.
64153         * tests/test-exclude6.sh: Likewise.
64154         * tests/test-exclude7.sh: Likewise.
64156 2009-08-19  Akim Demaille  <demaille@gostai.com>
64158         bootstrap: find sha1sum when named gsha1sum.
64159         * bootstrap (find_tool): New.
64160         ($SHA1SUM): New.
64161         Use it.
64163 2009-08-20  Jim Meyering  <meyering@redhat.com>
64165         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
64166         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
64167         expression that converts "." in a file name to "\." in the resulting
64168         regexp.  Start with a dummy statement, so that prior shell variable
64169         definitions are expanded portably.  Reported by Simon Josefsson.
64171 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
64173         Fix polling for writeability of a screen buffer.
64174         * lib/poll.c: Distinguish input and screen buffers for the
64175         Win32 implementation.
64176         * lib/select.c: Likewise.
64178 2009-08-19  Eric Blake  <ebb9@byu.net>
64180         popen-safer: prevent popen from clobbering std descriptors
64181         * modules/popen-safer: New file.
64182         * lib/popen-safer.c: Likewise.
64183         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
64184         * lib/stdio--.h (popen): Provide override.
64185         * lib/stdio-safer.h (popen_safer): Provide declaration.
64186         * tests/test-popen.c (includes): Partially test this.
64187         * modules/popen-safer-tests: New file, for more tests.
64188         * tests/test-popen-safer.c: Likewise.
64189         * MODULES.html.sh (file stream based Input/Output): Mention it.
64191         tests: test some of the *-safer modules
64192         * modules/fopen-safer (Depends-on): Add fopen.
64193         * modules/fcntl-safer (Depends-on): Add fcntl.
64194         * modules/stdlib-safer (Depends-on): Add stdlib.
64195         (configure.ac): Set indicator.
64196         * modules/unistd-safer (configure.ac): Likewise.
64197         * modules/tmpfile-safer (configure.ac): Likewise.
64198         (Depends-on): Add tmpfile.
64199         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
64200         active.
64201         * tests/test-fopen.c (includes): Test safer versions when they are
64202         in use.
64203         * tests/test-open.c (includes): Likewise.
64205         popen: fix cygwin 1.5 bug when stdin closed
64206         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
64207         * modules/popen: New file.
64208         * modules/popen-tests: Likewise.
64209         * tests/test-popen.c: Likewise.
64210         * m4/popen.m4: Likewise.
64211         * lib/popen.c: Likewise.
64212         * lib/stdio.in.h (popen): New declaration.
64213         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
64214         * modules/stdio (Makefile.am): Likewise.
64215         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
64217 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
64219         maint.mk: give full control over update-copyright exclusions
64220         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
64221         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
64222         (update-copyright): Don't force inclusion of top-level
64223         ChangeLog.  Don't force exclusion of all COPYING files, but make
64224         them the default exclusion instead.
64226 2009-08-16  Bruno Haible  <bruno@clisp.org>
64228         Fix test failures on Solaris 10.
64229         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
64230         tests when Solaris iconv() is used.
64231         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
64232         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
64233         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
64234         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
64235         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
64237 2009-08-16  Bruno Haible  <bruno@clisp.org>
64239         Fix test failures on Solaris 10.
64240         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
64241         'tr' program and pass it as first argument.
64242         * tests/test-pipe-filter-gi1.sh: Likewise.
64243         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
64244         program as first argument.
64245         * tests/test-pipe-filter-gi1.c (main): Likewise.
64247 2009-08-16  Eric Blake  <ebb9@byu.net>
64249         fpurge: fix previous commits
64250         * modules/fpurge (Makefile.am): Make replacement conditional,
64251         partially reverting 2007-04-29 change; missed in previous
64252         attempt.
64253         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
64254         is missing.
64256 2009-08-16  Bruno Haible  <bruno@clisp.org>
64258         Clarify fpurge's effect on the file position.
64259         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
64260         * tests/test-fpurge.c (main): Make a second pass for checking the file
64261         position.
64263 2009-08-16  Bruno Haible  <bruno@clisp.org>
64265         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
64266         declaration of fpurge is missing.
64267         * tests/test-fpurge.c (main): Check that the file has not more contents
64268         than expected. Close the file before removing it.
64270 2009-08-15  Eric Blake  <ebb9@byu.net>
64272         fpurge: don't wrap working cygwin implementation
64273         * lib/fpurge.c (fpurge): Fix comment typo.
64274         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
64275         1.7 to avoid replacement.
64276         * tests/test-fpurge.c (main): Enhance test.
64278 2009-08-15  Eric Blake  <ebb9@byu.net>
64279         and Jim Meyering  <meyering@redhat.com>
64281         test-update-copyright: skip if perl is insufficient
64282         * tests/test-update-copyright.sh: Failure to run maintainer tool
64283         should not cause testsuite failure on cygwin 1.5.
64285 2009-08-14  Eric Blake  <ebb9@byu.net>
64287         doc: mention more functions added in cygwin 1.7.0
64288         * doc/posix-headers/limits.texi (limits.h): Update for recent
64289         cygwin additions.
64290         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
64291         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
64292         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
64293         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
64294         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
64296 2009-08-14  Eric Blake  <ebb9@byu.net>
64298         maint.mk: simplify update-copyright rule
64299         * top/maint.mk (update-copyright-local): Delete, and document how
64300         to do it in cfg.mk instead.
64301         (update-copyright-exclude-regexp): Delete, and document how to do
64302         it in .x-update-copyright instead.
64303         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
64304         exclude ChangeLog.
64306 2009-08-14  Bruno Haible  <bruno@clisp.org>
64308         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
64310 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
64312         maint.mk: support update-copyright-env
64313         * top/maint.mk (update-copyright-env): Define place-holder.
64314         (update-copyright): Expand $(update-copyright-env) before
64315         invoking update-copyright.
64317 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
64319         update-copyright: implement forced reformatting
64320         * build-aux/update-copyright: Implement and document
64321         UPDATE_COPYRIGHT_FORCE.
64322         * tests/test-update-copyright.sh: Test it.
64324 2009-08-14  Eric Blake  <ebb9@byu.net>
64325         and Bruno Haible  <bruno@clisp.org>
64327         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
64328         * tests/test-locale.c: Revert previous patch related to NULL.
64329         * tests/test-stdio.c: Likewise.
64330         * tests/test-stdlib.c: Likewise.
64331         * tests/test-string.c: Likewise.
64332         * tests/test-unistd.c: Likewise.
64333         * modules/time-tests (Depends-on): Add verify.
64334         * modules/wchar-tests (Depends-on): Likewise.
64335         * tests/test-time.c: Test for NULL compliance.
64336         * tests/test-wchar.c: Likewise.
64337         * modules/locale (Depends-on): Add stddef.
64338         * modules/stdio (Depends-on): Likewise.
64339         * modules/stdlib (Depends-on): Likewise.
64340         * modules/string (Depends-on): Likewise.
64341         * modules/time (Depends-on): Likewise.
64342         * modules/unistd (Depends-on): Likewise.
64343         * modules/wchar (Depends-on): Likewise.
64344         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
64345         * lib/stdlib.in.h (includes): Likewise.
64346         * lib/string.in.h (includes): Likewise.
64347         * lib/time.in.h (includes): Likewise.
64348         * lib/unistd.in.h (includes): Likewise.
64349         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
64350         replaced.
64351         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
64352         * m4/stddef_h.m4: New file.
64353         * modules/stddef: Likewise.
64354         * lib/stddef.in.h: Likewise.
64355         * modules/stddef-tests: Likewise.
64356         * tests/test-stddef.c: Likewise.
64357         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
64358         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
64359         * doc/posix-headers/locale.texi (locale.h): Likewise.
64360         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
64361         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
64362         * doc/posix-headers/string.texi (string.h): Likewise.
64363         * doc/posix-headers/time.texi (time.h): Likewise.
64364         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
64365         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
64367 2009-08-14  Eric Blake  <ebb9@byu.net>
64369         doc: improve git diff of texinfo files
64370         * .gitattributes: Add rule for *.texi files, with hint on how to
64371         use it.
64372         Copied from m4, and based on a report by Bruno Haible.
64374 2009-08-14  Bruno Haible  <bruno@clisp.org>
64376         Disable multithread support by default on Cygwin 1.5.x for real.
64377         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
64379 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
64381         update-copyright: much ado about intervals
64382         * build-aux/update-copyright: Implement and document
64383         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
64384         of copyright year intervals.
64385         Also, document UPDATE_COPYRIGHT_YEAR.
64386         * tests/test-update-copyright.sh: Test it.
64388         update-copyright: convert 2-digit to 4-digit years
64389         * build-aux/update-copyright: Implement and document.
64390         * tests/test-update-copyright.sh: Update.
64392 2009-08-14  Jim Meyering  <meyering@redhat.com>
64394         test-exclude: avoid coreutils "make check" failure
64395         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
64396         just as in test-argmatch.c.
64398 2009-08-13  Eric Blake  <ebb9@byu.net>
64400         test-dup2: fix bad assumption
64401         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
64402         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
64404         test-version-etc: fix CRLF portability issue
64405         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
64406         recognize \r.
64407         * tests/test-argp-version-etc-1.sh: Likewise.
64409         getopt: update client modules
64410         * modules/argp (Depends-on): Use getopt-gnu.
64411         * modules/git-merge-changelog (Depends-on): Likewise.
64412         * modules/long-options (Depends-on): Likewise.
64413         * modules/xstrtol (Depends-on): Likewise.
64415 2009-08-13  Simon Josefsson  <simon@josefsson.org>
64417         * tests/test-version-etc.sh: Don't fail on different
64418         project/version.  Don't fail on CRLF differences.  Rewrite to use
64419         multiple -e instead of multiple sed forks, suggested by Eric Blake
64420         <ebb9@byu.net>.
64421         * tests/test-argp-version-etc-1.sh: Likewise.
64423 2009-08-13  Simon Josefsson  <simon@josefsson.org>
64425         * tests/test-version-etc.sh: Don't fail on different
64426         project/version.
64428 2009-08-12  Bruno Haible  <bruno@clisp.org>
64430         Tests for modules 'getopt-posix', 'getopt-gnu'.
64431         * modules/getopt-posix-tests: New file.
64432         * tests/test-getopt.c: New file.
64433         * tests/test-getopt.h: New file.
64434         * tests/test-getopt_long.h: New file.
64436         New modules 'getopt-posix', 'getopt-gnu'.
64437         * modules/getopt-gnu: New file, renamed from modules/getopt.
64438         * modules/getopt-posix: New file.
64439         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
64440         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
64441         (gl_GETOPT): Remove macro.
64442         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
64443         Disable the test against BSD systems that declare optreset. Test
64444         against mingw bug. Test against lack of support of optional arguments
64445         on many platforms.
64446         * doc/glibc-headers/getopt.texi: Update module name and list of
64447         relevant platforms.
64448         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
64449         'getopt-gnu' and more portability problems.
64450         * NEWS: Mention the changes.
64452 2009-08-12  Bruno Haible  <bruno@clisp.org>
64454         Ensure that optarg etc. get declared by <unistd.h>.
64455         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
64456         AC_USE_SYSTEM_EXTENSIONS.
64457         * modules/getopt (Depends-on): Add 'extensions'.
64459 2009-08-12  Bruno Haible  <bruno@clisp.org>
64461         Avoid test link errors.
64462         * modules/pipe-filter-ii-tests (Makefile.am): Define
64463         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
64464         * modules/pipe-filter-gi-tests (Makefile.am): Define
64465         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
64466         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
64468 2009-08-12  Bruno Haible  <bruno@clisp.org>
64470         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
64471         gl_GETOPT_SUBSTITUTE before.
64472         (gl_GETOPT): Use it.
64473         * m4/argp.m4 (gl_ARGP): Update.
64474         Reported by Sergey Poznyakoff.
64476         * m4/getopt.m4: Reorder macros.
64477         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
64478         (gl_GETOPT_SUBSTITUTE): Remove macro.
64480 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
64482         Minor improvement in gitlog-to-changelog
64484         * build-aux/gitlog-to-changelog: New option `--format' makes
64485         output format string configurable.
64487 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
64489         Optimize exclude: use hash tables for non-wildcard patterns.
64491         * lib/exclude.c: Include hash.h and mbuiter.h
64492         (struct exclude_pattern, exclude_segment): New data types.
64493         (struct exclude): Rewrite.
64494         (fnmatch_pattern_has_wildcards): New function.
64495         (new_exclude_segment, free_exclude_segment): New functions.
64496         (excluded_file_pattern_p, excluded_file_name_p): New functions.
64497         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
64498         * lib/exclude.h (is_fnmatch_pattern): New prototype.
64499         * modules/exclude: Depend on hash and mbuiter.
64501         * modules/exclude-tests: New file.
64502         * tests/test-exclude.c: New file.
64503         * tests/test-exclude1.sh: New file.
64504         * tests/test-exclude2.sh: New file.
64505         * tests/test-exclude3.sh: New file.
64506         * tests/test-exclude4.sh: New file.
64507         * tests/test-exclude5.sh: New file.
64508         * tests/test-exclude6.sh: New file.
64509         * tests/test-exclude7.sh: New file.
64511 2009-08-12  Bruno Haible  <bruno@clisp.org>
64513         Ensure that getopt() gets declared by <unistd.h>.
64514         * lib/unistd.in.h: Conditionally include getopt.h.
64515         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
64516         Set GNULIB_UNISTD_H_GETOPT.
64517         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
64518         GNULIB_UNISTD_H_GETOPT.
64519         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
64521 2009-08-12  Bruno Haible  <bruno@clisp.org>
64523         Clarify logic.
64524         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
64525         gl_replace_getopt instead of GETOPT_H.
64527 2009-08-12  Bruno Haible  <bruno@clisp.org>
64529         * m4/getopt.m4: Add comments.
64531 2009-08-12  Bruno Haible  <bruno@clisp.org>
64533         Disable multithread support by default on Cygwin 1.5.x.
64534         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
64535         set gl_use_threads=no if not specified otherwise.
64537 2009-08-11  Bruno Haible  <bruno@clisp.org>
64539         Avoid compilation error on NetBSD 5.0.
64540         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
64541         * tests/test-stdio.c: Likewise.
64542         * tests/test-stdlib.c: Likewise.
64543         * tests/test-string.c: Likewise.
64544         * tests/test-unistd.c: Likewise.
64545         Reported by Greg Troxel <gdt@ir.bbn.com>
64546         at <https://savannah.gnu.org/support/?106973>.
64548 2009-08-11  Bruno Haible  <bruno@clisp.org>
64550         * modules/dup2-tests (Depends-on): Remove close.
64552         Undo 2009-07-19 commit.
64553         * modules/acl-tests (Depends-on): Remove close.
64554         * modules/binary-io-tests (Depends-on): Likewise.
64555         * modules/closein-tests (Depends-on): Likewise.
64556         * modules/flock-tests (Depends-on): Likewise.
64557         * modules/fsync-tests (Depends-on): Likewise.
64558         * modules/lseek-tests (Depends-on): Likewise.
64559         * modules/pipe-tests (Depends-on): Likewise.
64560         * modules/posix_spawn-tests (Depends-on): Likewise.
64561         * modules/posix_spawnp-tests (Depends-on): Likewise.
64562         * modules/stat-time-tests (Depends-on): Likewise.
64563         * modules/yesno-tests (Depends-on): Likewise.
64565 2009-08-10  Bruno Haible  <bruno@clisp.org>
64567         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
64569 2009-08-10  Bruno Haible  <bruno@clisp.org>
64571         Fix a gcc warning.
64572         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
64574 2009-08-10  Bruno Haible  <bruno@clisp.org>
64576         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
64577         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
64578         not only the first time.
64579         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
64580         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
64581         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
64582         is 1, not only the first time.
64584 2009-08-10  Bruno Haible  <bruno@clisp.org>
64586         Make it possible to use module 'gethostname' without module 'close'.
64587         * lib/unistd.in.h (close): Evoke a link error only if
64588         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
64589         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
64590         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
64591         * modules/unistd (Makefile.am): Substitute
64592         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
64593         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
64594         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
64595         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
64596         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
64597         * modules/sys_ioctl (Makefile.am): Substitute
64598         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
64599         * modules/socket (configure.ac): On native Windows, set
64600         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
64601         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
64602         Reported by Sam Steingold <sds@gnu.org>.
64604 2009-08-10  Bruno Haible  <bruno@clisp.org>
64606         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
64607         * modules/ioctl (configure.ac): Likewise.
64609 2009-08-10  Bruno Haible  <bruno@clisp.org>
64611         Avoid collision between gnulib wrapper and libintl wrapper.
64612         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
64613         already defined in intl/printf.c.
64614         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
64615         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
64617 2009-08-09  Bruno Haible  <bruno@clisp.org>
64619         Make <sys/select.h> really self-contained, also on Solaris 10.
64620         * lib/sys_select.in.h: Include <string.h>.
64621         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
64622         Solaris 10 problem.
64623         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
64624         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
64625         Reported by Jim Meyering.
64627 2009-08-09  Bruno Haible  <bruno@clisp.org>
64629         Avoid warnings from 'aclocal' that are due to a use of macro name
64630         AM_XGETTEXT_OPTION that is not defined in automake.
64631         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
64632         automake.
64633         * modules/error (configure.ac): Likewise.
64634         * modules/propername (configure.ac): Likewise.
64635         * modules/vasprintf (configure.ac): Likewise.
64636         * modules/verror (configure.ac): Likewise.
64637         * modules/xprintf (configure.ac): Likewise.
64638         * modules/xvasprintf (configure.ac): Likewise.
64640 2009-08-08  Bruno Haible  <bruno@clisp.org>
64642         Avoid compilation error in C++ mode.
64643         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
64644         Reported by Sam Steingold <sds@gnu.org>.
64646 2009-08-08  Bruno Haible  <bruno@clisp.org>
64648         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
64649         for the various Unix platforms.
64650         * doc/posix-headers/limits.texi: Update platforms list regarding
64651         HOST_NAME_MAX.
64652         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
64654 2009-08-07  Jim Meyering  <meyering@redhat.com>
64656         selinux-at: fix typo in a comment
64657         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
64658         Spotted by Paolo Bonzini.
64660         selinux-at: remove redundant m4 code, add documentation
64661         * modules/selinux-at (configure.ac): Remove redundant code.
64662         LIB_SELINUX is already set via the dependent module, selinux-h.
64663         (Include): Add quotes around selinux-at.h.
64664         * lib/selinux-at.h: Add documentation.
64665         Reported by Bruno Haible in
64666         http://marc.info/?l=gnulib-bug&m=124958988300749
64668 2009-08-07  Bruno Haible  <bruno@clisp.org>
64670         Avoid link error on MacOS X 10.3 and 10.4.
64671         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
64672         on non-ELF systems.
64673         * lib/argp-pv.c (argp_program_version): Likewise.
64674         Reported by Simon Josefsson.
64676 2009-08-07  Simon Josefsson  <simon@josefsson.org>
64678         * tests/test-version-etc.sh: Use $EXEEXT.
64680 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
64682         update-copyright: update documentation to point to maint.mk
64683         * build-aux/update-copyright: Here.
64685 2009-08-06  Jim Meyering  <meyering@redhat.com>
64687         maint.mk: support update-copyright-local
64688         * top/maint.mk (update-copyright-local): Define place-holder.
64689         (update-copyright): Depend on $(update-copyright-local).
64691 2009-08-06  Jim Meyering  <meyering@redhat.com>
64693         selinux-at: new module
64694         Initially written for coreutils, this module will soon be
64695         used by findutils, too.
64696         * MODULES.html.sh [Misc]: Add selinux-at.
64697         * lib/selinux-at.h: New file, from coreutils.
64698         * lib/selinux-at.c: Likewise.
64699         * modules/selinux-at: Likewise.
64700         (License): Change from LGPL to GPL, since it depends
64701         on the GPL'd openat module.
64703         doc: update README
64704         * README: Remove references to cogito.
64705         Remove cvs-repo-updating instructions from 2007.
64706         Don't imply that CVS is better if you have limited disk space.
64708 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
64710         update-copyright: support C-style comments
64711         * build-aux/update-copyright: Implement and document.
64712         * tests/test-update-copyright.sh: Test.
64714 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
64716         update-copyright: support omitted "(C)"
64717         * build-aux/update-copyright: Implement and document.  Also,
64718         allow variable whitespace before "(C)".
64719         * tests/test-update-copyright.sh: Test.
64721 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
64723         update-copyright: don't trip on non-FSF copyright statements
64724         * build-aux/update-copyright: Fix so that the first correctly
64725         formatted FSF copyright statement is recognized no matter what
64726         appears before it.  Update documentation.
64727         * tests/test-update-copyright.sh: Test that.
64729 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
64731         update-copyright: clean up code a little
64732         * build-aux/update-copyright: Append "_re" to the name of any
64733         variable holding a regular expression.
64734         Replace "old" and "new" with "stmt" in variable names.
64735         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
64736         handled correctly.
64737         Format code more consistently.
64739 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
64741         update-copyright-tests: improve portability
64742         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
64743         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
64745 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
64747         update-copyright: support @copyright{} and &copy;
64748         * build-aux/update-copyright: Implement and document.
64749         * tests/test-update-copyright.sh: Test.
64751 2009-08-04  Jim Meyering  <meyering@redhat.com>
64753         update-copyright-tests: correctly test EOL=\r\n handling
64754         * tests/test-update-copyright.sh: Put \r at the end of some lines
64755         for the dos-eol tests.  Based on a patch by Joel E. Denny.
64757         maint.mk: make update-copyright exclusion list more configurable
64758         * top/maint.mk (update-copyright): Default to excluding COPYING,
64759         but allow an override, in case someone does want to update that file.
64761         maint.mk: don't update copyright date in COPYING
64762         * top/maint.mk (update-copyright): Exclude COPYING.
64764         maint.mk: add a copyright-updating rule
64765         * top/maint.mk (update-copyright): New rule.
64766         Derived from coreutils/Makefile.am.
64768         update-copyright: rename some variables
64769         * build-aux/update-copyright: Rename a few variables for clarity.
64770         Tweak syntax.  List Joel E. Denny as coauthor.
64772 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
64774         update-copyright: fix bug for 2-digit last year and add tests
64775         * build-aux/update-copyright: Fix bug.
64776         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
64777         specified.
64778         * modules/update-copyright-tests: New
64779         * tests/test-update-copyright.sh: New.
64781 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
64783         update-copyright: handle leading tabs in line prefix
64784         * build-aux/update-copyright: Count leading tabs as 8 spaces
64785         when computing margin.  This helps with the formatting of
64786         ChangeLogs, for example.
64787         Fix documentation a little.
64789 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
64791         update-copyright: support EOL=\r\n
64792         * build-aux/update-copyright: Implement that.
64794 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
64796         update-copyright: automatically format copyright statements
64797         * build-aux/update-copyright: Implement that.
64798         Also, be a little more predictable and safer by always failing
64799         when the full copyright format is not perfectly recognized as an
64800         unbroken whole.  Discussed at
64801         <http://lists.gnu.org/r/bug-gnulib/2009-07/msg00131.html>.
64802         Rewrite documentation.
64804 2009-08-03  Bruno Haible  <bruno@clisp.org>
64806         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
64808 2009-08-02  Bruno Haible  <bruno@clisp.org>
64810         Tests for module 'uname'.
64811         * modules/uname-tests: New file.
64812         * tests/test-uname.c: New file.
64814         New module 'uname'.
64815         * lib/uname.c: New file.
64816         * m4/uname.m4: New file.
64817         * modules/uname: New file.
64818         * doc/posix-functions/uname.texi: Mention the new module.
64820 2009-08-02  Bruno Haible  <bruno@clisp.org>
64822         Tests for module 'sys_utsname'.
64823         * modules/sys_utsname-tests: New file.
64824         * tests/test-sys_utsname.c: New file.
64826         New module 'sys_utsname'.
64827         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
64828         * m4/sys_utsname_h.m4: New file.
64829         * modules/sys_utsname: New file.
64830         * doc/posix-headers/sys_utsname.texi: Mention the new module.
64832 2009-08-02  Bruno Haible  <bruno@clisp.org>
64834         Implicitly initialize the sockets library.
64835         * lib/gethostname.c: Include sockets.h.
64836         (rpl_gethostname): Invoke gl_sockets_startup.
64837         * lib/socket.c: Include sockets.h.
64838         (rpl_socket): Invoke gl_sockets_startup.
64839         * modules/gethostname (Depends-on): Add sockets.
64840         * modules/socket (Depends-on): Likewise.
64841         * tests/test-poll.c: Don't include sockets.h.
64842         (main): Don't invoke gl_sockets_startup.
64843         * tests/test-select.c: Don't include sockets.h.
64844         (main): Don't invoke gl_sockets_startup.
64846 2009-08-02  Bruno Haible  <bruno@clisp.org>
64848         Allow multiple calls to gl_sockets_startup.
64849         * lib/sockets.c (initialized_sockets_version): New variable.
64850         (gl_sockets_startup): Do nothing if already called for this or a higher
64851         version.
64852         (gl_sockets_cleanup): Reset initialized_sockets_version.
64854 2009-08-03  Simon Josefsson  <simon@josefsson.org>
64856         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
64857         different project/version.
64859 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
64860             Bruno Haible  <bruno@clisp.org>
64862         Tests for module 'pipe-filter-gi'.
64863         * modules/pipe-filter-gi-tests: New file.
64864         * tests/test-pipe-filter-gi1.sh: New file.
64865         * tests/test-pipe-filter-gi1.c: New file.
64866         * tests/test-pipe-filter-gi2.sh: New file.
64867         * tests/test-pipe-filter-gi2-main.c: New file.
64868         * tests/test-pipe-filter-gi2-child.c: New file.
64870         New module 'pipe-filter-gi'.
64871         * lib/pipe-filter-gi.c: New file.
64872         * modules/pipe-filter-gi: New file.
64874 2009-08-02  Bruno Haible  <bruno@clisp.org>
64875             Paolo Bonzini  <bonzini@gnu.org>
64877         Tests for module 'pipe-filter-ii'.
64878         * modules/pipe-filter-ii-tests: New file.
64879         * tests/test-pipe-filter-ii1.sh: New file.
64880         * tests/test-pipe-filter-ii1.c: New file.
64881         * tests/test-pipe-filter-ii2.sh: New file.
64882         * tests/test-pipe-filter-ii2-main.c: New file.
64883         * tests/test-pipe-filter-ii2-child.c: New file.
64885         New module 'pipe-filter-ii'.
64886         * lib/pipe-filter.h: New file.
64887         * lib/pipe-filter-ii.c: New file.
64888         * lib/pipe-filter-aux.h: New file.
64889         * modules/pipe-filter-ii: New file.
64891 2009-08-02  Simon Josefsson  <simon@josefsson.org>
64893         * lib/gc-libgcrypt.c: Change copyright to FSF.
64894         * lib/gc-gnulib.c: Likewise.
64896 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
64898         * lib/gethostname.c: Include limits.h.
64900 2009-08-02  Simon Josefsson  <simon@josefsson.org>
64901             Bruno Haible  <bruno@clisp.org>
64903         Ensure HOST_NAME_MAX as part of the gethostname module.
64904         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
64905         define also HOST_NAME_MAX.
64906         * tests/test-gethostname.c: Include <limits.h>.
64907         (main): Check also HOST_NAME_MAX.
64908         * doc/posix-headers/limits.texi: Document the mingw problem.
64910 2009-08-02  Bruno Haible  <bruno@clisp.org>
64912         * lib/gethostname.c (gethostname): Fix handling of large len argument.
64913         Add comments.
64915 2009-03-31  Simon Josefsson  <simon@josefsson.org>
64917         * lib/gethostname.c: Add Windows wrapper.
64918         * m4/gethostname.m4: Look for gethostname in -lws2_32.
64919         * modules/gethostname: Depend on sys_socket & errno, for also
64920         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
64921         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
64923 2009-07-31  Jim Meyering  <meyering@redhat.com>
64925         getloadavg: fix symbol name in comment
64926         * lib/getloadavg.c: Correct a typo I introduced when adding
64927         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
64928         Matt Kraai spotted the problem.
64930 2009-07-29  Matt Kraai  <mkraai@beckman.com>
64932         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
64933         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
64934         code also if ! defined N_NAME_POINTER.
64935         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
64936         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
64937         but the n_name member is a 12-byte array.
64939 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
64941         update-copyright: generalize comment handling
64942         * build-aux/update-copyright: Handle copyright statements
64943         within more comment styles.
64944         Document usage.
64945         Report any file with an external copyright holder or parse failure.
64947 2009-07-29  Jim Meyering  <meyering@redhat.com>
64949         mktime: correct setting of REPLACE_MKTIME
64950         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
64952         update-copyright: new module
64953         * modules/update-copyright: New file.
64954         * build-aux/update-copyright: New file.
64955         * MODULES.html.sh (maint+release support): Add update-copyright.
64957 2009-07-27  Bruno Haible  <bruno@clisp.org>
64959         Fix compilation error when <ctime> is used and mktime is replaced.
64960         * lib/time.in.h (mktime): New declaration.
64961         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
64962         REPLACE_MKTIME instead of defining mktime in config.h.
64963         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
64964         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
64965         Reported by Ross McFarland <rwmcfa1@neces.com>.
64967 2009-07-27  Bruno Haible  <bruno@clisp.org>
64969         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
64970         Reported by Matt Kraai <mkraai@beckman.com>.
64972 2009-07-25  Jim Meyering  <meyering@redhat.com>
64974         maint.mk: avoid warnings about missing files
64975         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
64976         diagnostic when .prev-version does not exist.
64977         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
64978         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
64979         nonexistent cfg.mk.
64980         Suggestions from Simon Josefsson.
64982 2009-07-25  Bruno Haible  <bruno@clisp.org>
64984         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
64985         defined as macros. Needed on QNX 6.4.1.
64986         Reported by Matt Kraai <mkraai@beckman.com>.
64988 2009-07-23  Jim Meyering  <meyering@redhat.com>
64990         maint.mk: invoke "make dist" with a working value of XZ_OPT
64991         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
64993 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
64995         Make fseeko.c compile on QNX.
64996         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
64998 2009-07-22  Peter Simons  <simons@cryp.to>
65000         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
65001         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
65002         * lib/md4.h: Likewise.
65003         * lib/md5.h: Likewise.
65004         * lib/sha1.h: Likewise.
65005         * lib/sha256.h: Likewise.
65006         * lib/sha512.h: Likewise.
65008         tests-sha1: don't assign literal string to 'char *' variable
65009         * tests/test-sha1.c (main): Declare locals with "const" to match
65010         attributes of the right hand side.
65012 2009-07-21  Eric Blake  <ebb9@byu.net>
65014         dup2: fix more mingw problems
65015         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
65016         fd to itself.
65017         * doc/posix-functions/dup2.texi (dup2): Document the bug.
65018         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
65019         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
65020         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
65021         care of mingw bugs.
65023 2009-07-21  Jim Meyering  <meyering@redhat.com>
65025         vc-list-files: avoid failure when /bin/sh is dash
65026         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
65027         On some Debian based systems, /bin/sh is a symlink to dash, and running
65028         this command would omit the "/" following each 'tests' prefix:
65029           dash -x build-aux/vc-list-files -C . tests
65030         That is because bash and dash work differently:
65031           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
65032           bash ok
65033           dash odd
65035 2009-07-21  Eric Blake  <ebb9@byu.net>
65037         dup2-tests: test previous patch
65038         * modules/dup2-tests: New file.
65039         * tests/test-dup2.c: Likewise.
65040         * tests/test-open.c (main): Avoid unspecified behavior.
65041         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
65042         test.
65044         dup2: work around mingw and cygwin 1.5 bug
65045         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
65046         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
65047         * modules/unistd (Makefile.am): Substitute it.
65048         * lib/unistd.in.h (dup2): Declare the replacement.
65049         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
65050         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
65051         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
65052         * modules/execute (Depends-on): Add dup2.
65053         * modules/fseterr (Depends-on): Likewise.
65054         * modules/pipe (Depends-on): Likewise.
65055         * modules/posix_spawn-internal (Depends-on): Likewise.
65057 2009-07-21  Bruno Haible  <bruno@clisp.org>
65059         * modules/.gitattributes: New file.
65061 2009-07-20  Bruno Haible  <bruno@clisp.org>
65063         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
65064         (main): Use it.
65066 2009-07-20  Eric Blake  <ebb9@byu.net>
65068         test-pipe: make a bit more robust.
65069         * tests/test-pipe.c (myerr): Allow error messages regardless of
65070         what we do to stderr.
65071         (test_pipe): Rearrange to avoid deadlock.
65072         (child_main): Try a larger read, to ensure we avoided deadlock.
65073         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
65074         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
65075         if misused.
65077 2009-07-19  Jim Meyering  <meyering@redhat.com>
65079         fts: avoid false-positive cycle-detection
65080         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
65081         for each new command line argument.
65083 2009-07-19  Bruno Haible  <bruno@clisp.org>
65085         Fix build error on mingw with the modules sys_select and unistd.
65086         * modules/acl-tests (Depends-on): Add close.
65087         * modules/binary-io-tests (Depends-on): Likewise.
65088         * modules/closein-tests (Depends-on): Likewise.
65089         * modules/flock-tests (Depends-on): Likewise.
65090         * modules/fsync-tests (Depends-on): Likewise.
65091         * modules/lseek-tests (Depends-on): Likewise.
65092         * modules/pipe-tests (Depends-on): Likewise.
65093         * modules/posix_spawn-tests (Depends-on): Likewise.
65094         * modules/posix_spawnp-tests (Depends-on): Likewise.
65095         * modules/stat-time-tests (Depends-on): Likewise.
65096         * modules/yesno-tests (Depends-on): Likewise.
65098 2009-07-19  Bruno Haible  <bruno@clisp.org>
65100         Unify conditionals.
65101         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
65102         macros, not at the compiler macros.
65103         * lib/pipe.c: Likewise.
65104         * lib/execute.c: Likewise.
65105         * lib/spawni.c: Likewise.
65107 2009-07-19  Bruno Haible  <bruno@clisp.org>
65109         Fix handling of closed stdin/stdout/stderr on mingw.
65110         * lib/w32spawn.h: Include unistd.h.
65111         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
65112         file descriptor with O_NOINHERIT flag.
65113         (fd_safer_noinherit): New function, based on fd-safer.c.
65114         (dup_safer_noinherit): New function, based on dup-safer.c.
65115         (undup_safer_noinherit): New function.
65116         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
65117         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
65118         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
65119         instead of fd_safer.
65120         * tests/test-pipe.c: Include <windows.h>.
65121         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close()
65122         result.
65124         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
65125         from main.
65126         (test_pipe): Pass an extra argument for disambiguation.
65127         (main): Invoke parent_main or child_main.
65129         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
65130         consistently.
65132 2009-07-18  Eric Blake  <ebb9@byu.net>
65134         test-pipe: fix mingw build
65135         * tests/test-pipe.c (main): Avoid fcntl on mingw.
65137 2009-07-18  Bruno Haible  <bruno@clisp.org>
65139         * modules/pipe-tests (Makefile.am): Fix typo.
65141 2009-07-18  Eric Blake  <ebb9@byu.net>
65143         error: fix mingw build
65144         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
65145         Reported by Bruno Haible.
65147         error: avoid undefined use of stdout
65148         * lib/error.c (error, error_at_line): Check that fd 1 is open
65149         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
65150         is handling faults and the close_stdout module wants to report the
65151         detection of closed stdout as an error.
65153 2009-07-17  Eric Blake  <ebb9@byu.net>
65155         pipe: be robust in face of closed fds
65156         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
65157         should cause child to misbehave.
65158         * modules/pipe-tests: New module.
65159         * tests/test-pipe.c: New file.
65160         * tests/test-pipe.sh: New file.
65161         Reported by Akim Demaille.
65163 2009-07-14  Bruno Haible  <bruno@clisp.org>
65165         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
65166         Reported by anonymous kc.
65168 2009-07-07  Jim Meyering  <meyering@redhat.com>
65170         maint.mk: don't look for translatable strings in *.m4 or *.mk
65171         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
65172         when searching for translatable strings.
65174 2009-07-05  Jim Meyering  <meyering@redhat.com>
65176         remove superfluous parentheses in STREQ definition
65177         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
65178         * lib/getugroups.c (STREQ): Likewise.
65179         * lib/fnmatch.c (STREQ): Likewise.
65180         Spotted by Bruno Haible.
65182 2009-07-04  Jim Meyering  <meyering@redhat.com>
65184         argv-iter: new module
65185         * MODULES.html.sh: Add argv-iter.
65186         * lib/argv-iter.c, lib/argv-iter.h: New files.
65187         * modules/argv-iter: New file.
65188         * modules/argv-iter-tests: New file.
65189         * tests/test-argv-iter.c: Test it.
65191 2009-07-04  Bruno Haible  <bruno@clisp.org>
65193         Fix assertion.
65194         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
65195         contains more exact copies of a given entry than file2, leave the extra
65196         copies unpaired rather than aborting.
65197         Reported by Eric Blake.
65199 2009-07-02  Bruno Haible  <bruno@clisp.org>
65201         Speedup git-merge-changelog for git cherry-pick.
65202         * lib/git-merge-changelog.c (struct entries_mapping): New type.
65203         (entries_mapping_get): New function, extracted from compute_mapping.
65204         (entries_mapping_reverse_get): New function.
65205         (compute_mapping): Add a 'full' argument. Return the result in a
65206         'struct entries_mapping'.
65207         (main): Update. Access the mappings through entries_mapping_get.
65208         Reported by Eric Blake.
65210 2009-07-02  Bruno Haible  <bruno@clisp.org>
65212         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
65213         best_i.
65215 2009-07-02  Bruno Haible  <bruno@clisp.org>
65217         Speed up approximate search for matching ChangeLog entries.
65218         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
65219         argument. Call fstrcmp_bounded instead of fstrcmp.
65220         (compute_mapping, try_split_merged_entry, main): Update callers.
65222 2009-07-02  Bruno Haible  <bruno@clisp.org>
65224         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
65226 2009-06-30  Bruno Haible  <bruno@clisp.org>
65228         Reduce the number of uc_is_cased calls.
65229         * lib/unicase.h (casing_suffix_context_t): Add
65230         'first_char_except_ignorable' field.
65231         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
65232         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
65233         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
65234         Update initializer.
65235         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
65236         case-ignorable characters.
65237         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
65238         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
65239         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
65240         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
65241         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
65243 2009-06-30  Bruno Haible  <bruno@clisp.org>
65245         Tests for module 'unicase/ignorable'.
65246         * modules/unicase/ignorable-tests: New file.
65247         * tests/unicase/test-ignorable.c: New file, generated by
65248         gen-uni-tables.
65250         Tests for module 'unicase/cased'.
65251         * modules/unicase/cased-tests: New file.
65252         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
65253         * tests/unicase/test-predicate-part1.h: New file, derived from
65254         tests/unictype/test-predicate-part1.h.
65255         * tests/unicase/test-predicate-part2.h: New file, same as
65256         tests/unictype/test-predicate-part2.h.
65258         Fix evaluation of "Before C" condition of FINAL_SIGMA.
65259         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
65260         (output_casing_properties): New function.
65261         (main): Call it.
65262         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
65263         * lib/unicase/cased.c: Include unictype/bitmap.h.
65264         (uc_is_cased): Define through a bitmap lookup.
65265         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
65266         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
65267         (uc_is_case_ignorable): Define through a bitmap lookup.
65268         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
65269         lib/unictype/bitmap.h.
65270         (Depends-on): Add inline. Clean up.
65271         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
65272         lib/unictype/bitmap.h.
65273         (Depends-on): Add inline. Clean up.
65274         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
65275         recognition.
65276         * tests/unicase/test-u16-tolower.c (main): Likewise.
65277         * tests/unicase/test-u32-tolower.c (main): Likewise.
65279 2009-06-30  Bruno Haible  <bruno@clisp.org>
65281         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
65282         * lib/unicase/u16-casemap.c: Likewise.
65283         * lib/unicase/u32-casemap.c: Likewise.
65285 2009-06-29  Bruno Haible  <bruno@clisp.org>
65287         Define u32_casefold as a wrapper around u32_ct_casefold.
65288         * lib/unicase/u32-casefold.c: Update.
65289         * modules/unicase/u32-casefold (Depends-on): Add
65290         unicase/u32-ct-casefold, unicase/empty-prefix-context,
65291         unicase/empty-suffix-context. Clean up.
65293         Define u16_casefold as a wrapper around u16_ct_casefold.
65294         * lib/unicase/u16-casefold.c: Update.
65295         * modules/unicase/u16-casefold (Depends-on): Add
65296         unicase/u16-ct-casefold, unicase/empty-prefix-context,
65297         unicase/empty-suffix-context. Clean up.
65299         Define u8_casefold as a wrapper around u8_ct_casefold.
65300         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
65301         * lib/unicase/u8-casefold.c: Update.
65302         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
65303         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
65305         Define u32_totitle as a wrapper around u32_ct_totitle.
65306         * lib/unicase/u32-totitle.c: Update.
65307         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
65308         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
65310         Define u16_totitle as a wrapper around u16_ct_totitle.
65311         * lib/unicase/u16-totitle.c: Update.
65312         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
65313         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
65315         Define u8_totitle as a wrapper around u8_ct_totitle.
65316         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
65317         functions.
65318         (FUNC): Delegate to U_CT_TOTITLE.
65319         * lib/unicase/u8-totitle.c: Update.
65320         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
65321         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
65323         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
65324         invocation.
65325         * modules/unicase/u32-tolower (Depends-on): Add
65326         unicase/empty-prefix-context, unicase/empty-suffix-context.
65328         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
65329         invocation.
65330         * modules/unicase/u16-tolower (Depends-on): Add
65331         unicase/empty-prefix-context, unicase/empty-suffix-context.
65333         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
65334         * modules/unicase/u8-tolower (Depends-on): Add
65335         unicase/empty-prefix-context, unicase/empty-suffix-context.
65337         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
65338         invocation.
65339         * modules/unicase/u32-toupper (Depends-on): Add
65340         unicase/empty-prefix-context, unicase/empty-suffix-context.
65342         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
65343         invocation.
65344         * modules/unicase/u16-toupper (Depends-on): Add
65345         unicase/empty-prefix-context, unicase/empty-suffix-context.
65347         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
65348         * modules/unicase/u8-toupper (Depends-on): Add
65349         unicase/empty-prefix-context, unicase/empty-suffix-context.
65351         New module 'unicase/u32-ct-casefold'.
65352         * lib/unicase/u32-ct-casefold.c: New file.
65353         * modules/unicase/u32-ct-casefold: New file.
65355         New module 'unicase/u16-ct-casefold'.
65356         * lib/unicase/u16-ct-casefold.c: New file.
65357         * modules/unicase/u16-ct-casefold: New file.
65359         New module 'unicase/u8-ct-casefold'.
65360         * lib/unicase/u8-ct-casefold.c: New file.
65361         * lib/unicase/u-ct-casefold.h: New file, derived from
65362         lib/unicase/u-casefold.h.
65363         * modules/unicase/u8-ct-casefold: New file.
65365         New module 'unicase/u32-ct-totitle'.
65366         * lib/unicase/u32-ct-totitle.c: New file.
65367         * modules/unicase/u32-ct-totitle: New file.
65369         New module 'unicase/u16-ct-totitle'.
65370         * lib/unicase/u16-ct-totitle.c: New file.
65371         * modules/unicase/u16-ct-totitle: New file.
65373         New module 'unicase/u8-ct-totitle'.
65374         * lib/unicase/u8-ct-totitle.c: New file.
65375         * lib/unicase/u-ct-totitle.h: New file, derived from
65376         lib/unicase/u-totitle.h.
65377         * modules/unicase/u8-ct-totitle: New file.
65379         New module 'unicase/u32-ct-tolower'.
65380         * lib/unicase/u32-ct-tolower.c: New file.
65381         * modules/unicase/u32-ct-tolower: New file.
65383         New module 'unicase/u16-ct-tolower'.
65384         * lib/unicase/u16-ct-tolower.c: New file.
65385         * modules/unicase/u16-ct-tolower: New file.
65387         New module 'unicase/u8-ct-tolower'.
65388         * lib/unicase/u8-ct-tolower.c: New file.
65389         * modules/unicase/u8-ct-tolower: New file.
65391         New module 'unicase/u32-ct-toupper'.
65392         * lib/unicase/u32-ct-toupper.c: New file.
65393         * modules/unicase/u32-ct-toupper: New file.
65395         New module 'unicase/u16-ct-toupper'.
65396         * lib/unicase/u16-ct-toupper.c: New file.
65397         * modules/unicase/u16-ct-toupper: New file.
65399         New module 'unicase/u8-ct-toupper'.
65400         * lib/unicase/u8-ct-toupper.c: New file.
65401         * modules/unicase/u8-ct-toupper: New file.
65403         Add context arguments to u*_casemap functions.
65404         * lib/unicase/unicasemap.h: Include unicase.h.
65405         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
65406         suffix_context arguments.
65407         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
65408         functions.
65409         (FUNC): Add prefix_context and suffix_context arguments. Use
65410         uc_is_cased and uc_is_case_ignorable.
65411         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
65412         * lib/unicase/u16-casemap.c: Likewise.
65413         * lib/unicase/u32-casemap.c: Likewise.
65414         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
65415         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
65416         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
65417         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
65418         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
65419         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
65421         New module 'unicase/u32-suffix-context'.
65422         * lib/unicase/u32-suffix-context.c: New file.
65423         * modules/unicase/u32-suffix-context: New file.
65425         New module 'unicase/u16-suffix-context'.
65426         * lib/unicase/u16-suffix-context.c: New file.
65427         * modules/unicase/u16-suffix-context: New file.
65429         New module 'unicase/u8-suffix-context'.
65430         * lib/unicase/u8-suffix-context.c: New file.
65431         * lib/unicase/u-suffix-context.h: New file.
65432         * modules/unicase/u8-suffix-context: New file.
65434         New module 'unicase/empty-suffix-context'.
65435         * lib/unicase/empty-suffix-context.c: New file.
65436         * modules/unicase/empty-suffix-context: New file.
65438         New module 'unicase/u32-prefix-context'.
65439         * lib/unicase/u32-prefix-context.c: New file.
65440         * modules/unicase/u32-prefix-context: New file.
65442         New module 'unicase/u16-prefix-context'.
65443         * lib/unicase/u16-prefix-context.c: New file.
65444         * modules/unicase/u16-prefix-context: New file.
65446         New module 'unicase/u8-prefix-context'.
65447         * lib/unicase/u8-prefix-context.c: New file.
65448         * lib/unicase/u-prefix-context.h: New file.
65449         * lib/unicase/context.h: New file.
65450         * modules/unicase/u8-prefix-context: New file.
65452         New module 'unicase/empty-prefix-context'.
65453         * lib/unicase/empty-prefix-context.c: New file.
65454         * modules/unicase/empty-prefix-context: New file.
65456         New module 'unicase/ignorable'.
65457         * lib/unicase/ignorable.c: New file.
65458         * modules/unicase/ignorable: New file.
65460         New module 'unicase/cased'.
65461         * lib/unicase/caseprop.h: New file.
65462         * lib/unicase/cased.c: New file.
65463         * modules/unicase/cased: New file.
65465         New functions for case mapping of substrings.
65466         * lib/unicase.h (casing_prefix_context_t): New type.
65467         (unicase_empty_prefix_context): New variable.
65468         (u8_casing_prefix_context, u16_casing_prefix_context,
65469         u32_casing_prefix_context, u8_casing_prefixes_context,
65470         u16_casing_prefixes_context, u32_casing_prefixes_context): New
65471         declarations.
65472         (casing_suffix_context_t): New type.
65473         (unicase_empty_suffix_context): New variable.
65474         (u8_casing_suffix_context, u16_casing_suffix_context,
65475         u32_casing_suffix_context, u8_casing_suffixes_context,
65476         u16_casing_suffixes_context, u32_casing_suffixes_context,
65477         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
65478         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
65479         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
65480         declarations.
65482 2009-06-28  Jim Meyering  <meyering@redhat.com>
65484         boostrap: indent only with spaces
65485         * build-aux/bootstrap: Indent only with spaces, never TABs.
65487         bootstrap: split long lines
65488         * build-aux/bootstrap: Keep line length < 80.
65490         bootstrap: sync from coreutils
65491         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
65492         just as autoreconf does.  Verify a list of prerequisite
65493         package-name,version-number pairs if defined in bootstrap.conf.
65494         Refer to README-prereq, if prerequisites are not satisfied.
65496 2009-06-27  Eric Blake  <ebb9@byu.net>
65498         tests: add test for bogus NULL definition
65499         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
65500         * tests/test-stdlib.c: Likewise.
65501         * tests/test-string.c: Likewise.
65502         * tests/test-locale.c: Likewise.
65503         * tests/test-unistd.c: Likewise.
65504         * modules/stdio-tests (Depends-on): Add verify.
65505         * modules/stdlib-tests (Depends-on): Likewise.
65506         * modules/string-tests (Depends-on): Likewise.
65507         * modules/locale-tests (Depends-on): Likewise.
65508         * modules/unistd-tests (Depends-on): Likewise.
65510 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
65512         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
65513         self-explaining comment.
65514         * m4/selinux-selinux-h: Update serial.
65515         (gl_LIBSELINUX): New macro, adding a warning for missing development
65516         packages to code extracted from...
65517         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
65518         Add warning for missing development packages here, too.
65520 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
65522         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
65524 2009-06-25  Eric Blake  <ebb9@byu.net>
65526         version-etc: fix regression
65527         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
65528         gcc.
65529         (version_etc): Use it, to catch bugs with trailing NULL.
65530         * lib/version-etc.c (version_etc_arn): Delete unused argument.
65531         (version_etc_va): Fix logic bug.
65532         * modules/version-etc-tests: Add test.
65533         * tests/test-version-etc.c: New file.
65534         * tests/test-version-etc.sh: Likewise.
65536 2009-06-25  Sam Steingold  <sds@gnu.org>
65538         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
65539         mbtowc declaration.
65541 2009-06-25  Eric Blake  <ebb9@byu.net>
65543         fpurge: migrate into <stdio.h>
65544         * lib/fpurge.h: Delete...
65545         * lib/stdio.in.h (fpurge): ...and declare here, instead.
65546         * lib/fpurge.c (fpurge): Change declaring header.
65547         * modules/fpurge (Files): Drop deleted file.
65548         (Depends-on): Add stdio.
65549         (configure.ac): Set witness.
65550         * modules/stdio (Makefile.am): Support fpurge macros.
65551         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
65552         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
65553         * lib/fflush.c: Update client.
65554         * tests/test-fpurge.c: Likewise.
65555         * NEWS: Mention the change.
65557 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
65559         * lib/argp-version-etc.c (program_authors): Add const
65560         qualifier.
65561         * lib/version-etc.c: Fix typos in the comments.
65562         * modules/argp-version-etc: Depends on version-etc.
65564 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
65566         argp-version-etc: new module.
65568         * lib/argp-version-etc.c: New file.
65569         * lib/argp-version-etc.h: New file.
65570         * modules/argp-version-etc: New file.
65571         * modules/argp-version-etc-tests: New file.
65572         * tests/test-argp-version-etc.c: New test.
65573         * tests/test-argp-version-etc-1.sh: New test.
65575 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
65577         Provide additional interfaces and documentation for version-etc
65578         module.
65580         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
65581         interfaces.
65582         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
65583         prototypes.
65585 2009-06-24  Bruno Haible  <bruno@clisp.org>
65587         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
65588         HAVE_LIB${NAME} macro.
65589         Reported by Sam Steingold <sds@gnu.org>.
65591 2009-06-23  Simon Josefsson  <simon@josefsson.org>
65593         * modules/hash-tests (test_hash_LDADD): Link to libintl when
65594         needed.
65596 2009-06-21  Bruno Haible  <bruno@clisp.org>
65598         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
65599         work.
65600         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
65601         together with LIB${NAME}, LTLIB${NAME}.
65602         Reported by Sam Steingold <sds@gnu.org>.
65604 2009-06-20  Jim Meyering  <meyering@redhat.com>
65606         tests: make sc_require_test_exit_idiom more generic
65607         * top/maint.mk (Exit_witness_file): New overridable variable.
65608         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
65609         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
65611 2009-06-19  Jim Meyering  <meyering@redhat.com>
65613         hash: reverse order of src/dst parameters in an internal interface
65614         * lib/hash.c (transfer_entries): Reverse order of parameters to
65615         put DST before SRC.  Adjust callers.
65617         tests: test-hash: avoid wholesale duplication
65618         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
65619         Instead, use a loop and add a single conditional.
65621         tests: test-hash: allow seed selection via a command line argument
65622         * tests/test-hash.c (get_seed): New function.
65623         (main): Use it.
65625 2009-06-19  Eric Blake  <ebb9@byu.net>
65627         hash: avoid memory leak on allocation failure
65628         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
65629         failure.  Factor repeated algorithm...
65630         (transfer_entries): ...into new helper routine.
65631         (hash_delete): React to hash_rehash return value.
65633         hash: reduce memory pressure in hash_rehash no-op case
65634         * lib/hash.c (next_prime): Avoid overflow.
65635         (hash_initialize): Factor bucket size computation...
65636         (compute_bucket_size): ...into new helper function.
65637         (hash_rehash): Use new function and open coding to reduce memory
65638         pressure, and avoid a memory leak in USE_OBSTACK code.
65639         Reported by Jim Meyering.
65641 2009-06-18  Eric Blake  <ebb9@byu.net>
65643         hash: make rotation more obvious
65644         * modules/hash (Depends-on): Add bitrotate and stdint.
65645         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
65646         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
65647         (SIZE_MAX): Rely on headers for definition.
65648         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
65649         (raw_hasher): Use rotr_sz.
65650         Suggested by Jim Meyering.
65652         hash: fix memory leak in last patch
65653         * lib/hash.c (hash_rehash): Avoid memory leak.
65655         hash: avoid no-op rehashing
65656         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
65658         hash: provide default callback functions
65659         * lib/hash.c (raw_hasher, raw_comparator): New functions.
65660         (hash_initialize): Use them as defaults.
65661         * tests/test-hash.c (main): Test this.
65663         hash: minor optimization
65664         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
65665         when possible.
65666         (hash_initialize): Document this promise.
65667         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
65668         * tests/test-hash.c (hash_compare_strings): Test this.
65670 2009-06-18  Bruno Haible  <bruno@clisp.org>
65672         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
65673         going to be replaced anyway.
65675 2009-06-18  Bruno Haible  <bruno@clisp.org>
65677         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
65678         in one place.
65679         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
65680         be replaced anyway.
65682 2009-06-18  Eric Blake  <ebb9@byu.net>
65684         hash: check for resize before insertion
65685         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
65686         threshold before insertion, so that a pathological hash_rehash
65687         that fills every bucket can still trigger another rehash.
65689 2009-06-18  Jim Meyering  <meyering@redhat.com>
65691         hash-tests: add a loop around the small tests
65692         * tests/test-hash.c (main): Repeat small tests with selected
65693         small initial table sizes.
65695 2009-06-17  Eric Blake  <ebb9@byu.net>
65697         hash: minor cleanups
65698         * lib/hash.h (hash_entry): Make opaque, by moving...
65699         * lib/hash.c (hash_entry): ...here.
65700         (hash_insert): Clarify restrictions on what can be inserted.
65701         (hash_get_next): Clarify when it is safe to remove an element
65702         during traversal.
65703         (check_tuning): Skip verification when tuning is known safe.
65704         (hash_initialize): Clarify restrictions on tuning.
65706 2009-06-17  Jim Meyering  <jim@meyering.net>
65707         and Eric Blake  <ebb9@byu.net>
65709         hash-tests: new module
65710         * modules/hash-tests: New file.
65711         * tests/test-hash.c: New file.
65713 2009-06-17  Eric Blake  <ebb9@byu.net>
65715         strstr-simple: document new module
65716         * MODULES.html.sh: Document new module.
65718         strstr, strcasestr: replace on platforms with broken memchr
65719         * modules/strstr: Split into...
65720         * modules/strstr-simple: ...new module that does not care about
65721         performance, but does care about glibc bug.
65722         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
65723         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
65724         if platform memchr is broken, per Debian bug 521737.
65725         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
65726         memchr.
65727         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
65728         * doc/posix-functions/strstr.texi (strstr): Document the fix.
65729         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
65730         * modules/mountlist (Depends-on): Add strstr-simple.
65731         * modules/gen-uni-tables (Depends-on): Likewise.
65732         * modules/argz (Depends-on): Add strstr.
65734 2009-06-17  Bruno Haible  <bruno@clisp.org>
65736         * modules/posix_spawn-internal (Depends-on): Add errno.
65738 2009-06-17  Bruno Haible  <bruno@clisp.org>
65740         Define missing ESTALE on Interix 3.5.
65741         * lib/errno.in.h (ESTALE): Assign a value if missing.
65742         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
65743         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
65744         missing.
65745         * doc/posix-headers/errno.texi: Mention the Interix bug.
65746         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
65748 2009-06-15  Eric Blake  <ebb9@byu.net>
65750         memchr, memchr2: add valgrind exception
65751         * lib/memchr.valgrind: New file.
65752         * lib/memchr2.valgrind: New file.
65753         * modules/memchr (Files): Distribute valgrind file.
65754         * modules/memchr2 (Files): Likewise.
65756         docs: memchr is no longer obsolete
65757         * MODULES.html.sh: Move memchr from obsolete to string.h section.
65758         * lib/string.in.h (memchr): Simplify logic.
65760 2009-06-14  Jim Meyering  <meyering@redhat.com>
65762         link-follow: fix the "checking..." message to not mention trailing slash
65763         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
65764         never considered trailing slashes.
65766 2009-06-14  Bruno Haible  <bruno@clisp.org>
65768         * m4/memchr.m4: Mention also the bug on IA-64.
65769         * doc/posix-functions/memchr.texi: Likewise.
65771 2009-06-12  Eric Blake  <ebb9@byu.net>
65773         memchr: detect broken x86_64 and alpha implementations
65774         * modules/memchr-tests (Depends-on): Move mmap detection...
65775         * modules/memchr (Depends-on): ...here.
65776         (configure.ac): Set indicator.
65777         * lib/string.in.h (memchr): Declare replacement.
65778         * modules/string (Makefile.am): Trigger replacement.
65779         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
65780         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
65781         bugs.
65782         * doc/posix-functions/memchr.texi (memchr): Document the bug.
65783         * modules/getpagesize (License): Relax license.
65785 2009-06-11  Bruno Haible  <bruno@clisp.org>
65787         * lib/idpriv.h: Add more references.
65789 2009-06-08  Bruno Haible  <bruno@clisp.org>
65791         Tests for module 'idpriv-droptemp'.
65792         * modules/idpriv-droptemp-tests: New file.
65793         * tests/test-idpriv-droptemp.sh: New file.
65794         * tests/test-idpriv-droptemp.su.sh: New file.
65795         * tests/test-idpriv-droptemp.c: New file.
65797         New module 'idpriv-droptemp'.
65798         * lib/idpriv-droptemp.c: New file.
65799         * modules/idpriv-droptemp: New file.
65801 2009-06-08  Bruno Haible  <bruno@clisp.org>
65803         Tests for module 'idpriv-drop'.
65804         * modules/idpriv-drop-tests: New file.
65805         * tests/test-idpriv-drop.sh: New file.
65806         * tests/test-idpriv-drop.su.sh: New file.
65807         * tests/test-idpriv-drop.c: New file.
65809         New module 'idpriv-drop'.
65810         * lib/idpriv.h: New file.
65811         * lib-idpriv-drop.c: New file.
65812         * m4/idpriv.m4: New file.
65813         * modules/idpriv-drop: New file.
65815 2009-06-08  Bruno Haible  <bruno@clisp.org>
65817         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
65818         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
65819         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
65820         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
65821         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
65822         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
65823         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
65825 2009-06-08  Eric Blake  <ebb9@byu.net>
65827         test-strstr: use memory fence, when possible
65828         * tests/test-strstr.c (main): Use memory fence, in order to be
65829         more likely to trigger Debian bug 521737.
65830         * modules/strstr-tests (Files): Pull in additional files.
65832         memchr: no longer obsolete, for wider field testing
65833         * modules/memchr (Status, Notice): Delete, this module is no
65834         longer obsolete.
65835         * modules/vasnprintf (Depends-on): Add memchr.
65837 2009-06-07  Jim Meyering  <meyering@redhat.com>
65839         hash: declare some functions with the warn_unused_result attribute
65840         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
65842 2009-06-07  Bruno Haible  <bruno@clisp.org>
65844         * tests/test-alignof.c: Don't test int64_t if it does not exist.
65845         Reported by Eric Blake.
65847 2009-06-06  Eric Blake  <ebb9@byu.net>
65849         test-alignof: fix typo with long double
65850         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
65851         compiler error.
65853 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
65855         Escape non-texinfo { and }s.
65856         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
65857         markup error.
65859 2009-06-04  Jim Meyering  <meyering@redhat.com>
65861         gitlog-to-changelog: don't infloop on an empty commit log
65862         * build-aux/gitlog-to-changelog: Warn about an empty log message.
65863         Reported by Boris Petersen <transacid@centerim.org>.
65865 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
65867         version-etc: extend for packagers
65868         Add three new configure options, intended for packagers:
65869           --with-packager="packager name"
65870           --with-packager-version="packager-specific version"
65871           --with-packager-bug-reports="packager bug reporting"
65872         An example with coreutils:
65873           $ ./configure \
65874             --with-packager=Gentoo \
65875             --with-packager-bug-report=http://bugs.gentoo.org/ \
65876             --with-packager-version="patchset 1.6"
65877           $ ./src/ls --version | head -n2
65878           ls (GNU coreutils) 7.1-dirty
65879           Packaged by Gentoo (patchset 1.6)
65880         Note that the bug reporting info via --help doesn't show up because
65881         coreutils uses its own custom emit_bug_reporting_address() implementation
65882         in src/system.h.  If it didn't, it'd look like:
65883           $ ./src/ls --help | tail -n4
65884           Report bugs to <bug-coreutils@gnu.org>.
65885           Report Gentoo bugs to <http://bugs.gentoo.org/>.
65886           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
65887           General help using GNU software: <http://www.gnu.org/gethelp/>.
65888         * lib/version-etc.c: Print new information, if provided.
65889         * m4/version-etc.m4: New file.
65890         * modules/version-etc (Files): Add m4/version-etc.m4.
65891         (configure.ac): Add gl_VERSION_ETC.
65893 2009-05-31  Bruno Haible  <bruno@clisp.org>
65895         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
65896         and 'int64_t'.
65897         * modules/alignof-tests (Dependencies): Add stdint.
65898         Reported by Eric Blake.
65900 2009-05-31  Bruno Haible  <bruno@clisp.org>
65902         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
65903         restriction due to compiler bugs.
65904         Reported by Eric Blake.
65906 2009-05-31  Simon Josefsson  <simon@josefsson.org>
65907             Bruno Haible  <bruno@clisp.org>
65909         Fix test-alignof failure.
65910         * lib/alignof.h (alignof_slot): New macro.
65911         (alignof_type): New macro, with the same semantics as the previous
65912         'alignof'.
65913         (alignof): Alias to alignof_slot.
65914         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
65915         check that the results are usable as constant expressions.
65917 2009-05-31  Bruno Haible  <bruno@clisp.org>
65919         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
65920         * tests/test-memchr.c (main): Check that memchr does not read past the
65921         first occurrence of the byte.
65922         * tests/test-strstr.c (main): Update comment.
65923         Suggested by Eric Blake.
65925 2009-05-30  Bruno Haible  <bruno@clisp.org>
65927         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
65928         detail how to use dumpbin.
65929         Reported by David Byron <dbyron@dbyron.com>.
65931 2009-06-02  Simon Josefsson  <simon@josefsson.org>
65933         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
65935 2009-06-02  Simon Josefsson  <simon@josefsson.org>
65937         * m4/manywarnings.m4: Add GCC 4.4 warnings.
65939 2009-05-28  Bruno Haible  <bruno@clisp.org>
65941         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
65942         build-aux/ files.
65944 2009-05-28  Simon Josefsson  <simon@josefsson.org>
65946         * gnulib-tool (func_import): Transform license on build-aux/ files too.
65948 2009-05-27  Simon Josefsson  <simon@josefsson.org>
65950         * gnulib-tool (sed_transform_main_lib_file)
65951         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
65952         regexps.
65954 2009-05-26  Simon Josefsson  <simon@josefsson.org>
65956         * tests/test-strstr.c: Add another self-test.
65957         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
65958         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
65960 2009-05-23  Bruno Haible  <bruno@clisp.org>
65962         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
65963         change.
65965 2009-05-21  Bruno Haible  <bruno@clisp.org>
65967         Simplify use of mode_t varargs.
65968         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
65969         uses 'mode_t' or 'int'.
65970         * lib/openat.c (openat): Likewise.
65971         * lib/open-safer.c (open_safer): Likewise.
65972         * m4/mode_t.m4: New file.
65973         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
65974         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
65975         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
65976         * modules/open (Files): Add m4/mode_t.m4.
65977         * modules/openat (Files): Likewise.
65978         * modules/fcntl-safer (Files): Likewise.
65979         Suggested by Eric Blake.
65981 2009-05-21  Pádraig Brady  <P@draigbrady.com>
65983         * doc/glibc-functions/fallocate.texi: New file.
65984         * doc/gnulib.texi: Include it.
65986 2009-05-21  Eric Blake  <ebb9@byu.net>
65987             Bruno Haible  <bruno@clisp.org>
65989         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
65990         invocations.
65991         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
65993 2009-05-21  Eric Blake  <ebb9@byu.net>
65994             Bruno Haible  <bruno@clisp.org>
65996         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
65997         include_next. Fix of 2008-11-20 commit.
65998         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
65999         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
66000         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
66001         NEXT_MATH_H.
66002         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
66003         instead of NEXT_MATH_H.
66005 2009-05-21  Bruno Haible  <bruno@clisp.org>
66007         Avoid redefinition warnings for SIZE_MAX.
66008         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
66009         Reported by Simon Josefsson.
66011 2009-05-21  Bruno Haible  <bruno@clisp.org>
66013         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
66014         AC_CACHE_VAL.
66016 2009-05-20  Bruno Haible  <bruno@clisp.org>
66018         Make zeroptr.h work on mingw.
66019         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
66020         mprotect.
66021         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
66022         * modules/memchr2-tests (configure.ac): Likewise.
66023         * modules/memcmp-tests (configure.ac): Likewise.
66024         * modules/memmem-tests (configure.ac): Likewise.
66025         * modules/memrchr-tests (configure.ac): Likewise.
66026         Reported by Simon Josefsson.
66028 2009-05-20  Simon Josefsson  <simon@josefsson.org>
66030         * tests/test-glob.c: Include string.h for strcmp prototype.
66032 2009-05-20  Simon Josefsson  <simon@josefsson.org>
66034         * modules/getdelim (Depends-on): Add explicit stdint, although it
66035         was implicitly already pulled in via realloc-posix.
66036         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
66038 2009-05-20  Simon Josefsson  <simon@josefsson.org>
66040         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
66041         G. Christensen" <tgc@jupiterrise.com>.
66042         * m4/sys_socket_h.m4: Check for sa_family_t.
66043         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
66044         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
66045         * tests/test-sys_socket.c: Check that sa_family_t works.
66047 2009-05-18  Eric Blake  <ebb9@byu.net>
66049         maint.mk: allow gnulib_dir in VPATH build
66050         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
66052 2009-05-15  Jim Meyering  <meyering@redhat.com>
66054         maint.mk: Give gnulib_dir a default definition.
66055         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
66056         Thus, most packages no longer need to specify this variable in cfg.mk
66058 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
66060         rename.m4: fix typos that would make non-mingw cross-configure fail
66061         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
66063 2009-05-13  Eric Blake  <ebb9@byu.net>
66065         mmap-anon: avoid out-of-order autoconf expansion
66066         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
66067         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
66068         * modules/memchr-tests (Depends-on): Add extensions.
66069         * modules/memchr2-tests (Depends-on): Add extensions.
66070         * modules/memcmp-tests (Depends-on): Add extensions.
66071         * modules/memmem-tests (Depends-on): Add extensions.
66072         * modules/memrchr-tests (Depends-on): Add extensions.
66074 2009-05-13  Bruno Haible  <bruno@clisp.org>
66076         Make some tests ISO C 99 compliant.
66077         * tests/zerosize-ptr.h: New file.
66078         * tests/test-memchr.c: Include zerosize-ptr.h.
66079         (main): Use a zero-size object pointer instead of NULL.
66080         * tests/test-memchr2.c: Include zerosize-ptr.h.
66081         (main): Use a zero-size object pointer instead of NULL.
66082         * tests/test-memcmp.c: Include zerosize-ptr.h.
66083         (main): Use a zero-size object pointer instead of NULL.
66084         * tests/test-memmem.c: Include zerosize-ptr.h.
66085         (main): Use a zero-size object pointer instead of NULL.
66086         * tests/test-memrchr.c: Include zerosize-ptr.h.
66087         (main): Use a zero-size object pointer instead of NULL.
66088         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
66089         m4/mmap-anon.m4.
66090         (Depends-on): Add getpagesize.
66091         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
66092         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
66093         m4/mmap-anon.m4.
66094         (Depends-on): Add getpagesize.
66095         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
66096         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
66097         m4/mmap-anon.m4.
66098         (Depends-on): Add getpagesize.
66099         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
66100         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
66101         m4/mmap-anon.m4.
66102         (Depends-on): Add getpagesize.
66103         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
66104         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
66105         m4/mmap-anon.m4.
66106         (Depends-on): Add getpagesize.
66107         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
66109 2009-05-12  Bruno Haible  <bruno@clisp.org>
66111         Tests for module 'alignof'.
66112         * modules/alignof-tests: New file.
66113         * tests/test-alignof.c: New file.
66115 2009-05-12  Bruno Haible  <bruno@clisp.org>
66117         Fix alignof macro.
66118         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
66119         vendor compilers that are always correct.
66121 2009-05-12  Bruno Haible  <bruno@clisp.org>
66123         Make the MAP_ANONYMOUS detection work on HP-UX 11.
66124         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
66125         not whether its fully works.
66127 2009-05-12  Bruno Haible  <bruno@clisp.org>
66129         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
66131 2009-05-12  Jim Meyering  <meyering@redhat.com>
66133         * top/maint.mk: Adjust backslash alignment.
66135 2009-05-11  Simon Josefsson  <simon@josefsson.org>
66137         * top/maint.mk: Make $(srcdir)/build-aux configurable.
66139 2009-05-11  Eric Blake  <ebb9@byu.net>
66141         argp: avoid undefined behavior
66142         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
66143         macros.
66145 2009-05-08  Simon Josefsson  <simon@josefsson.org>
66147         * tests/test-vc-list-files-git.sh: Do git config of user.email and
66148         user.name to prevent git commit from complaining.
66150 2009-05-10  Bruno Haible  <bruno@clisp.org>
66152         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
66153         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
66154         it rewrites every file name only once.
66155         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
66157 2009-05-08  Bruno Haible  <bruno@clisp.org>
66159         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
66160         instead of 'max'.
66162 2009-05-08  Simon Josefsson  <simon@josefsson.org>
66164         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
66165         sockaddr_storage test.
66167 2009-05-07  Simon Josefsson  <simon@josefsson.org>
66169         * modules/sys_socket (Makefile.am): Substitute
66170         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
66171         * m4/sys_socket_h.m4: Check for sockaddr_storage.
66172         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
66173         * tests/test-sys_socket.c: Check sockaddr_storage.
66175 2009-05-08  Bruno Haible  <bruno@clisp.org>
66177         New module 'alignof'.
66178         * lib/alignof.h: New file.
66179         * modules/alignof: New file.
66181 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
66182             Bruno Haible  <bruno@clisp.org>
66184         Fix test-file-has-acl on FreeBSD.
66185         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
66186         mask is implicitly added.
66187         * tests/test-file-has-acl.c: Include <signal.h>.
66188         (main): Terminate the test after 5 seconds.
66189         * modules/acl-tests (configure.ac): Check for alarm function.
66191 2009-05-04  Bruno Haible  <bruno@clisp.org>
66193         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
66194         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
66195         * modules/errno (configure.ac): Drop AC_REQUIRE.
66196         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
66197         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
66199 2009-05-04  Simon Josefsson  <simon@josefsson.org>
66201         * modules/glob-tests: New module.
66202         * tests/test-glob.c: Add.
66204 2009-05-04  Simon Josefsson  <simon@josefsson.org>
66206         * modules/fnmatch-tests: New module.
66207         * tests/test-fnmatch.c: Add.
66209 2009-05-04  Eric Blake  <ebb9@byu.net>
66211         maint: make the new no-submodule-changes rule VPATH-safe
66212         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
66214 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
66215             Bruno Haible  <bruno@clisp.org>
66217         acl: Fix infinite loop on FreeBSD.
66218         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
66219         of return value from acl_get_entry.
66220         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
66221         Likewise.
66223 2009-05-03  Bruno Haible  <bruno@clisp.org>
66225         * lib/acl-internal.h (acl_entries): Clarify return value.
66226         * lib/acl_entries.c (acl_entries): Likewise.
66228 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
66230         Bug fix in acl module.
66231         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
66233 2009-05-03  Bruno Haible  <bruno@clisp.org>
66235         Create gperf-generated file in the source dir, not in the build dir.
66236         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
66237         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
66238         * modules/unicase/locale-language (unicase/locale-languages.h):
66239         Likewise.
66240         * modules/unicase/special-casing (unicase/special-casing-table.h):
66241         Likewise.
66242         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
66243         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
66244         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
66245         Reported by Ralf Wildenhues.
66247 2009-05-03  Bruno Haible  <bruno@clisp.org>
66249         * modules/fnmatch (Description, configure.ac): Taken from
66250         fnmatch-posix.
66251         * modules/fnmatch-posix: Turn into a symbolic reference to the
66252         'fnmatch' module, and deprecate.
66253         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
66255 2009-05-03  Bruno Haible  <bruno@clisp.org>
66257         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
66258         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
66259         Reported by Ralf Wildenhues.
66261 2009-05-04  Simon Josefsson  <simon@josefsson.org>
66263         * m4/fnmatch.m4: Fix fnmatch re-define.
66265 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
66267         priv-set: new module and tests; adapt write-any-file
66268         * lib/priv-set.c: New file.
66269         * lib/priv-set.h: New file.
66270         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
66271         * lib/write-any-file.c: Simplify by using priv-set module.
66272         * m4/priv-set.m4: New file.
66273         * modules/priv-set: New file.
66274         * modules/unlinkdir: Add dependency on priv-set module.
66275         * modules/write-any-file: Likewise.
66277         Tests for module 'priv-set'.
66278         * modules/priv-set-tests: New file.
66279         * tests/test-priv-set.c: New file.
66281 2009-05-03  Jim Meyering  <meyering@redhat.com>
66282             Bruno Haible  <bruno@clisp.org>
66284         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
66285         use the converted UTF-8 variant of the name instead.
66287 2009-05-03  Jim Meyering  <meyering@redhat.com>
66289         tests: tighten some getdate tests
66290         * tests/test-getdate.c (main): Tighten tests: require equality,
66291         not just greater than.  Set TZ envvar to UTC0.
66293 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
66295         getdate: correctly interpret "next monday" when run on a Monday
66296         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
66297         that e.g., "next tues" (when run on a tuesday) results in a date
66298         that is one week in the future, and not today's date.
66299         I.e., add a week when the wday is the same as the current one.
66300         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
66301         and earlier by Martin Bernreuther and Jan Minář.
66302         * tests/test-getdate.c (main): Check that "next DAY" is always in
66303         the future and that "last DAY" is always in the past.
66305 2009-05-02  Jim Meyering  <meyering@redhat.com>
66307         build: ensure that a release build fails when a submodule is unclean
66308         * top/maint.mk (no-submodule-changes): New rule.
66309         (alpha beta major): Depend on it.
66311 2009-05-02  Bruno Haible  <bruno@clisp.org>
66313         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
66314         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
66315         shell variable gl_fnmatch_required to detect which variant is
66316         requested.
66317         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
66318         gl_FUNC_FNMATCH_POSIX.
66319         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
66320         exclude fnmatch-posix.
66322 2009-05-02  Bruno Haible  <bruno@clisp.org>
66324         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
66325         * modules/mbsrtowcs (License): Change to LGPLv2+.
66326         * modules/strnlen1 (License): Likewise.
66327         Reported by Simon Josefsson.
66329 2009-05-02  Bruno Haible  <bruno@clisp.org>
66331         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
66332         "cross".
66333         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
66334         gnulib-tool was called with option --source-base=lib.
66336 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66338         Use automake *-local hooks without commands, for extensibility.
66339         * modules/localcharset (Makefile.am): Rename install-exec-local
66340         rule to install-exec-localcharset, and make it a prerequisite of
66341         install-exec-local.  Likewise, rename the uninstall-local rule to
66342         uninstall-localcharset, and make it a prerequisite of the former.
66344 2009-05-01  Bruno Haible  <bruno@clisp.org>
66346         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
66347         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
66348         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
66349         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
66350         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
66351         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
66352         m4/locale-zh.m4, m4/codeset.m4.
66354         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
66355         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
66356         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
66357         m4/locale-zh.m4.
66359         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
66360         REPLACE_WCRTOMB if mbstate_t must be replaced.
66361         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
66362         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
66364 2009-05-01  Bruno Haible  <bruno@clisp.org>
66366         Avoid compiler warnings when redefining macros defined by <libintl.h>.
66367         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
66368         dngettext, dcngettext, textdomain, bindtextdomain,
66369         bind_textdomain_codeset): Undefine before redefining.
66371 2009-04-30  Bruno Haible  <bruno@clisp.org>
66373         Fix bug introduced on 2009-04-25.
66374         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
66375         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
66376         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
66377         is defined.
66378         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
66379         is defined.
66380         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
66381         is defined.
66382         Reported by Elbert_Pol <elbert.pol@gmail.com>.
66384 2009-04-28  Bruno Haible  <bruno@clisp.org>
66386         Comment tweaks.
66387         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
66388         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
66389         * lib/unicase.h (u*_casexfrm): Likewise.
66390         Reported by Paolo Bonzini.
66392 2009-04-28  Bruno Haible  <bruno@clisp.org>
66394         Fix a compilation error.
66395         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
66396         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
66397         Reported by Jim Meyering.
66399 2009-04-27  Bruno Haible  <bruno@clisp.org>
66401         New module 'libunistring'.
66402         * modules/libunistring: New file.
66403         * m4/libunistring.m4: New file.
66404         * MODULES.html.sh (Unicode string functions): Add it.
66406 2009-04-27  Eric Blake  <ebb9@byu.net>
66408         maint.mk: allow package-specific header to provide <config.h>
66409         * top/maint.mk (sc_require_config_h): New variable.
66410         (sc_require_config_h, sc_require_config_h_first): Use it.
66412 2009-04-27  Simon Josefsson  <simon@josefsson.org>
66414         * top/maint.mk (sc_avoid_if_before_free): Except
66415         useless-if-before-free script.
66417 2009-04-27  Eric Blake  <ebb9@byu.net>
66419         maintainer-makefile: depend on all required helper scripts
66420         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
66421         useless-if-before-free.
66422         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
66423         version, rather than assuming gnulib checkout is available.
66424         Reported by Simen Josefsson.
66426 2009-04-26  Bruno Haible  <bruno@clisp.org>
66428         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
66429         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
66430         "../" or "..".
66432 2009-04-26  Bruno Haible  <bruno@clisp.org>
66434         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
66435         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
66436         AC_LIB_HAVE_LINKFLAGS.
66438 2009-04-26  Bruno Haible  <bruno@clisp.org>
66440         Simplify calling convention of u*_conv_from_encoding.
66441         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
66442         u32_conv_from_encoding): Expect a resultbuf argument and return the
66443         result directly as a pointer.
66444         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
66445         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
66446         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
66447         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
66448         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
66449         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
66450         Update.
66451         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
66452         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
66453         * lib/vasnprintf.c (VASNPRINTF): Update.
66454         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
66455         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
66456         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
66457         * NEWS: Mention the change.
66459 2009-04-26  Bruno Haible  <bruno@clisp.org>
66461         Simplify calling convention of u*_conv_to_encoding.
66462         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
66463         u32_conv_to_encoding): Expect a resultbuf argument and return the
66464         result directly as a pointer.
66465         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
66466         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
66467         freeing scaled_offsets if mem_iconveha failed.
66468         * lib/unicase/u-casexfrm.h (FUNC): Update.
66469         * lib/uninorm/u-normxfrm.h (FUNC): Update.
66470         * lib/vasnprintf.c (VASNPRINTF): Update.
66471         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
66472         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
66473         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
66474         * NEWS: Mention the change.
66476 2009-04-26  Bruno Haible  <bruno@clisp.org>
66478         Avoid test failures on AIX and OSF/1.
66479         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
66480         malloc(0).
66481         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
66482         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
66483         Likewise.
66484         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
66485         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
66486         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
66487         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
66488         * doc/posix-functions/malloc.texi: Document the portability problem
66489         related to malloc(0).
66491 2009-04-26  Bruno Haible  <bruno@clisp.org>
66493         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
66494         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
66495         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
66497 2009-04-25  Bruno Haible  <bruno@clisp.org>
66499         Avoid link error when creating a namespace clean library.
66500         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
66501         as macro with arguments if already defined as an alias.
66502         * lib/signbitf.c (gl_signbitf): Don't undefine.
66503         * lib/signbitd.c (gl_signbitd): Don't undefine.
66504         * lib/signbitl.c (gl_signbitl): Don't undefine.
66506 2009-04-25  Jim Meyering  <meyering@redhat.com>
66508         vc-list-files: fix another quoting bug
66509         * build-aux/vc-list-files: Avoid sed backslash expansion
66510         of pathological directory names.
66512 2009-04-25  Eric Blake  <ebb9@byu.net>
66514         vc-list-files: fix shell quoting error
66515         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
66516         timestamp.
66518 2009-04-25  Jim Meyering  <meyering@redhat.com>
66520         vc-list-files: restore lost functionality with subdir argument
66521         * build-aux/vc-list-files: When given a non-"." sub-directory
66522         argument, substitute the $dir/ prefix back onto each resulting name.
66523         Otherwise, coreutils' root_tests check would fail.
66525 2009-04-24  Eric Blake  <ebb9@byu.net>
66527         vc-list-files: ignore git symlinks
66528         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
66529         than ls-files, to ignore git symlinks.
66531         maint.mk: import improvements from m4
66532         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
66533         (move_if_change): Delete unused macro.
66534         (news-date-check, vc-diff-check): Support VPATH builds.
66535         (announcement): Likewise.  Split --bootstrap-tools list...
66536         (boostrap-tools): ...into separate list, which can be overridden
66537         in cfg.mk.
66538         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
66539         requiring dependency on useless-if-before-free module.
66540         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
66541         Support VPATH builds.
66543 2009-04-24  Jim Meyering  <meyering@redhat.com>
66545         maint.mk: remove coreutils-specific rules and variables
66546         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
66547         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
66548         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
66550         maint.mk: remove obsolete rule
66551         * top/maint.mk (rel-check): Remove rule.
66552         (WGET, WGETFLAGS): Remove now-unused variables.
66554 2009-04-24  Simon Josefsson  <simon@josefsson.org>
66556         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
66557         consistency.
66559         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
66560         '$(PATH_SEPARATOR)' instead of ':'.
66562 2009-04-24  Simon Josefsson  <simon@josefsson.org>
66564         * lib/getopt1.c (main): Use 'const' for static array.
66566 2009-04-24  Simon Josefsson  <simon@josefsson.org>
66568         * top/maint.mk: Sync with coreutils.
66569         * NEWS: Explain incompatibilities.
66571 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
66572             Bruno Haible  <bruno@clisp.org>
66574         Fix cross-compilation results.
66575         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
66576         statement, as third argument of AC_TRY_RUN.
66577         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
66578         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
66579         Likewise.
66580         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
66581         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
66582         Likewise.
66583         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
66584         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
66585         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
66587 2009-04-20  Bruno Haible  <bruno@clisp.org>
66589         Avoid test failure on mingw.
66590         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
66592 2009-04-20  Bruno Haible  <bruno@clisp.org>
66594         Avoid compilation error on mingw.
66595         * modules/localename-tests (Depends-on): Add locale.
66597 2009-04-19  Bruno Haible  <bruno@clisp.org>
66599         Support for building a shared library on Windows platforms.
66600         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
66601         (main): Test the presence of UNINORM_NFC here.
66602         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
66603         (main): Test the presence of UNINORM_NFD here.
66604         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
66605         (main): Test the presence of UNINORM_NFKC here.
66606         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
66607         (main): Test the presence of UNINORM_NFKD here.
66609 2009-04-19  Bruno Haible  <bruno@clisp.org>
66611         Avoid a compiler warning.
66612         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
66613         Change type of variable 'sequence'.
66615 2009-04-19  Bruno Haible  <bruno@clisp.org>
66617         * modules/configmake (Makefile.am): When the contents of configmake.h
66618         does not change, arrange to preserve its modification time.
66620 2009-04-17  Simon Josefsson  <simon@josefsson.org>
66622         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
66623         gettext domain.
66625 2009-04-16  Jim Meyering  <meyering@redhat.com>
66627         useless-if-before-free: improve conversion code
66628         * build-aux/useless-if-before-free: Adjust code-in-comment to match
66629         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
66631 2009-04-14  Bruno Haible  <bruno@clisp.org>
66633         * modules/fcntl (Depends-on): Add extensions.
66634         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
66636 2009-04-12  Ben Pfaff  <blp@gnu.org>
66638         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
66639         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
66641 2009-03-20  Ben Pfaff  <blp@gnu.org>
66643         Make rename replace existing destinations on Windows.
66644         * m4/rename.m4: Add test for Mingw.
66645         * lib/rename.c: Add rename replacement that uses MoveFileEx with
66646         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
66647         * doc/posix-functions/rename.texi: Document.
66649 2009-04-10  Bruno Haible  <bruno@clisp.org>
66651         New include file "iconveh.h".
66652         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
66653         * lib/striconveh.h: Include it.
66654         (enum iconv_ilseq_handler): Remove definition.
66655         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
66656         striconveh.h.
66657         * lib/striconveha.c: Include striconveh.h.
66658         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
66659         * modules/striconveh (Files): Add lib/iconveh.h.
66660         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
66661         lib/striconveh.h.
66663 2009-04-10  Bruno Haible  <bruno@clisp.org>
66665         * lib/uniconv.h: Update comment.
66667 2009-04-10  Bruno Haible  <bruno@clisp.org>
66669         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
66670         always.
66671         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
66672         * lib/unistr/u16-mbtouc-aux.c: Likewise.
66673         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
66674         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
66675         "unistring-notinline.h", so that the function gets defined always.
66676         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
66677         * lib/unistr/u8-uctomb.c: Likewise.
66678         * lib/unistr/u16-mbtouc.c: Likewise.
66679         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
66680         * lib/unistr/u16-uctomb.c: Likewise.
66681         * lib/unistr/u32-mbtouc.c: Likewise.
66682         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
66683         * lib/unistr/u32-uctomb.c: Likewise.
66685 2009-04-10  Bruno Haible  <bruno@clisp.org>
66687         Mark 'utime' obsolete.
66688         * modules/utime (Status, Notice): New sections.
66689         Suggested by Jim Meyering.
66691         Fix cross-compile guess for utime test.
66692         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
66693         autoconf.
66694         * doc/posix-functions/utime.texi: Give more precisions.
66695         Reported by Jan <ipif@ymail.com>.
66697 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
66699         filevercmp: correct today's change
66700         * lib/filevercmp.c: Also handle coreutils' test inputs.
66701         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
66703         Fix regression in 'filevercmp' module. Thanks Sven Joachim
66704         for reporting it.
66705         * lib/filevercmp.c: Special handle for "", "." and "..".
66706         * tests/test-filevercmp.c: Enlarge the set suite.
66708 2009-04-07  Jim Meyering  <meyering@redhat.com>
66710         useless-if-before-free: show how to remove braced useless free, too
66711         * build-aux/useless-if-before-free: still only in a comment, though.
66713 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
66715         maint.mk: import changes to syntax-check macros from coreutils
66716         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
66717         Use them in the relevant macros.
66719 2009-04-06  Bruno Haible  <bruno@clisp.org>
66721         Fix unportable use of bit-fields.
66722         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
66723         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
66724         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
66726 2009-04-06  Bruno Haible  <bruno@clisp.org>
66728         Avoid test failures on AIX and OSF/1.
66729         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
66730         that malloc(0) = NULL.
66731         * tests/unicase/test-u8-tolower.c (check): Likewise.
66732         * tests/unicase/test-u8-totitle.c (check): Likewise.
66733         * tests/unicase/test-u8-toupper.c (check): Likewise.
66734         * tests/unicase/test-u16-casefold.c (check): Likewise.
66735         * tests/unicase/test-u16-tolower.c (check): Likewise.
66736         * tests/unicase/test-u16-totitle.c (check): Likewise.
66737         * tests/unicase/test-u16-toupper.c (check): Likewise.
66738         * tests/unicase/test-u32-casefold.c (check): Likewise.
66739         * tests/unicase/test-u32-tolower.c (check): Likewise.
66740         * tests/unicase/test-u32-totitle.c (check): Likewise.
66741         * tests/unicase/test-u32-toupper.c (check): Likewise.
66742         * tests/uninorm/test-u8-nfc.c (check): Likewise.
66743         * tests/uninorm/test-u8-nfd.c (check): Likewise.
66744         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
66745         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
66746         * tests/uninorm/test-u16-nfc.c (check): Likewise.
66747         * tests/uninorm/test-u16-nfd.c (check): Likewise.
66748         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
66749         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
66750         * tests/uninorm/test-u32-nfc.c (check): Likewise.
66751         * tests/uninorm/test-u32-nfd.c (check): Likewise.
66752         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
66753         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
66755 2009-04-05  Bruno Haible  <bruno@clisp.org>
66757         Work around an autoconf limitation.
66758         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
66759         comment line if it would be longer than 3 KB.
66761 2009-04-05  Bruno Haible  <bruno@clisp.org>
66763         Avoid test failure with libiconv-1.13.
66764         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
66765         of the expected test results.
66767 2009-04-05  Bruno Haible  <bruno@clisp.org>
66769         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
66770         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
66771         that it should be installed.
66773 2009-04-05  Bruno Haible  <bruno@clisp.org>
66775         * gnulib-tool: New option --copy-file.
66776         (func_usage): Document it.
66777         (func_dest_tmpfilename): Moved out of func_import.
66778         (func_add_file, func_update_file): New functions, extracted from
66779         func_import.
66780         (func_import): Update.
66782 2009-04-05  Karl Berry  <karl@gnu.org>
66784         * README: prominently mention gnulib-tool.
66785         Rearrange sections so getting the code is near the top.
66787 2009-04-05  Bruno Haible  <bruno@clisp.org>
66789         * lib/unicase.h: Mention u*_cmp2.
66790         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
66791         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
66792         * lib/unicase/ulc-casecmp.c: Likewise.
66793         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
66794         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
66795         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
66796         unistr/u8-cmp.
66797         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
66798         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
66799         unistr/u16-cmp.
66800         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
66801         unistr/u32-cmp.
66803         * lib/uninorm.h: Mention u*_cmp2.
66804         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
66805         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
66806         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
66807         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
66808         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
66809         unistr/u8-cmp.
66810         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
66811         unistr/u16-cmp.
66812         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
66813         unistr/u32-cmp.
66815         New module 'unistr/u32-cmp2'.
66816         * lib/unistr/u32-cmp2.c: New file.
66817         * modules/unistr/u32-cmp2: New file.
66819         New module 'unistr/u16-cmp2'.
66820         * lib/unistr/u16-cmp2.c: New file.
66821         * modules/unistr/u16-cmp2: New file.
66823         New module 'unistr/u8-cmp2'.
66824         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
66825         * lib/unistr/u8-cmp2.c: New file.
66826         * lib/unistr/u-cmp2.h: New file.
66827         * modules/unistr/u8-cmp2: New file.
66829 2009-04-05  Bruno Haible  <bruno@clisp.org>
66831         * lib/unictype.h (uc_property_is_valid): New macro.
66832         * tests/unictype/test-pr_byname.c (main): Use it.
66834         * lib/unistr.h: Doc fixes.
66835         * lib/uniconv.h: Doc fixes.
66836         * lib/unictype.h: Doc fixes.
66838 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
66840         Port coreutils 7.2 to Solaris 8.
66842         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
66843         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
66844         for Solaris 8.  This is a bit of a hack, as it means it's the
66845         caller's responsibility to add -lnsl if needed, but most likely it
66846         won't be needed since only getaddrinfo uses this and getaddrinfo
66847         isn't needed on Solaris 8.
66849         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
66850         problem to Solaris 8 encountered with coreutils 7.2, which
66851         resulted in a message "fnmatch.c:292: warning: passing argument 4
66852         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
66853         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
66855 2009-04-03  Simon Josefsson  <simon@josefsson.org>
66857         * m4/ld-version-script.m4: Add FIXME comment.
66859 2009-04-02  Simon Josefsson  <simon@josefsson.org>
66861         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
66862         SOVERSION variable.
66864 2009-04-02  Bruno Haible  <bruno@clisp.org>
66866         * Makefile (info, html, dvi, pdf): Combine the rules.
66867         Suggested by Jim Meyering.
66869 2009-04-01  Bruno Haible  <bruno@clisp.org>
66871         * Makefile (info, html, dvi, pdf): New targets.
66872         Reported by Reuben Thomas <rrt@sc3d.org>.
66874 2009-04-01  Bruno Haible  <bruno@clisp.org>
66876         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
66877         can be put into PATH.
66878         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
66880 2009-04-01  Bruno Haible  <bruno@clisp.org>
66882         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
66884 2009-04-01  Bruno Haible  <bruno@clisp.org>
66886         Rename module 'visibility'.
66887         * modules/lib-symbol-visibility: Renamed from modules/visibility.
66888         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
66889         * doc/gnulib.texi: Update.
66890         * MODULES.html.sh (Misc): Update.
66891         * NEWS: Mention the change.
66893 2009-04-01  Simon Josefsson  <simon@josefsson.org>
66895         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
66896         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
66897         Eric Blake <ebb9@byu.net> for review.
66898         * MODULES.html.sh: Add lib-msvc-compat.
66899         * doc/gnulib.texi: Link to new section.
66900         * m4/ld-output-def.m4: New file.
66901         * doc/ld-output-def.texi: New file.
66903 2009-04-01  Simon Josefsson  <simon@josefsson.org>
66905         Rename ld-version-script to lib-symbol-versions.  Suggested by
66906         Bruno Haible <bruno@clisp.org>.
66907         * modules/ld-version-script: Renamed to lib-symbol-versions.
66908         * doc/ld-version-script.texi: Fix module name.
66909         * MODULES.html.sh: Add lib-symbol-versions.
66911 2009-03-31  Simon Josefsson  <simon@josefsson.org>
66913         * modules/u64-tests: New file.
66914         * tests/test-u64.c: New file.
66916 2009-03-04  Simon Josefsson  <simon@josefsson.org>
66918         * MODULES.html.sh: Mention u64.
66919         * modules/u64: New module.
66920         * modules/crypto/sha512: Depend on u64 module instead of providing
66921         u64.h.
66923 2009-03-27  Eric Blake  <ebb9@byu.net>
66925         test-strerror: make debugging EAI_SYSTEM easier
66926         * modules/getaddrinfo-tests (Depends-on): Add strerror.
66927         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
66928         failure was EAI_SYSTEM.
66930 2009-03-25  Bruno Haible  <bruno@clisp.org>
66932         Fix a problem with --enable-relocatable on Solaris 7.
66933         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
66934         since 2008-02-24.
66936 2009-03-25  Eric Blake  <ebb9@byu.net>
66938         test-sockets: avoid gcc warning
66939         * tests/test-sockets.c (main): Silence compiler warning.
66941 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
66943         New modules nproc, pthread, contributed by Glen Lenker.
66945         * MODULES.html.sh: Add pthread, nproc.
66946         * lib/nproc.c: New file.
66947         * lib/nproc.h: New file.
66948         * lib/pthread.in.h: New file.
66949         * m4/pthread.m4: New file.
66950         * modules/nproc: New file.
66951         * modules/pthread: New file.
66953 2009-03-24  Simon Josefsson  <simon@josefsson.org>
66955         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
66956         New variable.
66958 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
66960         filevercmp: handle simple~ and numbered.~3~ backup suffixes
66961         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
66962         * tests/test-filevercmp.c: Add tests for backup suffixes.
66964 2009-03-24  Simon Josefsson  <simon@josefsson.org>
66966         * modules/stdlib (Depends-on): Add stdint, needed when defining
66967         struct random_data on, for example, HP-UX 10.20.  Reported by
66968         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
66970 2009-03-24  Simon Josefsson  <simon@josefsson.org>
66972         * lib/readline.c (readline): Call fflush on stdout after printing
66973         prompt.
66975 2009-03-20  Bruno Haible  <bruno@clisp.org>
66977         Remove dependency from 'close' module to -lws2_32 on native Windows.
66978         * lib/close-hook.h: New file.
66979         * lib/close-hook.c: New file.
66980         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
66981         w32sock.h.
66982         (_gl_close_fd_maybe_socket): Remove function.
66983         (rpl_close): Invoke execute_all_close_hooks instead of
66984         _gl_close_fd_maybe_socket.
66985         * lib/sockets.c: Include close-hook.h, w32sock.h.
66986         (close_fd_maybe_socket): New function, essentially from lib/close.c.
66987         (close_sockets_hook): New variable.
66988         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
66989         (gl_sockets_cleanup): Unregister it.
66990         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
66991         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
66992         * modules/close-hook: New file.
66993         * modules/close (Files): Remove lib/w32sock.h.
66994         (Depends-on): Add close-hook.
66995         (Link): Remove section.
66996         * modules/sockets (Files): Add lib/w32sock.h.
66997         (Depends-on): Add close-hook.
66998         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
66999         invocation.
67000         * NEWS: Mention that LIB_CLOSE is gone.
67002 2009-03-23  Eric Blake  <ebb9@byu.net>
67004         signal-tests: test previous patch
67005         * tests/test-signal.c: New file.
67006         * modules/signal-tests: Likewise.
67008         signal.h: always support 'volatile sig_atomic_t'
67009         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
67010         (gl_SIGNAL_H_DEFAULTS): Add a default.
67011         * modules/signal (Makefile.am): Substitute if needed.
67012         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
67013         users can blindly add volatile.
67014         * doc/posix-headers/signal.texi (signal.h): Document it.
67015         Reported by Matthew Woehlke.
67017 2009-03-23  Jim Meyering  <meyering@redhat.com>
67019         pathmax: PATH_MAX: use pathconf only when available
67020         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
67021         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
67022         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
67023         This avoids a link failure in a PSP cross-compilation environment
67024         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
67026         * lib/vasnprintf.c (divide): Fix typo in comment.
67028 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67030         * gnulib-tool (func_filter_filelist): Fix comment.
67032 2009-03-20  Bruno Haible  <bruno@clisp.org>
67034         Make sockets.h self-contained.
67035         * lib/sockets.c: Include sockets.h first.
67036         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
67038 2009-03-19  Eric Blake  <ebb9@byu.net>
67040         doc: mention more functions added in cygwin 1.7.0
67041         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
67042         addition.
67043         * doc/posix-functions/log2f.texi: Likewise.
67045 2009-03-19  Jim Meyering  <meyering@redhat.com>
67047         fsusage: avoid syntax error due to statement-before-declaration
67048         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
67049         after all declarations.  Reported by Matthew Woehlke in
67050         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
67052 2009-03-18  Eric Blake  <ebb9@byu.net>
67054         build-aux/compile: sync from automake
67055         * build-aux/compile: New file, from automake.
67056         * config/srclist.txt: Mention build-aux/compile.
67058 2009-03-17  Bruno Haible  <bruno@clisp.org>
67060         * lib/git-merge-changelog.c: Fix typo in comment.
67061         Reported by Reuben Thomas <rrt@sc3d.org>.
67063 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
67065         * m4/regex.m4: update and improve help for
67066         --without-included-regex.
67068 2009-03-17  Simon Josefsson  <simon@josefsson.org>
67070         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
67071         failure on missing include files.
67073 2009-03-17  Eric Blake  <ebb9@byu.net>
67075         doc: mention more functions added in cygwin 1.7.0
67076         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
67077         addition.
67078         * doc/posix-functions/fwscanf.texi: Likewise.
67079         * doc/posix-functions/swprintf.texi: Likewise.
67080         * doc/posix-functions/swscanf.texi: Likewise.
67081         * doc/posix-functions/vfwprintf.texi: Likewise.
67082         * doc/posix-functions/vfwscanf.texi: Likewise.
67083         * doc/posix-functions/vswprintf.texi: Likewise.
67084         * doc/posix-functions/vswscanf.texi: Likewise.
67085         * doc/posix-functions/vwprintf.texi: Likewise.
67086         * doc/posix-functions/vwscanf.texi: Likewise.
67087         * doc/posix-functions/wcscasecmp.texi: Likewise.
67088         * doc/posix-functions/wcsdup.texi: Likewise.
67089         * doc/posix-functions/wcsftime.texi: Likewise.
67090         * doc/posix-functions/wcsncasecmp.texi: Likewise.
67091         * doc/posix-functions/wprintf.texi: Likewise.
67092         * doc/posix-functions/wscanf.texi: Likewise.
67093         * doc/glibc-functions/gethostbyname2.texi: Likewise.
67095 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67097         maint.mk: really add $(AM_MAKEFLAGS)
67098         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
67099         was inadvertently omitted in the last commit.
67100         Spotted by Bruno Haible.
67102         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
67103         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
67104         $(AM_MAKEFLAGS)' rather than plain `make'.
67106         gnulib-tool: execute $MAKE not make
67107         * gnulib-tool: Default $MAKE to 'make'.
67108         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
67109         than make.  Initialize $MAKE in the do-autobuild script.
67111         gnulib-tool: use $MAKE not make in generated files
67112         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
67113         make, in generated files.  Initialize $MAKE in the do-autobuild
67114         script.
67116         * top/GNUmakefile (_have-git-version-gen): Fix typo.
67118         GNUmakefile: disable parallelism only for multiple, recursive targets
67119         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
67120         additions in the Makefile.
67121         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
67122         by Automake.
67123         (.NOTPARALLEL): Only disable parallel builds if multiple targets
67124         are listed on the command line and at least one of them is
67125         listed in $(ALL_RECURSIVE_TARGETS).
67127 2009-03-14  Bruno Haible  <bruno@clisp.org>
67129         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
67130         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
67131         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
67132         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
67133         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
67134         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
67135         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
67136         unistr/u8-uctomb.
67137         * modules/unistr/u8-strchr (Depends-on): Likewise.
67138         * modules/unistr/u8-strrchr (Depends-on): Likewise.
67139         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
67140         unistr/u16-uctomb.
67141         * modules/unistr/u16-strchr (Depends-on): Likewise.
67142         * modules/unistr/u16-strrchr (Depends-on): Likewise.
67144 2009-03-12  Bruno Haible  <bruno@clisp.org>
67146         Work around select() bug on Interix 3.5.
67147         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
67148         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
67149         * m4/select.m4: New file.
67150         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
67151         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
67152         * modules/select (Files): Add m4/select.m4.
67153         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
67154         * modules/nanosleep (Depends-on): Add select.
67155         * modules/poll (Depends-on): Likewise.
67156         * doc/posix-functions/select.texi: Mention the Interix bug.
67157         Reported by Markus Duft <mduft@gentoo.org>.
67159         * lib/select.c: Renamed from lib/winsock-select.c.
67160         * modules/select (Files): Add lib/select.c, remove
67161         lib/winsock-select.c.
67162         (configure.ac): Update.
67164 2009-03-12  Jim Meyering  <meyering@redhat.com>
67166         avoid gcc warnings about unused macro definitions
67167         * lib/readtokens.c (STREQ): Remove unused definition.
67168         * lib/xmalloc.c (SIZE_MAX): Likewise.
67169         * lib/openat-die.c (N_): Likewise.
67170         * lib/mountlist.c (SIZE_MAX): Remove definition.
67171         Instead, include <stdint.h>.
67172         * lib/readutmp.c: Likewise.
67173         * modules/readutmp (Depends-on): Add stdint.
67174         * modules/mountlist (Depends-on): Add stdint.
67175         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
67177 2009-03-10  Bruno Haible  <bruno@clisp.org>
67179         Tests for module 'mbmemcasecoll'.
67180         * modules/mbmemcasecoll-tests: New file.
67181         * tests/test-mbmemcasecoll1.sh: New file.
67182         * tests/test-mbmemcasecoll2.sh: New file.
67183         * tests/test-mbmemcasecoll3.sh: New file.
67184         * tests/test-mbmemcasecoll.c: New file.
67186         New module 'mbmemcasecoll'.
67187         * lib/mbmemcasecoll.h: New file.
67188         * lib/mbmemcasecoll.c: New file.
67189         * modules/mbmemcasecoll: New file.
67191         * tests/test-mbmemcasecmp.h: New file, extracted from
67192         tests/test-mbmemcasecmp.c.
67193         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
67194         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
67195         (main): Update.
67196         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
67198 2009-03-09  Bruno Haible  <bruno@clisp.org>
67200         Tests for module 'mbmemcasecmp'.
67201         * modules/mbmemcasecmp-tests: New file.
67202         * tests/test-mbmemcasecmp1.sh: New file.
67203         * tests/test-mbmemcasecmp2.sh: New file.
67204         * tests/test-mbmemcasecmp3.sh: New file.
67205         * tests/test-mbmemcasecmp.c: New file.
67207         New module 'mbmemcasecmp'.
67208         * lib/mbmemcasecmp.h: New file.
67209         * lib/mbmemcasecmp.c: New file.
67210         * modules/mbmemcasecmp: New file.
67212 2009-03-09  Bruno Haible  <bruno@clisp.org>
67214         Tests for module 'unicase/ulc-casecoll'.
67215         * modules/unicase/ulc-casecoll-tests: New file.
67216         * tests/unicase/test-ulc-casecoll1.sh: New file.
67217         * tests/unicase/test-ulc-casecoll2.sh: New file.
67218         * tests/unicase/test-ulc-casecoll.c: New file.
67220         New module 'unicase/ulc-casecoll'.
67221         * lib/unicase.h (ulc_casecoll): New declaration.
67222         * lib/unicase/ulc-casecoll.c: New file.
67223         * modules/unicase/ulc-casecoll: New file.
67225         New module 'unicase/ulc-casexfrm'.
67226         * lib/unicase.h (ulc_casexfrm): New declaration.
67227         * lib/unicase/ulc-casexfrm.c: New file.
67228         * modules/unicase/ulc-casexfrm: New file.
67230 2009-03-09  Bruno Haible  <bruno@clisp.org>
67232         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
67233         invocations.
67235         * m4/mbscasecmp.m4: Remove file.
67236         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
67237         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
67239         * m4/mbscasestr.m4: Remove file.
67240         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
67241         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
67243         * m4/mbschr.m4: Remove file.
67244         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
67245         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
67247         * m4/mbscspn.m4: Remove file.
67248         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
67249         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
67251         * m4/mbslen.m4: Remove file.
67252         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
67253         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
67255         * m4/mbsncasecmp.m4: Remove file.
67256         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
67257         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
67259         * m4/mbsnlen.m4: Remove file.
67260         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
67261         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
67263         * m4/mbspbrk.m4: Remove file.
67264         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
67265         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
67267         * m4/mbspcasecmp.m4: Remove file.
67268         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
67269         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
67271         * m4/mbsrchr.m4: Remove file.
67272         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
67273         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
67275         * m4/mbssep.m4: Remove file.
67276         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
67277         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
67279         * m4/mbsspn.m4: Remove file.
67280         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
67281         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
67283         * m4/mbsstr.m4: Remove file.
67284         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
67285         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
67287         * m4/mbstok_r.m4: Remove file.
67288         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
67289         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
67291         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
67293         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
67294         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
67296         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
67298 2009-03-08  Bruno Haible  <bruno@clisp.org>
67300         Tests for module 'unicase/ulc-casecmp'.
67301         * modules/unicase/ulc-casecmp-tests: New file.
67302         * tests/unicase/test-ulc-casecmp1.sh: New file.
67303         * tests/unicase/test-ulc-casecmp2.sh: New file.
67304         * tests/unicase/test-ulc-casecmp.c: New file.
67306         New module 'unicase/ulc-casecmp'.
67307         * lib/unicase.h (ulc_casecmp): New declaration.
67308         * lib/unicase/ulc-casecmp.c: New file.
67309         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
67310         'const SRC_UNIT *'.
67311         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
67312         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
67313         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
67314         * modules/unicase/ulc-casecmp: New file.
67316         Tests for module 'unicase/u32-is-cased'.
67317         * modules/unicase/u32-is-cased-tests: New file.
67318         * tests/unicase/test-u32-is-cased.c: New file.
67320         Tests for module 'unicase/u16-is-cased'.
67321         * modules/unicase/u16-is-cased-tests: New file.
67322         * tests/unicase/test-u16-is-cased.c: New file.
67324         Tests for module 'unicase/u8-is-cased'.
67325         * modules/unicase/u8-is-cased-tests: New file.
67326         * tests/unicase/test-u8-is-cased.c: New file.
67327         * tests/unicase/test-is-cased.h: New file.
67329         New module 'unicase/u32-is-cased'.
67330         * lib/unicase/u32-is-cased.c: New file.
67331         * modules/unicase/u32-is-cased: New file.
67333         New module 'unicase/u16-is-cased'.
67334         * lib/unicase/u16-is-cased.c: New file.
67335         * modules/unicase/u16-is-cased: New file.
67337         New module 'unicase/u8-is-cased'.
67338         * lib/unicase/u8-is-cased.c: New file.
67339         * lib/unicase/u-is-cased.h: New file.
67340         * modules/unicase/u8-is-cased: New file.
67342         Tests for module 'unicase/u32-is-casefolded'.
67343         * modules/unicase/u32-is-casefolded-tests: New file.
67344         * tests/unicase/test-u32-is-casefolded.c: New file.
67346         Tests for module 'unicase/u16-is-casefolded'.
67347         * modules/unicase/u16-is-casefolded-tests: New file.
67348         * tests/unicase/test-u16-is-casefolded.c: New file.
67350         Tests for module 'unicase/u8-is-casefolded'.
67351         * modules/unicase/u8-is-casefolded-tests: New file.
67352         * tests/unicase/test-u8-is-casefolded.c: New file.
67353         * tests/unicase/test-is-casefolded.h: New file.
67355         New module 'unicase/u32-is-casefolded'.
67356         * lib/unicase/u32-is-casefolded.c: New file.
67357         * modules/unicase/u32-is-casefolded: New file.
67359         New module 'unicase/u16-is-casefolded'.
67360         * lib/unicase/u16-is-casefolded.c: New file.
67361         * modules/unicase/u16-is-casefolded: New file.
67363         New module 'unicase/u8-is-casefolded'.
67364         * lib/unicase/u8-is-casefolded.c: New file.
67365         * modules/unicase/u8-is-casefolded: New file.
67367         Tests for module 'unicase/u32-is-titlecase'.
67368         * modules/unicase/u32-is-titlecase-tests: New file.
67369         * tests/unicase/test-u32-is-titlecase.c: New file.
67371         Tests for module 'unicase/u16-is-titlecase'.
67372         * modules/unicase/u16-is-titlecase-tests: New file.
67373         * tests/unicase/test-u16-is-titlecase.c: New file.
67375         Tests for module 'unicase/u8-is-titlecase'.
67376         * modules/unicase/u8-is-titlecase-tests: New file.
67377         * tests/unicase/test-u8-is-titlecase.c: New file.
67378         * tests/unicase/test-is-titlecase.h: New file.
67380         New module 'unicase/u32-is-titlecase'.
67381         * lib/unicase/u32-is-titlecase.c: New file.
67382         * modules/unicase/u32-is-titlecase: New file.
67384         New module 'unicase/u16-is-titlecase'.
67385         * lib/unicase/u16-is-titlecase.c: New file.
67386         * modules/unicase/u16-is-titlecase: New file.
67388         New module 'unicase/u8-is-titlecase'.
67389         * lib/unicase/u8-is-titlecase.c: New file.
67390         * modules/unicase/u8-is-titlecase: New file.
67392         Tests for module 'unicase/u32-is-lowercase'.
67393         * modules/unicase/u32-is-lowercase-tests: New file.
67394         * tests/unicase/test-u32-is-lowercase.c: New file.
67396         Tests for module 'unicase/u16-is-lowercase'.
67397         * modules/unicase/u16-is-lowercase-tests: New file.
67398         * tests/unicase/test-u16-is-lowercase.c: New file.
67400         Tests for module 'unicase/u8-is-lowercase'.
67401         * modules/unicase/u8-is-lowercase-tests: New file.
67402         * tests/unicase/test-u8-is-lowercase.c: New file.
67403         * tests/unicase/test-is-lowercase.h: New file.
67405         New module 'unicase/u32-is-lowercase'.
67406         * lib/unicase/u32-is-lowercase.c: New file.
67407         * modules/unicase/u32-is-lowercase: New file.
67409         New module 'unicase/u16-is-lowercase'.
67410         * lib/unicase/u16-is-lowercase.c: New file.
67411         * modules/unicase/u16-is-lowercase: New file.
67413         New module 'unicase/u8-is-lowercase'.
67414         * lib/unicase/u8-is-lowercase.c: New file.
67415         * modules/unicase/u8-is-lowercase: New file.
67417         Tests for module 'unicase/u32-is-uppercase'.
67418         * modules/unicase/u32-is-uppercase-tests: New file.
67419         * tests/unicase/test-u32-is-uppercase.c: New file.
67421         Tests for module 'unicase/u16-is-uppercase'.
67422         * modules/unicase/u16-is-uppercase-tests: New file.
67423         * tests/unicase/test-u16-is-uppercase.c: New file.
67425         Tests for module 'unicase/u8-is-uppercase'.
67426         * modules/unicase/u8-is-uppercase-tests: New file.
67427         * tests/unicase/test-u8-is-uppercase.c: New file.
67428         * tests/unicase/test-is-uppercase.h: New file.
67430         New module 'unicase/u32-is-uppercase'.
67431         * lib/unicase/u32-is-uppercase.c: New file.
67432         * modules/unicase/u32-is-uppercase: New file.
67434         New module 'unicase/u16-is-uppercase'.
67435         * lib/unicase/u16-is-uppercase.c: New file.
67436         * modules/unicase/u16-is-uppercase: New file.
67438         New module 'unicase/u8-is-uppercase'.
67439         * lib/unicase/u8-is-uppercase.c: New file.
67440         * modules/unicase/u8-is-uppercase: New file.
67442         New module 'unicase/u32-is-invariant'.
67443         * lib/unicase/u32-is-invariant.c: New file.
67444         * modules/unicase/u32-is-invariant: New file.
67446         New module 'unicase/u16-is-invariant'.
67447         * lib/unicase/u16-is-invariant.c: New file.
67448         * modules/unicase/u16-is-invariant: New file.
67450         New module 'unicase/u8-is-invariant'.
67451         * lib/unicase/u8-is-invariant.c: New file.
67452         * lib/unicase/invariant.h: New file.
67453         * lib/unicase/u-is-invariant.h: New file.
67454         * modules/unicase/u8-is-invariant: New file.
67456         Tests for module 'unicase/u32-casecoll'.
67457         * modules/unicase/u32-casecoll-tests: New file.
67458         * tests/unicase/test-u32-casecoll.c: New file.
67460         Tests for module 'unicase/u16-casecoll'.
67461         * modules/unicase/u16-casecoll-tests: New file.
67462         * tests/unicase/test-u16-casecoll.c: New file.
67464         Tests for module 'unicase/u8-casecoll'.
67465         * modules/unicase/u8-casecoll-tests: New file.
67466         * tests/unicase/test-u8-casecoll.c: New file.
67468         New module 'unicase/u32-casecoll'.
67469         * lib/unicase/u32-casecoll.c: New file.
67470         * modules/unicase/u32-casecoll: New file.
67472         New module 'unicase/u16-casecoll'.
67473         * lib/unicase/u16-casecoll.c: New file.
67474         * modules/unicase/u16-casecoll: New file.
67476         New module 'unicase/u8-casecoll'.
67477         * lib/unicase/u8-casecoll.c: New file.
67478         * lib/unicase/u-casecoll.h: New file.
67479         * modules/unicase/u8-casecoll: New file.
67481         New module 'unicase/u32-casexfrm'.
67482         * lib/unicase/u32-casexfrm.c: New file.
67483         * modules/unicase/u32-casexfrm: New file.
67485         New module 'unicase/u16-casexfrm'.
67486         * lib/unicase/u16-casexfrm.c: New file.
67487         * modules/unicase/u16-casexfrm: New file.
67489         New module 'unicase/u8-casexfrm'.
67490         * lib/unicase/u8-casexfrm.c: New file.
67491         * lib/unicase/u-casexfrm.h: New file.
67492         * modules/unicase/u8-casexfrm: New file.
67494         Tests for module 'unicase/u32-casecmp'.
67495         * modules/unicase/u32-casecmp-tests: New file.
67496         * tests/unicase/test-u32-casecmp.c: New file.
67498         Tests for module 'unicase/u16-casecmp'.
67499         * modules/unicase/u16-casecmp-tests: New file.
67500         * tests/unicase/test-u16-casecmp.c: New file.
67502         Tests for module 'unicase/u8-casecmp'.
67503         * modules/unicase/u8-casecmp-tests: New file.
67504         * tests/unicase/test-u8-casecmp.c: New file.
67505         * tests/unicase/test-casecmp.h: New file.
67507         New module 'unicase/u32-casecmp'.
67508         * lib/unicase/u32-casecmp.c: New file.
67509         * modules/unicase/u32-casecmp: New file.
67511         New module 'unicase/u16-casecmp'.
67512         * lib/unicase/u16-casecmp.c: New file.
67513         * modules/unicase/u16-casecmp: New file.
67515         New module 'unicase/u8-casecmp'.
67516         * lib/unicase/u8-casecmp.c: New file.
67517         * lib/unicase/u-casecmp.h: New file.
67518         * modules/unicase/u8-casecmp: New file.
67520         Tests for module 'unicase/u32-casefold'.
67521         * modules/unicase/u32-casefold-tests: New file.
67522         * tests/unicase/test-u32-casefold.c: New file.
67524         Tests for module 'unicase/u16-casefold'.
67525         * modules/unicase/u16-casefold-tests: New file.
67526         * tests/unicase/test-u16-casefold.c: New file.
67528         Tests for module 'unicase/u8-casefold'.
67529         * modules/unicase/u8-casefold-tests: New file.
67530         * tests/unicase/test-u8-casefold.c: New file.
67532         New module 'unicase/u32-casefold'.
67533         * lib/unicase/u32-casefold.c: New file.
67534         * modules/unicase/u32-casefold: New file.
67536         New module 'unicase/u16-casefold'.
67537         * lib/unicase/u16-casefold.c: New file.
67538         * modules/unicase/u16-casefold: New file.
67540         New module 'unicase/u8-casefold'.
67541         * lib/unicase/u8-casefold.c: New file.
67542         * lib/unicase/u-casefold.h: New file.
67543         * modules/unicase/u8-casefold: New file.
67545         New module 'unicase/tocasefold'.
67546         * lib/unicase/casefold.h: New file.
67547         * lib/unicase/tocasefold.c: New file.
67548         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
67549         * modules/unicase/tocasefold: New file.
67551         Tests for module 'unicase/u32-totitle'.
67552         * modules/unicase/u32-totitle-tests: New file.
67553         * tests/unicase/test-u32-totitle.c: New file.
67555         Tests for module 'unicase/u16-totitle'.
67556         * modules/unicase/u16-totitle-tests: New file.
67557         * tests/unicase/test-u16-totitle.c: New file.
67559         Tests for module 'unicase/u8-totitle'.
67560         * modules/unicase/u8-totitle-tests: New file.
67561         * tests/unicase/test-u8-totitle.c: New file.
67563         New module 'unicase/u32-totitle'.
67564         * lib/unicase/u32-totitle.c: New file.
67565         * modules/unicase/u32-totitle: New file.
67567         New module 'unicase/u16-totitle'.
67568         * lib/unicase/u16-totitle.c: New file.
67569         * modules/unicase/u16-totitle: New file.
67571         New module 'unicase/u8-totitle'.
67572         * lib/unicase/u8-totitle.c: New file.
67573         * lib/unicase/u-totitle.h: New file.
67574         * modules/unicase/u8-totitle: New file.
67576         Tests for module 'unicase/u32-tolower'.
67577         * modules/unicase/u32-tolower-tests: New file.
67578         * tests/unicase/test-u32-tolower.c: New file.
67580         Tests for module 'unicase/u16-tolower'.
67581         * modules/unicase/u16-tolower-tests: New file.
67582         * tests/unicase/test-u16-tolower.c: New file.
67584         Tests for module 'unicase/u8-tolower'.
67585         * modules/unicase/u8-tolower-tests: New file.
67586         * tests/unicase/test-u8-tolower.c: New file.
67588         New module 'unicase/u32-tolower'.
67589         * lib/unicase/u32-tolower.c: New file.
67590         * modules/unicase/u32-tolower: New file.
67592         New module 'unicase/u16-tolower'.
67593         * lib/unicase/u16-tolower.c: New file.
67594         * modules/unicase/u16-tolower: New file.
67596         New module 'unicase/u8-tolower'.
67597         * lib/unicase/u8-tolower.c: New file.
67598         * modules/unicase/u8-tolower: New file.
67600         Tests for module 'unicase/u32-toupper'.
67601         * modules/unicase/u32-toupper-tests: New file.
67602         * tests/unicase/test-u32-toupper.c: New file.
67604         Tests for module 'unicase/u16-toupper'.
67605         * modules/unicase/u16-toupper-tests: New file.
67606         * tests/unicase/test-u16-toupper.c: New file.
67608         Tests for module 'unicase/u8-toupper'.
67609         * modules/unicase/u8-toupper-tests: New file.
67610         * tests/unicase/test-u8-toupper.c: New file.
67612         New module 'unicase/u32-toupper'.
67613         * lib/unicase/u32-toupper.c: New file.
67614         * modules/unicase/u32-toupper: New file.
67616         New module 'unicase/u16-toupper'.
67617         * lib/unicase/u16-toupper.c: New file.
67618         * modules/unicase/u16-toupper: New file.
67620         New module 'unicase/u8-toupper'.
67621         * lib/unicase/u8-toupper.c: New file.
67622         * modules/unicase/u8-toupper: New file.
67624         New module 'unicase/u32-casemap'.
67625         * lib/unicase/u32-casemap.c: New file.
67626         * modules/unicase/u32-casemap: New file.
67628         New module 'unicase/u16-casemap'.
67629         * lib/unicase/u16-casemap.c: New file.
67630         * modules/unicase/u16-casemap: New file.
67632         New module 'unicase/u8-casemap'.
67633         * lib/unicase/unicasemap.h: New file.
67634         * lib/unicase/u8-casemap.c: New file.
67635         * lib/unicase/u-casemap.h: New file.
67636         * modules/unicase/u8-casemap: New file.
67638         New module 'unicase/special-casing'.
67639         * lib/unicase/special-casing.h: New file.
67640         * lib/unicase/special-casing.c: New file.
67641         * lib/unicase/special-casing-table.gperf: New file, generated by
67642         gen-uni-tables.c.
67643         * modules/unicase/special-casing: New file.
67645         Tests for module 'unicase/locale-language'.
67646         * modules/unicase/locale-language-tests: New file.
67647         * tests/unicase/test-locale-language.sh: New file.
67648         * tests/unicase/test-locale-language.c: New file.
67650         New module 'unicase/locale-language'.
67651         * lib/unicase/locale-language.c: New file.
67652         * lib/unicase/locale-languages.gperf: New file.
67653         * modules/unicase/locale-language: New file.
67655         Generate more tables for case conversion and case folding.
67656         * lib/gen-uni-tables.c (SCC_*): New enum items.
67657         (struct special_casing_rule): New type.
67658         (casing_rules, num_casing_rules, allocated_casing_rules): New
67659         variables.
67660         (add_casing_rule, fill_casing_rules): New functions.
67661         (struct casefold_rule): New type.
67662         (casefolding_rules, num_casefolding_rules,
67663         allocated_casefolding_rules): New variables.
67664         (fill_casefolding_rules): New function.
67665         (unicode_casefold): New variable.
67666         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
67667         sort_casing_rules, output_casing_rules): New functions.
67668         (main): Accept to more arguments: SpecialCasing.txt and
67669         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
67670         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
67671         Output mapping for casefolding.
67673         * lib/unicase.h: Include stdbool.h, uninorm.h.
67674         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
67675         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
67676         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
67677         arguments.
67678         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
67679         resultp arguments.
67680         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
67681         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
67682         resultp arguments.
67683         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
67684         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
67685         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
67686         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
67687         declarations.
67688         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
67690 2009-03-08  Bruno Haible  <bruno@clisp.org>
67692         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
67693         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
67694         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
67695         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
67697 2009-03-07  Bruno Haible  <bruno@clisp.org>
67699         Adjust u*_normcmp, u*_normcoll API.
67700         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
67701         u16_normcoll, u32_normcoll): Change failure conventions.
67702         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
67703         errno and return -1.
67704         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
67706 2009-03-07  Bruno Haible  <bruno@clisp.org>
67708         Tests for module 'uninorm/u32-normcoll'.
67709         * modules/uninorm/u32-normcoll-tests: New file.
67710         * tests/uninorm/test-u32-normcoll.c: New file.
67712         Tests for module 'uninorm/u16-normcoll'.
67713         * modules/uninorm/u16-normcoll-tests: New file.
67714         * tests/uninorm/test-u16-normcoll.c: New file.
67716         Tests for module 'uninorm/u8-normcoll'.
67717         * modules/uninorm/u8-normcoll-tests: New file.
67718         * tests/uninorm/test-u8-normcoll.c: New file.
67720 2009-03-07  Bruno Haible  <bruno@clisp.org>
67722         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
67723         tests/uninorm/test-u32-normcmp.c.
67724         * tests/uninorm/test-u32-normcmp.c: Include it.
67725         (test_nonascii): New function, extracted from main. Add some more
67726         tests.
67727         (main): Invoke test_ascii and test_nonascii.
67728         * modules/uninorm/u32-normcmp-tests (Files): Add
67729         tests/uninorm/test-u32-normcmp.h.
67730         (Depends-on): Remove uninorm/u32-normcmp.
67732         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
67733         tests/uninorm/test-u16-normcmp.c.
67734         * tests/uninorm/test-u16-normcmp.c: Include it.
67735         (test_nonascii): New function, extracted from main. Add some more
67736         tests.
67737         (main): Invoke test_ascii and test_nonascii.
67738         * modules/uninorm/u16-normcmp-tests (Files): Add
67739         tests/uninorm/test-u16-normcmp.h.
67740         (Depends-on): Remove uninorm/u16-normcmp.
67742         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
67743         tests/uninorm/test-u8-normcmp.c.
67744         * tests/uninorm/test-u8-normcmp.c: Include it.
67745         (test_nonascii): New function, extracted from main. Add some more
67746         tests.
67747         (main): Invoke test_ascii and test_nonascii.
67748         * modules/uninorm/u8-normcmp-tests (Files): Add
67749         tests/uninorm/test-u8-normcmp.h.
67750         (Depends-on): Remove uninorm/u8-normcmp.
67752 2009-03-07  Bruno Haible  <bruno@clisp.org>
67754         New module 'uninorm/u32-normcoll'.
67755         * lib/uninorm/u32-normcoll.c: New file.
67756         * modules/uninorm/u32-normcoll: New file.
67758         New module 'uninorm/u16-normcoll'.
67759         * lib/uninorm/u16-normcoll.c: New file.
67760         * modules/uninorm/u16-normcoll: New file.
67762         New module 'uninorm/u8-normcoll'.
67763         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
67764         declarations.
67765         * lib/uninorm/u8-normcoll.c: New file.
67766         * lib/uninorm/u-normcoll.h: New file.
67767         * modules/uninorm/u8-normcoll: New file.
67769         New module 'uninorm/u32-normxfrm'.
67770         * lib/uninorm/u32-normxfrm.c: New file.
67771         * modules/uninorm/u32-normxfrm: New file.
67773         New module 'uninorm/u16-normxfrm'.
67774         * lib/uninorm/u16-normxfrm.c: New file.
67775         * modules/uninorm/u16-normxfrm: New file.
67777         New module 'uninorm/u8-normxfrm'.
67778         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
67779         declarations.
67780         * lib/uninorm/u8-normxfrm.c: New file.
67781         * lib/uninorm/u-normxfrm.h: New file.
67782         * modules/uninorm/u8-normxfrm: New file.
67784 2009-03-07  Bruno Haible  <bruno@clisp.org>
67786         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
67787         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
67788         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
67790 2009-03-07  Bruno Haible  <bruno@clisp.org>
67792         New module 'memxfrm'.
67793         * lib/memxfrm.h: New file.
67794         * lib/memxfrm.c: New file.
67795         * modules/memxfrm: New file.
67797 2009-03-07  Bruno Haible  <bruno@clisp.org>
67799         New module 'memcmp2'.
67800         * lib/memcmp2.h: New file.
67801         * lib/memcmp2.c: New file.
67802         * modules/memcmp2: New file.
67804 2009-03-07  Bruno Haible  <bruno@clisp.org>
67806         Tests for module 'uninorm/decomposing-form'.
67807         * modules/uninorm/decomposing-form-tests: New file.
67808         * tests/uninorm/test-decomposing-form.c: New file.
67810         New module 'uninorm/decomposing-form'.
67811         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
67812         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
67813         Add 'decomposing_variant' field.
67814         * lib/uninorm/decomposing-form.c: New file.
67815         * lib/uninorm/nfc.c (uninorm_nfc): Update.
67816         * lib/uninorm/nfd.c (uninorm_nfd): Update.
67817         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
67818         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
67819         * modules/uninorm/decomposing-form: New file.
67820         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
67821         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
67823 2009-03-07  Bruno Haible  <bruno@clisp.org>
67825         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
67826         strings.
67828 2009-03-06  Bruno Haible  <bruno@clisp.org>
67830         Tests for module 'uninorm/u32-normcmp'.
67831         * tests/uninorm/test-u32-normcmp.c: New file.
67832         * modules/uninorm/u32-normcmp-tests: New file.
67834         Tests for module 'uninorm/u16-normcmp'.
67835         * tests/uninorm/test-u16-normcmp.c: New file.
67836         * modules/uninorm/u16-normcmp-tests: New file.
67838         Tests for module 'uninorm/u8-normcmp'.
67839         * tests/uninorm/test-u8-normcmp.c: New file.
67840         * modules/uninorm/u8-normcmp-tests: New file.
67842         New module 'uninorm/u32-normcmp'.
67843         * lib/uninorm/u32-normcmp.c: New file.
67844         * modules/uninorm/u32-normcmp: New file.
67846         New module 'uninorm/u16-normcmp'.
67847         * lib/uninorm/u16-normcmp.c: New file.
67848         * modules/uninorm/u16-normcmp: New file.
67850         New module 'uninorm/u8-normcmp'.
67851         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
67852         declarations.
67853         * lib/uninorm/u8-normcmp.c: New file.
67854         * lib/uninorm/u-normcmp.h: New file.
67855         * modules/uninorm/u8-normcmp: New file.
67857 2009-03-06  Bruno Haible  <bruno@clisp.org>
67859         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
67860         Reported by Eric Blake.
67862 2009-03-06  Eric Blake  <ebb9@byu.net>
67863             Bruno Haible  <bruno@clisp.org>
67865         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
67866         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
67867         condition.
67868         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
67869         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
67870         condition.
67871         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
67873 2009-03-06  Eric Blake  <ebb9@byu.net>
67875         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
67876         to avoid compiler warnings.
67877         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
67879 2009-03-05  Bruno Haible  <bruno@clisp.org>
67881         * tests/test-ftell.c (main): Disable test beyond end of file on
67882         FreeMiNT.
67883         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
67885 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
67887         * lib/filevercmp.c: Move hidden files up in ordering.
67888         * tests/test-filevercmp.c: Add tests for hidden files.
67890 2009-03-04  Bruno Haible  <bruno@clisp.org>
67892         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
67893         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
67894         AM_CFLAGS.
67895         Reported by Simon Josefsson.
67897 2009-03-03  Bruno Haible  <bruno@clisp.org>
67899         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
67900         Reported by Simon Josefsson.
67902         * doc/ld-version-script.texi: Update node reference.
67904 2009-03-03  Bruno Haible  <bruno@clisp.org>
67906         * modules/visibility (License): Change to 'unlimited'.
67907         Suggested by Simon Josefsson.
67909 2009-03-03  Jim Meyering  <meyering@redhat.com>
67911         unlinkdir: cannot_unlink_dir may modify process state
67912         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
67913         it's neither thread-safe nor appropriate for use in a library.
67915 2009-03-03  Eric Blake  <ebb9@byu.net>
67917         test-closein: silence test under Darwin
67918         * tests/test-closein.sh: Ignore stderr from cat, since we don't
67919         care if it dies from EPIPE or EBADF.
67921 2009-03-03  Bruno Haible  <bruno@clisp.org>
67923         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
67924         earlier.
67925         * doc/visibility.texi: Fix @node and @section.
67927 2009-03-03  Simon Josefsson  <simon@josefsson.org>
67929         * doc/gnulib.texi: Link to sections for ld version script and
67930         visibility.
67931         * doc/visibility.texi: Add @node and @section.
67932         * modules/ld-version-script: New module.
67933         * m4/ld-version-script.m4: New file.
67934         * doc/ld-version-script.texi: New file.
67936 2009-03-02  David Lutterkort  <lutter@redhat.com>
67938         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
67939         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
67941 2009-03-02  Bruno Haible  <bruno@clisp.org>
67943         * doc/visibility.texi: Mention libtool's -export-symbols option.
67945 2009-03-02  Jim Meyering  <meyering@redhat.com>
67947         announce-gen: new option: --no-print-checksums
67948         * build-aux/announce-gen (usage): Describe it.
67949         (print_checksums): Print a newline here, not in the [*] footnote.
67950         (main): Honor it.
67952 2009-03-01  Bruno Haible  <bruno@clisp.org>
67954         Use socklen_t in the native Windows replacements prototypes.
67955         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
67956         instead of 'int'.
67957         * lib/getsockopt.c (rpl_getsockopt): Likewise.
67958         * lib/setsockopt.c (rpl_setsockopt): Likewise.
67959         * modules/getsockopt (Depends-on): Add socklen.
67960         * modules/setsockopt (Depends-on): Add socklen.
67962 2009-03-01  Bruno Haible  <bruno@clisp.org>
67964         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
67965         least 4.2.
67967 2009-03-01  Eric Blake  <ebb9@byu.net>
67968             Bruno Haible  <bruno@clisp.org>
67970         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
67971         error messages.
67972         * lib/wait-process.c (wait_subprocess): Omit error message about
67973         deadly signal sent to the child of termsigp != NULL.
67975 2009-03-01  Eric Blake  <ebb9@byu.net>
67977         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
67979 2009-03-01  Bruno Haible  <bruno@clisp.org>
67981         Avoid a gcc warning.
67982         * tests/test-sched.c (b): Make global.
67983         Reported by Eric Blake.
67985 2009-01-19  Martin Lambers  <marlam@marlam.de>
67987         Provide POSIX semantics for socket timeout options on W32.
67988         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
67989         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
67990         * modules/setsockopt: Depend on sys_time module for struct timeval.
67991         * modules/getsockopt: Depend on sys_time module for struct timeval.
67993 2009-03-01  Simon Josefsson  <simon@josefsson.org>
67995         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
67996         __USE_GNU, for consistency with netdb.in.h.
67997         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
67999 2009-03-01  Bruno Haible  <bruno@clisp.org>
68001         More support for FreeMiNT.
68002         * lib/fseeko.c (rpl_fseeko): Complete last commit.
68003         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
68005 2009-03-01  Bruno Haible  <bruno@clisp.org>
68007         More support for FreeMiNT.
68008         * lib/fpurge.c (fpurge): Correct last commit.
68009         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
68011 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68013         Fix unportable awk script in vc-list-files.
68014         * build-aux/vc-list-files: In the replacement awk script, use
68015         substr with a second argument of 1, not zero.
68016         Report by Simon Josefsson.
68018 2009-02-28  Bruno Haible  <bruno@clisp.org>
68020         More support for FreeMiNT.
68021         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
68022         to FreeMiNT today.
68023         * lib/fwriting.c (fwriting): Likewise.
68024         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
68026 2009-02-28  Bruno Haible  <bruno@clisp.org>
68028         * tests/test-freadseek.c (main): Disable test beyond end of file on
68029         FreeMiNT.
68030         * tests/test-ftello.c (main): Likewise.
68031         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
68033 2009-02-28  Bruno Haible  <bruno@clisp.org>
68035         Add tentative support for FreeMiNT.
68036         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
68037         * lib/fpurge.c (fpurge): Likewise.
68038         * lib/freadable.c (freadable): Likewise.
68039         * lib/freading.c (freading): Likewise.
68040         * lib/freadptr.c (freadptr): Likewise.
68041         * lib/freadseek.c (freadptrinc): Likewise.
68042         * lib/fseeko.c (rpl_fseeko): Likewise.
68043         * lib/fseterr.c (fseterr): Likewise.
68044         * lib/fwritable.c (fwritable): Likewise.
68045         * lib/fwriting.c (fwriting): Likewise.
68046         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
68047         Hourihane.
68048         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
68050 2009-02-28  Bruno Haible  <bruno@clisp.org>
68052         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
68053         SIGCHLD.
68054         Reported by Jim Meyering.
68056 2009-02-28  Bruno Haible  <bruno@clisp.org>
68058         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
68059         Mention the results of these tests on various platforms.
68060         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
68061         order.
68062         * doc/posix-functions/printf.texi: Likewise.
68063         * doc/posix-functions/snprintf.texi: Likewise.
68064         * doc/posix-functions/sprintf.texi: Likewise.
68065         * doc/posix-functions/vfprintf.texi: Likewise.
68066         * doc/posix-functions/vprintf.texi: Likewise.
68067         * doc/posix-functions/vsnprintf.texi: Likewise.
68068         * doc/posix-functions/vsprintf.texi: Likewise.
68069         * doc/glibc-functions/obstack_printf.texi: Likewise.
68070         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
68072 2009-02-28  Bruno Haible  <bruno@clisp.org>
68074         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
68075         Reported by Loïc Minier <lool@dooz.org>.
68077 2009-02-27  Bruno Haible  <bruno@clisp.org>
68079         * gnulib-tool (func_import): Make the sed expression used to create the
68080         sed script for updating the .gitignore file POSIX compliant.
68081         Reported by Eric Blake.
68083 2009-02-27  Bruno Haible  <bruno@clisp.org>
68085         * gnulib-tool (sed): Don't alias as "sed --posix".
68086         Reported by Eric Blake.
68088 2009-02-27  Bruno Haible  <bruno@clisp.org>
68090         Avoid test link errors.
68091         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
68092         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
68093         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
68094         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
68095         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
68097 2009-02-27  Bruno Haible  <bruno@clisp.org>
68099         Avoid spurious "(cached)" in configure output.
68100         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
68101         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
68102         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
68103         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
68104         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
68105         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
68106         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
68107         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
68108         Reported by Eric Blake.
68110 2009-02-27  Eric Blake  <ebb9@byu.net>
68112         printf: fix regression in previous patch
68113         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
68115 2009-02-27  Bruno Haible  <bruno@clisp.org>
68117         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
68118         value.
68119         * lib/stdint.in.h: Likewise.
68120         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
68122 2009-02-27  Eric Blake  <ebb9@byu.net>
68124         doc: mention more functions added in cygwin 1.7.0
68125         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
68126         addition.
68127         * doc/posix-functions/open_wmemstream.texi: Likewise.
68128         * doc/posix-functions/wcsnlen.texi: Likewise.
68129         * doc/posix-functions/wcsnrtombs.texi: Likewise.
68130         * doc/posix-functions/wcstod.texi: Likewise.
68131         * doc/posix-functions/wcstof.texi: Likewise.
68132         * doc/posix-functions/wcstoimax.texi: Likewise.
68133         * doc/posix-functions/wcstok.texi: Likewise.
68134         * doc/posix-functions/wcstoumax.texi: Likewise.
68136         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
68137         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
68138         * doc/posix-functions/fprintf.texi: Update.
68139         * doc/posix-functions/printf.texi: Update.
68140         * doc/posix-functions/snprintf.texi: Update.
68141         * doc/posix-functions/sprintf.texi: Update.
68142         * doc/posix-functions/vfprintf.texi: Update.
68143         * doc/posix-functions/vprintf.texi: Update.
68144         * doc/posix-functions/vsnprintf.texi: Update.
68145         * doc/posix-functions/vsprintf.texi: Update.
68146         * doc/glibc-functions/obstack_printf.texi: Update.
68147         * doc/glibc-functions/obstack_vprintf.texi: Update.
68149 2009-02-26  Eric Blake  <ebb9@byu.net>
68151         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
68152         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
68153         compilation bug by using runtime conversion.
68154         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
68155         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
68156         * modules/ceill-tests (Files): Use nan.h.
68157         * modules/floorl-tests (Files): Likewise.
68158         * modules/frexpl-tests (Files): Likewise.
68159         * modules/isnanl-tests (Files): Likewise.
68160         * modules/ldexpl-tests (Files): Likewise.
68161         * modules/roundl-tests (Files): Likewise.
68162         * modules/truncl-tests (Files): Likewise.
68163         * tests/test-ceill.c (main): Use a working NaN.
68164         * tests/test-floorl.c (main): Likewise.
68165         * tests/test-frexpl.c (main): Likewise.
68166         * tests/test-isnan.c (test_long_double): Likewise.
68167         * tests/test-isnanl.h (main): Likewise.
68168         * tests/test-ldexpl.h (main): Likewise.
68169         * tests/test-roundl.h (main): Likewise.
68170         * tests/test-truncl.h (main): Likewise.
68171         See http://lists.gnu.org/r/bug-gnulib/2009-02/msg00190.html.
68173 2009-02-26  Eric Blake  <ebb9@byu.net>
68174             Bruno Haible  <bruno@clisp.org>
68176         Work around a *printf bug with %ls on Solaris.
68177         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
68178         precision is specified, sprintf stops converting the wide string
68179         argument when the number of bytes that have been produced by this
68180         conversion equals or exceeds the precision.
68181         * doc/posix-functions/fprintf.texi: Update.
68182         * doc/posix-functions/printf.texi: Update.
68183         * doc/posix-functions/snprintf.texi: Update.
68184         * doc/posix-functions/sprintf.texi: Update.
68185         * doc/posix-functions/vfprintf.texi: Update.
68186         * doc/posix-functions/vprintf.texi: Update.
68187         * doc/posix-functions/vsnprintf.texi: Update.
68188         * doc/posix-functions/vsprintf.texi: Update.
68189         * doc/glibc-functions/obstack_printf.texi: Update.
68190         * doc/glibc-functions/obstack_vprintf.texi: Update.
68192 2009-02-26  Eric Blake  <ebb9@byu.net>
68194         stdlib: favor compiler check of random.h
68195         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
68196         to avoid an ObjC random.h installed by Swarm.
68198 2009-02-26  Bruno Haible  <bruno@clisp.org>
68200         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
68201         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
68202         Reported by Gary V. Vaughan <gary@gnu.org>.
68204 2009-02-26  Bruno Haible  <bruno@clisp.org>
68206         Fix *printf behaviour regarding the %ls directive.
68207         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
68208         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
68209         NEED_PRINTF_DIRECTIVE_LS.
68210         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
68211         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
68212         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
68213         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
68214         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
68215         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
68216         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
68217         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
68218         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
68219         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
68220         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
68221         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
68222         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
68223         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
68224         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
68225         * doc/posix-functions/fprintf.texi: Update.
68226         * doc/posix-functions/printf.texi: Update.
68227         * doc/posix-functions/snprintf.texi: Update.
68228         * doc/posix-functions/sprintf.texi: Update.
68229         * doc/posix-functions/vfprintf.texi: Update.
68230         * doc/posix-functions/vprintf.texi: Update.
68231         * doc/posix-functions/vsnprintf.texi: Update.
68232         * doc/posix-functions/vsprintf.texi: Update.
68233         * doc/glibc-functions/obstack_printf.texi: Update.
68234         * doc/glibc-functions/obstack_vprintf.texi: Update.
68235         Reported by Eric Blake.
68237 2009-02-25  Bruno Haible  <bruno@clisp.org>
68239         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
68240         with known value.
68241         Reported by Gary V. Vaughan <gary@gnu.org>.
68243 2009-02-25  Bruno Haible  <bruno@clisp.org>
68245         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
68246         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
68247         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
68248         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
68249         Reported by Gary V. Vaughan <gary@gnu.org>.
68251 2009-02-25  Bruno Haible  <bruno@clisp.org>
68253         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
68254         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
68255         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
68256         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
68257         Reported by Gary V. Vaughan <gary@gnu.org>.
68259 2009-02-25  Eric Blake  <ebb9@byu.net>
68261         tests: skip fseek/ftell tests if ungetc is broken
68262         * m4/ungetc.m4: New file.
68263         * modules/fseek-tests: Split test, so ungetc dependency is
68264         separate from rest of test.
68265         * modules/fseeko-tests: Likewise.
68266         * modules/ftell-tests: Likewise.
68267         * modules/ftello-tests: Likewise.
68268         * tests/test-fseek.c (main): Isolate ungetc dependency.
68269         * tests/test-fseeko.c (main): Likewise.
68270         * tests/test-ftell.c (main): Likewise.
68271         * tests/test-ftello.c (main): Likewise.
68272         * tests/test-fseek2.sh: New file.
68273         * tests/test-fseeko2.sh: Likewise.
68274         * tests/test-ftell2.sh: Likewise.
68275         * tests/test-ftello2.sh: Likewise.
68277 2009-02-25  Ondřej Vašík  <ovasik@redhat.com>
68279         test-getaddrinfo: fix usage of skip return code 77
68280         * tests/test-gettaddrinfo.c: Return skip code 77 only
68281         for first occurrence of skip (4x77 is not 77)
68283 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
68285         strtod: avoid C99 decl-after-statement
68286         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
68288 2009-02-24  Eric Blake  <ebb9@byu.net>
68290         strtod: detect HP-UX 11.31 bug
68291         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
68292         Reported by Gary V. Vaughan.
68294 2009-02-23  Bruno Haible  <bruno@clisp.org>
68296         Fix invalid read past end of memory block.
68297         * lib/vasnprintf.c (DCHAR_SET): Define.
68298         (local_wcslen): Define only when needed.
68299         (local_strnlen, local_wcsnlen): New functions.
68300         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
68301         directives that involve a conversion ourselves.
68302         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
68303         wcsnlen, mbrtowc, wcrtomb.
68304         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
68305         * tests/test-vasprintf-posix.c (test_function): Likewise.
68306         * tests/test-snprintf-posix.h (test_function): Likewise.
68307         * tests/test-sprintf-posix.h (test_function): Likewise.
68308         Reported by Ben Pfaff <blp@cs.stanford.edu>.
68310 2009-02-22  Bruno Haible  <bruno@clisp.org>
68312         Implement new clarified decomposition of Hangul syllables.
68313         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
68314         of type LTV, return only a pairwise decomposition.
68315         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
68316         Likewise.
68317         * tests/uninorm/test-decomposition.c (main): Updated expected result.
68318         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
68319         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
68321 2009-02-22  Bruno Haible  <bruno@clisp.org>
68323         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
68324         zero-length results and shrink excess allocated memory.
68325         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
68326         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
68327         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
68328         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
68329         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
68330         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
68331         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
68332         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
68333         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
68334         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
68335         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
68336         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
68338 2009-02-21  Bruno Haible  <bruno@clisp.org>
68340         * doc/gnulib.texi: Include safe-alloc.texi earlier.
68341         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
68342         spaces after a period. Put a space between a macro name and its
68343         argument list. Trivial rewordings.
68344         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
68345         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
68346         (main): Return 0 explicitly.
68348 2009-02-21  Bruno Haible  <bruno@clisp.org>
68350         Tests for module 'uninorm/filter'.
68351         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
68352         * modules/uninorm/filter-tests: New file.
68354         New module 'uninorm/filter'.
68355         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
68356         uninorm_filter_flush, uninorm_filter_free): New declarations.
68357         * lib/uninorm/uninorm-filter.c: New file.
68358         * modules/uninorm/filter: New file.
68360 2009-02-21  Bruno Haible  <bruno@clisp.org>
68362         Tests for module 'uninorm/nfkc'.
68363         * tests/uninorm/test-nfkc.c: New file.
68364         * tests/uninorm/test-u8-nfkc.c: New file.
68365         * tests/uninorm/test-u16-nfkc.c: New file.
68366         * tests/uninorm/test-u32-nfkc.c: New file.
68367         * tests/uninorm/test-u32-nfkc-big.sh: New file.
68368         * tests/uninorm/test-u32-nfkc-big.c: New file.
68369         * modules/uninorm/nfkc-tests: New file.
68371         New module 'uninorm/nfkc'.
68372         * lib/uninorm/nfkc.c: New file.
68373         * modules/uninorm/nfkc: New file.
68375         Tests for module 'uninorm/nfkd'.
68376         * tests/uninorm/test-nfkd.c: New file.
68377         * tests/uninorm/test-u8-nfkd.c: New file.
68378         * tests/uninorm/test-u16-nfkd.c: New file.
68379         * tests/uninorm/test-u32-nfkd.c: New file.
68380         * tests/uninorm/test-u32-nfkd-big.sh: New file.
68381         * tests/uninorm/test-u32-nfkd-big.c: New file.
68382         * modules/uninorm/nfkd-tests: New file.
68384         New module 'uninorm/nfkd'.
68385         * lib/uninorm/nfkd.c: New file.
68386         * modules/uninorm/nfkd: New file.
68388         Tests for module 'uninorm/nfc'.
68389         * tests/uninorm/test-nfc.c: New file.
68390         * tests/uninorm/test-u8-nfc.c: New file.
68391         * tests/uninorm/test-u16-nfc.c: New file.
68392         * tests/uninorm/test-u32-nfc.c: New file.
68393         * tests/uninorm/test-u32-nfc-big.sh: New file.
68394         * tests/uninorm/test-u32-nfc-big.c: New file.
68395         * modules/uninorm/nfc-tests: New file.
68397         New module 'uninorm/nfc'.
68398         * lib/uninorm/nfc.c: New file.
68399         * modules/uninorm/nfc: New file.
68401         Tests for module 'uninorm/nfd'.
68402         * tests/uninorm/test-nfd.c: New file.
68403         * tests/uninorm/test-u8-nfd.c: New file.
68404         * tests/uninorm/test-u16-nfd.c: New file.
68405         * tests/uninorm/test-u32-nfd.c: New file.
68406         * tests/uninorm/test-u32-nfd-big.sh: New file.
68407         * tests/uninorm/test-u32-nfd-big.c: New file.
68408         * tests/uninorm/test-u32-normalize-big.h: New file.
68409         * tests/uninorm/test-u32-normalize-big.c: New file.
68410         * tests/uninorm/NormalizationTest.txt: New file, created from
68411         Unicode 5.1.0 NormalizationTest.txt.
68412         * modules/uninorm/nfd-tests: New file.
68414         New module 'uninorm/nfd'.
68415         * lib/uninorm/nfd.c: New file.
68416         * modules/uninorm/nfd: New file.
68418         New module 'uninorm/u32-normalize'.
68419         * lib/uninorm/u32-normalize.c: New file.
68420         * modules/uninorm/u32-normalize: New file.
68422         New module 'uninorm/u16-normalize'.
68423         * lib/uninorm/u16-normalize.c: New file.
68424         * modules/uninorm/u16-normalize: New file.
68426         New module 'uninorm/u8-normalize'.
68427         * lib/uninorm/u8-normalize.c: New file.
68428         * lib/uninorm/normalize-internal.h: New file.
68429         * lib/uninorm/u-normalize-internal.h: New file.
68430         * modules/uninorm/u8-normalize: New file.
68432         New module 'uninorm/decompose-internal'.
68433         * lib/uninorm/decompose-internal.c: New file.
68434         * modules/uninorm/decompose-internal: New file.
68436         Tests for module 'uninorm/composition'.
68437         * tests/uninorm/test-composition.c: New file.
68438         * modules/uninorm/composition-tests: New file.
68440         New module 'uninorm/composition'.
68441         * lib/uninorm/composition.c: New file.
68442         * lib/uninorm/composition-table.gperf: New file, generated by
68443         gen-uni-tables.
68444         * modules/uninorm/composition: New file.
68446         Tests for module 'uninorm/compat-decomposition'.
68447         * tests/uninorm/test-compat-decomposition.c: New file.
68448         * modules/uninorm/compat-decomposition-tests: New file.
68450         New module 'uninorm/compat-decomposition'.
68451         * lib/uninorm/decompose-internal.h: New file.
68452         * lib/uninorm/compat-decomposition.c: New file.
68453         * modules/uninorm/compat-decomposition: New file.
68455         Tests for module 'uninorm/canonical-decomposition'.
68456         * tests/uninorm/test-canonical-decomposition.c: New file.
68457         * modules/uninorm/canonical-decomposition-tests: New file.
68459         New module 'uninorm/canonical-decomposition'.
68460         * lib/uninorm/canonical-decomposition.c: New file.
68461         * modules/uninorm/canonical-decomposition: New file.
68463         Tests for module 'uninorm/decomposition'.
68464         * tests/uninorm/test-decomposition.c: New file.
68465         * modules/uninorm/decomposition-tests: New file.
68467         New module 'uninorm/decomposition'.
68468         * lib/uninorm/decomposition.c: New file.
68469         * modules/uninorm/decomposition: New file.
68471         New module 'uninorm/decomposition-table'.
68472         * lib/uninorm/decomposition-table.h: New file.
68473         * lib/uninorm/decomposition-table.c: New file.
68474         * lib/uninorm/decomposition-table1.h: New file, generated by
68475         gen-uni-tables.
68476         * lib/uninorm/decomposition-table2.h: New file, generated by
68477         gen-uni-tables.
68478         * modules/uninorm/decomposition-table: New file.
68480         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
68481         (UC_DECOMP_*): New enumeration items.
68482         (get_decomposition): New function.
68483         (struct decomp_table): New type.
68484         (output_decomposition, output_decomposition_tables): New functions.
68485         (unicode_composition_exclusions): New variable.
68486         (fill_composition_exclusions, debug_output_composition_tables): New
68487         functions.
68488         (main): Accept one more argument. Invoke fill_composition_exclusions.
68489         Output decomposition and composition tables.
68491         New module 'uninorm/base'.
68492         * lib/uninorm.h: New file.
68493         * lib/unictype.h: Update comment.
68494         * modules/uninorm/base: New file.
68496 2009-02-21  David Lutterkort  <lutter@redhat.com>
68498         Tests for module 'safe-alloc'.
68499         * tests/test-safe-alloc.c: New file.
68500         * modules/safe-alloc-tests: New file.
68502         New module 'safe-alloc'.
68503         * lib/safe-alloc.h: New file.
68504         * lib/safe-alloc.c: New file.
68505         * m4/safe-alloc.m4: New file.
68506         * modules/safe-alloc: New file.
68507         * doc/safe-alloc.texi: New file.
68508         * doc/gnulib.texi: Include it.
68509         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
68510         safe-alloc.
68512 2009-02-18  Bruno Haible  <bruno@clisp.org>
68514         Fix link error on non-glibc systems.
68515         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
68516         variable.
68517         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
68519 2009-02-18  Jim Meyering  <meyering@redhat.com>
68521         fts: avoid used-uninitialized error due to recent change
68522         * lib/fts.c (fts_read): Guard uses of the new member,
68523         parent->fts_n_dirs_remaining, since it's not relevant for
68524         the parent of a directory specified on the command-line.
68526 2009-02-17  James Youngman  <jay@gnu.org>
68527             Bruno Haible  <bruno@clisp.org>
68529         * m4/include_next.m4: Reformulate comment.
68531 2009-02-16  Jim Meyering  <meyering@redhat.com>
68533         fts: add #if guards so that the fts_lgpl module still builds
68534         * lib/fts.c: Guard just-added hash-table-using parts with
68535         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
68536         Reported by Simon Josefsson.
68538 2009-02-15  Bruno Haible  <bruno@clisp.org>
68540         * modules/array-mergesort-tests: New file.
68541         * tests/test-array-mergesort.c: New file.
68543         New module 'array-mergesort'.
68544         * modules/array-mergesort: New file.
68545         * lib/array-mergesort.h: New file.
68547 2009-02-15  Bruno Haible  <bruno@clisp.org>
68549         Fix 2009-02-07 commit.
68550         * lib/gen-uni-tables.c (output_predicate, output_category,
68551         output_combclass, output_bidi_category, output_decimal_digit,
68552         output_digit, output_numeric, output_mirror, output_scripts,
68553         output_ident_category, output_simple_mapping): Fix format directives.
68554         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
68556 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
68558         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
68559         fixes are available from IBM.
68561 2009-02-13  Jim Meyering  <meyering@redhat.com>
68563         fts: arrange not to stat non-directories in more cases
68564         This makes GNU find (when it doesn't need to stat each file)
68565         *much* more efficient at traversing reiserfs file systems.
68566         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
68567         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
68568         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
68569         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
68570         (leaf_optimization_applies): New function.
68571         (LCO_hash, LCO_compare): New helper functions.
68572         (link_count_optimize_ok): New function.
68573         (fts_stat): Initialize new member (if dir).
68574         (fts_read): Decrement parent's fts_n_dirs_remaining count if
68575         we've just stat'ed a directory.  Skip the stat call when possible.
68576         ---
68577         Note this AFS-related exchange:
68578         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
68579         and note find's pioctl call in find/fstype.c.
68580         But that is necessary only if you want to enable the
68581         optimization for AFS, and for now, I don't.
68583         fts: move a function definition "up" (no semantic change)
68584         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
68585         "up" to precede upcoming use of a related function.
68587 2009-02-11  Jim Meyering  <meyering@redhat.com>
68589         fts: correct internal computation of nlinks (optimization-related)
68590         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
68591         whether the current entry is a directory, so don't test it.
68593 2009-02-10  Bruno Haible  <bruno@clisp.org>
68595         Tests for module 'uniwbrk/ulc-wordbreaks'.
68596         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
68597         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
68598         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
68600         Tests for module 'uniwbrk/u32-wordbreaks'.
68601         * modules/uniwbrk/u32-wordbreaks-tests: New file.
68602         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
68604         Tests for module 'uniwbrk/u16-wordbreaks'.
68605         * modules/uniwbrk/u16-wordbreaks-tests: New file.
68606         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
68608         Tests for module 'uniwbrk/u8-wordbreaks'.
68609         * modules/uniwbrk/u8-wordbreaks-tests: New file.
68610         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
68612 2009-02-10  Bruno Haible  <bruno@clisp.org>
68614         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
68615         property.
68616         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
68617         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
68618         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
68620 2009-02-10  Simon Josefsson  <simon@josefsson.org>
68622         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
68623         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
68625 2009-02-10  Bruno Haible  <bruno@clisp.org>
68627         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
68628         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
68629         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
68630         * lib/unilbrk/u8-possible-linebreaks.c: Update.
68631         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
68632         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
68634 2009-02-09  Simon Josefsson  <simon@josefsson.org>
68636         * lib/sockets.h (gl_fd_to_handle): New function.
68638         * tests/test-sockets.c: Call gl_fd_to_handle.
68640 2009-02-09  Bruno Haible  <bruno@clisp.org>
68642         * doc/havelib.texi: Document the conventions on bi-arch systems.
68644 2009-02-08  Bruno Haible  <bruno@clisp.org>
68646         Document the AC_LIB_LINKFLAGS macro.
68647         * doc/havelib.texi: New file, mostly written on 2005-05-24.
68648         * doc/gnulib.texi: Include it.
68650 2009-02-08  Bruno Haible  <bruno@clisp.org>
68652         Fix wrong order of sections, compared to TOC.
68653         * doc/gnulib.texi: Include relocatable-maint.texi after the
68654         "Regular expressions" node, not before.
68656 2009-02-08  Bruno Haible  <bruno@clisp.org>
68658         Tests for module 'unicase/totitle'.
68659         * modules/unicase/totitle-tests: New file.
68661         Tests for module 'unicase/tolower'.
68662         * modules/unicase/tolower-tests: New file.
68664         Tests for module 'unicase/toupper'.
68665         * modules/unicase/toupper-tests: New file.
68666         * tests/unicase/test-mapping-part1.h: New file.
68667         * tests/unicase/test-mapping-part2.h: New file.
68669         New module 'unicase/totitle'.
68670         * modules/unicase/totitle: New file.
68671         * lib/unicase/totitle.c: New file.
68673         New module 'unicase/tolower'.
68674         * modules/unicase/tolower: New file.
68675         * lib/unicase/tolower.c: New file.
68677         New module 'unicase/toupper'.
68678         * modules/unicase/toupper: New file.
68679         * lib/unicase/toupper.c: New file.
68680         * lib/unicase/simple-mapping.h: New file.
68682         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
68683         (mapping_table): New structure.
68684         (output_simple_mapping): New function.
68685         (main): Invoke output_simple_mapping_test and output_simple_mapping.
68686         * modules/gen-uni-tables (Description): Update.
68687         * lib/unicase/toupper.h: New file, automatically generated by
68688         gen-uni-tables.
68689         * lib/unicase/tolower.h: New file, automatically generated by
68690         gen-uni-tables.
68691         * lib/unicase/totitle.h: New file, automatically generated by
68692         gen-uni-tables.
68693         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
68694         gen-uni-tables.
68695         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
68696         gen-uni-tables.
68697         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
68698         gen-uni-tables.
68700         New module 'unicase/base'.
68701         * modules/unicase/base: New file.
68702         * lib/unicase.h: New file.
68704 2009-02-08  Bruno Haible  <bruno@clisp.org>
68706         New module 'uniwbrk/ulc-wordbreaks'.
68707         * modules/uniwbrk/ulc-wordbreaks: New file.
68708         * lib/uniwbrk/ulc-wordbreaks.c: New file.
68710         New module 'uniwbrk/u32-wordbreaks'.
68711         * modules/uniwbrk/u32-wordbreaks: New file.
68712         * lib/uniwbrk/u32-wordbreaks.c: New file.
68714         New module 'uniwbrk/u16-wordbreaks'.
68715         * modules/uniwbrk/u16-wordbreaks: New file.
68716         * lib/uniwbrk/u16-wordbreaks.c: New file.
68718         New module 'uniwbrk/u8-wordbreaks'.
68719         * modules/uniwbrk/u8-wordbreaks: New file.
68720         * lib/uniwbrk/u8-wordbreaks.c: New file.
68721         * lib/uniwbrk/u-wordbreaks.h: New file.
68723         New module 'uniwbrk/table'.
68724         * modules/uniwbrk/table: New file.
68725         * lib/uniwbrk/wbrktable.h: New file.
68726         * lib/uniwbrk/wbrktable.c: New file.
68728         New module 'uniwbrk/wordbreak-property'.
68729         * modules/uniwbrk/wordbreak-property: New file.
68730         * lib/uniwbrk/wordbreak-property.c: New file.
68732         * lib/gen-uni-tables.c (WBP_*): New enum items.
68733         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
68734         (unicode_org_wbp): New variable.
68735         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
68736         New functions.
68737         (wbp_table): New structure.
68738         (output_wbp, output_wbrk_tables): New functions.
68739         (main): Accept additional argument. Invoke fill_org_wbp,
68740         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
68741         output_wbrk_tables.
68742         * modules/gen-uni-tables (Description): Update.
68743         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
68744         gen-uni-tables.
68746         New module 'uniwbrk/base'.
68747         * modules/uniwbrk/base: New file.
68748         * lib/uniwbrk.h: New file.
68750 2009-02-08  Bruno Haible  <bruno@clisp.org>
68752         Update to Unicode 5.1.0.
68753         * lib/gen-uni-tables.c (is_property_alphabetic): Include
68754         U+2185..U+2188.
68755         (is_property_default_ignorable_code_point): Don't include characters
68756         of category Cc or Cs and not-a-characters.
68757         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
68758         U+0D79, U+109E, U+109F, U+A60C.
68759         * lib/unictype/bidi_of.h: Regenerated.
68760         * lib/unictype/blocks.h: Regenerated.
68761         * lib/unictype/categ_C.h: Regenerated.
68762         * lib/unictype/categ_Cf.h: Regenerated.
68763         * lib/unictype/categ_Cn.h: Regenerated.
68764         * lib/unictype/categ_L.h: Regenerated.
68765         * lib/unictype/categ_Ll.h: Regenerated.
68766         * lib/unictype/categ_Lm.h: Regenerated.
68767         * lib/unictype/categ_Lo.h: Regenerated.
68768         * lib/unictype/categ_Lu.h: Regenerated.
68769         * lib/unictype/categ_M.h: Regenerated.
68770         * lib/unictype/categ_Mc.h: Regenerated.
68771         * lib/unictype/categ_Me.h: Regenerated.
68772         * lib/unictype/categ_Mn.h: Regenerated.
68773         * lib/unictype/categ_N.h: Regenerated.
68774         * lib/unictype/categ_Nd.h: Regenerated.
68775         * lib/unictype/categ_Nl.h: Regenerated.
68776         * lib/unictype/categ_No.h: Regenerated.
68777         * lib/unictype/categ_P.h: Regenerated.
68778         * lib/unictype/categ_Pd.h: Regenerated.
68779         * lib/unictype/categ_Pe.h: Regenerated.
68780         * lib/unictype/categ_Pf.h: Regenerated.
68781         * lib/unictype/categ_Pi.h: Regenerated.
68782         * lib/unictype/categ_Po.h: Regenerated.
68783         * lib/unictype/categ_Ps.h: Regenerated.
68784         * lib/unictype/categ_S.h: Regenerated.
68785         * lib/unictype/categ_Sk.h: Regenerated.
68786         * lib/unictype/categ_Sm.h: Regenerated.
68787         * lib/unictype/categ_So.h: Regenerated.
68788         * lib/unictype/categ_of.h: Regenerated.
68789         * lib/unictype/combining.h: Regenerated.
68790         * lib/unictype/ctype_alnum.h: Regenerated.
68791         * lib/unictype/ctype_alpha.h: Regenerated.
68792         * lib/unictype/ctype_graph.h: Regenerated.
68793         * lib/unictype/ctype_lower.h: Regenerated.
68794         * lib/unictype/ctype_print.h: Regenerated.
68795         * lib/unictype/ctype_punct.h: Regenerated.
68796         * lib/unictype/ctype_upper.h: Regenerated.
68797         * lib/unictype/decdigit.h: Regenerated.
68798         * lib/unictype/digit.h: Regenerated.
68799         * lib/unictype/mirror.h: Regenerated.
68800         * lib/unictype/numeric.h: Regenerated.
68801         * lib/unictype/pr_alphabetic.h: Regenerated.
68802         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
68803         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
68804         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
68805         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
68806         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
68807         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
68808         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
68809         * lib/unictype/pr_combining.h: Regenerated.
68810         * lib/unictype/pr_dash.h: Regenerated.
68811         * lib/unictype/pr_decimal_digit.h: Regenerated.
68812         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
68813         * lib/unictype/pr_deprecated.h: Regenerated.
68814         * lib/unictype/pr_diacritic.h: Regenerated.
68815         * lib/unictype/pr_extender.h: Regenerated.
68816         * lib/unictype/pr_format_control.h: Regenerated.
68817         * lib/unictype/pr_grapheme_base.h: Regenerated.
68818         * lib/unictype/pr_grapheme_extend.h: Regenerated.
68819         * lib/unictype/pr_grapheme_link.h: Regenerated.
68820         * lib/unictype/pr_id_continue.h: Regenerated.
68821         * lib/unictype/pr_id_start.h: Regenerated.
68822         * lib/unictype/pr_ideographic.h: Regenerated.
68823         * lib/unictype/pr_ignorable_control.h: Regenerated.
68824         * lib/unictype/pr_lowercase.h: Regenerated.
68825         * lib/unictype/pr_math.h: Regenerated.
68826         * lib/unictype/pr_numeric.h: Regenerated.
68827         * lib/unictype/pr_other_alphabetic.h: Regenerated.
68828         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
68829         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
68830         * lib/unictype/pr_other_id_continue.h: Regenerated.
68831         * lib/unictype/pr_other_lowercase.h: Regenerated.
68832         * lib/unictype/pr_other_math.h: Regenerated.
68833         * lib/unictype/pr_punctuation.h: Regenerated.
68834         * lib/unictype/pr_sentence_terminal.h: Regenerated.
68835         * lib/unictype/pr_soft_dotted.h: Regenerated.
68836         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
68837         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
68838         * lib/unictype/pr_unified_ideograph.h: Regenerated.
68839         * lib/unictype/pr_uppercase.h: Regenerated.
68840         * lib/unictype/pr_xid_continue.h: Regenerated.
68841         * lib/unictype/pr_xid_start.h: Regenerated.
68842         * lib/unictype/pr_zero_width.h: Regenerated.
68843         * lib/unictype/scripts.h: Regenerated.
68844         * lib/unictype/scripts_byname.gperf: Regenerated.
68845         * lib/unictype/sy_java_ident.h: Regenerated.
68846         * lib/unilbrk/lbrkprop1.h: Regenerated.
68847         * lib/unilbrk/lbrkprop2.h: Regenerated.
68848         * tests/unictype/test-categ_C.c: Regenerated.
68849         * tests/unictype/test-categ_Cf.c: Regenerated.
68850         * tests/unictype/test-categ_Cn.c: Regenerated.
68851         * tests/unictype/test-categ_L.c: Regenerated.
68852         * tests/unictype/test-categ_Ll.c: Regenerated.
68853         * tests/unictype/test-categ_Lm.c: Regenerated.
68854         * tests/unictype/test-categ_Lo.c: Regenerated.
68855         * tests/unictype/test-categ_Lu.c: Regenerated.
68856         * tests/unictype/test-categ_M.c: Regenerated.
68857         * tests/unictype/test-categ_Mc.c: Regenerated.
68858         * tests/unictype/test-categ_Me.c: Regenerated.
68859         * tests/unictype/test-categ_Mn.c: Regenerated.
68860         * tests/unictype/test-categ_N.c: Regenerated.
68861         * tests/unictype/test-categ_Nd.c: Regenerated.
68862         * tests/unictype/test-categ_Nl.c: Regenerated.
68863         * tests/unictype/test-categ_No.c: Regenerated.
68864         * tests/unictype/test-categ_P.c: Regenerated.
68865         * tests/unictype/test-categ_Pd.c: Regenerated.
68866         * tests/unictype/test-categ_Pe.c: Regenerated.
68867         * tests/unictype/test-categ_Pf.c: Regenerated.
68868         * tests/unictype/test-categ_Pi.c: Regenerated.
68869         * tests/unictype/test-categ_Po.c: Regenerated.
68870         * tests/unictype/test-categ_Ps.c: Regenerated.
68871         * tests/unictype/test-categ_S.c: Regenerated.
68872         * tests/unictype/test-categ_Sk.c: Regenerated.
68873         * tests/unictype/test-categ_Sm.c: Regenerated.
68874         * tests/unictype/test-categ_So.c: Regenerated.
68875         * tests/unictype/test-ctype_alnum.c: Regenerated.
68876         * tests/unictype/test-ctype_alpha.c: Regenerated.
68877         * tests/unictype/test-ctype_graph.c: Regenerated.
68878         * tests/unictype/test-ctype_lower.c: Regenerated.
68879         * tests/unictype/test-ctype_print.c: Regenerated.
68880         * tests/unictype/test-ctype_punct.c: Regenerated.
68881         * tests/unictype/test-ctype_upper.c: Regenerated.
68882         * tests/unictype/test-decdigit.h: Regenerated.
68883         * tests/unictype/test-digit.h: Regenerated.
68884         * tests/unictype/test-numeric.h: Regenerated.
68885         * tests/unictype/test-pr_alphabetic.c: Regenerated.
68886         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
68887         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
68888         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
68889         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
68890         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
68891         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
68892         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
68893         * tests/unictype/test-pr_combining.c: Regenerated.
68894         * tests/unictype/test-pr_dash.c: Regenerated.
68895         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
68896         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
68897         * tests/unictype/test-pr_deprecated.c: Regenerated.
68898         * tests/unictype/test-pr_diacritic.c: Regenerated.
68899         * tests/unictype/test-pr_extender.c: Regenerated.
68900         * tests/unictype/test-pr_format_control.c: Regenerated.
68901         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
68902         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
68903         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
68904         * tests/unictype/test-pr_id_continue.c: Regenerated.
68905         * tests/unictype/test-pr_id_start.c: Regenerated.
68906         * tests/unictype/test-pr_ideographic.c: Regenerated.
68907         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
68908         * tests/unictype/test-pr_lowercase.c: Regenerated.
68909         * tests/unictype/test-pr_math.c: Regenerated.
68910         * tests/unictype/test-pr_numeric.c: Regenerated.
68911         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
68912         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
68913         Regenerated.
68914         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
68915         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
68916         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
68917         * tests/unictype/test-pr_other_math.c: Regenerated.
68918         * tests/unictype/test-pr_punctuation.c: Regenerated.
68919         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
68920         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
68921         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
68922         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
68923         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
68924         * tests/unictype/test-pr_uppercase.c: Regenerated.
68925         * tests/unictype/test-pr_xid_continue.c: Regenerated.
68926         * tests/unictype/test-pr_xid_start.c: Regenerated.
68927         * tests/unictype/test-pr_zero_width.c: Regenerated.
68929         Update to Unicode 5.1.0.
68930         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
68931         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
68932         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
68933         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
68934         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
68935         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
68936         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
68937         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
68938         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
68939         (nonspacing_table_ind): Update.
68940         * tests/uniwidth/test-uc_width2.sh: Update expected result.
68942         Update to Unicode 5.1.0.
68943         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
68944         code transform.
68945         * lib/uniname/uniname.c (unicode_character_name,
68946         unicode_name_character): Add the range 0x1Fxxx to the code transform.
68947         * lib/uniname/uninames.h: Regenerated.
68948         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
68950 2009-02-07  Bruno Haible  <bruno@clisp.org>
68952         Merge gen-ctype and gen-lbrk into a single program.
68953         * lib/gen-uni-tables.c: New file, incorporating
68954         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
68955         Add directory prefixes to the names of the generated files.
68956         * lib/unictype/gen-ctype.c: Remove file.
68957         * lib/unilbrk/gen-lbrk.c: Remove file.
68958         * modules/gen-uni-tables: New file.
68959         * modules/unictype/gen-ctype: Remove file.
68960         * modules/unilbrk/gen-lbrk: Remove file.
68962 2009-02-07  Bruno Haible  <bruno@clisp.org>
68964         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
68966         New module 'unistr/u32-strcoll'.
68967         * modules/unistr/u32-strcoll: New file.
68968         * lib/unistr/u32-strcoll.c: New file.
68970         New module 'unistr/u16-strcoll'.
68971         * modules/unistr/u16-strcoll: New file.
68972         * lib/unistr/u16-strcoll.c: New file.
68974         New module 'unistr/u8-strcoll'.
68975         * modules/unistr/u8-strcoll: New file.
68976         * lib/unistr/u8-strcoll.c: New file.
68977         * lib/unistr/u-strcoll.h: New file.
68979 2009-02-07  Bruno Haible  <bruno@clisp.org>
68981         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
68982         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
68983         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
68984         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
68985         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
68986         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
68988 2009-02-07  Bruno Haible  <bruno@clisp.org>
68990         Make 64-bit clean.
68991         * lib/unictype/gen-ctype.c (output_predicate, output_category,
68992         output_combclass, output_bidi_category, output_decimal_digit,
68993         output_digit, output_numeric, output_mirror, output_scripts,
68994         output_ident_category): Use proper width specifier in format strings.
68996 2009-02-07  Bruno Haible  <bruno@clisp.org>
68998         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
68999         failure behaviour.
69001 2009-02-07  Jim Meyering  <meyering@redhat.com>
69003         regex: avoid compilation failure with upcoming gcc-4.4
69004         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
69005         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
69006         "... error: integer overflow in preprocessor expression".
69008 2009-02-05  Ben Pfaff  <blp@gnu.org>
69010         Fix link errors on Windows when close module is used.
69011         * modules/close: Add $(LIB_CLOSE) to Link section.
69012         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
69013         $(LIB_CLOSE) on Windows.
69015 2009-02-05  Jim Meyering  <meyering@redhat.com>
69017         still avoid unused-parameter warnings, but do it cleanly
69018         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
69019         (get_fs_usage): Cast to void instead.
69020         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
69021         (dev_from_mount_options, read_file_system_list): Cast to void.
69022         Prompted by Bruno Haible.
69024 2009-02-04  Jim Meyering  <meyering@redhat.com>
69026         fsusage.c: correct copyright year
69027         * lib/fsusage.c: Reflect year in which the change is pushed into
69029         avoid misc. warnings
69030         * lib/fsusage.c (UNUSED_PARAM): Define.
69031         (get_fs_usage): Mark parameter "disk" as unused.
69032         * lib/getugroups.c (getgrent): Use "void" in prototype.
69033         * lib/mountlist.c: Mark unused parameters.
69034         (read_file_system_list): Declare a local with "const".
69035         * lib/nanosleep.c (getnow): Declare static.
69036         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
69038         dirfd: set errno upon failure
69039         * lib/dirfd.c: Include <errno.h>.
69040         Set errno to ENOTSUP when returning -1.
69041         * modules/dirfd (Depends-on): Add errno.
69042         Suggested by John Kodis <kodis@comcast.net>.
69044 2009-02-01  Bruno Haible  <bruno@clisp.org>
69046         Don't assume sizeof (long) >= sizeof (void *).
69047         * lib/memcmp.c: Include stdint.h.
69048         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
69049         srcp2 to 'const byte *'.
69050         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
69051         types to uintptr_t.
69052         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
69053         * modules/memcmp (Depends-on): Add stdint.
69054         Reported by Ozkan Sezer <sezeroz@gmail.com>.
69056 2009-01-30  Eric Blake  <ebb9@byu.net>
69058         fix more require-before-expand issues
69059         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
69060         expand, AC_PROG_AWK.
69061         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
69063 2009-01-28  Eric Blake  <ebb9@byu.net>
69065         version-etc: use consistent URL formatting
69066         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
69067         Improve formatting.  Use fputs for string without %.
69069 2009-01-28  Jim Meyering  <meyering@redhat.com>
69071         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
69072         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
69073         "underquoted definition of NAME" from autoconf-2.59.
69075 2009-01-28  Bruno Haible  <bruno@clisp.org>
69077         * doc/gnulib.texi: Add "Obsolete modules" to index.
69079 2009-01-28  Jim Meyering  <meyering@redhat.com>
69081         useless-if-before-free: recognize more variants
69082         * build-aux/useless-if-before-free: Also recognize e.g.,
69083         if (NULL != p) free (p);
69085 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
69087         test-getaddrinfo: skip (don't fail) this test when there's no network
69088         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
69089         on the presumption that it means you lack network access.
69091 2009-01-26  Jim Meyering  <meyering@redhat.com>
69093         fflush: avoid warnings on modern systems
69094         * lib/fflush.c (rpl_fflush): Move declarations of locals,
69095         pos and result, into scopes where they're used.
69097 2009-01-26  Eric Blake  <ebb9@byu.net>
69099         Silence warning reintroduced by recent extensions patch.
69100         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
69101         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
69102         autoconf.
69104         Backport improved autoconf semantics of AC_DEFUN_ONCE.
69105         * m4/00gnulib.m4: New file.
69106         * gnulib-tool (func_get_filelist): Always use it.
69107         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
69108         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
69110 2009-01-25  Bruno Haible  <bruno@clisp.org>
69112         Make test-quotearg work on MacOS X and AIX.
69113         * tests/test-quotearg.sh: New file.
69114         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
69115         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
69116         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
69117         include <libintl.h>.
69118         (fake_locale): Remove variable.
69119         (gettext, dgettext, dcgettext): Remove functions.
69120         (main): Instead of setting a fake locale, set a real locale. Call
69121         textdomain and bindtextdomain.
69122         * modules/quotearg-tests (Files): Add the new files.
69123         (Depends-on): Add gettext, setenv, unsetenv.
69124         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
69125         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
69126         Augment TESTS_ENVIRONMENT.
69128 2009-01-25  Bruno Haible  <bruno@clisp.org>
69130         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
69131         fr_FR.ISO8859-1 locale on MacOS X.
69132         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
69133         ja_JP.eucJP locale on MacOS X.
69134         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
69135         zh_CN.GB18030 locale on MacOS X.
69137 2009-01-25  Bruno Haible  <bruno@clisp.org>
69139         Avoid link errors on MacOS X 10.3.
69140         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
69141         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
69143 2009-01-25  Bruno Haible  <bruno@clisp.org>
69145         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
69146         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
69147         * modules/pipe (Files): Remove m4/posix_spawn.m4.
69148         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
69149         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
69150         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
69151         posix_spawnattr_init, posix_spawnattr_setsigmask,
69152         posix_spawnattr_setflags, posix_spawnattr_destroy.
69154         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
69155         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
69156         * modules/execute (Files): Remove m4/posix_spawn.m4.
69157         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
69158         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
69159         posix_spawnattr_init, posix_spawnattr_setsigmask,
69160         posix_spawnattr_setflags, posix_spawnattr_destroy.
69162 2009-01-25  Bruno Haible  <bruno@clisp.org>
69164         * lib/glthread/threadlib.c: Include <stdlib.h>.
69166 2009-01-25  Bruno Haible  <bruno@clisp.org>
69168         * lib/glthread/threadlib.c (dummy): New declaration.
69170 2009-01-25  Bruno Haible  <bruno@clisp.org>
69172         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
69173         multibyte characters also for the GB18030 encoding. Don't crash when
69174         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
69176 2009-01-25  Bruno Haible  <bruno@clisp.org>
69178         Avoid redefining 'struct random_data' on OSF/1 5.1.
69179         * lib/stdlib.in.h: Include <random.h> if it exists.
69180         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
69181         HAVE_RANDOM_H. Include <random.h> when testing whether
69182         'struct random_data' exists.
69183         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
69185 2009-01-25  Bruno Haible  <bruno@clisp.org>
69187         Don't install charset.alias on MacOS X >= 10.3.
69188         * lib/localcharset.c (DARWIN7): New macro.
69189         (get_charset_aliases): Hardcode the result for Darwin7.
69190         * modules/localcharset (install-exec-local): Don't install
69191         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
69193 2009-01-25  Bruno Haible  <bruno@clisp.org>
69195         Don't install charset.alias on mingw and Cygwin.
69196         * modules/localcharset (install-exec-local): Don't install
69197         charset.alias on mingw and Cygwin, if the file does not yet exist.
69198         The result for these platforms is hardcoded in localcharset.c.
69200 2009-01-25  Bruno Haible  <bruno@clisp.org>
69202         Make it possible again to use AC_GNU_SOURCE together with gnulib.
69203         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
69204         before requiring AC_USE_SYSTEM_EXTENSIONS.
69206 2009-01-25  Jim Meyering  <meyering@redhat.com>
69208         c-strtod: avoid warnings
69209         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
69210         "assignment discards qualifiers from pointer target type" warnings.
69212 2009-01-24  Bruno Haible  <bruno@clisp.org>
69214         Add support for non-UTF-8 locales on MacOS X.
69215         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
69216         canonical encodings. For Darwin 7 and newer, don't map traditional
69217         encodings to UTF-8.
69218         Reported by Vincent Lefevre <vincent@vinc17.org>
69219         at <http://savannah.gnu.org/bugs/?25235>.
69221 2009-01-24  Bruno Haible  <bruno@clisp.org>
69223         * doc/gnulib.texi (Obsolete modules): New section.
69224         Reported by Mike Frysinger <vapier@gentoo.org>.
69226 2009-01-24  Bruno Haible  <bruno@clisp.org>
69228         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
69229         (%.dvi): New rule.
69231 2009-01-24  Bruno Haible  <bruno@clisp.org>
69233         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
69234         Reported by Eric Blake.
69236 2009-01-24  Bruno Haible  <bruno@clisp.org>
69238         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
69239         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
69240         Reported by Gary V. Vaughan <gary@gnu.org>.
69242 2009-01-24  Bruno Haible  <bruno@clisp.org>
69244         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
69246 2009-01-23  Bruno Haible  <bruno@clisp.org>
69248         Make c-strtod, c-strtold usable in libraries.
69249         * lib/c-strtod.c: Include string.h instead of xalloc.h.
69250         (C_STRTOD): Call strdup instead of xstrdup.
69251         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
69252         * modules/c-strtold (Depends-on): Likewise.
69253         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
69254         * NEWS: Mention the change.
69255         Reported by Michael Gold <mgold@ncf.ca>.
69257 2009-01-23  Jim Meyering  <meyering@redhat.com>
69259         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
69260         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
69261         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
69263 2009-01-23  Simon Josefsson  <simon@josefsson.org>
69265         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
69266         GNU CoreUtils.
69267         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
69268         * modules/version-etc (Description): Update.
69270 2009-01-22  Bruno Haible  <bruno@clisp.org>
69272         Cache the C locale object.
69273         * lib/c-strtod.c (c_locale_cache): New variable.
69274         (c_locale): New function.
69275         (C_STRTOD): Use it, and don't call freelocale.
69276         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
69277         Suggested by Paolo Bonzini.
69279 2009-01-21  Bruno Haible  <bruno@clisp.org>
69281         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
69282         conditions other than overflow.
69284 2009-01-21  Bruno Haible  <bruno@clisp.org>
69286         * lib/c-strtod.c: Include errno.h.
69287         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
69288         value from STRTOD_L and STRTOD.
69290 2009-01-21  Bruno Haible  <bruno@clisp.org>
69291         and Jim Meyering  <meyering@redhat.com>
69293         nanosleep: skip configure test (fail it) for apple universal builds
69294         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
69295         universal builds, assume that nanosleep does not work.
69296         * modules/nanosleep (Depends-on): Add multiarch.
69298         mktime: skip configure test (fail it) for apple universal builds
69299         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
69300         universal builds, assume that mktime does not work.
69301         * modules/mktime (Depends-on): Add multiarch.
69303 2009-01-21  Eric Blake  <ebb9@byu.net>
69305         multiarch: avoid expand-before-require warning
69306         * modules/multiarch (configure.ac): Require, rather than expand,
69307         gl_MULTIARCH.
69308         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
69309         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
69310         enforce that all clients require it.  Partial reversion of
69311         2008-12-29 patch.
69313         error: avoid expand-before-require warning
69314         * modules/errno (configure.ac): Require, rather than expand,
69315         gl_HEADER_ERRNO_H.
69316         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
69317         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
69318         enforce that all clients require it.
69320         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
69321         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
69322         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
69323         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
69325 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
69327         Revert:
69328         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
69330         regex: do not depend on obsolete modules.
69331         * modules/regex: Remove memcmp and memmove.
69333 2009-01-20  Bruno Haible  <bruno@clisp.org>
69335         Make the 'link' module link on Windows NT 4.
69336         * lib/link.c (_WIN32_WINNT): Don't define.
69337         (CreateHardLinkFuncType): New type.
69338         (CreateHardLinkFunc, initialized): New variables.
69339         (initialize): New function.
69340         (link): Invoke CreateHardLink indirectly through the function pointer.
69342 2009-01-20  Bruno Haible  <bruno@clisp.org>
69344         Fix compilation failure on mingw.
69345         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
69347 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
69349         * doc/c-strtod.texi: Mention a couple of restrictions.
69351 2009-01-20  Jim Meyering  <meyering@redhat.com>
69353         gettimeofday: move more declarations out of functions
69354         * lib/gettimeofday.c: Move extern declarations of tzset and
69355         gmtime out of containing functions.  Prompted by Bruno Haible.
69357 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
69359         regex: do not depend on obsolete modules.
69360         * modules/regex: Remove memcmp and memmove.
69362 2009-01-19  Bruno Haible  <bruno@clisp.org>
69364         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
69365         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
69366         gl_BIGENDIAN, not AC_C_BIGENDIAN.
69367         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
69368         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
69370 2009-01-19  Bruno Haible  <bruno@clisp.org>
69372         * tests/test-link.c: Include <errno.h>.
69373         (main): Exit with code 77 when a hard link cannot be created due to
69374         the file system.
69375         * tests/test-link.sh: Skip test when a hard link cannot be created due
69376         to the file system.
69377         Suggested by Eric Blake.
69379 2009-01-19  Martin Lambers  <marlam@marlam.de>
69381         * modules/link-tests: New file.
69382         * tests/test-link.sh: New file.
69383         * tests/test-link.c: New file.
69385 2009-01-19  Eric Blake  <ebb9@byu.net>
69387         doc: mention another function added in cygwin 1.7.0
69388         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
69389         Another new function in cygwin 1.7.
69391 2009-01-19  Bruno Haible  <bruno@clisp.org>
69393         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
69394         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
69395         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
69396         gl_BIGENDIAN, not AC_C_BIGENDIAN.
69397         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
69398         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
69399         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
69400         * m4/md4.m4 (gl_MD4): Likewise.
69401         * m4/md5.m4 (gl_MD5): Likewise.
69402         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
69403         * m4/sha1.m4 (gl_SHA1): Likewise.
69404         * m4/sha256.m4 (gl_SHA256): Likewise.
69405         * m4/sha512.m4 (gl_SHA512): Likewise.
69407 2009-01-19  Bruno Haible  <bruno@clisp.org>
69409         * modules/uniname/uniname-tests (Depends-on): Add progname.
69410         * tests/uniname/test-uninames.c: Include progname.h.
69411         (main): Call set_program_name.
69413         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
69414         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
69415         (main): Call set_program_name.
69417         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
69418         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
69419         (main): Call set_program_name.
69421         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
69422         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
69423         (main): Call set_program_name.
69425         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
69426         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
69427         (main): Call set_program_name.
69429         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
69430         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
69431         (main): Call set_program_name.
69433         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
69434         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
69435         (main): Call set_program_name.
69437         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
69438         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
69439         (main): Call set_program_name.
69441         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
69442         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
69443         (main): Call set_program_name.
69445 2009-01-19  Eric Blake  <ebb9@byu.net>
69447         test-unistd: test previous patch
69448         * tests/test-unistd.c: Test *_FILENO macros.
69450         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
69451         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
69452         Guarantee a definition.
69453         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
69454         * modules/unistd-safer (Depends-on): Add dependency on unistd.
69455         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
69456         * lib/dup-safer.c (STDERR_FILENO): Likewise.
69457         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
69458         Likewise.
69459         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
69460         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
69461         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
69462         Likewise.
69463         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
69464         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
69465         (STDERR_FILENO): Likewise.
69466         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
69467         (STDERR_FILENO): Likewise.
69468         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
69469         (STDERR_FILENO): Likewise.
69470         Reported by Elbert Pol.
69472 2009-01-19  Eric Blake  <ebb9@byu.net>
69474         doc: mention more functions added in cygwin 1.7.0
69475         * doc/posix-functions/abort.texi (abort): Update wording related
69476         to cygwin.
69477         * doc/posix-functions/daylight.texi (daylight): Likewise.
69478         * doc/posix-functions/optarg.texi (optarg): Likewise.
69479         * doc/posix-functions/optarg.texi (opterr): Likewise.
69480         * doc/posix-functions/optarg.texi (optind): Likewise.
69481         * doc/posix-functions/optarg.texi (optopt): Likewise.
69482         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
69483         worked in 1.5.x, and was withdrawn in 1.7.
69484         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
69485         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
69486         cygwin versions.
69487         * doc/posix-functions/perror.texi (perror): Likewise.
69488         * doc/posix-functions/printf.texi (printf): Likewise.
69489         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
69490         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
69491         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
69492         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
69493         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
69494         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
69495         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
69496         Likewise.
69497         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
69498         Likewise.
69499         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
69500         this function.
69501         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
69502         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
69503         Likewise.
69504         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
69505         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
69506         * doc/posix-functions/confstr.texi (confstr): Likewise.
69507         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
69508         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
69509         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
69510         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
69511         * doc/posix-functions/fputws.texi (fputws): Likewise.
69512         * doc/posix-functions/fwide.texi (fwide): Likewise.
69513         * doc/posix-functions/getwc.texi (getwc): Likewise.
69514         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
69515         * doc/posix-functions/putwc.texi (putwc): Likewise.
69516         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
69517         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
69518         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
69519         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
69520         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
69521         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
69522         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
69523         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
69524         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
69525         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
69526         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
69528 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
69530         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
69531         * lib/ioctl.c: Include <sys/ioctl.h>.
69533 2009-01-19  Simon Josefsson  <simon@josefsson.org>
69535         * modules/getdate-tests (Depends-on): Add progname.
69536         * tests/test-getdate.c: Use progname module, to avoid link errors
69537         on non-glibc systems.
69539 2009-01-18  Simon Josefsson  <simon@josefsson.org>
69541         * modules/filenamecat-tests (Depends-on): Add progname.
69542         * modules/fstrcmp-tests (Depends-on): Likewise.
69544         * tests/test-filenamecat.c: Use progname module, to avoid link
69545         errors on non-glibc systems.
69546         * tests/test-fstrcmp.c: Likewise.
69548 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
69550         gettimeofday: avoid warning: nested extern declaration of 'localtime'
69551         * lib/gettimeofday.c: Move extern declaration out of function.
69553 2009-01-18  Bruno Haible  <bruno@clisp.org>
69555         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
69556         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
69557         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
69559 2009-01-18  Bruno Haible  <bruno@clisp.org>
69561         * lib/strftime.c (MEMPCPY): Remove unused macro.
69562         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
69564 2009-01-18  Martin Lambers  <marlam@marlam.de>
69566         New module 'link'.
69567         * lib/unistd.in.h (link): New declaration.
69568         * lib/link.c: New file.
69569         * m4/link.m4: New file.
69570         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
69571         HAVE_LINK.
69572         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
69573         * modules/link: New file.
69574         * doc/posix-functions/link.texi: Mention the new module.
69576 2009-01-18  Bruno Haible  <bruno@clisp.org>
69578         * tests/test-avltree_list.c (main): Call set_program_name.
69579         * tests/test-avltree_oset.c (main): Likewise.
69580         * tests/test-obstack-printf.c: Include progname.h.
69581         (main): Call set_program_name.
69582         * tests/test-quotearg.c: Include progname.h.
69583         (main): Call set_program_name.
69584         * tests/test-xmemdup0.c: Include progname.h.
69585         (main): Call set_program_name.
69587 2009-01-18  Bruno Haible  <bruno@clisp.org>
69589         New module 'alphasort'.
69590         * lib/dirent.in.h (alphasort): New declaration.
69591         * lib/alphasort.c: New file, from glibc with modifications.
69592         * m4/alphasort.m4: New file.
69593         * modules/alphasort: New file.
69594         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
69595         HAVE_ALPHASORT.
69596         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
69597         HAVE_ALPHASORT.
69598         * doc/posix-functions/alphasort.texi: Mention the new module and the
69599         portability problems.
69601 2009-01-18  Bruno Haible  <bruno@clisp.org>
69603         New module 'scandir'.
69604         * lib/dirent.in.h (scandir): New declaration.
69605         * lib/scandir.c: New file, from glibc with modifications.
69606         * m4/scandir.m4: New file.
69607         * modules/scandir: New file.
69608         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
69609         HAVE_SCANDIR.
69610         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
69611         HAVE_SCANDIR.
69612         * doc/posix-functions/scandir.texi: Mention the new module and the
69613         portability problems.
69615 2009-01-17  Bruno Haible  <bruno@clisp.org>
69617         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
69618         Update documentation.
69619         (func_remove_suffix): Escape all dots in the suffix. Update
69620         documentation.
69621         (func_filter_filelist): Update documentation.
69622         Reported by Ralf Wildenhues.
69624 2009-01-17  Bruno Haible  <bruno@clisp.org>
69626         * modules/dprintf-posix-tests: New file.
69627         * tests/test-dprintf-posix.sh: New file.
69628         * tests/test-dprintf-posix.c: New file.
69630         New modules 'dprintf', 'dprintf-posix'.
69631         * lib/stdio.in.h (dprintf): New declaration.
69632         * lib/dprintf.c: New file.
69633         * m4/dprintf.m4: New file.
69634         * m4/dprintf-posix.m4: New file.
69635         * modules/dprintf: New file.
69636         * modules/dprintf-posix: New file.
69637         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
69638         HAVE_DPRINTF, REPLACE_DPRINTF.
69639         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
69640         HAVE_DPRINTF, REPLACE_DPRINTF.
69641         * doc/posix-functions/dprintf.texi: Mention the new modules.
69643 2009-01-17  Bruno Haible  <bruno@clisp.org>
69645         * modules/vdprintf-posix-tests: New file.
69646         * tests/test-vdprintf-posix.sh: New file.
69647         * tests/test-vdprintf-posix.c: New file.
69649         New modules 'vdprintf', 'vdprintf-posix'.
69650         * lib/stdio.in.h (vdprintf): New declaration.
69651         * lib/vdprintf.c: New file.
69652         * m4/vdprintf.m4: New file.
69653         * m4/vdprintf-posix.m4: New file.
69654         * modules/vdprintf: New file.
69655         * modules/vdprintf-posix: New file.
69656         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
69657         HAVE_VDPRINTF, REPLACE_VDPRINTF.
69658         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
69659         HAVE_VDPRINTF, REPLACE_VDPRINTF.
69660         * doc/posix-functions/vdprintf.texi: Mention the new modules.
69662 2009-01-17  Bruno Haible  <bruno@clisp.org>
69664         Fix replacement of fopen on mingw.
69665         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
69666         mingw.
69668 2009-01-17  Bruno Haible  <bruno@clisp.org>
69670         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
69671         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
69673 2009-01-17  Bruno Haible  <bruno@clisp.org>
69675         Avoid test-fflush2.sh failure on mingw.
69676         * tests/test-fflush2.c: Include binary-io.h.
69677         (main): Put standard input into binary mode.
69678         * modules/fflush-tests (Depends-on): Add binary-io.
69680 2009-01-17  Bruno Haible  <bruno@clisp.org>
69682         * lib/wchar.in.h: In another particular situation, include only the
69683         system's <wchar.h> file.
69684         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
69685         Reported by Albert Chin-A-Young <china@thewrittenword.com>
69686         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
69688 2009-01-17  Bruno Haible  <bruno@clisp.org>
69690         Support for stripping executables in --enable-relocatable.
69691         * build-aux/install-reloc: Expect one more argument, or an environment
69692         variable RELOC_STRIP_PROG. If set, strip the destination program and
69693         its wrapper.
69694         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
69695         RELOC_STRIP_PROG.
69696         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
69697         to set RELOCATABLE_STRIP.
69698         * NEWS: Mention the new Makefile requirement.
69700 2009-01-17  Bruno Haible  <bruno@clisp.org>
69702         * build-aux/install-reloc: Remove debugging information left over by
69703         C compiler on MacOS X.
69705 2009-01-17  Bruno Haible  <bruno@clisp.org>
69707         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
69708         * lib/progreloc.c (find_executable): Fix type of pointer passed to
69709         _NSGetExecutablePath.
69711 2009-01-16  Jim Meyering  <meyering@redhat.com>
69713         strerror: avoid warnings about discarding "const"
69714         * lib/strerror.c (rpl_strerror): Instead of returning a const
69715         string from each and every "case", use a variable, and add a single
69716         cast after the switch.
69718 2009-01-16  Albert Chin-A-Young  <china@thewrittenword.com>
69720         * lib/arpa_inet.in.h: Add extern "C" block for C++.
69722 2009-01-16  Bruno Haible  <bruno@clisp.org>
69724         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
69725         array initializer syntax that also works in C++ mode.
69726         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
69728 2009-01-16  Jim Meyering  <meyering@redhat.com>
69730         poll: suppress a warning
69731         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
69732         to ignore "...unsigned expression < 0 is always false" warnings.
69734 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
69736         poll: remove declarations of unused variables
69737         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
69738         sockbuf and optlen.
69740 2009-01-15  Bruno Haible  <bruno@clisp.org>
69742         Make fflush-after-ungetc POSIX compliant on BSD systems.
69743         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
69744         (clear_ungetc_buffer): Implement also for other systems.
69745         (rpl_fflush): On glibc systems, invoke
69746         clear_ungetc_buffer_preserving_position. Otherwise, invoke
69747         clear_ungetc_buffer after fetching the stream's position, not before.
69749 2009-01-15  Bruno Haible  <bruno@clisp.org>
69751         Make fflush-after-ungetc POSIX compliant on glibc systems.
69752         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
69753         after ungetc.
69754         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
69755         (rpl_fflush): On glibc systems, simply call the system's fflush
69756         function after clearing the ungetc buffer.
69757         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
69758         Instead, lseek only to the end of file, then use the system's fseeko
69759         for the rest. On glibc systems, reset the EOF indicator bit.
69761 2009-01-15  Jim Meyering  <meyering@redhat.com>
69763         openmp.m4: revert quote-adding change, for portability to older autoconf
69764         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
69765         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
69766         Simon Josefsson noticed the problem when using autoconf-2.61.
69768 2009-01-15  Bruno Haible  <bruno@clisp.org>
69770         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
69771         * tests/test-fflush2.c (ASSERT): Always fail.
69772         (main): Add two tests for fflush() after ungetc(), taking into account
69773         the Austin Group's clarification.
69774         Suggested by Eric Blake.
69776 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
69778         mktime.m4: remove K&R-style function prototypes
69779         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
69780         for the Sun C++ compiler.
69782 2009-01-14  Bruno Haible  <bruno@clisp.org>
69784         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
69785         while including <wchar.h>.
69786         * lib/wchar.in.h: In two particular situations on HP-UX, include only
69787         the system's <wchar.h> file.
69788         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
69790 2009-01-14  Bruno Haible  <bruno@clisp.org>
69792         * m4/csharp.m4: Don't mention gettext on the serial number line.
69793         * m4/csharpexec.m4: Likewise.
69794         * m4/eaccess.m4: Likewise.
69795         * m4/javaexec.m4: Likewise.
69796         * m4/sig_atomic_t.m4: Likewise.
69797         * m4/tmpdir.m4: Likewise.
69798         * m4/intldir.m4: Bump gettext version.
69799         * m4/lib-ld.m4: Likewise.
69801 2009-01-14  Bruno Haible  <bruno@clisp.org>
69803         * lib/progname.c (set_program_name): Add more comments.
69804         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
69806 2009-01-14  Simon Josefsson  <simon@josefsson.org>
69808         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
69809         were sys/stat.h does not define it.
69811 2009-01-14  Jim Meyering  <meyering@redhat.com>
69813         many *.m4 files: improve m4 quoting
69814         99% of this change was performed by running the following commands:
69815         git ls-files | grep '\.m4$' | xargs perl -pi \
69816           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
69817           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
69818           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
69819           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
69820         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
69821         The remainder were to add Copyright dates, increment serial numbers,
69822         undo some changes in comments, exclude m4/intl.m4, and add quotes
69823         around the "1" in ",1" where the unusual spacing prohibited the
69824         above regexps from doing the job.  For more details, see
69825         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
69826         * m4/acl.m4: Modified.
69827         * m4/afs.m4: Likewise.
69828         * m4/alloca.m4: Likewise.
69829         * m4/argp.m4: Likewise.
69830         * m4/argz.m4: Likewise.
69831         * m4/atexit.m4: Likewise.
69832         * m4/bison-i18n.m4: Likewise.
69833         * m4/bison.m4: Likewise.
69834         * m4/byteswap.m4: Likewise.
69835         * m4/c-stack.m4: Likewise.
69836         * m4/c-strtod.m4: Likewise.
69837         * m4/calloc.m4: Likewise.
69838         * m4/canonicalize-lgpl.m4: Likewise.
69839         * m4/chown.m4: Likewise.
69840         * m4/clock_time.m4: Likewise.
69841         * m4/codeset.m4: Likewise.
69842         * m4/copy-file.m4: Likewise.
69843         * m4/csharp.m4: Likewise.
69844         * m4/csharpcomp.m4: Likewise.
69845         * m4/csharpexec.m4: Likewise.
69846         * m4/d-ino.m4: Likewise.
69847         * m4/d-type.m4: Likewise.
69848         * m4/dirfd.m4: Likewise.
69849         * m4/double-slash-root.m4: Likewise.
69850         * m4/eaccess.m4: Likewise.
69851         * m4/eealloc.m4: Likewise.
69852         * m4/environ.m4: Likewise.
69853         * m4/errno_h.m4: Likewise.
69854         * m4/euidaccess.m4: Likewise.
69855         * m4/execute.m4: Likewise.
69856         * m4/fatal-signal.m4: Likewise.
69857         * m4/fchdir.m4: Likewise.
69858         * m4/fcntl_h.m4: Likewise.
69859         * m4/fileblocks.m4: Likewise.
69860         * m4/filenamecat.m4: Likewise.
69861         * m4/findprog.m4: Likewise.
69862         * m4/flexmember.m4: Likewise.
69863         * m4/fnmatch.m4: Likewise.
69864         * m4/fopen.m4: Likewise.
69865         * m4/fpending.m4: Likewise.
69866         * m4/fprintf-posix.m4: Likewise.
69867         * m4/free.m4: Likewise.
69868         * m4/frexp.m4: Likewise.
69869         * m4/frexpl.m4: Likewise.
69870         * m4/fsusage.m4: Likewise.
69871         * m4/ftruncate.m4: Likewise.
69872         * m4/gc-camellia.m4: Likewise.
69873         * m4/gc-random.m4: Likewise.
69874         * m4/gc.m4: Likewise.
69875         * m4/getaddrinfo.m4: Likewise.
69876         * m4/getcwd-abort-bug.m4: Likewise.
69877         * m4/getcwd-path-max.m4: Likewise.
69878         * m4/getdate.m4: Likewise.
69879         * m4/getdomainname.m4: Likewise.
69880         * m4/getgroups.m4: Likewise.
69881         * m4/gethostname.m4: Likewise.
69882         * m4/gethrxtime.m4: Likewise.
69883         * m4/getline.m4: Likewise.
69884         * m4/getloadavg.m4: Likewise.
69885         * m4/getndelim2.m4: Likewise.
69886         * m4/getpass.m4: Likewise.
69887         * m4/gettext.m4: Likewise.
69888         * m4/gettime.m4: Likewise.
69889         * m4/gettimeofday.m4: Likewise.
69890         * m4/gnulib-common.m4: Likewise.
69891         * m4/group-member.m4: Likewise.
69892         * m4/host-os.m4: Likewise.
69893         * m4/iconv.m4: Likewise.
69894         * m4/iconv_open.m4: Likewise.
69895         * m4/inet_ntop.m4: Likewise.
69896         * m4/inet_pton.m4: Likewise.
69897         * m4/inline.m4: Likewise.
69898         * m4/intldir.m4: Likewise.
69899         * m4/intlmacosx.m4: Likewise.
69900         * m4/intmax.m4: Likewise.
69901         * m4/intmax_t.m4: Likewise.
69902         * m4/inttypes.m4: Likewise.
69903         * m4/inttypes_h.m4: Likewise.
69904         * m4/inttypes-pri.m4: Likewise.
69905         * m4/isapipe.m4: Likewise.
69906         * m4/isnand.m4: Likewise.
69907         * m4/isnanf.m4: Likewise.
69908         * m4/isnanl.m4: Likewise.
69909         * m4/javacomp.m4: Likewise.
69910         * m4/javaexec.m4: Likewise.
69911         * m4/jm-winsz1.m4: Likewise.
69912         * m4/jm-winsz2.m4: Likewise.
69913         * m4/lchown.m4: Likewise.
69914         * m4/lcmessage.m4: Likewise.
69915         * m4/ldexpl.m4: Likewise.
69916         * m4/lib-ld.m4: Likewise.
69917         * m4/lib-link.m4: Likewise.
69918         * m4/libsigsegv.m4: Likewise.
69919         * m4/link-follow.m4: Likewise.
69920         * m4/localcharset.m4: Likewise.
69921         * m4/locale-fr.m4: Likewise.
69922         * m4/locale-ja.m4: Likewise.
69923         * m4/locale-tr.m4: Likewise.
69924         * m4/locale-zh.m4: Likewise.
69925         * m4/lock.m4: Likewise.
69926         * m4/longlong.m4: Likewise.
69927         * m4/ls-mntd-fs.m4: Likewise.
69928         * m4/lstat.m4: Likewise.
69929         * m4/malloc.m4: Likewise.
69930         * m4/mathl.m4: Likewise.
69931         * m4/mbrtowc.m4: Likewise.
69932         * m4/mbstate_t.m4: Likewise.
69933         * m4/mbswidth.m4: Likewise.
69934         * m4/memchr.m4: Likewise.
69935         * m4/memcmp.m4: Likewise.
69936         * m4/memcpy.m4: Likewise.
69937         * m4/memmem.m4: Likewise.
69938         * m4/memmove.m4: Likewise.
69939         * m4/mempcpy.m4: Likewise.
69940         * m4/memrchr.m4: Likewise.
69941         * m4/memset.m4: Likewise.
69942         * m4/minmax.m4: Likewise.
69943         * m4/mkdir-slash.m4: Likewise.
69944         * m4/mkdtemp.m4: Likewise.
69945         * m4/mktime.m4: Likewise.
69946         * m4/mmap-anon.m4: Likewise.
69947         * m4/mountlist.m4: Likewise.
69948         * m4/nanosleep.m4: Likewise.
69949         * m4/nls.m4: Likewise.
69950         * m4/nocrash.m4: Likewise.
69951         * m4/open.m4: Likewise.
69952         * m4/openat.m4: Likewise.
69953         * m4/openmp.m4: Likewise.
69954         * m4/pathmax.m4: Likewise.
69955         * m4/perl.m4: Likewise.
69956         * m4/physmem.m4: Likewise.
69957         * m4/pipe.m4: Likewise.
69958         * m4/po.m4: Likewise.
69959         * m4/poll.m4: Likewise.
69960         * m4/posixtm.m4: Likewise.
69961         * m4/posixver.m4: Likewise.
69962         * m4/printf-frexp.m4: Likewise.
69963         * m4/printf-frexpl.m4: Likewise.
69964         * m4/printf-posix.m4: Likewise.
69965         * m4/printf-posix-rpl.m4: Likewise.
69966         * m4/printf.m4: Likewise.
69967         * m4/progtest.m4: Likewise.
69968         * m4/putenv.m4: Likewise.
69969         * m4/readline.m4: Likewise.
69970         * m4/readlink.m4: Likewise.
69971         * m4/readutmp.m4: Likewise.
69972         * m4/realloc.m4: Likewise.
69973         * m4/regex.m4: Likewise.
69974         * m4/relocatable.m4: Likewise.
69975         * m4/relocatable-lib.m4: Likewise.
69976         * m4/rename-dest-slash.m4: Likewise.
69977         * m4/rename.m4: Likewise.
69978         * m4/rmdir-errno.m4: Likewise.
69979         * m4/rmdir.m4: Likewise.
69980         * m4/roundf.m4: Likewise.
69981         * m4/roundl.m4: Likewise.
69982         * m4/rpmatch.m4: Likewise.
69983         * m4/save-cwd.m4: Likewise.
69984         * m4/selinux-selinux-h.m4: Likewise.
69985         * m4/setenv.m4: Likewise.
69986         * m4/settime.m4: Likewise.
69987         * m4/sig2str.m4: Likewise.
69988         * m4/sig_atomic_t.m4: Likewise.
69989         * m4/signalblocking.m4: Likewise.
69990         * m4/signbit.m4: Likewise.
69991         * m4/sigpipe.m4: Likewise.
69992         * m4/sockets.m4: Likewise.
69993         * m4/sockpfaf.m4: Likewise.
69994         * m4/st_dm_mode.m4: Likewise.
69995         * m4/stat-time.m4: Likewise.
69996         * m4/stdbool.m4: Likewise.
69997         * m4/stdint.m4: Likewise.
69998         * m4/stdint_h.m4: Likewise.
69999         * m4/stpcpy.m4: Likewise.
70000         * m4/stpncpy.m4: Likewise.
70001         * m4/strcase.m4: Likewise.
70002         * m4/strchrnul.m4: Likewise.
70003         * m4/strcspn.m4: Likewise.
70004         * m4/strdup.m4: Likewise.
70005         * m4/strftime.m4: Likewise.
70006         * m4/strndup.m4: Likewise.
70007         * m4/strnlen.m4: Likewise.
70008         * m4/strpbrk.m4: Likewise.
70009         * m4/strptime.m4: Likewise.
70010         * m4/strsep.m4: Likewise.
70011         * m4/strtod.m4: Likewise.
70012         * m4/strtoimax.m4: Likewise.
70013         * m4/strtok_r.m4: Likewise.
70014         * m4/strtol.m4: Likewise.
70015         * m4/strtoll.m4: Likewise.
70016         * m4/strtoul.m4: Likewise.
70017         * m4/strtoull.m4: Likewise.
70018         * m4/strtoumax.m4: Likewise.
70019         * m4/strverscmp.m4: Likewise.
70020         * m4/threadlib.m4: Likewise.
70021         * m4/timegm.m4: Likewise.
70022         * m4/tm_gmtoff.m4: Likewise.
70023         * m4/tmpdir.m4: Likewise.
70024         * m4/tmpfile.m4: Likewise.
70025         * m4/tzset.m4: Likewise.
70026         * m4/uintmax_t.m4: Likewise.
70027         * m4/unlinkdir.m4: Likewise.
70028         * m4/unlocked-io.m4: Likewise.
70029         * m4/uptime.m4: Likewise.
70030         * m4/userspec.m4: Likewise.
70031         * m4/utimbuf.m4: Likewise.
70032         * m4/utime.m4: Likewise.
70033         * m4/utimes-null.m4: Likewise.
70034         * m4/utimes.m4: Likewise.
70035         * m4/vararrays.m4: Likewise.
70036         * m4/vasnprintf.m4: Likewise.
70037         * m4/vfprintf-posix.m4: Likewise.
70038         * m4/vprintf-posix.m4: Likewise.
70039         * m4/wait-process.m4: Likewise.
70040         * m4/wchar_t.m4: Likewise.
70041         * m4/wint_t.m4: Likewise.
70042         * m4/write-any-file.m4: Likewise.
70043         * m4/yield.m4: Likewise.
70045 2009-01-13  Bruno Haible  <bruno@clisp.org>
70047         Avoid test-copy-file.sh failures when ACL support insufficient.
70048         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
70049         TESTS_ENVIRONMENT.
70050         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
70051         Reported by Jim Meyering.
70053 2009-01-13  Bruno Haible  <bruno@clisp.org>
70055         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
70056         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
70057         * modules/unistdio/u8-printf-parse (Files): Likewise.
70058         * modules/unistdio/u32-printf-parse (Files): Likewise.
70059         * modules/unistdio/ulc-printf-parse (Files): Likewise.
70061 2009-01-13  Simon Josefsson  <simon@josefsson.org>
70063         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
70064         and m4/inttypes_h.m4 too.
70066 2009-01-12  Eric Blake  <ebb9@byu.net>
70068         tests: IRIX 6.2 cc can't compile -0.0 into .data
70069         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
70070         rather than at compile-time.
70071         * tests/test-floorl.c (minus_zero): Likewise.
70072         * tests/test-frexpl.c (minus_zero): Likewise.
70073         * tests/test-isnan.c (minus_zerol): Likewise.
70074         * tests/test-isnanl.h (minus_zero): Likewise.
70075         * tests/test-ldexpl.c (minus_zero): Likewise.
70076         * tests/test-roundl.c (minus_zero): Likewise.
70077         * tests/test-signbit.c (minus_zerol): Likewise.
70078         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
70079         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
70080         * tests/test-truncl.c (minus_zero): Likewise.
70081         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
70082         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
70083         Reported by Tom G. Christensen and Nelson H. F. Beebe.
70085 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
70087         regex: fix glibc bug 9697
70088         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
70089         handling.
70091 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
70093         regex: fix glibc bug 697
70094         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
70095         being NULL also if there are no backreferences.
70097 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
70099         regex: merge glibc changes
70100         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
70101         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
70102         re_string_skip_chars, re_string_reconstruct): Likewise.
70103         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
70105 2009-01-07  Jim Meyering  <meyering@redhat.com>
70107         poll: filter through cppi
70108         * lib/poll.c: Indent cpp directives to reflect nesting.
70110 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
70112         poll: don't return uninitialized
70113         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
70115 2009-01-06  Jeremy Olexa  <darkside@gentoo.org>  (tiny change)
70117         avoid compile failure on AIX 6.1
70118         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
70119         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
70121 2009-01-04  Jim Meyering  <meyering@redhat.com>
70123         remove duplicate inclusion of <stdio.h>
70124         * tests/test-fprintf-posix.c: Likewise.
70125         * tests/test-printf-posix.c: Likewise.
70126         * tests/test-snprintf-posix.c: Likewise.
70127         * tests/test-sprintf-posix.c: Likewise.
70128         * tests/test-vasprintf-posix.c: Likewise.
70129         * tests/test-vfprintf-posix.c: Likewise.
70130         * tests/test-vprintf-posix.c: Likewise.
70131         * tests/test-vsnprintf-posix.c: Likewise.
70132         * tests/test-vsprintf-posix.c: Likewise.
70134 2009-01-03  Jim Meyering  <meyering@redhat.com>
70136         gnulib-tool: fix sed-based filtering
70137         * gnulib-tool (func_filter_filelist): Remove extra backslash
70138         in sed_fff_filter definition.
70140 2009-01-02  Jim Meyering  <meyering@redhat.com>
70142         strftime: avoid compilation failure on Solaris 2.6
70143         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
70144         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
70145         Don't #define mbrlen or mbsinit, since now they're guaranteed to
70146         be available.  Reported by Tom G. Christensen.  Details in
70147         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
70149 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70150             Bruno Haible  <bruno@clisp.org>
70152         Speed up gnulib-tool by doing more string processing through shell
70153         built-ins.
70154         * gnulib-tool (fast_func_append): New variable.
70155         (func_remove_prefix, func_remove_suffix): New functions.
70156         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
70157         (func_filter_filelist): New function.
70158         (func_get_dependencies): Use func_remove_suffix instead of sed.
70159         (func_get_automake_snippet): Use func_filter_filelist instead of a
70160         subshell and sed invocation.
70162 2009-01-01  Bruno Haible  <bruno@clisp.org>
70164         Fix a security bug.
70165         * gnulib-tool (func_import, import, update): Don't allow the characters
70166         '"', '$', '`', '\' in macro arguments that become part of commands that
70167         are evaluated.
70169 2009-01-01  Bruno Haible  <bruno@clisp.org>
70171         * gnulib-tool (func_reset_sigpipe): Add more comments.
70173 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70175         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
70176         func_emit_tests_Makefile_am, func_import): Abort loops early if we
70177         already know the answer.
70179 2009-01-01  Jim Meyering  <meyering@redhat.com>
70181         * lib/version-etc.c (version_etc_va): Update copyright year.
70183 2008-12-30  Bruno Haible  <bruno@clisp.org>
70185         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
70186         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
70187         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
70189 2008-12-29  Eric Blake  <ebb9@byu.net>
70191         multiarch: avoid autoconf AC_REQUIRE bug
70192         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
70193         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
70194         2.63 and older.
70195         Reported by Bruno Haible, and analyzed in
70196         http://lists.gnu.org/r/bug-autoconf/2008-12/msg00039.html
70198 2008-12-29  Bruno Haible  <bruno@clisp.org>
70200         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
70201         files in subdirectories correctly.
70202         Reported by Ralf Wildenhues.
70204 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70206         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
70207         rather than 'join FILE -', for Solaris join.
70209 2008-12-29  Bruno Haible  <bruno@clisp.org>
70211         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
70212         quoting.
70213         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
70214         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
70215         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
70216         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
70217         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
70218         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
70219         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
70220         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
70221         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
70222         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
70223         * m4/nls.m4 (AM_NLS): Likewise.
70224         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
70225         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
70226         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
70227         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
70228         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
70229         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
70230         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
70231         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
70232         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
70233         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
70234         * m4/xsize.m4 (gl_XSIZE): Likewise.
70235         Suggested by Jim Meyering.
70237 2008-11-17  Bruce Korb  <bkorb@gnu.org>
70239         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
70240         * lib/parse-duration.c: use a switch instead of cascading if's.
70242 2008-12-29  Eric Blake  <ebb9@byu.net>
70244         wchar.h: supply WEOF on Irix 5.3
70245         * lib/wchar.in.h (wint_t): Also supply WEOF.
70246         * lib/wctype.in.h (wint_t): Likewise.
70247         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
70248         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
70249         Reported by Tom G. Christensen.
70251 2008-12-26  Bruno Haible  <bruno@clisp.org>
70253         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
70254         i486, i586, i686.
70256 2008-12-26  Bruno Haible  <bruno@clisp.org>
70258         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
70260 2008-12-26  Bruno Haible  <bruno@clisp.org>
70262         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
70263         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
70264         not __STDC_CONSTANT_MACROS.
70265         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
70267 2008-12-25  Bruno Haible  <bruno@clisp.org>
70269         Add support for universal builds to vasnprintf.
70270         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
70271         universal builds, guess no.
70272         * modules/vasnprintf-posix (Depends-on): Add multiarch.
70273         * modules/vasprintf-posix (Depends-on): Likewise.
70274         * modules/fprintf-posix (Depends-on): Likewise.
70275         * modules/vfprintf-posix (Depends-on): Likewise.
70276         * modules/snprintf-posix (Depends-on): Likewise.
70277         * modules/vsnprintf-posix (Depends-on): Likewise.
70278         * modules/sprintf-posix (Depends-on): Likewise.
70279         * modules/vsprintf-posix (Depends-on): Likewise.
70280         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
70281         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
70282         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
70283         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
70284         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
70285         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
70286         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
70288         Add support for universal builds to <inttypes.h>.
70289         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
70290         _SCNu64_PREFIX): In Apple
70291         universal builds, define directly, using _LP64.
70292         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
70293         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
70294         * modules/inttypes (Depends-on): Add multiarch.
70295         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
70297         Add support for universal builds to <stdint.h>.
70298         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
70299         universal builds, define directly, using _LP64.
70300         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
70301         Apple universal builds, don't test for the size and suffix of ptrdiff_t
70302         and size_t.
70303         * modules/stdint (Depends-on): Add multiarch.
70304         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
70306         New module 'multiarch'.
70307         * modules/multiarch: New file.
70308         * m4/multiarch.m4: New file.
70310 2008-12-25  Bruno Haible  <bruno@clisp.org>
70312         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
70314 2008-12-25  Bruno Haible  <bruno@clisp.org>
70316         * modules/btowc (License): Relicense under LGPLv2+.
70317         * modules/mbsinit (License): Likewise.
70318         * modules/mbrtowc (License): Likewise.
70319         * modules/wcrtomb (License): Likewise.
70320         * modules/streq (License): Likewise.
70321         Reported by David Lutterkort <lutter@redhat.com>.
70323 2008-12-23  Bruno Haible  <bruno@clisp.org>
70325         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
70327 2008-12-23  Bruno Haible  <bruno@clisp.org>
70329         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
70330         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
70331         GETADDRINFO_LIB, not in LIBS.
70332         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
70333         * modules/canon-host (Link): Likewise.
70334         * NEWS: Mention the change.
70335         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
70336         GETADDRINFO_LIB.
70338 2008-12-22  Bruno Haible  <bruno@clisp.org>
70340         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
70341         * doc/posix-functions/iswalpha_l.texi: Likewise.
70342         * doc/posix-functions/iswblank_l.texi: Likewise.
70343         * doc/posix-functions/iswcntrl_l.texi: Likewise.
70344         * doc/posix-functions/iswctype_l.texi: Likewise.
70345         * doc/posix-functions/iswdigit_l.texi: Likewise.
70346         * doc/posix-functions/iswgraph_l.texi: Likewise.
70347         * doc/posix-functions/iswlower_l.texi: Likewise.
70348         * doc/posix-functions/iswprint_l.texi: Likewise.
70349         * doc/posix-functions/iswpunct_l.texi: Likewise.
70350         * doc/posix-functions/iswspace_l.texi: Likewise.
70351         * doc/posix-functions/iswupper_l.texi: Likewise.
70352         * doc/posix-functions/iswxdigit_l.texi: Likewise.
70353         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
70354         * doc/posix-functions/open_wmemstream.texi: Likewise.
70355         * doc/posix-functions/swscanf.texi: Likewise.
70356         * doc/posix-functions/towctrans_l.texi: Likewise.
70357         * doc/posix-functions/towlower.texi: Likewise.
70358         * doc/posix-functions/towlower_l.texi: Likewise.
70359         * doc/posix-functions/towupper.texi: Likewise.
70360         * doc/posix-functions/towupper_l.texi: Likewise.
70361         * doc/posix-functions/vfwprintf.texi: Likewise.
70362         * doc/posix-functions/vfwscanf.texi: Likewise.
70363         * doc/posix-functions/vswscanf.texi: Likewise.
70364         * doc/posix-functions/vwprintf.texi: Likewise.
70365         * doc/posix-functions/vwscanf.texi: Likewise.
70366         * doc/posix-functions/wcpcpy.texi: Likewise.
70367         * doc/posix-functions/wcpncpy.texi: Likewise.
70368         * doc/posix-functions/wcscasecmp.texi: Likewise.
70369         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
70370         * doc/posix-functions/wcscoll_l.texi: Likewise.
70371         * doc/posix-functions/wcsdup.texi: Likewise.
70372         * doc/posix-functions/wcsncasecmp.texi: Likewise.
70373         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
70374         * doc/posix-functions/wcsnlen.texi: Likewise.
70375         * doc/posix-functions/wcsnrtombs.texi: Likewise.
70376         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
70377         * doc/posix-functions/wctrans_l.texi: Likewise.
70378         * doc/posix-functions/wctype_l.texi: Likewise.
70379         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
70380         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
70381         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
70382         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
70383         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
70384         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
70385         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
70386         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
70387         * doc/glibc-functions/wcschrnul.texi: Likewise.
70388         * doc/glibc-functions/wcsftime_l.texi: Likewise.
70389         * doc/glibc-functions/wcstod_l.texi: Likewise.
70390         * doc/glibc-functions/wcstof_l.texi: Likewise.
70391         * doc/glibc-functions/wcstol_l.texi: Likewise.
70392         * doc/glibc-functions/wcstold_l.texi: Likewise.
70393         * doc/glibc-functions/wcstoll_l.texi: Likewise.
70394         * doc/glibc-functions/wcstoq.texi: Likewise.
70395         * doc/glibc-functions/wcstoul_l.texi: Likewise.
70396         * doc/glibc-functions/wcstoull_l.texi: Likewise.
70397         * doc/glibc-functions/wcstouq.texi: Likewise.
70398         * doc/glibc-functions/wmempcpy.texi: Likewise.
70400 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
70401             Eric Blake  <ebb9@byu.net>
70402             Paolo Bonzini  <bonzini@gnu.org>
70403             Bruno Haible  <bruno@clisp.org>
70405         Make c-stack work on Haiku.
70406         * lib/c-stack.c (SA_ONSTACK): Define fallback.
70407         (c_stack_action): Use SA_ONSTACK flag.
70409 2008-12-22  Bruno Haible  <bruno@clisp.org>
70411         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
70413 2008-12-22  Bruno Haible  <bruno@clisp.org>
70415         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
70416         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
70417         being overridden.
70418         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
70419         New macros.
70420         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
70421         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
70422         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
70423         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
70425 2008-12-22  Bruno Haible  <bruno@clisp.org>
70427         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
70428         from test code.
70430 2008-12-22  Eric Blake  <ebb9@byu.net>
70432         Avoid gcc warnings on cygwin.
70433         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
70434         Avoid unused variable.
70435         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
70436         Likewise.
70438 2008-12-22  Bruno Haible  <bruno@clisp.org>
70440         Remove HAVE_MBRTOWC conditionals.
70441         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
70442         (mbscasecmp): Assume mbrtowc function.
70443         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
70444         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
70445         * lib/mbschr.c: Include mbuiter.h unconditionally.
70446         (mbschr): Assume mbrtowc function.
70447         * lib/mbscspn.c: Include mbuiter.h unconditionally.
70448         (mbscspn): Assume mbrtowc function.
70449         * lib/mbslen.c: Include mbuiter.h unconditionally.
70450         (mbslen): Assume mbrtowc function.
70451         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
70452         (mbsncasecmp): Assume mbrtowc function.
70453         * lib/mbsnlen.c: Include mbiter.h unconditionally.
70454         (mbsnlen): Assume mbrtowc function.
70455         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
70456         (mbspbrk): Assume mbrtowc function.
70457         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
70458         (mbspcasecmp): Assume mbrtowc function.
70459         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
70460         (mbsrchr): Assume mbrtowc function.
70461         * lib/mbssep.c: Include mbuiter.h unconditionally.
70462         (mbssep): Assume mbrtowc function.
70463         * lib/mbsspn.c: Include mbuiter.h unconditionally.
70464         (mbsspn): Assume mbrtowc function.
70465         * lib/mbsstr.c: Include mbuiter.h unconditionally.
70466         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
70467         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
70468         (mbstok_r): Assume mbrtowc function.
70469         * lib/propername.c: Include mbuiter.h unconditionally.
70470         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
70471         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
70472         (trim2): Assume mbrtowc function.
70473         * lib/mbswidth.c (mbsinit): Remove fallback definition.
70474         (mbsnwidth): Assume mbrtowc function.
70475         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
70476         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
70477         fallback definitions.
70478         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
70480 2008-12-22  Bruno Haible  <bruno@clisp.org>
70482         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
70484 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
70486         * modules/regex: Request emulations for the mb*/wc* functions we need.
70487         * m4/regex.m4: Don't look for those functions here.
70488         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
70490 2008-12-22  Bruno Haible  <bruno@clisp.org>
70492         * modules/fnmatch (Depends-on): Remove duplicated dependency.
70494 2008-12-21  Bruno Haible  <bruno@clisp.org>
70496         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
70497         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
70498         (Include): Remove conditionalization.
70499         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
70500         (Include): Remove conditionalization.
70501         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
70502         (Include): Remove conditionalization.
70503         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
70504         * m4/mbfile.m4 (gl_MBFILE): Likewise.
70505         * NEWS: Mention the change.
70506         Reported by Alan Hourihane <alanh@fairlite.co.uk>
70507         via Sergey Poznyakoff <gray@gnu.org.ua>.
70509 2008-12-21  Bruno Haible  <bruno@clisp.org>
70511         * MODULES.html.sh (Extended multibyte and wide character utilities
70512         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
70513         wcrtomb, wcsrtombs.
70514         (Support for systems lacking POSIX:2008): Add accept, bind, close,
70515         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
70516         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
70517         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
70519 2008-12-21  Bruno Haible  <bruno@clisp.org>
70521         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
70523 2008-12-21  Bruno Haible  <bruno@clisp.org>
70525         * modules/wcsnrtombs-tests: New file.
70526         * tests/test-wcsnrtombs1.sh: New file.
70527         * tests/test-wcsnrtombs2.sh: New file.
70528         * tests/test-wcsnrtombs3.sh: New file.
70529         * tests/test-wcsnrtombs4.sh: New file.
70530         * tests/test-wcsnrtombs.c: New file.
70532         New module 'wcsnrtombs'.
70533         * lib/wchar.in.h (wcsnrtombs): New declaration.
70534         * lib/wcsnrtombs.c: New file.
70535         * lib/wcsrtombs-state.c: New file.
70536         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
70537         (internal_state): Remove variable.
70538         * m4/wcsnrtombs.m4: New file.
70539         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
70540         compilation units.
70541         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
70542         HAVE_WCSNRTOMBS.
70543         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
70544         HAVE_WCSNRTOMBS.
70545         * modules/wcsnrtombs: New file.
70546         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
70547         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
70549 2008-12-21  Bruno Haible  <bruno@clisp.org>
70551         * modules/wcsrtombs-tests: New file.
70552         * tests/test-wcsrtombs1.sh: New file.
70553         * tests/test-wcsrtombs2.sh: New file.
70554         * tests/test-wcsrtombs3.sh: New file.
70555         * tests/test-wcsrtombs4.sh: New file.
70556         * tests/test-wcsrtombs.c: New file.
70558         New module 'wcsrtombs'.
70559         * lib/wchar.in.h (wcsrtombs): New declaration.
70560         * lib/wcsrtombs.c: New file.
70561         * m4/wcsrtombs.m4: New file.
70562         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
70563         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
70564         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
70565         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
70566         * modules/wcsrtombs: New file.
70567         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
70568         bugs.
70570 2008-12-21  Bruno Haible  <bruno@clisp.org>
70572         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
70573         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
70574         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
70575         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
70576         if not correct.
70577         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
70578         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
70579         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
70580         m4/locale-zh.m4, m4/codeset.m4.
70581         * doc/posix-functions/wcrtomb.texi: Document the bug.
70583 2008-12-21  Bruno Haible  <bruno@clisp.org>
70585         Work around a btowc() bug on IRIX 6.5.
70586         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
70587         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
70588         REPLACE_WTOBC if not.
70589         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
70590         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
70591         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
70593 2008-12-21  Bruno Haible  <bruno@clisp.org>
70595         * modules/wcrtomb-tests: New file.
70596         * tests/test-wcrtomb.sh: New file.
70597         * tests/test-wcrtomb.c: New file.
70599         New module 'wcrtomb'.
70600         * lib/wchar.in.h (wcrtomb): New declaration.
70601         * lib/wcrtomb.c: New file.
70602         * m4/wcrtomb.m4: New file.
70603         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
70604         HAVE_WCRTOMB.
70605         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
70606         HAVE_WCRTOMB.
70607         * modules/wcrtomb: New file.
70608         * doc/posix-functions/wcrtomb.texi: Mention the new module.
70610 2008-12-21  Bruno Haible  <bruno@clisp.org>
70612         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
70613         * modules/mbsrtowcs (Files): Likewise.
70614         * modules/wctob (Files): Likewise.
70615         * modules/c-strcase-tests (Files): Likewise.
70616         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
70617         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
70618         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
70619         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
70620         * modules/vasnprintf-posix-tests (Files): Likewise.
70622 2008-12-21  William Pursell  <bill.pursell@gmail.com>
70624         gitlog-to-changelog: pass all command-line arguments to git-log
70625         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
70626         it is sometimes convenient to filter the commits in various ways.
70627         gitlog-to-changelog only allows --since to specify a start date,
70628         but git-log itself supports many other filtering mechanisms.
70629         At the moment, I want to filter by branch name.  Rather than
70630         adding a --branch option to gitlog-to-changelog, it seems more
70631         flexible to simply pass all options directly to git-log and let
70632         git do the work.  Notice that this effectively makes --since a
70633         redundant option for gitlog-to-changelog, but removing it would
70634         require current usage to change since calls would then require
70635         an additional '--'.
70637 2008-12-21  Bruno Haible  <bruno@clisp.org>
70639         * modules/mbsnrtowcs-tests: New file.
70640         * tests/test-mbsnrtowcs1.sh: New file.
70641         * tests/test-mbsnrtowcs2.sh: New file.
70642         * tests/test-mbsnrtowcs3.sh: New file.
70643         * tests/test-mbsnrtowcs4.sh: New file.
70644         * tests/test-mbsnrtowcs.c: New file.
70646         New module 'mbsnrtowcs'.
70647         * lib/wchar.in.h (mbsnrtowcs): New declaration.
70648         * lib/mbsnrtowcs.c: New file.
70649         * lib/mbsrtowcs-state.c: New file.
70650         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
70651         (internal_state): Remove variable.
70652         * m4/mbsnrtowcs.m4: New file.
70653         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
70654         compilation units.
70655         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
70656         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
70657         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
70658         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
70659         * modules/mbsnrtowcs: New file.
70660         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
70661         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
70662         portability problem.
70664 2008-12-21  Bruno Haible  <bruno@clisp.org>
70666         Work around mbsrtowcs bug.
70667         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
70668         (gl_FUNC_MBSRTOWCS): Invoke it.
70669         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
70670         m4/locale-zh.m4.
70671         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
70673 2008-12-21  Bruno Haible  <bruno@clisp.org>
70675         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
70677 2008-12-21  Bruno Haible  <bruno@clisp.org>
70679         Update doc for AIX.
70680         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
70681         16-bit wchar_t type.
70682         * doc/posix-functions/btowc.texi: Likewise.
70683         * doc/posix-functions/fgetwc.texi: Likewise.
70684         * doc/posix-functions/fgetws.texi: Likewise.
70685         * doc/posix-functions/fputwc.texi: Likewise.
70686         * doc/posix-functions/fputws.texi: Likewise.
70687         * doc/posix-functions/fwide.texi: Likewise.
70688         * doc/posix-functions/fwprintf.texi: Likewise.
70689         * doc/posix-functions/fwscanf.texi: Likewise.
70690         * doc/posix-functions/getwchar.texi: Likewise.
70691         * doc/posix-functions/getwc.texi: Likewise.
70692         * doc/posix-functions/iswalnum.texi: Likewise.
70693         * doc/posix-functions/iswalpha.texi: Likewise.
70694         * doc/posix-functions/iswblank.texi: Likewise.
70695         * doc/posix-functions/iswcntrl.texi: Likewise.
70696         * doc/posix-functions/iswctype.texi: Likewise.
70697         * doc/posix-functions/iswdigit.texi: Likewise.
70698         * doc/posix-functions/iswgraph.texi: Likewise.
70699         * doc/posix-functions/iswlower.texi: Likewise.
70700         * doc/posix-functions/iswprint.texi: Likewise.
70701         * doc/posix-functions/iswpunct.texi: Likewise.
70702         * doc/posix-functions/iswspace.texi: Likewise.
70703         * doc/posix-functions/iswupper.texi: Likewise.
70704         * doc/posix-functions/iswxdigit.texi: Likewise.
70705         * doc/posix-functions/mbrtowc.texi: Likewise.
70706         * doc/posix-functions/mbsrtowcs.texi: Likewise.
70707         * doc/posix-functions/mbstowcs.texi: Likewise.
70708         * doc/posix-functions/mbtowc.texi: Likewise.
70709         * doc/posix-functions/putwchar.texi: Likewise.
70710         * doc/posix-functions/putwc.texi: Likewise.
70711         * doc/posix-functions/swprintf.texi: Likewise.
70712         * doc/posix-functions/tolower.texi: Likewise.
70713         * doc/posix-functions/toupper.texi: Likewise.
70714         * doc/posix-functions/towctrans.texi: Likewise.
70715         * doc/posix-functions/ungetwc.texi: Likewise.
70716         * doc/posix-functions/vswprintf.texi: Likewise.
70717         * doc/posix-functions/wcrtomb.texi: Likewise.
70718         * doc/posix-functions/wcscat.texi: Likewise.
70719         * doc/posix-functions/wcschr.texi: Likewise.
70720         * doc/posix-functions/wcscmp.texi: Likewise.
70721         * doc/posix-functions/wcscoll.texi: Likewise.
70722         * doc/posix-functions/wcscpy.texi: Likewise.
70723         * doc/posix-functions/wcscspn.texi: Likewise.
70724         * doc/posix-functions/wcsftime.texi: Likewise.
70725         * doc/posix-functions/wcslen.texi: Likewise.
70726         * doc/posix-functions/wcsncat.texi: Likewise.
70727         * doc/posix-functions/wcsncmp.texi: Likewise.
70728         * doc/posix-functions/wcsncpy.texi: Likewise.
70729         * doc/posix-functions/wcspbrk.texi: Likewise.
70730         * doc/posix-functions/wcsrchr.texi: Likewise.
70731         * doc/posix-functions/wcsrtombs.texi: Likewise.
70732         * doc/posix-functions/wcsspn.texi: Likewise.
70733         * doc/posix-functions/wcsstr.texi: Likewise.
70734         * doc/posix-functions/wcstod.texi: Likewise.
70735         * doc/posix-functions/wcstof.texi: Likewise.
70736         * doc/posix-functions/wcstoimax.texi: Likewise.
70737         * doc/posix-functions/wcstok.texi: Likewise.
70738         * doc/posix-functions/wcstold.texi: Likewise.
70739         * doc/posix-functions/wcstoll.texi: Likewise.
70740         * doc/posix-functions/wcstol.texi: Likewise.
70741         * doc/posix-functions/wcstombs.texi: Likewise.
70742         * doc/posix-functions/wcstoull.texi: Likewise.
70743         * doc/posix-functions/wcstoul.texi: Likewise.
70744         * doc/posix-functions/wcstoumax.texi: Likewise.
70745         * doc/posix-functions/wcswidth.texi: Likewise.
70746         * doc/posix-functions/wcsxfrm.texi: Likewise.
70747         * doc/posix-functions/wctob.texi: Likewise.
70748         * doc/posix-functions/wctomb.texi: Likewise.
70749         * doc/posix-functions/wctrans.texi: Likewise.
70750         * doc/posix-functions/wctype.texi: Likewise.
70751         * doc/posix-functions/wcwidth.texi: Likewise.
70752         * doc/posix-functions/wmemchr.texi: Likewise.
70753         * doc/posix-functions/wmemcmp.texi: Likewise.
70754         * doc/posix-functions/wmemcpy.texi: Likewise.
70755         * doc/posix-functions/wmemmove.texi: Likewise.
70756         * doc/posix-functions/wmemset.texi: Likewise.
70757         * doc/posix-functions/wprintf.texi: Likewise.
70758         * doc/posix-functions/wscanf.texi: Likewise.
70760 2008-12-21  Bruno Haible  <bruno@clisp.org>
70762         Update doc for HP-UX 11.11.
70763         * doc/posix-functions/btowc.texi: Clarify that the function is missing
70764         in HP-UX version 11.00, not in all versions of HP-UX 11.
70765         * doc/posix-functions/fwide.texi: Likewise.
70766         * doc/posix-functions/fwprintf.texi: Likewise.
70767         * doc/posix-functions/fwscanf.texi: Likewise.
70768         * doc/posix-functions/inet_ntop.texi: Likewise.
70769         * doc/posix-functions/inet_pton.texi: Likewise.
70770         * doc/posix-functions/mbrlen.texi: Likewise.
70771         * doc/posix-functions/mbrtowc.texi: Likewise.
70772         * doc/posix-functions/mbsinit.texi: Likewise.
70773         * doc/posix-functions/mbsrtowcs.texi: Likewise.
70774         * doc/posix-functions/swprintf.texi: Likewise.
70775         * doc/posix-functions/swscanf.texi: Likewise.
70776         * doc/posix-functions/towctrans.texi: Likewise.
70777         * doc/posix-functions/vfwprintf.texi: Likewise.
70778         * doc/posix-functions/vswprintf.texi: Likewise.
70779         * doc/posix-functions/vwprintf.texi: Likewise.
70780         * doc/posix-functions/wcrtomb.texi: Likewise.
70781         * doc/posix-functions/wcsrtombs.texi: Likewise.
70782         * doc/posix-functions/wcsstr.texi: Likewise.
70783         * doc/posix-functions/wctob.texi: Likewise.
70784         * doc/posix-functions/wctrans.texi: Likewise.
70785         * doc/posix-functions/wmemchr.texi: Likewise.
70786         * doc/posix-functions/wmemcmp.texi: Likewise.
70787         * doc/posix-functions/wmemcpy.texi: Likewise.
70788         * doc/posix-functions/wmemmove.texi: Likewise.
70789         * doc/posix-functions/wmemset.texi: Likewise.
70790         * doc/posix-functions/wprintf.texi: Likewise.
70791         * doc/posix-functions/wscanf.texi: Likewise.
70793 2008-12-21  Bruno Haible  <bruno@clisp.org>
70795         Work around a portability problem.
70796         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
70797         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
70799 2008-12-20  Bruno Haible  <bruno@clisp.org>
70801         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
70802         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
70803         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
70804         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
70805         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
70807         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
70808         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
70809         set.
70810         (GNULIB_defined_mbstate_t): New macro.
70811         (mbsinit): Redefine if REPLACE_MBSINIT is set.
70812         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
70813         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
70814         reuses the system's mbrtowc function but works around the bugs.
70815         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
70816         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
70817         macros.
70818         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
70819         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
70820         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
70821         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
70822         REPLACE_MBSINIT if mbsinit needs to be overridden.
70823         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
70824         REPLACE_MBSINIT, REPLACE_MBRTOWC.
70825         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
70826         REPLACE_MBSINIT, REPLACE_MBRTOWC.
70827         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
70828         m4/locale-zh.m4.
70829         (Depends): Add mbsinit.
70830         * modules/mbsinit (Depends): Add mbrtowc.
70831         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
70833 2008-12-20  Bruno Haible  <bruno@clisp.org>
70835         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
70836         so that there are no conversion errors on AIX.
70837         * tests/test-mbsrtowcs.c (main): LIkewise.
70839 2008-12-20  Bruno Haible  <bruno@clisp.org>
70841         Work around wctob bug on Solaris <= 9.
70842         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
70843         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
70844         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
70845         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
70846         * modules/wctob (Files): Add m4/locale-fr.m4.
70847         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
70849 2008-12-20  Bruno Haible  <bruno@clisp.org>
70851         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
70852         /dev/null.
70853         * tests/test-select-in.sh: Likewise.
70854         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
70856 2008-12-20  Bruno Haible  <bruno@clisp.org>
70858         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
70859         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
70860         Cygwin 1.5.x.
70862 2008-12-20  Bruno Haible  <bruno@clisp.org>
70864         Ensure mbstate_t is defined on HP-UX 11.11.
70865         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
70866         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
70867         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
70868         AC_USE_SYSTEM_EXTENSIONS.
70869         * modules/fnmatch (Depends-on): Add extensions.
70870         * modules/mbrlen (Depends-on): Likewise.
70871         * modules/mbrtowc (Depends-on): Likewise.
70872         * modules/mbsinit (Depends-on): Likewise.
70873         * modules/mbsrtowcs (Depends-on): Likewise.
70874         * modules/mbswidth (Depends-on): Likewise.
70875         * modules/quotearg (Depends-on): Likewise.
70876         * modules/strftime (Depends-on): Likewise.
70878 2008-12-20  Bruno Haible  <bruno@clisp.org>
70880         Ensure wctob is declared on IRIX 6.5.
70881         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
70882         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
70883         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
70884         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
70885         of HAVE_WCTOB.
70886         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
70887         HAVE_WCTOB.
70888         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
70890 2008-12-19  Bruno Haible  <bruno@clisp.org>
70892         * modules/mbsrtowcs-tests: New file.
70893         * tests/test-mbsrtowcs1.sh: New file.
70894         * tests/test-mbsrtowcs2.sh: New file.
70895         * tests/test-mbsrtowcs3.sh: New file.
70896         * tests/test-mbsrtowcs4.sh: New file.
70897         * tests/test-mbsrtowcs.c: New file.
70899         New module 'mbsrtowcs'.
70900         * lib/wchar.in.h (mbsrtowcs): New declaration.
70901         * lib/mbsrtowcs.c: New file.
70902         * m4/mbsrtowcs.m4: New file.
70903         * modules/mbsrtowcs: New file.
70904         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
70905         HAVE_MBSRTOWCS.
70906         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
70907         HAVE_MBSRTOWCS.
70908         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
70910 2008-12-19  Bruno Haible  <bruno@clisp.org>
70912         New module 'mbrlen'.
70913         * lib/wchar.in.h (mbrlen): New declaration.
70914         * lib/mbrlen.c: New file.
70915         * m4/mbrlen.m4: New file.
70916         * modules/mbrlen: New file.
70917         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
70918         HAVE_MBRLEN.
70919         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
70920         HAVE_MBRLEN.
70921         * doc/posix-functions/mbrlen.texi: Document the new module.
70923 2008-12-19  Bruno Haible  <bruno@clisp.org>
70925         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
70926         * modules/mbrtowc (Depends-on): Add verify.
70927         Suggested by Paul Eggert.
70929 2008-12-18  Bruno Haible  <bruno@clisp.org>
70931         * modules/mbsinit-tests: New file.
70932         * tests/test-mbsinit.sh: New file.
70933         * tests/test-mbsinit.c: New file.
70935 2008-12-18  Bruno Haible  <bruno@clisp.org>
70937         * modules/mbrtowc-tests: New file.
70938         * tests/test-mbrtowc1.sh: New file.
70939         * tests/test-mbrtowc2.sh: New file.
70940         * tests/test-mbrtowc3.sh: New file.
70941         * tests/test-mbrtowc4.sh: New file.
70942         * tests/test-mbrtowc.c: New file.
70944         New module 'mbrtowc'.
70945         * lib/wchar.in.h (mbstate_t): Override when the system does not have
70946         mbsinit and mbrtowc.
70947         (mbrtowc): New declaration.
70948         * lib/mbrtowc.c: New file.
70949         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
70950         * modules/mbrtowc: New file.
70951         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
70952         HAVE_MBRTOWC.
70953         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
70954         HAVE_MBRTOWC.
70955         * doc/posix-functions/mbrtowc.texi: Document the new module.
70957 2008-12-18  Bruno Haible  <bruno@clisp.org>
70959         New module 'wctob'.
70960         * lib/wchar.in.h (wctob): New declaration.
70961         * lib/wctob.c: New file.
70962         * m4/wctob.m4: New file.
70963         * modules/wctob: New file.
70964         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
70965         HAVE_WCTOB.
70966         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
70967         * doc/posix-functions/wctob.texi: Document the new module.
70969 2008-12-18  Bruno Haible  <bruno@clisp.org>
70971         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
70972         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
70974 2008-12-18  Simon Josefsson  <simon@josefsson.org>
70976         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
70977         G. Christensen" <tgc@jupiterrise.com>.
70979         * lib/flock.c: Need to include errno.h.  Reported by "Tom
70980         G. Christensen" <tgc@jupiterrise.com>.
70982         * lib/flock.c: Need to include string.h.  Reported by "Tom
70983         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
70984         <ebb9@byu.net>.
70986 2008-12-18  Bruno Haible  <bruno@clisp.org>
70988         * m4/locale-ja.m4: New file, from GNU gettext.
70990 2008-12-17  Bruno Haible  <bruno@clisp.org>
70992         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
70993         Suggested by Eric Blake.
70995 2008-12-17  Bruno Haible  <bruno@clisp.org>
70997         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
70999 2008-12-17  Bruno Haible  <bruno@clisp.org>
71001         * lib/mbsinit.c: Include verify.h. Verify an assumption.
71002         * modules/mbsinit (Depends-on): Add verify.
71003         Suggested by Paul Eggert.
71005 2008-12-17  Bruno Haible  <bruno@clisp.org>
71007         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
71008         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
71009         gl_FUNC_MBRTOWC.
71010         * m4/mbiter.m4 (gl_MBITER): LIkewise.
71011         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
71012         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
71013         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
71014         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
71015         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
71016         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
71017         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
71018         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
71019         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
71020         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
71021         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
71022         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
71023         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
71024         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
71025         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
71026         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
71027         * modules/trim (configure.ac): Likewise.
71029 2008-12-17  Bruno Haible  <bruno@clisp.org>
71031         * modules/btowc-tests: New file.
71032         * tests/test-btowc1.sh: New file.
71033         * tests/test-btowc2.sh: New file.
71034         * tests/test-btowc.c: New file.
71036         New module 'btowc'.
71037         * lib/wchar.in.h (btowc): New declaration.
71038         * lib/btowc.c: New file.
71039         * m4/btowc.m4: New file.
71040         * modules/btowc: New file.
71041         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
71042         HAVE_BTOWC.
71043         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
71044         * doc/posix-functions/btowc.texi: Document the new module.
71046 2008-12-17  Bruno Haible  <bruno@clisp.org>
71048         New module 'mbsinit'.
71049         * lib/wchar.in.h (mbsinit): New declaration.
71050         * lib/mbsinit.c: New file.
71051         * m4/mbsinit.m4: New file.
71052         * modules/mbsinit: New file.
71053         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
71054         HAVE_MBSINIT.
71055         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
71056         HAVE_MBSINIT.
71057         * doc/posix-functions/mbsinit.texi: Document the new module.
71059 2008-12-16  Bruno Haible  <bruno@clisp.org>
71061         * lib/unistd.in.h: Add comment.
71062         * tests/test-environ.c: Don't include <stdlib.h>.
71064 2008-12-16  Bruno Haible  <bruno@clisp.org>
71066         * lib/parse-duration.h (parse_duration): Document return value
71067         convention.
71068         * lib/parse-duration.c: Include specification header first. Add
71069         comments.
71070         (_): Remove macro.
71071         (parse_year_month_day, parse_hour_minute_second): Move side effects
71072         outside of strchr call.
71073         (parse_non_iso8601): Move side effects outside of isspace call.
71074         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
71075         call.
71077 2008-12-16  Bruno Haible  <bruno@clisp.org>
71079         * tests/test-parse-duration.sh: Produce no output when the test
71080         succeeds.
71082 2008-12-16  Bruno Haible  <bruno@clisp.org>
71084         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
71085         expressions.
71087 2008-12-15  Bruno Haible  <bruno@clisp.org>
71089         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
71090         * doc/glibc-functions/flistxattr.texi: Likewise.
71091         * doc/glibc-functions/fopencookie.texi: Likewise.
71092         * doc/glibc-functions/fremovexattr.texi: Likewise.
71093         * doc/glibc-functions/fsetxattr.texi: Likewise.
71094         * doc/glibc-functions/getxattr.texi: Likewise.
71095         * doc/glibc-functions/lgetxattr.texi: Likewise.
71096         * doc/glibc-functions/listxattr.texi: Likewise.
71097         * doc/glibc-functions/llistxattr.texi: Likewise.
71098         * doc/glibc-functions/lremovexattr.texi: Likewise.
71099         * doc/glibc-functions/lsetxattr.texi: Likewise.
71100         * doc/glibc-functions/removexattr.texi: Likewise.
71101         * doc/glibc-functions/setxattr.texi: Likewise.
71102         * doc/posix-functions/open_memstream.texi: Likewise.
71104 2008-12-15  Eric Blake  <ebb9@byu.net>
71106         Update doc for cygwin 1.7.
71107         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
71108         functions.
71109         * doc/posix-functions/fchmodat.texi: Likewise.
71110         * doc/posix-functions/fchownat.texi: Likewise.
71111         * doc/posix-functions/fdopendir.texi: Likewise.
71112         * doc/posix-functions/fmemopen.texi: Likewise.
71113         * doc/posix-functions/freeaddrinfo.texi: Likewise.
71114         * doc/posix-functions/fstatat.texi: Likewise.
71115         * doc/posix-functions/futimens.texi: Likewise.
71116         * doc/posix-functions/gai_strerror.texi: Likewise.
71117         * doc/posix-functions/getaddrinfo.texi: Likewise.
71118         * doc/posix-functions/getnameinfo.texi: Likewise.
71119         * doc/posix-functions/if_freenameindex.texi: Likewise.
71120         * doc/posix-functions/if_indextoname.texi: Likewise.
71121         * doc/posix-functions/if_nameindex.texi: Likewise.
71122         * doc/posix-functions/if_nametoindex.texi: Likewise.
71123         * doc/posix-functions/insque.texi: Likewise.
71124         * doc/posix-functions/linkat.texi: Likewise.
71125         * doc/posix-functions/llrint.texi: Likewise.
71126         * doc/posix-functions/llrintf.texi: Likewise.
71127         * doc/posix-functions/llrintl.texi: Likewise.
71128         * doc/posix-functions/lockf.texi: Likewise.
71129         * doc/posix-functions/lrintl.texi: Likewise.
71130         * doc/posix-functions/mkdirat.texi: Likewise.
71131         * doc/posix-functions/mkfifoat.texi: Likewise.
71132         * doc/posix-functions/mknodat.texi: Likewise.
71133         * doc/posix-functions/mq_close.texi: Likewise.
71134         * doc/posix-functions/mq_getattr.texi: Likewise.
71135         * doc/posix-functions/mq_notify.texi: Likewise.
71136         * doc/posix-functions/mq_open.texi: Likewise.
71137         * doc/posix-functions/mq_receive.texi: Likewise.
71138         * doc/posix-functions/mq_send.texi: Likewise.
71139         * doc/posix-functions/mq_setattr.texi: Likewise.
71140         * doc/posix-functions/mq_timedreceive.texi: Likewise.
71141         * doc/posix-functions/mq_timedsend.texi: Likewise.
71142         * doc/posix-functions/mq_unlink.texi: Likewise.
71143         * doc/posix-functions/open_memstream.texi: Likewise.
71144         * doc/posix-functions/openat.texi: Likewise.
71145         * doc/posix-functions/posix_fadvise.texi: Likewise.
71146         * doc/posix-functions/posix_fallocate.texi: Likewise.
71147         * doc/posix-functions/posix_madvise.texi: Likewise.
71148         * doc/posix-functions/posix_memalign.texi: Likewise.
71149         * doc/posix-functions/posix_openpt.texi: Likewise.
71150         * doc/posix-functions/readlinkat.texi: Likewise.
71151         * doc/posix-functions/remque.texi: Likewise.
71152         * doc/posix-functions/renameat.texi: Likewise.
71153         * doc/posix-functions/rintl.texi: Likewise.
71154         * doc/posix-functions/sem_unlink.texi: Likewise.
71155         * doc/posix-functions/shm_open.texi: Likewise.
71156         * doc/posix-functions/shm_unlink.texi: Likewise.
71157         * doc/posix-functions/signgam.texi: Likewise.
71158         * doc/posix-functions/sigset.texi: Likewise.
71159         * doc/posix-functions/stpcpy.texi: Likewise.
71160         * doc/posix-functions/stpncpy.texi: Likewise.
71161         * doc/posix-functions/strerror.texi: Likewise.
71162         * doc/posix-functions/strtod.texi: Likewise.
71163         * doc/posix-functions/symlinkat.texi: Likewise.
71164         * doc/posix-functions/unlinkat.texi: Likewise.
71165         * doc/posix-functions/utimensat.texi: Likewise.
71166         * doc/glibc-functions/bindresvport.texi: Likewise.
71167         * doc/glibc-functions/dn_expand.texi: Likewise.
71168         * doc/glibc-functions/exp10.texi: Likewise.
71169         * doc/glibc-functions/exp10f.texi: Likewise.
71170         * doc/glibc-functions/fgetxattr.texi: Likewise.
71171         * doc/glibc-functions/flistxattr.texi: Likewise.
71172         * doc/glibc-functions/fopencookie.texi: Likewise.
71173         * doc/glibc-functions/freeifaddrs.texi: Likewise.
71174         * doc/glibc-functions/fremovexattr.texi: Likewise.
71175         * doc/glibc-functions/fsetxattr.texi: Likewise.
71176         * doc/glibc-functions/getifaddrs.texi: Likewise.
71177         * doc/glibc-functions/getxattr.texi: Likewise.
71178         * doc/glibc-functions/lgetxattr.texi: Likewise.
71179         * doc/glibc-functions/listxattr.texi: Likewise.
71180         * doc/glibc-functions/llistxattr.texi: Likewise.
71181         * doc/glibc-functions/lremovexattr.texi: Likewise.
71182         * doc/glibc-functions/lsetxattr.texi: Likewise.
71183         * doc/glibc-functions/pow10.texi: Likewise.
71184         * doc/glibc-functions/pow10f.texi: Likewise.
71185         * doc/glibc-functions/rcmd_af.texi: Likewise.
71186         * doc/glibc-functions/removexattr.texi: Likewise.
71187         * doc/glibc-functions/res_init.texi: Likewise.
71188         * doc/glibc-functions/res_mkquery.texi: Likewise.
71189         * doc/glibc-functions/res_query.texi: Likewise.
71190         * doc/glibc-functions/res_querydomain.texi: Likewise.
71191         * doc/glibc-functions/res_send.texi: Likewise.
71192         * doc/glibc-functions/rresvport_af.texi: Likewise.
71193         * doc/glibc-functions/setxattr.texi: Likewise.
71194         * doc/glibc-functions/strcasestr.texi: Likewise.
71196 2008-12-15  Bruno Haible  <bruno@clisp.org>
71198         Fix compilation error on OSF/1 4.0.
71199         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
71200         <sys/time.h>, simply delegate to the system header.
71201         Reported by Daniel Richard G. <oss@teragram.com>.
71203 2008-12-15  Bruno Haible  <bruno@clisp.org>
71205         * doc/posix-functions/openat.texi: Mention the 'openat' module.
71206         * doc/posix-functions/fchmodat.texi: Likewise.
71207         * doc/posix-functions/fchownat.texi: Likewise.
71208         * doc/posix-functions/fdopendir.texi: Likewise.
71209         * doc/posix-functions/fstatat.texi: Likewise.
71210         * doc/posix-functions/mkdirat.texi: Likewise.
71211         * doc/posix-functions/unlinkat.texi: Likewise.
71213 2008-12-14  Bruno Haible  <bruno@clisp.org>
71215         Update doc for POSIX:2008.
71216         * doc/posix-functions/faccessat.texi: New file.
71217         * doc/posix-functions/fchmodat.texi: New file.
71218         * doc/posix-functions/fchownat.texi: New file.
71219         * doc/posix-functions/fdopendir.texi: New file.
71220         * doc/posix-functions/fstatat.texi: New file.
71221         * doc/posix-functions/futimens.texi: New file.
71222         * doc/posix-functions/linkat.texi: New file.
71223         * doc/posix-functions/mkdirat.texi: New file.
71224         * doc/posix-functions/mkfifoat.texi: New file.
71225         * doc/posix-functions/mknodat.texi: New file.
71226         * doc/posix-functions/open_wmemstream.texi: New file.
71227         * doc/posix-functions/openat.texi: New file.
71228         * doc/posix-functions/psiginfo.texi: New file.
71229         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
71230         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
71231         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
71232         * doc/posix-functions/readlinkat.texi: New file.
71233         * doc/posix-functions/renameat.texi: New file.
71234         * doc/posix-functions/strerror_l.texi: New file.
71235         * doc/posix-functions/symlinkat.texi: New file.
71236         * doc/posix-functions/unlinkat.texi: New file.
71237         * doc/posix-functions/utimensat.texi: New file.
71238         * doc/gnulib.texi (Function Substitutes): Add these subsections.
71240 2008-12-14  Bruno Haible  <bruno@clisp.org>
71242         Update doc for POSIX:2008.
71243         * doc/posix-functions/alphasort.texi: Renamed from
71244         doc/glibc-functions/alphasort.texi.
71245         * doc/posix-functions/dirfd.texi: Renamed from
71246         doc/glibc-functions/dirfd.texi.
71247         * doc/posix-functions/dprintf.texi: Renamed from
71248         doc/glibc-functions/dprintf.texi.
71249         * doc/posix-functions/duplocale.texi: Renamed from
71250         doc/glibc-functions/duplocale.texi.
71251         * doc/posix-functions/fexecve.texi: Renamed from
71252         doc/glibc-functions/fexecve.texi.
71253         * doc/posix-functions/fmemopen.texi: Renamed from
71254         doc/glibc-functions/fmemopen.texi.
71255         * doc/posix-functions/freelocale.texi: Renamed from
71256         doc/glibc-functions/freelocale.texi.
71257         * doc/posix-functions/getdate_err.texi: Renamed from
71258         doc/glibc-functions/getdate_err.texi.
71259         * doc/posix-functions/isalnum_l.texi: Renamed from
71260         doc/glibc-functions/isalnum_l.texi.
71261         * doc/posix-functions/isalpha_l.texi: Renamed from
71262         doc/glibc-functions/isalpha_l.texi.
71263         * doc/posix-functions/isblank_l.texi: Renamed from
71264         doc/glibc-functions/isblank_l.texi.
71265         * doc/posix-functions/iscntrl_l.texi: Renamed from
71266         doc/glibc-functions/iscntrl_l.texi.
71267         * doc/posix-functions/isdigit_l.texi: Renamed from
71268         doc/glibc-functions/isdigit_l.texi.
71269         * doc/posix-functions/isgraph_l.texi: Renamed from
71270         doc/glibc-functions/isgraph_l.texi.
71271         * doc/posix-functions/islower_l.texi: Renamed from
71272         doc/glibc-functions/islower_l.texi.
71273         * doc/posix-functions/isprint_l.texi: Renamed from
71274         doc/glibc-functions/isprint_l.texi.
71275         * doc/posix-functions/ispunct_l.texi: Renamed from
71276         doc/glibc-functions/ispunct_l.texi.
71277         * doc/posix-functions/isspace_l.texi: Renamed from
71278         doc/glibc-functions/isspace_l.texi.
71279         * doc/posix-functions/isupper_l.texi: Renamed from
71280         doc/glibc-functions/isupper_l.texi.
71281         * doc/posix-functions/iswalnum_l.texi: Renamed from
71282         doc/glibc-functions/iswalnum_l.texi.
71283         * doc/posix-functions/iswalpha_l.texi: Renamed from
71284         doc/glibc-functions/iswalpha_l.texi.
71285         * doc/posix-functions/iswblank_l.texi: Renamed from
71286         doc/glibc-functions/iswblank_l.texi.
71287         * doc/posix-functions/iswcntrl_l.texi: Renamed from
71288         doc/glibc-functions/iswcntrl_l.texi.
71289         * doc/posix-functions/iswctype_l.texi: Renamed from
71290         doc/glibc-functions/iswctype_l.texi.
71291         * doc/posix-functions/iswdigit_l.texi: Renamed from
71292         doc/glibc-functions/iswdigit_l.texi.
71293         * doc/posix-functions/iswgraph_l.texi: Renamed from
71294         doc/glibc-functions/iswgraph_l.texi.
71295         * doc/posix-functions/iswlower_l.texi: Renamed from
71296         doc/glibc-functions/iswlower_l.texi.
71297         * doc/posix-functions/iswprint_l.texi: Renamed from
71298         doc/glibc-functions/iswprint_l.texi.
71299         * doc/posix-functions/iswpunct_l.texi: Renamed from
71300         doc/glibc-functions/iswpunct_l.texi.
71301         * doc/posix-functions/iswspace_l.texi: Renamed from
71302         doc/glibc-functions/iswspace_l.texi.
71303         * doc/posix-functions/iswupper_l.texi: Renamed from
71304         doc/glibc-functions/iswupper_l.texi.
71305         * doc/posix-functions/iswxdigit_l.texi: Renamed from
71306         doc/glibc-functions/iswxdigit_l.texi.
71307         * doc/posix-functions/isxdigit_l.texi: Renamed from
71308         doc/glibc-functions/isxdigit_l.texi.
71309         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
71310         doc/glibc-functions/mbsnrtowcs.texi.
71311         * doc/posix-functions/mkdtemp.texi: Renamed from
71312         doc/glibc-functions/mkdtemp.texi.
71313         * doc/posix-functions/newlocale.texi: Renamed from
71314         doc/glibc-functions/newlocale.texi.
71315         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
71316         doc/glibc-functions/nl_langinfo_l.texi.
71317         * doc/posix-functions/open_memstream.texi: Renamed from
71318         doc/glibc-functions/open_memstream.texi.
71319         * doc/posix-functions/opterr.texi: Renamed from
71320         doc/glibc-functions/opterr.texi.
71321         * doc/posix-functions/optind.texi: Renamed from
71322         doc/glibc-functions/optind.texi.
71323         * doc/posix-functions/optopt.texi: Renamed from
71324         doc/glibc-functions/optopt.texi.
71325         * doc/posix-functions/psignal.texi: Renamed from
71326         doc/glibc-functions/psignal.texi.
71327         * doc/posix-functions/scandir.texi: Renamed from
71328         doc/glibc-functions/scandir.texi.
71329         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
71330         doc/glibc-functions/sched_get_priority_min.texi.
71331         * doc/posix-functions/signgam.texi: Renamed from
71332         doc/glibc-functions/signgam.texi.
71333         * doc/posix-functions/stpcpy.texi: Renamed from
71334         doc/glibc-functions/stpcpy.texi.
71335         * doc/posix-functions/stpncpy.texi: Renamed from
71336         doc/glibc-functions/stpncpy.texi.
71337         * doc/posix-functions/strcasecmp_l.texi: Renamed from
71338         doc/glibc-functions/strcasecmp_l.texi.
71339         * doc/posix-functions/strcoll_l.texi: Renamed from
71340         doc/glibc-functions/strcoll_l.texi.
71341         * doc/posix-functions/strfmon_l.texi: Renamed from
71342         doc/glibc-functions/strfmon_l.texi.
71343         * doc/posix-functions/strftime_l.texi: Renamed from
71344         doc/glibc-functions/strftime_l.texi.
71345         * doc/posix-functions/strncasecmp_l.texi: Renamed from
71346         doc/glibc-functions/strncasecmp_l.texi.
71347         * doc/posix-functions/strndup.texi: Renamed from
71348         doc/glibc-functions/strndup.texi.
71349         * doc/posix-functions/strnlen.texi: Renamed from
71350         doc/glibc-functions/strnlen.texi.
71351         * doc/posix-functions/strsignal.texi: Renamed from
71352         doc/glibc-functions/strsignal.texi.
71353         * doc/posix-functions/strxfrm_l.texi: Renamed from
71354         doc/glibc-functions/strxfrm_l.texi.
71355         * doc/posix-functions/timer_gettime.texi: Renamed from
71356         doc/glibc-functions/timer_gettime.texi.
71357         * doc/posix-functions/tolower_l.texi: Renamed from
71358         doc/glibc-functions/tolower_l.texi.
71359         * doc/posix-functions/toupper_l.texi: Renamed from
71360         doc/glibc-functions/toupper_l.texi.
71361         * doc/posix-functions/towctrans_l.texi: Renamed from
71362         doc/glibc-functions/towctrans_l.texi.
71363         * doc/posix-functions/towlower_l.texi: Renamed from
71364         doc/glibc-functions/towlower_l.texi.
71365         * doc/posix-functions/towupper_l.texi: Renamed from
71366         doc/glibc-functions/towupper_l.texi.
71367         * doc/posix-functions/uselocale.texi: Renamed from
71368         doc/glibc-functions/uselocale.texi.
71369         * doc/posix-functions/vdprintf.texi: Renamed from
71370         doc/glibc-functions/vdprintf.texi.
71371         * doc/posix-functions/wcpcpy.texi:
71372         Renamed from doc/glibc-functions/wcpcpy.texi.
71373         * doc/posix-functions/wcpncpy.texi: Renamed from
71374         doc/glibc-functions/wcpncpy.texi.
71375         * doc/posix-functions/wcscasecmp.texi: Renamed from
71376         doc/glibc-functions/wcscasecmp.texi.
71377         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
71378         doc/glibc-functions/wcscasecmp_l.texi.
71379         * doc/posix-functions/wcscoll_l.texi: Renamed from
71380         doc/glibc-functions/wcscoll_l.texi.
71381         * doc/posix-functions/wcsdup.texi: Renamed from
71382         doc/glibc-functions/wcsdup.texi.
71383         * doc/posix-functions/wcsncasecmp.texi: Renamed from
71384         doc/glibc-functions/wcsncasecmp.texi.
71385         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
71386         doc/glibc-functions/wcsncasecmp_l.texi.
71387         * doc/posix-functions/wcsnlen.texi: Renamed from
71388         doc/glibc-functions/wcsnlen.texi.
71389         * doc/posix-functions/wcsnrtombs.texi: Renamed from
71390         doc/glibc-functions/wcsnrtombs.texi.
71391         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
71392         doc/glibc-functions/wcsxfrm_l.texi.
71393         * doc/posix-functions/wctrans_l.texi: Renamed from
71394         doc/glibc-functions/wctrans_l.texi.
71395         * doc/posix-functions/wctype_l.texi: Renamed from
71396         doc/glibc-functions/wctype_l.texi.
71397         * doc/gnulib.texi (Function Substitutes): Add these subsections.
71398         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
71399         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
71400         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
71401         these subsections.
71402         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
71403         Remove sections.
71405 2008-12-14  Bruno Haible  <bruno@clisp.org>
71407         Update doc for POSIX:2008.
71408         * doc/posix-functions/*.texi: Update URL of POSIX specification.
71410 2008-12-14  Bruno Haible  <bruno@clisp.org>
71412         Update doc for POSIX:2008.
71413         * doc/pastposix-functions/bcmp.texi: Renamed from
71414         doc/posix-functions/bcmp.texi.
71415         * doc/pastposix-functions/bcopy.texi: Renamed from
71416         doc/posix-functions/bcopy.texi.
71417         * doc/pastposix-functions/bsd_signal.texi: Renamed from
71418         doc/posix-functions/bsd_signal.texi.
71419         * doc/pastposix-functions/bzero.texi: Renamed from
71420         doc/posix-functions/bzero.texi.
71421         * doc/pastposix-functions/ecvt.texi: Renamed from
71422         doc/posix-functions/ecvt.texi.
71423         * doc/pastposix-functions/fcvt.texi: Renamed from
71424         doc/posix-functions/fcvt.texi.
71425         * doc/pastposix-functions/ftime.texi: Renamed from
71426         doc/posix-functions/ftime.texi.
71427         * doc/pastposix-functions/gcvt.texi: Renamed from
71428         doc/posix-functions/gcvt.texi.
71429         * doc/pastposix-functions/getcontext.texi: Renamed from
71430         doc/posix-functions/getcontext.texi.
71431         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
71432         doc/posix-functions/gethostbyaddr.texi.
71433         * doc/pastposix-functions/gethostbyname.texi: Renamed from
71434         doc/posix-functions/gethostbyname.texi.
71435         * doc/pastposix-functions/getwd.texi: Renamed from
71436         doc/posix-functions/getwd.texi.
71437         * doc/pastposix-functions/h_errno.texi: Renamed from
71438         doc/posix-functions/h_errno.texi.
71439         * doc/pastposix-functions/index.texi: Renamed from
71440         doc/posix-functions/index.texi.
71441         * doc/pastposix-functions/makecontext.texi: Renamed from
71442         doc/posix-functions/makecontext.texi.
71443         * doc/pastposix-functions/mktemp.texi: Renamed from
71444         doc/posix-functions/mktemp.texi.
71445         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
71446         doc/posix-functions/pthread_attr_getstackaddr.texi.
71447         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
71448         doc/posix-functions/pthread_attr_setstackaddr.texi.
71449         * doc/pastposix-functions/rindex.texi: Renamed from
71450         doc/posix-functions/rindex.texi.
71451         * doc/pastposix-functions/scalb.texi: Renamed from
71452         doc/posix-functions/scalb.texi.
71453         * doc/pastposix-functions/setcontext.texi: Renamed from
71454         doc/posix-functions/setcontext.texi.
71455         * doc/pastposix-functions/swapcontext.texi: Renamed from
71456         doc/posix-functions/swapcontext.texi.
71457         * doc/pastposix-functions/ualarm.texi: Renamed from
71458         doc/posix-functions/ualarm.texi.
71459         * doc/pastposix-functions/usleep.texi: Renamed from
71460         doc/posix-functions/usleep.texi.
71461         * doc/pastposix-functions/vfork.texi: Renamed from
71462         doc/posix-functions/vfork.texi.
71463         * doc/pastposix-functions/wcswcs.texi: Renamed from
71464         doc/posix-functions/wcswcs.texi.
71465         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
71466         (Function Substitutes): Update.
71468 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71470         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
71471         m4/strerror.m4.
71473 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71474             Bruno Haible  <bruno@clisp.org>
71476         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
71478 2008-12-13  Bruno Haible  <bruno@clisp.org>
71480         * modules/strtoull (Depends-on): Remove unistd.
71482 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71484         * modules/strtoull (Depends-on): Add stdlib.
71486 2008-12-11  Simon Josefsson  <simon@josefsson.org>
71488         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
71490 2008-12-10  Jim Meyering  <meyering@redhat.com>
71492         gl_ASSERT: don't say assertions are disabled when they're not
71493         * m4/assert.m4 (gl_ASSERT): Do not make configure report
71494         "checking whether to enable assertions... no", when they are in
71495         fact enabled.  This is solely a bug in the output of configure.
71496         In spite of saying "no", NDEBUG was not defined in that case.
71497         Also, as noted by Eric Blake, leave assertions enabled upon
71498         --enable-assert=INVALID.
71500 2008-12-10  Bruno Haible  <bruno@clisp.org>
71502         Change MODULES.html to refer to POSIX:2008 where possible.
71503         * MODULES.html.sh (POSIX2008_URL): New variable.
71504         (posix_headers): Remove sys/timeb, ucontext.
71505         (posix2001_headers): New variable.
71506         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
71507         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
71508         index, makecontext, mktemp, pthread_attr_getstackaddr,
71509         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
71510         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
71511         (posix2001_functions): New variable.
71512         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
71513         otherwise.
71515 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71517         add missing include to parse-duration.c
71518         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
71519         * modules/parse-duration (Depends-on): Add xalloc.
71521         fix sed script reading maint.mk
71522         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
71523         (syntax-check-rules): Use it.
71525 2008-12-09  Bruno Haible  <bruno@clisp.org>
71527         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
71528         MacOS X 10.4/PowerPC.
71529         Reported by Simon Josefsson.
71531 2008-12-08  Jim Meyering  <meyering@redhat.com>
71533         work around mingw's lack of some S_IF definitions
71534         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
71535         Reported by Simon Josefsson.
71537 2008-12-08  Bruno Haible  <bruno@clisp.org>
71539         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
71540         applied to variables. Needed on MacOS X 10.4/PowerPC.
71541         Reported by Simon Josefsson.
71543 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
71544         and Eric Blake  <ebb9@byu.net>
71546         assert: honor --enable-assert
71547         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
71548         order to honor --enable-assert, rather than treating it as a
71549         synonym for --disable-assert.
71551 2008-12-08  Jim Meyering  <meyering@redhat.com>
71553         * lib/posixtm.c: Remove now-useless declaration of mktime.
71555         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
71557 2008-12-07  Bruno Haible  <bruno@clisp.org>
71559         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
71560         test_once): Mark functions as static.
71561         * tests/test-tls.c (test_tls): Likewise.
71563 2008-12-07  Bruno Haible  <bruno@clisp.org>
71565         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
71566         iconv_register_autodetect.
71568 2008-12-07  Jim Meyering  <meyering@redhat.com>
71570         posixtm.c: avoid a warning
71571         * lib/posixtm.c (posixtime): Don't initialize tm0.
71572         It's no longer needed to placate gcc4's -Wuninitialized,
71573         and the attempt to placate would elicit a new warning.
71575         unicodeio.c: mark unused parameters
71576         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
71577         (fallback_failure_callback): Likewise.
71579 2008-12-07  Bruno Haible  <bruno@clisp.org>
71581         * gnulib-tool (func_create_testdir): When building the tests
71582         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
71583         Reported by Simon Josefsson.
71585 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71587         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
71589 2008-12-06  Bruno Haible  <bruno@clisp.org>
71591         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
71592         Suggested by Eric Blake.
71594 2008-12-06  Bruno Haible  <bruno@clisp.org>
71596         Fix a c-stack test failure on MacOS X.
71597         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
71598         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
71599         handler for SIGBUS as well.
71600         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
71601         install a signal handler for SIGBUS as well.
71602         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
71604 2008-12-06  Bruno Haible  <bruno@clisp.org>
71606         Advocacy documentation.
71607         * doc/gnulib-intro.texi (Benefits): New section.
71608         * doc/gnulib.texi: Update.
71610 2008-12-06  Bruno Haible  <bruno@clisp.org>
71612         Document the 'manywarnings' module.
71613         * doc/manywarnings.texi: New file.
71614         * doc/gnulib.texi: Include it.
71616 2008-12-05  Eric Blake  <ebb9@byu.net>
71618         tests: silence some gcc warnings
71619         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
71620         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
71621         type mismatches.
71623 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71624             Bruno Haible  <bruno@clisp.org>
71626         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
71628 2008-11-29  Jim Meyering  <meyering@redhat.com>
71630         unicodeio.c: mark unused parameters
71631         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
71632         (fallback_failure_callback): Likewise.
71634         fts: fix a thinko
71635         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
71636         (set_stat_type): Return S_IF*-valued "type" directly.
71637         Prompted by James Youngman's spotting a related bug.
71638         Confirmed by further testing through find.
71640         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
71641         * lib/fts.c (D_TYPE): Define.
71642         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
71643         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
71644         (s_ifmt_shift_bits): New function.
71645         (set_stat_type): New function.
71646         (fts_build): When not calling fts_stat, call set_stat_type
71647         to propagate dirent.d_type info to fts_read caller.
71648         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
71649         fts_statp->st_mode type information may be valid.
71651 2008-11-28  Simon Josefsson  <simon@josefsson.org>
71653         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
71654         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
71655         <sds@gnu.org>.
71657 2008-11-20  Bruno Haible  <bruno@clisp.org>
71659         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
71660         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
71661         INCLUDE_NEXT.
71662         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
71663         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
71664         * modules/math (Makefile.am): Substitute
71665         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
71666         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
71668 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
71669             Bruno Haible  <bruno@clisp.org>
71671         * lib/stdint.in.h: Define all type macros so that their expansion is
71672         a single typedef'ed token. Fixes a compilation failure in Boost which
71673         does "using ::int8_t;".
71675 2008-11-18  Simon Josefsson  <simon@josefsson.org>
71677         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
71678         gl_MANYWARN_ALL_GCC.
71679         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
71680         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
71681         * modules/manywarnings: New file.
71682         * MODULES.html.sh: Mention manywarnings module.
71684 2008-11-18  Bruno Haible  <bruno@clisp.org>
71686         * doc/gnulib-tool.texi (Unit tests): New section.
71688 2008-11-18  Simon Josefsson  <simon@josefsson.org>
71690         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
71691         paths like 'lib/po/foo.po'.
71693 2008-11-17  Simon Josefsson  <simon@josefsson.org>
71695         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
71696         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
71698 2008-11-17  Simon Josefsson  <simon@josefsson.org>
71700         * m4/warnings.m4: Use CPPFLAGS to really check whether the
71701         parameter works.
71703 2008-11-17  Simon Josefsson  <simon@josefsson.org>
71705         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
71707 2008-11-17  Bruce Korb  <bkorb@gnu.org>
71709         * modules/parse-duration-tests: New file.
71710         * tests/test-parse-duration.sh: New file.
71711         * tests/test-parse-duration.c: New file.
71713         New module 'parse-duration'.
71714         * lib/parse-duration.h: New file.
71715         * lib/parse-duration.c: New file.
71716         * modules/parse-duration: New file.
71718 2008-11-17  Bruno Haible  <bruno@clisp.org>
71720         * tests/test-select-out.sh: Comment out the first pipe test.
71721         Reported by Simon Josefsson.
71723 2008-11-17  Bruno Haible  <bruno@clisp.org>
71725         * modules/getaddrinfo (Depends-on): Add servent, hostent.
71726         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
71727         gl_HOSTENT.
71729 2008-11-17  Bruno Haible  <bruno@clisp.org>
71731         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
71732         -lnetwork and -lnet. Needed for Haiku and BeOS.
71734 2008-11-16  Bruno Haible  <bruno@clisp.org>
71736         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
71738 2008-11-16  Bruno Haible  <bruno@clisp.org>
71740         Avoid test failure on Haiku.
71741         * tests/test-fsync.c: Include <errno.h>.
71742         (main): Don't require that fsync (0) fails.
71744 2008-11-15  Bruno Haible  <bruno@clisp.org>
71746         New module 'hostent'.
71747         * modules/hostent: New file.
71748         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
71750 2008-11-15  Bruno Haible  <bruno@clisp.org>
71752         New module 'servent'.
71753         * modules/servent: New file.
71754         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
71756 2008-11-15  Bruno Haible  <bruno@clisp.org>
71758         Avoid generating same test program with two different rules.
71759         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
71760         test-frexp to test-frexp-nolibm.
71761         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
71762         test-frexpl to test-frexpl-nolibm.
71764 2008-11-15  Bruno Haible  <bruno@clisp.org>
71766         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
71767         $(FREXPL_LIBM).
71769 2008-11-15  Bruno Haible  <bruno@clisp.org>
71771         * lib/netdb.in.h: Activate the definitions also when the system's
71772         <netdb.h> has 'struct addrinfo'.
71773         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
71774         EAI_OVERFLOW or AI_NUMERICSERV.
71775         * doc/posix-headers/netdb.texi: Document the problem.
71777 2008-11-15  Bruno Haible  <bruno@clisp.org>
71779         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
71781         Make the 'sched' module work on platforms where <sched.h> exists but
71782         is incomplete (such as Haiku).
71783         * lib/sched.in.h; Include the system's <sched.h> if it exists.
71784         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
71785         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
71786         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
71787         HAVE_STRUCT_SCHED_PARAM.
71788         * modules/sched (Depends-on): Add include_next.
71789         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
71790         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
71791         * doc/posix-headers/sched.texi: Document the issue.
71793 2008-11-13  Jim Meyering  <meyering@redhat.com>
71795         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
71796         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
71797         test would fail due to the difference in the Report bugs to ...
71798         line.  The expected address is empty, "<>", while the actual
71799         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
71801 2008-11-12  Bruno Haible  <bruno@clisp.org>
71803         lstat: don't compile lstat.c on systems lacking lstat
71804         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
71805         which don't have lstat; this is handled by lib/sys_stat.in.h already.
71806         Reported by Daniel P. Berrange via Jim Meyering.
71808 2008-11-12  Jim Meyering  <meyering@redhat.com>
71810         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
71812 2008-11-12  Simon Josefsson  <simon@josefsson.org>
71814         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
71815         instead.
71817 2008-11-12  Bruno Haible  <bruno@clisp.org>
71819         * lib/unicodeio.c: Include unistr.h.
71820         (utf8_wctomb): Remove function.
71821         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
71823 2008-11-12  Simon Josefsson  <simon@josefsson.org>
71825         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
71826         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
71827         <bruno@clisp.org>.
71828         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
71830 2008-11-12  Simon Josefsson  <simon@josefsson.org>
71832         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
71833         * doc/gnulib.texi: Add section for warnings.
71835 2008-11-11  Bruno Haible  <bruno@clisp.org>
71837         * lib/sockets.h: Add a comment.
71839 2008-11-11  Karl Berry  <karl@gnu.org>
71841         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
71843 2008-11-11  Eric Blake  <ebb9@byu.net>
71845         fdl.texi: avoid git symlinks
71846         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
71848 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
71850         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
71852 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
71854         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
71855         (gl_WARN_ADD): Substitute $2 if literal.
71857 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
71859         * m4/warning.m4: Remove.
71861 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
71863         * m4/warnings.m4: Almost complete rewrite. :-)
71865 2008-11-10  Simon Josefsson  <simon@josefsson.org>
71867         * modules/warnings: New module.
71868         * m4/warnings.m4: New file.
71869         * MODULES.html.sh: Mention warnings module.
71870         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
71871         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
71873 2008-11-10  Eric Blake  <ebb9@byu.net>
71875         fdl.texi: make a symlink to the latest version
71876         * doc/standards.texi: Revert today's earlier change.
71877         * doc/fdl-1.2.texi: Rename from old fdl.texi...
71878         * doc/fdl.texi: ...and replace this with a symlink to the newer
71879         fdl-1.3.texi.
71881 2008-11-10  Bruno Haible  <bruno@clisp.org>
71883         * tests/test-select-fd.c (main): Accept the result file name as fourth
71884         argument.
71885         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
71886         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
71888 2008-11-10  Bruno Haible  <bruno@clisp.org>
71890         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
71891         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
71892         as autoconf-substituted macros.
71893         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
71894         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
71895         gl_NETDB_H_DEFAULTS. Set these variables.
71896         * modules/netdb (Makefile.am): Substitute these variables.
71898 2008-11-10  Eric Blake  <ebb9@byu.net>
71900         standards.texi: include correct file for FDL 1.3
71901         * doc/standards.texi (GNU Free Documentation License): Change
71902         include file to pull in FDL 1.3, not 1.2.
71904         fdl.texi: revert accidental change to license
71905         * doc/fdl.texi: This is FDL 1.2, not 1.3.
71907 2008-11-10  Bruno Haible  <bruno@clisp.org>
71909         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
71910         cross-compiling guesses also when the native compile gives no result.
71912 2008-11-10  Bruno Haible  <bruno@clisp.org>
71914         * lib/spawni.c (__spawni): Force variable into the stack.
71916 2008-11-10  Bruno Haible  <bruno@clisp.org>
71918         Add support for Haiku.
71919         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
71920         glibc and BeOS, but also on Haiku.
71921         * lib/fpurge.c (fpurge): Likewise.
71922         * lib/freadable.c (freadable): Likewise.
71923         * lib/freadahead.c (freadahead): Likewise.
71924         * lib/freading.c (freading): Likewise.
71925         * lib/freadptr.c (freadptr): Likewise.
71926         * lib/freadseek.c (freadptrinc): Likewise.
71927         * lib/fseeko.c (rpl_fseeko): Likewise.
71928         * lib/fseterr.c (fseterr): Likewise.
71929         * lib/fwritable.c (fwritable): Likewise.
71930         * lib/fwriting.c (fwriting): Likewise.
71931         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
71933 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
71935         * lib/config.charset: Treat Haiku like BeOS.
71937 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
71939         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
71940         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
71942 2008-11-08  Bruno Haible  <bruno@clisp.org>
71944         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
71945         AC_CACHE_CHECK.
71947 2008-11-08  Bruno Haible  <bruno@clisp.org>
71949         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
71951 2008-11-08  Bruno Haible  <bruno@clisp.org>
71953         * tests/test-select-fd.c: New file.
71954         * tests/test-select-in.sh: New file.
71955         * tests/test-select-out.sh: New file.
71956         * tests/test-select-stdin.c: New file.
71957         * modules/select-tests (Files): Add the new files.
71958         (Depends-on): Add gettimeofday.
71959         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
71960         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
71961         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
71963 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
71964             Bruno Haible  <bruno@clisp.org>
71966         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
71968 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
71970         * build-aux/pmccabe2html: Added support for C++ source files.
71972 2008-11-05  Ben Pfaff  <blp@gnu.org>
71974         Fix lib/close.c build on Windows.
71975         * modules/close (Files): Add lib/w32sock.h.
71977 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
71979         Accept Bison's NEWS format.
71980         * build-aux/announce-gen (print_news_deltas): Tweak
71981         $re_prefix.
71983 2008-11-04  Bruno Haible  <bruno@clisp.org>
71985         * modules/random_r (Maintainer): Add glibc.
71987 2008-11-04  Simon Josefsson  <simon@josefsson.org>
71989         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
71990         by karl@freefriends.org (Karl Berry).
71991         * doc/alloca.texi: Likewise.
71992         * doc/c-ctype.texi: Likewise.
71993         * doc/c-strcase.texi: Likewise.
71994         * doc/c-strcaseeq.texi: Likewise.
71995         * doc/c-strcasestr.texi: Likewise.
71996         * doc/c-strstr.texi: Likewise.
71997         * doc/c-strtod.texi: Likewise.
71998         * doc/c-strtold.texi: Likewise.
71999         * doc/ctime.texi: Likewise.
72000         * doc/error.texi: Likewise.
72001         * doc/fdl.texi: Likewise.
72002         * doc/gcd.texi: Likewise.
72003         * doc/getdate.texi: Likewise.
72004         * doc/gnulib-intro.texi: Likewise.
72005         * doc/gnulib-tool.texi: Likewise.
72006         * doc/gnulib.texi: Likewise.
72007         * doc/inet_ntoa.texi: Likewise.
72008         * doc/maintain.texi: Likewise.
72009         * doc/make-stds.texi: Likewise.
72010         * doc/quote.texi: Likewise.
72011         * doc/regexprops-generic.texi: Likewise.
72012         * doc/standards.texi: Likewise.
72013         * doc/verify.texi: Likewise.
72014         * doc/visibility.texi: Likewise.
72015         * doc/gnulib.texi (GNU Free Documentation License): Include
72016         fdl-1.3.texi instead of fdl.texi.
72018 2008-11-04  Simon Josefsson  <simon@josefsson.org>
72020         * doc/fdl-1.3.texi: New file, from
72021         <http://www.gnu.org/licenses/fdl-1.3.texi>.
72022         * modules/fdl-1.3: Add.
72023         * MODULES.html.sh: Add fdl-1.3.
72025 2008-11-03  Bruno Haible  <bruno@clisp.org>
72027         Make determination of absolute name of header file work with AIX xlc.
72028         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
72029         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
72030         preprocessing.
72031         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
72032         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
72034 2008-11-03  Simon Josefsson  <simon@josefsson.org>
72036         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
72037         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
72038         <ludo@gnu.org>.
72040 2008-11-02  Bruno Haible  <bruno@clisp.org>
72042         Mark 'strpbrk' obsolete.
72043         * modules/strpbrk (Status, Notice): New sections.
72044         * modules/strtok_r (Depends-on): Add strpbrk.
72046 2008-11-02  Bruno Haible  <bruno@clisp.org>
72048         Mark 'strdup' obsolete.
72049         * modules/strdup (Status, Notice): New sections.
72050         * modules/findprog (Depends-on): Add strdup.
72051         * modules/getaddrinfo (Depends-on): Likewise.
72052         * modules/localename (Depends-on): Likewise.
72053         * modules/relocatable-lib (Depends-on): Likewise.
72054         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
72055         * modules/relocatable-prog (Depends-on): Likewise.
72056         * modules/trim (Depends-on): Likewise.
72057         * modules/unictype/gen-ctype (Depends-on): Likewise.
72058         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
72060 2008-11-02  Bruno Haible  <bruno@clisp.org>
72062         Mark 'strcspn' obsolete.
72063         * modules/strcspn (Status, Notice): New sections.
72065 2008-11-02  Bruno Haible  <bruno@clisp.org>
72067         Mark 'rmdir' obsolete.
72068         * modules/rmdir (Status, Notice): New sections.
72069         * modules/clean-temp (Depends-on): Add rmdir.
72070         * modules/openat (Depends-on): Likewise.
72072 2008-11-02  Bruno Haible  <bruno@clisp.org>
72074         Mark 'raise' obsolete.
72075         * modules/raise (Status, Notice): New sections.
72076         (Include): Specify <signal.h>.
72077         * modules/stdio (Depends-on): Add raise.
72078         * modules/write (Depends-on): Likewise.
72080 2008-11-02  Bruno Haible  <bruno@clisp.org>
72082         Mark 'memset' obsolete.
72083         * modules/memset (Status, Notice): New sections.
72085 2008-11-02  Bruno Haible  <bruno@clisp.org>
72087         Mark 'memmove' obsolete.
72088         * modules/memmove (Status, Notice): New sections.
72089         * modules/argp (Depends-on): Add memmove.
72090         * modules/argz (Depends-on): Likewise.
72091         * modules/canonicalize (Depends-on): Likewise.
72092         * modules/canonicalize-lgpl (Depends-on): Likewise.
72093         * modules/fts (Depends-on): Likewise.
72094         * modules/getcwd (Depends-on): Likewise.
72095         * modules/human (Depends-on): Likewise.
72096         * modules/regex (Depends-on): Likewise.
72097         * modules/striconveh (Depends-on): Likewise.
72098         * modules/trim (Depends-on): Likewise.
72099         * modules/unistr/u8-move (Depends-on): Likewise.
72100         * modules/unistr/u16-move (Depends-on): Likewise.
72101         * modules/unistr/u32-move (Depends-on): Likewise.
72103 2008-11-02  Bruno Haible  <bruno@clisp.org>
72105         Mark 'memcpy' obsolete.
72106         * modules/memcpy (Status, Notice): New sections.
72108 2008-11-02  Bruno Haible  <bruno@clisp.org>
72110         Mark 'memcmp' obsolete.
72111         * modules/memcmp (Status, Notice): New sections.
72112         * modules/argmatch (Depends-on): Add memchr.
72113         * modules/backupfile (Depends-on): Likewise.
72114         * modules/c-strcasestr (Depends-on): Likewise.
72115         * modules/crypto/des (Depends-on): Likewise.
72116         * modules/csharpcomp (Depends-on): Likewise.
72117         * modules/fnmatch (Depends-on): Likewise.
72118         * modules/git-merge-changelog (Depends-on): Likewise.
72119         * modules/isnand (Depends-on): Likewise.
72120         * modules/isnand-nolibm (Depends-on): Likewise.
72121         * modules/isnanf (Depends-on): Likewise.
72122         * modules/isnanf-nolibm (Depends-on): Likewise.
72123         * modules/isnanl (Depends-on): Likewise.
72124         * modules/isnanl-nolibm (Depends-on): Likewise.
72125         * modules/mbchar (Depends-on): Likewise.
72126         * modules/memcoll (Depends-on): Likewise.
72127         * modules/quotearg (Depends-on): Likewise.
72128         * modules/regex (Depends-on): Likewise.
72129         * modules/relocatable-prog (Depends-on): Likewise.
72130         * modules/same (Depends-on): Likewise.
72131         * modules/signbit (Depends-on): Likewise.
72132         * modules/strcasestr-simple (Depends-on): Likewise.
72133         * modules/unictype/gen-ctype (Depends-on): Likewise.
72134         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
72135         * modules/uniname/uniname (Depends-on): Likewise.
72136         * modules/unistr/u8-cmp (Depends-on): Likewise.
72138 2008-11-02  Bruno Haible  <bruno@clisp.org>
72140         Mark 'memchr' obsolete.
72141         * modules/memchr (Status, Notice): New sections.
72142         * modules/argp (Depends-on): Add memchr.
72143         * modules/base64 (Depends-on): Likewise.
72144         * modules/c-strcasestr (Depends-on): Likewise.
72145         * modules/chdir-long (Depends-on): Likewise.
72146         * modules/fnmatch (Depends-on): Likewise.
72147         * modules/getsubopt (Depends-on): Likewise.
72148         * modules/git-merge-changelog (Depends-on): Likewise.
72149         * modules/glob (Depends-on): Likewise.
72150         * modules/strcasestr-simple (Depends-on): Likewise.
72151         * modules/strnlen (Depends-on): Likewise.
72153 2008-11-02  Bruno Haible  <bruno@clisp.org>
72155         Mark 'atexit' obsolete.
72156         * modules/atexit (Status, Notice): New sections.
72157         * modules/chdir-long (Depends-on): Add atexit.
72158         * modules/wait-process (Depends-on): Likewise.
72160 2008-11-02  Bruno Haible  <bruno@clisp.org>
72162         * gnulib-tool: New option --with-obsolete.
72163         (func_usage): Document it.
72164         (func_modules_transitive_closure): Drop obsolete dependencies if
72165         incobsolete is not true.
72166         (func_import): Read and save the incobsolete variable to the cache.
72168 2008-11-02  Bruno Haible  <bruno@clisp.org>
72170         * modules/TEMPLATE-EXTENDED: New field 'Status'.
72171         * gnulib-tool: New option --extract-status.
72172         (func_usage): Document it.
72173         (sed_extract_prog): Recognize it.
72174         (func_get_status): New function.
72176 2008-10-30  Simon Josefsson  <simon@josefsson.org>
72178         * modules/sockets (License): Change from LGPL to LGPLv2+.
72180 2008-10-28  Simon Josefsson  <simon@josefsson.org>
72182         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
72184 2008-10-28  Simon Josefsson  <simon@josefsson.org>
72186         * MODULES.html.sh (Support for systems lacking POSIX:2001):
72187         Mention times and sys_times.
72188         * modules/sys_times, modules/sys_times-tests: New modules.
72189         * modules/times, modules/times-tests: Likewise
72190         * m4/sys_times_h.m4: New file.
72191         * lib/sys_times.in.h: Likewise
72192         * lib/times.c: Likewise.
72193         * tests/test-sys_times.c: Likewise.
72194         * tests/test-times.c: Likewise.
72195         * doc/posix-headers/sys_times.texi: Update.
72196         * doc/posix-functions/times.texi: Update.
72198 2008-10-28  Jim Meyering  <meyering@redhat.com>
72200         * modules/tempname (Depends-on): Add lstat.
72202         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
72204 2008-10-28  Simon Josefsson  <simon@josefsson.org>
72206         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
72207         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
72208         using idiom used elsewhere in gnulib.
72210 2008-10-27  Jim Meyering  <meyering@redhat.com>
72212         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
72214 2008-10-27  Simon Josefsson  <simon@josefsson.org>
72216         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
72217         TESTS_ENVIRONMENT, for shell scripts that needs to call built
72218         programs.
72219         * tests/test-argp-2.sh: Use $EXEEXT when needed.
72221 2008-10-27  Simon Josefsson  <simon@josefsson.org>
72223         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
72225 2008-10-27  Bruno Haible  <bruno@clisp.org>
72227         * tests/test-lstat.c: Include <stdio.h>.
72229 2008-10-27  Simon Josefsson  <simon@josefsson.org>
72231         * modules/lstat-tests: New module.
72232         * tests/test-lstat.c: New file.
72234 2008-10-26  Jim Meyering  <meyering@redhat.com>
72236         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
72238 2008-10-26  Simon Josefsson  <simon@josefsson.org>
72239             Bruno Haible  <bruno@clisp.org>
72241         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
72242         * modules/configmake (Include): Add a note that the include must come
72243         after all system headers.
72244         * lib/javaversion.c: Include configmake.h after all other includes.
72246 2008-10-26  Bruno Haible  <bruno@clisp.org>
72248         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
72249         HAVE_STRUCT_RANDOM_DATA to 1.
72250         (gl_STDLIB_H): Simplify.
72252 2008-10-26  Simon Josefsson  <simon@josefsson.org>
72254         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
72255         substitute HAVE_STRUCT_RANDOM_DATA.
72256         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
72257         random_data.
72258         * modules/stdlib (Makefile.am): Substitute
72259         HAVE_STRUCT_RANDOM_DATA.
72261 2008-10-26  Simon Josefsson  <simon@josefsson.org>
72263         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
72264         * doc/gnulib-intro.texi (Copyright): Likewise.
72266 2008-10-26  Simon Josefsson  <simon@josefsson.org>
72268         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
72269         findings.
72271 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
72272             Bruno Haible  <bruno@clisp.org>
72274         * lib/unistd.in.h: Include <winsock2.h>.
72275         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
72276         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
72277         Provide dummy declarations.
72278         (gethostname): Override.
72279         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
72280         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
72281         gl_PREREQ_SYS_H_WINSOCK2.
72282         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
72283         * doc/posix-functions/gethostname.texi: More details.
72285 2008-10-25  Bruno Haible  <bruno@clisp.org>
72287         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
72288         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
72289         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
72291         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
72292         here ...
72293         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
72294         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
72295         gl_UNISTD_H_DEFAULTS.
72297 2008-10-25  Eric Blake  <ebb9@byu.net>
72299         signbit: avoid spurious compiler failure
72300         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
72301         declarations inside function.
72303 2008-10-24  Simon Josefsson  <simon@josefsson.org>
72304             Bruno Haible  <bruno@clisp.org>
72306         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
72307         * modules/random_r (Depends-on): Add stdint.
72309 2008-10-24  Bruno Haible  <bruno@clisp.org>
72311         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
72312         Eggert.
72313         * modules/strerror (License): Likewise.
72315 2008-10-24  Jim Meyering  <meyering@redhat.com>
72317         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
72318         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
72320 2008-10-24  Eric Blake  <ebb9@byu.net>
72322         getgroups: fix compilation when getgroups is available
72323         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
72324         but with <config.h> override of getgroups disabled.
72326 2008-10-24  Simon Josefsson  <simon@josefsson.org>
72328         * doc/gnulib.texi (Header files): Add note about C++ problems.
72329         Explained by Bruno Haible <bruno@clisp.org>.
72331 2008-10-23  Bruno Haible  <bruno@clisp.org>
72333         Define a dummy SA_NODEFER macro on Interix.
72334         * lib/signal.in.h (SA_NODEFER): Define fallback.
72335         Reported by Aleksey Cheusov <cheusov@tut.by> via
72336         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
72338 2008-10-23  Bruno Haible  <bruno@clisp.org>
72340         * modules/freadahead (License): Change to LGPLv2+.
72341         Suggested by Simon Josefsson.
72343 2008-10-23  Jim Meyering  <meyering@redhat.com>
72345         random_r: new module
72346         * modules/random_r: New file.
72347         * m4/random_r.m4: New file.
72348         * lib/random_r.c: New file, from glibc.
72349         * modules/random_r-tests: New file.
72350         * tests/test-random_r.c: New file.
72351         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
72352          Declare.
72353         (RAND_MAX): Define.
72354         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
72355         * modules/stdlib: Substitute them, too.
72356         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
72357         * doc/glibc-functions/initstate_r.texi: Mention the new module.
72358         * doc/glibc-functions/random_r.texi: Likewise.
72359         * doc/glibc-functions/setstate_r.texi: Likewise.
72360         * doc/glibc-functions/srandom_r.texi: Likewise.
72361         * config/srclist.txt: Mention it.
72363 2008-10-23  David Lutterkort  <lutter@redhat.com>
72365         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
72366         link requirement
72368 2008-10-23  Jim Meyering  <meyering@redhat.com>
72370         selinux-h: mark parameters of stub functions as intentionally unused
72371         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
72372         * lib/se-context.in.h: Likewise.
72374 2008-10-22  Simon Josefsson  <simon@josefsson.org>
72376         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
72378 2008-10-22  Simon Josefsson  <simon@josefsson.org>
72380         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
72382 2008-10-22  Eric Blake  <ebb9@byu.net>
72384         glthread/thread: avoid compiler warning
72385         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
72386         Add unreachable abort to silence compiler.
72388 2008-10-22  Eric Blake  <ebb9@byu.net>
72390         netdb: also supply struct addrinfo for cygwin 1.5.x
72391         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
72392         older cygwin.
72393         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
72394         cygwin.
72395         * doc/posix-headers/netdb.texi (netdb.h): Document this.
72397 2008-10-22  Bruno Haible  <bruno@clisp.org>
72399         * users.txt: Update entry about pspp.
72401 2008-10-21  Bruno Haible  <bruno@clisp.org>
72403         Simplification.
72404         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
72405         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
72407         Simplification.
72408         * lib/ioctl.c (ioctl): Don't undefine.
72409         * lib/socket.c (socket): Don't undefine.
72411         Remove unused module indicator macros.
72412         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
72413         GNULIB_$1 as a C macro.
72415         * doc/posix-functions/close.texi: Undo last change.
72416         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
72417         Windows platforms.
72419 2008-10-21  Bruno Haible  <bruno@clisp.org>
72421         Add gethostname() declaration to <unistd.h>.
72422         * lib/unistd.in.h (gethostname): New declaration.
72423         * lib/gethostname.c: Include <unistd.h>.
72424         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
72425         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
72426         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
72427         and HAVE_GETHOSTNAME.
72428         * modules/gethostname (Depends-on): Add unistd.
72429         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
72430         (Include): Specify <unistd.h>.
72431         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
72432         HAVE_GETHOSTNAME.
72433         * tests/test-gethostname.c: Include <unistd.h> first.
72435 2008-10-21  Bruno Haible  <bruno@clisp.org>
72437         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
72438         * modules/select-tests (Depends-on): Likewise.
72439         Reported by Simon Josefsson.
72441 2008-10-21  Simon Josefsson  <simon@josefsson.org>
72443         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
72444         * lib/accept.c: New file, based on winsock.c.
72445         * lib/bind.c: New file, based on winsock.c.
72446         * lib/connect.c: New file, based on winsock.c.
72447         * lib/getpeername.c: New file, based on winsock.c.
72448         * lib/getsockname.c: New file, based on winsock.c.
72449         * lib/getsockopt.c: New file, based on winsock.c.
72450         * lib/ioctl.c: New file, based on winsock.c.
72451         * lib/listen.c: New file, based on winsock.c.
72452         * lib/recv.c: New file, based on winsock.c.
72453         * lib/recvfrom.c: New file, based on winsock.c.
72454         * lib/send.c: New file, based on winsock.c.
72455         * lib/sendto.c: New file, based on winsock.c.
72456         * lib/setsockopt.c: New file, based on winsock.c.
72457         * lib/shutdown.c: New file, based on winsock.c.
72458         * lib/socket.c: New file, based on winsock.c.
72459         * lib/w32sock.h: New file, based on winsock.c.
72460         * lib/winsock.c: Remove file.
72461         * modules/accept: Likewise.
72462         * modules/bind: Likewise.
72463         * modules/connect: Likewise.
72464         * modules/getpeername: Likewise.
72465         * modules/getsockname: Likewise.
72466         * modules/getsockopt: Likewise.
72467         * modules/ioctl: Likewise.
72468         * modules/listen: Likewise.
72469         * modules/recv: Likewise.
72470         * modules/recvfrom: Likewise.
72471         * modules/send: Likewise.
72472         * modules/sendto: Likewise.
72473         * modules/setsockopt: Likewise.
72474         * modules/shutdown: Likewise.
72475         * modules/socket: Use socket.c instead of winsock.c.
72476         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
72477         * doc/posix-functions/accept.texi: Doc fix.
72478         * doc/posix-functions/bind.texi: Doc fix.
72479         * doc/posix-functions/close.texi: Doc fix.
72480         * doc/posix-functions/connect.texi: Doc fix.
72481         * doc/posix-functions/getpeername.texi: Doc fix.
72482         * doc/posix-functions/getsockname.texi: Doc fix.
72483         * doc/posix-functions/getsockopt.texi: Doc fix.
72484         * doc/posix-functions/ioctl.texi: Doc fix.
72485         * doc/posix-functions/listen.texi: Doc fix.
72486         * doc/posix-functions/recv.texi: Doc fix.
72487         * doc/posix-functions/recvfrom.texi: Doc fix.
72488         * doc/posix-functions/send.texi: Doc fix.
72489         * doc/posix-functions/sendto.texi: Doc fix.
72490         * doc/posix-functions/setsockopt.texi: Doc fix.
72491         * doc/posix-functions/shutdown.texi: Doc fix.
72492         * doc/posix-functions/socket.texi: Doc fix.
72494 2008-10-20  Bruno Haible  <bruno@clisp.org>
72496         Take into account the role of SIGABRT_COMPAT on Windows 2008.
72497         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
72498         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
72499         as an alias for SIGABRT.
72500         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
72501         (sigaction): Map it to SIGABRT.
72502         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
72504 2008-10-20  Bruno Haible  <bruno@clisp.org>
72506         * lib/fts.c: Don't include lstat.h.
72507         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
72509         Move the lstat() declaration to <sys/stat.h>.
72510         * lib/lstat.h: Remove file.
72511         * lib/sys_stat.in.h: Add special invocation convention.
72512         (lstat): New declaration.
72513         * lib/lstat.c (orig_lstat): New function.
72514         (rpl_lstat): Use orig_lstat instead of lstat.
72515         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
72516         AC_C_INLINE. Set REPLACE_LSTAT.
72517         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
72518         and REPLACE_LSTAT.
72519         * modules/lstat (Files): Remove lib/lstat.h.
72520         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
72521         (Include): Specify <sys/stat.h> instead of lstat.h.
72522         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
72523         REPLACE_LSTAT.
72524         * NEWS: Mention the change.
72526 2008-10-20  Bruno Haible  <bruno@clisp.org>
72528         * modules/posix_spawn-tests: New file.
72529         * tests/test-posix_spawn3.c: New file.
72531 2008-10-20  Bruno Haible  <bruno@clisp.org>
72533         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
72534         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
72535         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
72536         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
72537         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
72539 2008-10-20  Bruno Haible  <bruno@clisp.org>
72541         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
72542         of posix_spawn on AIX 5.3.
72544 2008-10-20  Bruno Haible  <bruno@clisp.org>
72546         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
72548 2008-10-20  Bruno Haible  <bruno@clisp.org>
72550         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
72551         of AC_LANG_PROGRAM.
72553 2008-10-20  Simon Josefsson  <simon@josefsson.org>
72555         * lib/netdb.in.h: Don't define GNU specific constants until they
72556         are supported or needed.  Reported by Bruno Haible
72557         <bruno@clisp.org>.
72559 2008-10-20  Simon Josefsson  <simon@josefsson.org>
72561         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
72563 2008-10-20  Simon Josefsson  <simon@josefsson.org>
72565         * lib/getaddrinfo.h: Remove file.
72566         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
72567         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
72568         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
72569         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
72570         * modules/netdb: Substitute GNULIB_GETADDRINFO.
72571         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
72572         * tests/test-getaddrinfo.c: Likewise.
72573         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
72574         * NEWS: Mention change.
72576 2008-10-19  Bruno Haible  <bruno@clisp.org>
72578         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
72580 2008-10-19  Bruno Haible  <bruno@clisp.org>
72582         * lib/wait-process.c: Include simply <sys/wait.h>.
72583         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
72584         WIFSTOPPED): Remove fallback definitions.
72585         * modules/wait-process (Depends-on): Add sys_wait.
72587         New module 'sys_wait'.
72588         * modules/sys_wait: New file.
72589         * lib/sys_wait.in.h: New file, partially copied from
72590         lib/wait-process.c.
72591         * m4/sys_wait_h.m4: New file.
72592         * doc/posix-headers/sys_wait.texi: Mention the new module.
72594 2008-10-19  Bruno Haible  <bruno@clisp.org>
72596         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
72598 2008-10-19  Bruno Haible  <bruno@clisp.org>
72600         Assume that waitpid() fills an 'int' status, not a 'union wait'.
72601         * lib/wait-process.c (WAIT_T): Remove type.
72602         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
72603         (wait_subprocess): Update.
72605 2008-10-19  Bruno Haible  <bruno@clisp.org>
72607         New module 'atoll'.
72608         * modules/atoll: New file.
72609         * lib/stdlib.in.h (atoll): New declaration.
72610         * lib/atoll.c: New file, from glibc with modifications.
72611         * m4/atoll.m4: New file.
72612         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
72613         HAVE_ATOLL.
72614         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
72615         * doc/posix-functions/atoll.texi: Mention the new module.
72617 2008-10-19  Bruno Haible  <bruno@clisp.org>
72619         Add strtoull() declaration to <stdlib.h>.
72620         * lib/stdlib.in.h (strtoull): New declaration.
72621         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
72622         Set HAVE_STRTOULL.
72623         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
72624         HAVE_STRTOULL.
72625         * modules/strtoull (Depends-on): Add stdlib.
72626         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
72627         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
72628         HAVE_STRTOULL.
72630 2008-10-19  Bruno Haible  <bruno@clisp.org>
72632         Add strtoll() declaration to <stdlib.h>.
72633         * lib/stdlib.in.h (strtoll): New declaration.
72634         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
72635         Set HAVE_STRTOLL.
72636         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
72637         HAVE_STRTOLL.
72638         * modules/strtoll (Depends-on): Add stdlib.
72639         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
72640         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
72642 2008-10-19  Bruno Haible  <bruno@clisp.org>
72644         * modules/bcopy (Depends-on): Add strings.
72645         (Include): Specify <strings.h>.
72647 2008-10-19  Bruno Haible  <bruno@clisp.org>
72649         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
72651 2008-10-19  Bruno Haible  <bruno@clisp.org>
72653         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
72654         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
72655         mingw.
72657 2008-10-19  Bruno Haible  <bruno@clisp.org>
72659         * lib/atanl.c: Don't include isnanl.h.
72660         * lib/cosl.c: Likewise.
72661         * lib/ldexpl.c: Likewise.
72662         * lib/logl.c: Likewise.
72663         * lib/sinl.c: Likewise.
72664         * lib/sqrtl.c: Likewise.
72665         * lib/tanl.c: Likewise.
72667         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
72668         * lib/isnanf.h: Remove file.
72669         * lib/isnand.h: Remove file.
72670         * lib/isnanl.h: Remove file.
72671         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
72672         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
72673         macros.
72674         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
72675         HAVE_ISNANF, don't define it as a C macro.
72676         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
72677         HAVE_ISNAND, don't define it as a C macro.
72678         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
72679         HAVE_ISNANL, don't define it as a C macro.
72680         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
72681         HAVE_ISNAN[FDL].
72682         * modules/isnanf (Files): Remove lib/isnanf.h.
72683         (Depends-on): Add math.
72684         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
72685         (Include): Specify <math.h> instead of isnanf.h.
72686         * modules/isnand (Files): Remove lib/isnand.h.
72687         (Depends-on): Add math.
72688         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
72689         (Include): Specify <math.h> instead of isnand.h.
72690         * modules/isnanl (Files): Remove lib/isnanl.h.
72691         (Depends-on): Add math.
72692         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
72693         (Include): Specify <math.h> instead of isnanl.h.
72694         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
72695         HAVE_ISNAN[FDL].
72696         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
72697         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
72698         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
72699         * NEWS: Mention the change.
72701 2008-10-18  Bruno Haible  <bruno@clisp.org>
72703         Add getusershell(), setusershell(), endusershell() declarations to
72704         <unistd.h>.
72705         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
72706         declarations.
72707         * lib/getusershell.c: Include unistd.h.
72708         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
72709         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
72710         HAVE_GETUSERSHELL.
72711         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
72712         and HAVE_GETUSERSHELL.
72713         * modules/getusershell (Depends-on): Add unistd, extensions.
72714         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
72715         (Include): Specify <unistd.h>.
72716         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
72717         HAVE_GETUSERSHELL.
72719 2008-10-18  Bruno Haible  <bruno@clisp.org>
72721         Add a getloadavg() declaration to <stdlib.h>.
72722         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
72723         getloadavg declaration.
72724         (getloadavg): New declaration.
72725         * lib/getloadavg.c: Include <stdlib.h> first.
72726         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
72727         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
72728         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
72729         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
72730         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
72731         * modules/getloadavg (Depends-on): Add stdlib, extensions.
72732         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
72733         (Include): Specify <stdlib.h>.
72734         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
72735         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
72737 2008-10-18  Bruno Haible  <bruno@clisp.org>
72739         * lib/dirchownmod.c: Don't include lchmod.h.
72741         Move the lchmod() declaration to <sys/stat.h>.
72742         * lib/lchmod.h: Remove file.
72743         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
72744         (lchmod): New declaration, moved here from lib/lchown.h.
72745         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
72746         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
72747         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
72748         and HAVE_LCHMOD.
72749         * modules/lchmod (Files): Remove lib/lchmod.h.
72750         (Depends-on): Add sys_stat, extensions.
72751         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
72752         (Include): Specify <sys/stat.h> instead of lchmod.h.
72753         * modules/sys_stat (Depends-on): Add link-warning.
72754         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
72755         definition of GL_LINK_WARNING.
72756         * NEWS: Mention the change.
72758 2008-10-18  Bruno Haible  <bruno@clisp.org>
72760         * lib/fchdir.c: Don't include dirfd.h.
72761         * lib/fts.c: Likewise.
72762         * lib/getcwd.c: Likewise.
72763         * lib/glob.c: Likewise.
72765         Move the dirfd() declaration to <dirent.h>.
72766         * lib/dirfd.h: Remove file.
72767         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
72768         (dirfd): New declaration.
72769         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
72770         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
72771         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
72772         HAVE_DECL_DIRFD.
72773         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
72774         HAVE_DECL_DIRFD.
72775         * modules/dirfd (Files): Remove lib/dirfd.h.
72776         (Depends-on): Add dirent, extensions.
72777         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
72778         (Include): Specify <dirent.h> instead of dirfd.h.
72779         * modules/dirent (Depends-on): Add link-warning.
72780         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
72781         definition of GL_LINK_WARNING.
72782         * NEWS: Mention the change.
72784 2008-10-18  Bruno Haible  <bruno@clisp.org>
72786         Move the euidaccess() declaration to <unistd.h>.
72787         * lib/euidaccess.h: Remove file.
72788         * lib/unistd.in.h (euidaccess): New declaration.
72789         * lib/euidaccess.c: Don't include euidaccess.h.
72790         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
72791         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
72792         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
72793         and HAVE_EUIDACCESS.
72794         * modules/euidaccess (Files): Remove lib/euidaccess.h.
72795         (Depends-on): Add unistd.
72796         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
72797         (Include): Specify <unistd.h> instead of euidaccess.h.
72798         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
72799         HAVE_EUIDACCESS.
72800         * NEWS: Mention the change.
72802 2008-10-18  Bruno Haible  <bruno@clisp.org>
72804         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
72806         Move the getdomainname() declaration to <unistd.h>.
72807         * lib/getdomainname.h: Remove file.
72808         * lib/unistd.in.h (getdomainname): New declaration.
72809         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
72810         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
72811         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
72812         HAVE_GETDOMAINNAME.
72813         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
72814         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
72815         * modules/getdomainname (Files): Remove lib/getdomainname.h.
72816         (Depends-on): Add unistd, extensions.
72817         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
72818         (Includes): Specify <unistd.h> instead of getdomainname.h.
72819         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
72820         HAVE_GETDOMAINNAME.
72821         * NEWS: Mention the change.
72823 2008-10-18  Bruno Haible  <bruno@clisp.org>
72825         * modules/dirent: New file.
72826         * m4/dirent_h.m4: New file.
72827         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
72828         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
72829         * modules/fchdir (Files): Remove lib/dirent.in.h.
72830         (Depends-on): Add dirent.
72831         (Makefile.am): Move rules to modules/dirent.
72832         * doc/posix-headers/dirent.texi: Mention the new module.
72834 2008-10-18  Bruno Haible  <bruno@clisp.org>
72836         Avoid -Wunused-parameter warnings in public gnulib header files.
72837         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
72838         macro.
72839         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
72841 2008-10-18  Bruno Haible  <bruno@clisp.org>
72843         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
72844         * doc/glibc-functions/error.texi: Mention the module 'error'.
72845         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
72846         * doc/glibc-functions/getdomainname.texi: Mention the module
72847         'getdomainname'.
72848         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
72849         * doc/glibc-functions/getpagesize.texi: Mention the module
72850         'getpagesize'.
72851         * doc/glibc-functions/getusershell.texi: Mention the module
72852         'getusershell'.
72853         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
72854         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
72855         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
72856         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
72857         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
72858         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
72859         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
72860         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
72861         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
72862         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
72863         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
72864         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
72865         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
72866         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
72868 2008-10-17  Bruno Haible  <bruno@clisp.org>
72870         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
72871         HP-UX and IRIX, use -0.0L.
72872         * tests/test-ceill.c (minus_zero): Likewise.
72873         * tests/test-floorl.c (minus_zero): Likewise.
72874         * tests/test-frexpl.c (minus_zero): Likewise.
72875         * tests/test-isnan.c (minus_zerol): Likewise.
72876         * tests/test-isnanl.h (minus_zero): Likewise.
72877         * tests/test-ldexpl.c (minus_zero): Likewise.
72878         * tests/test-roundl.c (minus_zero): Likewise.
72879         * tests/test-signbit.c (minus_zerol): Likewise.
72880         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
72881         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
72882         * tests/test-truncl.c (minus_zero): Likewise.
72883         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
72884         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
72885         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
72886         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
72888 2008-10-17  Bruno Haible  <bruno@clisp.org>
72890         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
72891         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
72892         that it gets activated only for gcc >= 3.0.
72893         * lib/dirent.in.h: Likewise.
72894         * lib/errno.in.h: Likewise.
72895         * lib/fcntl.in.h: Likewise.
72896         * lib/float.in.h: Likewise.
72897         * lib/iconv.in.h: Likewise.
72898         * lib/inttypes.in.h: Likewise.
72899         * lib/locale.in.h: Likewise.
72900         * lib/math.in.h: Likewise.
72901         * lib/netdb.in.h: Likewise.
72902         * lib/netinet_in.in.h: Likewise.
72903         * lib/search.in.h: Likewise.
72904         * lib/signal.in.h: Likewise.
72905         * lib/spawn.in.h: Likewise.
72906         * lib/stdarg.in.h: Likewise.
72907         * lib/stdint.in.h: Likewise.
72908         * lib/stdio.in.h: Likewise.
72909         * lib/stdlib.in.h: Likewise.
72910         * lib/string.in.h: Likewise.
72911         * lib/strings.in.h: Likewise.
72912         * lib/sys_file.in.h: Likewise.
72913         * lib/sys_ioctl.in.h: Likewise.
72914         * lib/sys_select.in.h: Likewise.
72915         * lib/sys_socket.in.h: Likewise.
72916         * lib/sys_stat.in.h: Likewise.
72917         * lib/sys_time.in.h: Likewise.
72918         * lib/sysexits.in.h: Likewise.
72919         * lib/time.in.h: Likewise.
72920         * lib/unistd.in.h: Likewise.
72921         * lib/wchar.in.h: Likewise.
72922         * lib/wctype.in.h: Likewise.
72923         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
72925 2008-10-17  Jim Meyering  <meyering@redhat.com>
72927         ignore-value: don't depend on inline module
72928         * modules/ignore-value (Depends-on): Remove 'inline'.
72929         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
72930         Suggestion from Bruno Haible.
72932 2008-10-17  Bruno Haible  <bruno@clisp.org>
72934         New implementation of condition variables for Win32.
72935         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
72936         (gl_linked_waitqueue_t): New type.
72937         (gl_cond_t): Use it.
72938         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
72939         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
72940         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
72941         (glthread_cond_init_func, glthread_cond_wait_func,
72942         glthread_cond_timedwait_func, glthread_cond_signal_func,
72943         glthread_cond_broadcast_func, glthread_cond_destroy_func):
72944         Reimplemented on the basis of gl_linked_waitqueue_t.
72945         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
72946         gl_waitqueue_t.
72947         (gl_rwlock_t): Update.
72948         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
72950 2008-10-17  Simon Josefsson  <simon@josefsson.org>
72952         * modules/recvfrom (Depends-on): Add dependency on getpeername.
72953         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
72955 2008-10-17  Jim Meyering  <meyering@redhat.com>
72957         ignore-value: new module
72958         * modules/ignore-value: New file.
72959         * lib/ignore-value.h: New file.
72960         * MODULES.html.sh (Compiler warning management): New section,
72961         just for this module.  More to come.
72963 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
72965         open-safer.c: avoid 'signed and unsigned in conditional...' warning
72966         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
72967         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
72969 2008-10-16  Jim Meyering  <meyering@redhat.com>
72971         openat-die.c: avoid 'no previous prototype' warning
72972         * lib/openat-die.c: Include "openat.h".
72973         Reported by Reuben Thomas <rrt@sc3d.org>.
72975 2008-10-16  Simon Josefsson  <simon@josefsson.org>
72977         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
72978         * lib/netdb.in.h: Fix typo.
72979         Reported by Bruno Haible  <bruno@clisp.org>
72981         * lib/netdb.in.h: Include sys/socket.h for platforms without
72982         netdb.h, to get structures like hostent on MinGW.
72983         * modules/netdb (Depends-on): Add sys_socket.
72985 2008-10-15  Simon Josefsson  <simon@josefsson.org>
72987         * modules/netdb, modules/netdb-tests: New file.
72988         * m4/netdb_h.m4: New file.
72989         * lib/netdb.in.h: Add, currently just an empty file pending
72990         definitions.
72991         * tests/test-netdb.c: New file.
72992         * doc/posix-headers/netdb.texi: Mention that we replace it if
72993         needed.
72994         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
72995         netdb.
72997 2008-10-15  Simon Josefsson  <simon@josefsson.org>
72999         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
73000         with code.
73002 2008-10-13  Bruno Haible  <bruno@clisp.org>
73004         * lib/glthread/cond.c (glthread_cond_wait_func,
73005         glthread_cond_timedwait_func): Add a comment.
73007 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
73009         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
73010         * tests/test-select.c: Likewise,
73012 2008-10-13  Bruno Haible  <bruno@clisp.org>
73014         * lib/glthread/cond.c (glthread_cond_wait_func,
73015         glthread_cond_timedwait_func): Fix variable name.
73016         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
73018 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
73020         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
73021         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
73022         struct sockaddr.sa_len.
73023         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
73025 2008-10-13  Simon Josefsson  <simon@josefsson.org>
73027         * build-aux/pmccabe2html: Add css and css_url parameters.
73029 2008-10-12  Bruno Haible  <bruno@clisp.org>
73031         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
73032         calling aclx_get.
73033         Reported by Rainer Tammer <tammer@tammer.net>.
73035 2008-10-12  Bruno Haible  <bruno@clisp.org>
73037         Use msvcrt aware primitives for creation/termination of Win32 threads.
73038         * lib/glthread/thread.c: Include <process.h>.
73039         (glthread_create_func): Use _beginthreadex instead of CreateThread.
73040         (wrapper_func): Update signature.
73041         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
73043 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
73044             Bruno Haible  <bruno@clisp.org>
73046         Provide a Win32 implementation of the 'cond' module.
73047         * lib/glthread/cond.h [USE_WIN32]: New implementation.
73048         * lib/glthread/cond.c (glthread_cond_init_func,
73049         glthread_cond_wait_func, glthread_cond_timedwait_func,
73050         glthread_cond_signal_func, glthread_cond_broadcast_func,
73051         glthread_cond_destroy_func) [USE_WIN32]: New functions.
73052         * modules/cond (Dependencies): Add gettimeofday.
73054 2008-10-11  Bruno Haible  <bruno@clisp.org>
73056         Make sleep work on older versions of mingw.
73057         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
73058         only whether it exists.
73059         * doc/posix-functions/sleep.texi: Mention the problem with older
73060         versions of mingw.
73062 2008-10-11  Bruno Haible  <bruno@clisp.org>
73064         New module 'shutdown'.
73065         * modules/shutdown: New file.
73066         * lib/sys_socket.in.h (shutdown): New declaration.
73067         * lib/winsock.c (shutdown): New function.
73068         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
73069         GNULIB_SHUTDOWN.
73070         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
73071         * doc/posix-functions/shutdown.texi: Document the new module.
73073 2008-10-11  Jim Meyering  <meyering@redhat.com>
73075         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
73077 2008-10-11  Bruno Haible  <bruno@clisp.org>
73079         New module 'fclose'.
73080         * modules/fclose: New file.
73081         * lib/stdio.in.h (fclose): New declaration.
73082         * lib/fclose.c: New file.
73083         * m4/fclose.m4: New file.
73084         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
73085         REPLACE_FCLOSE.
73086         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
73087         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
73088         REPLACE_FCLOSE.
73089         * modules/close (Depends-on): fclose.
73090         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
73092 2008-10-11  Bruno Haible  <bruno@clisp.org>
73094         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
73095         set errno and don't call _close.
73097 2008-10-10  Bruno Haible  <bruno@clisp.org>
73099         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
73100         ACL, not afterwards. Fixes test failure on Cygwin.
73102 2008-10-09  Ben Pfaff  <blp@gnu.org>
73104         * build-aux/announce-gen: Fix gnulib version related part of usage
73105         message.  Die with a useful error message if no tarballs are
73106         found.
73108 2008-10-10  Jim Meyering  <meyering@redhat.com>
73110         bootstrap: use git's --depth=N option only if it's supported
73111         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
73112         recognize the --depth option.  Reported by Pádraig Brady.
73114 2008-10-09  Bruno Haible  <bruno@clisp.org>
73116         New module 'ioctl'.
73117         * modules/ioctl: New file.
73118         * lib/sys_socket.in.h (ioctl): Remove declaration.
73119         * lib/winsock.c: Include <sys/ioctl.h>.
73120         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
73121         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
73122         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
73123         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
73124         * doc/posix-functions/ioctl.texi: Mention the new module.
73126 2008-10-09  Bruno Haible  <bruno@clisp.org>
73128         New module 'sys_ioctl'.
73129         * lib/sys_ioctl.in.h: New file.
73130         * m4/sys_ioctl_h.m4: New file.
73131         * modules/sys_ioctl: New file.
73132         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
73134 2008-10-09  Bruno Haible  <bruno@clisp.org>
73136         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
73137         * lib/winsock.c: Include <stdarg.h>.
73138         (rpl_ioctl): Change to second argument 'int' and then varargs.
73140 2008-10-09  Bruno Haible  <bruno@clisp.org>
73142         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
73143         when the sys_socket module is present and the system has <winsock2.h>.
73145 2008-10-09  Bruno Haible  <bruno@clisp.org>
73147         * doc/posix-functions/close.texi: Mention module 'close' instead of
73148         module 'sys_socket'.
73150 2008-10-09  Bruno Haible  <bruno@clisp.org>
73152         * doc/glibc-headers/sys_ioctl.texi: New file.
73153         * doc/gnulib.texi: Include it.
73155 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
73156             Bruno Haible  <bruno@clisp.org>
73158         Combine the two replacements of 'close'.
73159         * lib/sys_socket.in.h (close): Define to a reminder to include
73160         <unistd.h>.
73161         (_gl_close_fd_maybe_socket): New declaration.
73162         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
73163         * lib/winsock.c (close): Remove undefinition.
73164         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
73165         needed for the gnulib module 'close'.
73166         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
73167         define to an error symbol or to a warning, if suitable.
73168         * lib/close.c: Include <sys/socket.h>.
73169         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
73170         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
73171         UNISTD_H_HAVE_WINSOCK2_H.
73172         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
73173         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
73174         UNISTD_H_HAVE_WINSOCK2_H.
73175         * modules/sys_socket (Files): Add m4/unistd_h.m4.
73176         (configure.ac): Set a module indicator.
73177         (Makefile.am): Substitute GNULIB_CLOSE.
73178         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
73179         * modules/poll-tests (Depends-on): Add close.
73180         * modules/select-tests (Depends-on): Likewise.
73182 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
73183             Bruno Haible  <bruno@clisp.org>
73185         New module 'close'.
73186         * modules/close: New file.
73187         * lib/unistd.in.h (close): Move declaration out of the
73188         FCHDIR_REPLACEMENT scope.
73189         (_gl_unregister_fd): New declaration.
73190         * lib/close.c: New file.
73191         * lib/fchdir.c (rpl_close): Remove function.
73192         * m4/close.m4: New file.
73193         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
73194         close.
73195         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
73196         REPLACE_CLOSE.
73197         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
73198         REPLACE_CLOSE.
73199         * modules/fchdir (Depends-on): Add close.
73201 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
73202             Bruno Haible  <bruno@clisp.org>
73204         * lib/fcntl.in.h (open): Simplify conditionals.
73205         (_gl_register_fd): New declaration.
73206         * lib/fchdir.c (rpl_open): Remove function.
73207         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
73208         also.
73209         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
73210         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
73211         open.
73213 2008-10-09  Jim Meyering  <meyering@redhat.com>
73215         GNUmakefile: use the more name-space-friendly "_version"
73216         * top/GNUmakefile (_dummy): Update.
73217         (_version): Rename from "version".
73219 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
73220             Bruno Haible  <bruno@clisp.org>
73222         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
73223         rpl_close.
73224         (_gl_register_fd): New function, extracted from rpl_open.
73225         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
73226         (rpl_open, rpl_opendir): Use _gl_register_fd.
73228 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
73230         Fix organization of 'open' replacement.
73231         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
73232         (gl_FUNC_OPEN): Use it.
73233         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
73235 2008-10-08  Bruno Haible  <bruno@clisp.org>
73237         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
73239 2008-10-08  Simon Josefsson  <simon@josefsson.org>
73241         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
73242         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
73243         listen).
73245 2008-10-08  Eric Blake  <ebb9@byu.net>
73247         GNUmakefile: add 'make version' target
73248         * top/GNUmakefile (_curr-ver): Split version update rules...
73249         (version): ...into a target.
73251 2008-10-07  Bruno Haible  <bruno@clisp.org>
73253         Use a more portable replacement expression for -0.0L.
73254         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
73255         instead of -0.0L. Fix m4 quotation.
73257         * tests/test-signbit.c: Include <float.h>.
73258         (minus_zero): New variable.
73259         (test_signbitl): Use minus_zero instead of -zero.
73260         * modules/signbit-tests (Depends-on): Add float.
73262         * tests/test-ceill.c: Include <float.h>.
73263         (zero): Remove variable.
73264         (minus_zero): New variable.
73265         (main): Use minus_zero instead of -zero.
73266         * modules/ceill-tests (Depends-on): Add float.
73268         * tests/test-floorl.c: Include <float.h>.
73269         (zero): Remove variable.
73270         (minus_zero): New variable.
73271         (main): Use minus_zero instead of -zero.
73272         * modules/floorl-tests (Depends-on): Add float.
73274         * tests/test-roundl.c: Include <float.h>.
73275         (zero): Remove variable.
73276         (minus_zero): New variable.
73277         (main): Use minus_zero instead of -zero.
73278         * modules/roundl-tests (Depends-on): Add float.
73280         * tests/test-truncl.c: Include <float.h>.
73281         (zero): Remove variable.
73282         (minus_zero): New variable.
73283         (main): Use minus_zero instead of -zero.
73284         * modules/truncl-tests (Depends-on): Add float.
73286         * tests/test-frexpl.c (zero): Remove variable.
73287         (minus_zero): New variable.
73288         (main): Use minus_zero instead of -zero.
73289         * modules/frexpl-tests (Depends-on): Add float.
73291         * tests/test-isnan.c (zerol): Remove variable.
73292         (minus_zerol): New variable.
73293         (test_long_double): Use minus_zerol instead of -zerol.
73294         * modules/isnan-tests (Depends-on): Add float.
73296         * tests/test-isnanl.h (zero): Remove variable.
73297         (minus_zero): New variable.
73298         (main): Use minus_zero instead of -zero.
73299         * modules/isnanl-nolibm-tests (Depends-on): Add float.
73300         * modules/isnanl-tests (Depends-on): Add float.
73302         * tests/test-ldexpl.c (zero): Remove variable.
73303         (minus_zero): New variable.
73304         (main): Use minus_zero instead of -zero.
73305         * modules/ldexpl-tests (Depends-on): Add float.
73307         * tests/test-snprintf-posix.h (zerol): Remove variable.
73308         (minus_zerol): New variable.
73309         (test_function): Use minus_zerol instead of -zerol.
73310         * modules/snprintf-posix-tests (Depends-on): Add float.
73311         * modules/vsnprintf-posix-tests (Depends-on): Add float.
73313         * tests/test-sprintf-posix.h (zerol): Remove variable.
73314         (minus_zerol): New variable.
73315         (test_function): Use minus_zerol instead of -zerol.
73316         * modules/sprintf-posix-tests (Depends-on): Add float.
73317         * modules/vsprintf-posix-tests (Depends-on): Add float.
73319         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
73320         (minus_zerol): New variable.
73321         (test_function): Use minus_zerol instead of -zerol.
73322         * modules/vasnprintf-posix-tests (Depends-on): Add float.
73324         * tests/test-vasprintf-posix.c (zerol): Remove variable.
73325         (minus_zerol): New variable.
73326         (test_function): Use minus_zerol instead of -zerol.
73327         * modules/vasprintf-posix-tests (Depends-on): Add float.
73329 2008-10-07  Simon Josefsson  <simon@josefsson.org>
73331         * MODULES.html.sh (Support for building documentation): Mention
73332         pmccabe2html.  Sort entries.
73334         Add pmccabe2html module, from gnupdf.
73335         * build-aux/pmccabe.css: New file.
73336         * build-aux/pmccabe2html: New file.
73337         * m4/pmccabe2html.m4: New file.
73338         * modules/pmccabe2html: New file.
73340 2008-10-07  Richard W.M. Jones  <rjones@redhat.com>
73342         flock: new module
73343         * MODULES.html.sh: Add to list of modules.
73344         * lib/flock.c: flock implementation for Windows and Unix systems
73345         which have fcntl.
73346         * doc/glibc-functions/flock.texi: Update documentation.
73347         * lib/sys_file.in.h: <sys/file.h> header file.
73348         * m4/flock.m4: M4 macros.
73349         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
73350         * modules/flock: flock module.
73351         * modules/flock-tests: flock tests module.
73352         * modules/sys_file: sys/file.h module.
73353         * tests/test-flock.c: test suite for flock.
73355 2008-10-06  Jim Meyering  <meyering@redhat.com>
73357         bootstrap: check for LT_INIT more portably still ;-)
73358         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
73359         Spotted by Bruno Haible.
73361 2008-10-06  Eric Blake  <ebb9@byu.net>
73363         test-signbit: avoid tripping Irix cc bug on -0.0L
73364         * tests/test-signbit.c (minus_zerol): Delete, and replace with
73365         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
73366         entire testsuite consistent and avoids an Irix 6.2 bug.
73368 2008-10-05  Bruno Haible  <bruno@clisp.org>
73369             Jim Meyering  <jim@meyering.net>
73371         Add an option for ignoring EPIPE during close_stdout.
73372         * lib/closeout.h: Include <stdbool.h>.
73373         (close_stdout_set_ignore_EPIPE): New declaration.
73374         * lib/closeout.c: Include <stdbool.h>.
73375         (ignore_EPIPE): New variable.
73376         (close_stdout_set_ignore_EPIPE): New function.
73377         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
73378         * lib/close-stream.c (close_stream): Mention the possible EPIPE
73379         failure.
73380         * modules/closeout (Depends-on): Add stdbool.
73382 2008-10-05  Bruno Haible  <bruno@clisp.org>
73384         * modules/accept: New file.
73385         * modules/bind: New file.
73386         * modules/connect: New file.
73387         * modules/getpeername: New file.
73388         * modules/getsockname: New file.
73389         * modules/getsockopt: New file.
73390         * modules/listen: New file.
73391         * modules/recv: New file.
73392         * modules/recvfrom: New file.
73393         * modules/send: New file.
73394         * modules/sendto: New file.
73395         * modules/setsockopt: New file.
73396         * modules/socket: New file.
73397         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
73398         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
73399         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
73400         the particular module is requested. Add a link warning when the
73401         particular module is not requested.
73402         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
73403         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
73404         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
73405         the particular module is requested.
73406         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
73407         gl_SYS_SOCKET_H_DEFAULTS): New macros.
73408         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
73409         * modules/sys_socket (Depends-on): Add link-warning.
73410         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
73411         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
73412         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
73413         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
73414         GL_LINK_WARNING.
73415         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
73416         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
73417         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
73418         * doc/posix-functions/getpeername.texi: Mention the new module
73419         'getpeername'.
73420         * doc/posix-functions/getsockname.texi: Mention the new module
73421         'getsockname'.
73422         * doc/posix-functions/getsockopt.texi: Mention the new module
73423         'getsockopt'.
73424         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
73425         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
73426         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
73427         * doc/posix-functions/send.texi: Mention the new module 'send'.
73428         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
73429         * doc/posix-functions/setsockopt.texi: Mention the new module
73430         'setsockopt'.
73431         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
73432         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
73433         listen, connect, accept.
73434         * modules/select-tests (Depends-on): Likewise.
73436 2008-10-05  Bruno Haible  <bruno@clisp.org>
73438         * lib/winsock.c (strerror): Remove unused #undef.
73439         (rpl_close): Remove unused local variable.
73441         * modules/sys_socket (Depends-on); Add errno.
73443 2008-10-05  Bruno Haible  <bruno@clisp.org>
73445         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
73446         (select): Add a link warning when the 'select' module is not used.
73447         * modules/sys_select (Depends-on): Add link-warning.
73448         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
73449         Suggested by Paolo Bonzini.
73451 2008-10-05  Jim Meyering  <meyering@redhat.com>
73453         bootstrap: check for LT_INIT more portably
73454         * build-aux/bootstrap: Avoid using grep -E, since it's not
73455         portable enough.  Suggestion from Bruno Haible.
73457 2008-10-05  Bruno Haible  <bruno@clisp.org>
73459         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
73460         as being fixed by gnulib.
73462 2008-10-05  Bruno Haible  <bruno@clisp.org>
73464         * modules/select-tests: New file, mostly copied from
73465         modules/sys_select-tests.
73466         * tests/test-select.c: New file, mostly copied from
73467         tests/test-sys_select.c.
73468         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
73469         * modules/sys_select-tests (Depends-on): Remove all dependencies.
73470         (Makefile.am): Remove test_sys_select_LDADD.
73472         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
73473         to an undefined symbol, for an error message.
73474         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
73475         (gl_SYS_SELECT_H_DEFAULTS): New macro.
73476         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
73477         winsock-select.c here.
73478         * modules/sys_select (Files): Remove lib/winsock-select.c.
73479         (Depends-on): Remove alloca.
73480         (Makefile.am): Substitute GNULIB_SELECT.
73481         * modules/select: New file.
73482         * doc/posix-functions/select.texi: Update.
73484 2008-10-05  Bruno Haible  <bruno@clisp.org>
73486         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
73487         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
73488         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
73489         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
73490         getdtablesize.
73491         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
73492         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
73494 2008-10-05  Bruno Haible  <bruno@clisp.org>
73496         * modules/getdtablesize-tests: New file.
73497         * tests/test-getdtablesize.c: New file.
73499         New module 'getdtablesize'.
73500         * lib/unistd.in.h (getdtablesize): New declaration.
73501         * lib/getdtablesize.c: New file.
73502         * m4/getdtablesize.m4: New file.
73503         * modules/getdtablesize: New file.
73504         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
73505         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
73506         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
73507         HAVE_GETDTABLESIZE.
73508         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
73510 2008-10-05  Bruno Haible  <bruno@clisp.org>
73512         * modules/sched (Makefile.am): Fix typo.
73513         Reported by Simon Josefsson.
73515 2008-10-05  Jim Meyering  <meyering@redhat.com>
73517         bootstrap: check for LT_INIT, too
73518         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
73519         are deprecated.  Suggestion from Ralf Wildenhues.
73521 2008-10-05  Bruno Haible  <bruno@clisp.org>
73523         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
73524         overriding them by ours.
73525         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
73527 2008-10-05  Jim Meyering  <meyering@redhat.com>
73529         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
73530         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
73531         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
73533 2008-10-04  Bruno Haible  <bruno@clisp.org>
73535         * modules/dup2 (License): Change to LGPLv2+.
73536         * modules/sleep (License): Likewise.
73537         * modules/perror (License): Likewise.
73538         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
73539         Blake.
73540         * modules/signal (License): Likewise.
73541         * modules/sigprocmask (License): Likewise.
73542         * modules/raise (License): Change to LGPLv2+, with approval by Jim
73543         Meyering.
73545 2008-10-04  Bruno Haible  <bruno@clisp.org>
73547         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
73548         Reported by Rainer Tammer <tammer@tammer.net>.
73550 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
73551             Bruno Haible  <bruno@clisp.org>
73553         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
73554         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
73555         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
73557 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
73559         filevercmp: new module
73560         * lib/filevercmp.h: New function filevercmp comparing version strings.
73561         * lib/filevercmp.c: Implementation of filevercmp function.
73562         * modules/filevercmp: Module metadata.
73563         * tests/test-filevercmp.c: Unit test for new module.
73564         * modules/filevercmp-tests: Unit test metadata.
73565         * MODULES.html.sh: Add filevercmp module.
73567 2008-10-03  Bruno Haible  <bruno@clisp.org>
73569         * lib/c-ctype.h: Add comment.
73570         Reported by Jim Meyering.
73572 2008-10-02  Bruno Haible  <bruno@clisp.org>
73574         * modules/posix_spawn-internal (Depends-on): Add 'open'.
73576 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
73578         * build-aux/bootstrap: Allow renaming bootstrap, and change the
73579         name of bootstrap.conf accordingly.
73581 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
73583         * build-aux/bootstrap: Install git-merge-changelog configuration
73584         items into .gitconfig if needed.
73586 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
73588         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
73589         git repository, and initialize/update it accordingly.
73591 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
73593         * modules/fsync-tests: New file.
73594         * tests/test-fsync.c: New file.
73596         New module 'fsync'.
73597         * lib/fsync.c: New file.
73598         * m4/fsync.m4: New file.
73599         * modules/fsync: New file.
73600         * lib/unistd.in.h (fsync): New declaration.
73601         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
73602         GNULIB_FSYNC and HAVE_FSYNC.
73603         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
73604         * MODULES.html.sh (posix_functions): Add fsync.
73605         * doc/posix-functions/fsync.texi: Mention the new module.
73607 2008-10-02  Jim Meyering  <meyering@redhat.com>
73609         fts.c: sync with similar code from coreutils' remove.c
73610         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
73611         Guard also with "#if defined __linux__", since for now at least,
73612         this code is Linux-kernel-specific.
73614 2008-10-02  Jim Meyering  <meyering@redhat.com>
73616         fts: bug fixes
73617         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
73618         Include <sys/vfs.h>, not <sys/statfs.h>.
73620         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
73621         Include <sys/vfs.h>, not <sys/statfs.h>.
73623 2008-10-01  Bruno Haible  <bruno@clisp.org>
73625         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
73626         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
73627         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
73628         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
73629         * doc/posix-functions/posix_spawnp.texi: Likewise.
73630         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
73631         whether posix_spawn actually works.
73632         * m4/pipe.m4 (gl_PIPE): Likewise.
73633         * modules/execute (Files): Add m4/posix_spawn.m4.
73634         * modules/pipe (Files): Add m4/posix_spawn.m4.
73635         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
73637 2008-10-01  Jim Meyering  <meyering@redhat.com>
73639         remove trailing spaces
73640         * NEWS: Likewise.
73641         * lib/poll.c (poll): Likewise.
73642         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
73643         * lib/winsock.c (rpl_close): Likewise.
73644         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
73645         * modules/yield: Likewise.
73646         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
73647         * tests/test-sys_select.c (connect_to_socket): Likewise.
73649         fts.c: adjust a new interface to be more generally useful
73650         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
73651         (fts_build): Adjust caller.
73653 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
73655         * modules/cond-tests: New file.
73656         * tests/test-cond.c: New file.
73658 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
73659             Bruno Haible  <bruno@clisp.org>
73661         * modules/cond (Dependencies): Add errno, time.
73662         * lib/glthread/cond.h: Include <time.h>.
73663         (gl_cond_define, gl_cond_define_initialized): Use the same definition
73664         across platforms.
73666 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
73667             Bruno Haible  <bruno@clisp.org>
73669         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
73671 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
73672             Bruno Haible  <bruno@clisp.org>
73674         * modules/tls-tests (Depends-on): Add thread, yield.
73675         (configure.ac): Remove all checks.
73676         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
73677         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
73678         gl_thread_self): Remove definitions. Include glthread/thread.h and
73679         glthread/yield.h instead.
73680         (test_tls): Pass an additional NULL argument to gl_thread_join.
73682 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
73683             Bruno Haible  <bruno@clisp.org>
73685         * modules/lock-tests (Depends-on): Add thread, yield.
73686         (configure.ac): Remove all checks.
73687         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
73688         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
73689         gl_thread_self): Remove definitions. Include glthread/thread.h and
73690         glthread/yield.h instead.
73691         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
73692         additional NULL argument to gl_thread_join.
73694 2008-09-30  Bruno Haible  <bruno@clisp.org>
73696         Fix the Win32 implementation of the 'thread' module.
73697         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
73698         pointer type.
73699         (gl_thread_self): Invoke gl_thread_self_func.
73700         (gl_thread_self_func): New declaration.
73701         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
73702         (do_init_self_key, init_self_key): New functions.
73703         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
73704         Remove some fields.
73705         (running_threads, running_lock): Remove variables.
73706         (get_current_thread_handle): New function.
73707         (gl_thread_self_func, wrapper_func, glthread_create_func,
73708         glthread_join_func, gl_thread_exit_func): Largely rewritten and
73709         simplified.
73711 2008-09-30  Bruno Haible  <bruno@clisp.org>
73713         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
73714         files.
73716 2008-09-30  Jim Meyering  <meyering@redhat.com>
73718         fts.m4: correct the test for statfs.f_type
73719         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
73720         when checking for statfs.f_type.
73722 2008-09-15  Simon Josefsson  <simon@josefsson.org>
73724         tests: avoid some compiler warnings
73725         * tests/test-memchr.c (main): Pass NULL indirectly.
73726         * tests/test-getdate.c (main): Remove unused variable 'ret'.
73728 2008-09-29  Ondřej Vašík  <ovasik@redhat.com>
73730         getdate.y: disallow countable dayshifts like "4 yesterday ago"
73731         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
73732         exactly specified dayshifts.
73733         (dayshift): New rule.
73734         (rel): Add dayshift.
73735         (relative_time_table) [tomorrow, yesterday, today, now]:
73736         Use tDAY_SHIFT in place of tDAY_UNIT.
73737         * tests/test-getdate.c: Add tests for now-disallowed countable
73738         dayshifts, e.g., "4 yesterday ago".
73740 2008-09-29  Bruno Haible  <bruno@clisp.org>
73742         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
73743         * tests/test-posix_spawn1.in.sh: Renamed from
73744         tests/test-posix_spawn.in.sh.
73745         * tests/test-posix_spawn2.c: New file.
73746         * tests/test-posix_spawn2.in.sh: New file.
73747         * modules/posix_spawnp-tests (Files): Update.
73748         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
73750 2008-09-29  Bruno Haible  <bruno@clisp.org>
73752         Propagate effects of putenv/setenv/unsetenv to child processes.
73753         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
73754         * lib/pipe.c (create_pipe): Likewise.
73756 2008-09-29  Bruno Haible  <bruno@clisp.org>
73758         Enable use of shell scripts as executables in mingw.
73759         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
73760         run the program as a shell script.
73761         * lib/pipe.c (create_pipe): Likewise.
73762         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
73763         resulting array.
73765 2008-09-29  Eric Blake  <ebb9@byu.net>
73767         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
73769 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
73771         * doc/posix-functions/accept.texi: Update mingw problems.
73772         * doc/posix-functions/bind.texi: Update mingw problems.
73773         * doc/posix-functions/close.texi: Update mingw problems.
73774         * doc/posix-functions/connect.texi: Update mingw problems.
73775         * doc/posix-functions/getpeername.texi: Update mingw problems.
73776         * doc/posix-functions/getsockname.texi: Update mingw problems.
73777         * doc/posix-functions/getsockopt.texi: Update mingw problems.
73778         * doc/posix-functions/ioctl.texi: Update mingw problems.
73779         * doc/posix-functions/listen.texi: Update mingw problems.
73780         * doc/posix-functions/recv.texi: Update mingw problems.
73781         * doc/posix-functions/recvfrom.texi: Update mingw problems.
73782         * doc/posix-functions/select.texi: Update mingw problems.
73783         * doc/posix-functions/send.texi: Update mingw problems.
73784         * doc/posix-functions/sendto.texi: Update mingw problems.
73785         * doc/posix-functions/setsockopt.texi: Update mingw problems.
73786         * doc/posix-functions/socket.texi: Update mingw problems.
73788 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
73789             Bruno Haible  <bruno@clisp.org>
73791         * lib/sys_select.in.h: Include sys/time.h.
73792         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
73793         * modules/sys_select: Depend on sys_time.
73794         * tests/test-sys_select.c: Test that sys/select.h defines struct
73795         timeval fully.
73797 2008-09-29  Bruno Haible  <bruno@clisp.org>
73799         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
73800         * lib/sys_select.in.h: Likewise.
73802 2008-09-29  Bruno Haible  <bruno@clisp.org>
73804         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
73806 2008-09-29  Bruno Haible  <bruno@clisp.org>
73808         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
73809         Set LIBSOCKET instead of augmenting LIBS.
73810         * modules/sockets (Link): New section.
73811         * modules/sockets-tests (test_sockets_LDADD): New variable.
73812         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
73813         * modules/poll-tests (test_poll_LDADD): New variable.
73814         * NEWS: Document the change.
73816 2008-09-29  Bruno Haible  <bruno@clisp.org>
73818         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
73819         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
73820         ARPA_INET_H directly.
73821         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
73823 2008-09-28  Bruno Haible  <bruno@clisp.org>
73825         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
73826         from gl_HEADER_SYS_SOCKET.
73827         (gl_HEADER_SYS_SOCKET): Invoke it.
73828         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
73830 2008-09-28  Bruno Haible  <bruno@clisp.org>
73832         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
73833         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
73834         Needed on OSF/1 4.0.
73836 2008-09-28  Bruno Haible  <bruno@clisp.org>
73838         Override open more carefully.
73839         * lib/open.c (orig_open): New function.
73840         (rpl_open): Use orig_open instead of open.
73841         * lib/fcntl.in.h: Add special invocation convention.
73842         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
73843         (gl_FUNC_OPEN): Invoke it.
73845         Override freopen more carefully.
73846         * lib/freopen.c (orig_freopen): New function.
73847         (rpl_freopen): Use orig_freopen instead of freopen.
73848         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
73849         (gl_FUNC_FREOPEN): Invoke it.
73851         Override fopen more carefully.
73852         * lib/fopen.c (orig_fopen): New function.
73853         (rpl_fopen): Use orig_fopen instead of fopen.
73854         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
73855         (gl_FUNC_FOPEN): Invoke it.
73856         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
73858 2008-09-28  Bruno Haible  <bruno@clisp.org>
73860         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
73861         SIGPIPE.
73863 2008-09-28  Bruno Haible  <bruno@clisp.org>
73865         * tests/test-sigaction.c (handler, main): Disable the check whether
73866         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
73867         glibc systems with LinuxThreads.
73869 2008-09-28  Bruno Haible  <bruno@clisp.org>
73871         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
73873         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
73874         with AIX xlc.
73875         * lib/fcntl.in.h (open): Likewise.
73876         Reported by Rainer Tammer <tammer@tammer.net>.
73878 2008-09-28  Bruno Haible  <bruno@clisp.org>
73880         * modules/posix_spawnp-tests: New file.
73881         * tests/test-posix_spawn.c: New file.
73882         * tests/test-posix_spawn.in.sh: New file.
73884         New module 'posix_spawnp'.
73885         * modules/posix_spawnp: New file.
73886         * lib/spawnp.c: New file, from GNU libc with modifications.
73887         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
73889         New module 'posix_spawn'.
73890         * modules/posix_spawn: New file.
73891         * lib/spawn.c: New file, from GNU libc with modifications.
73892         * doc/posix-functions/posix_spawn.texi: Mention the new module.
73894         New module 'posix_spawnattr_destroy'.
73895         * modules/posix_spawnattr_destroy: New file.
73896         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
73897         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
73898         module.
73900         New module 'posix_spawnattr_setsigmask'.
73901         * modules/posix_spawnattr_setsigmask: New file.
73902         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
73903         modifications.
73904         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
73905         new module.
73907         New module 'posix_spawnattr_getsigmask'.
73908         * modules/posix_spawnattr_getsigmask: New file.
73909         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
73910         modifications.
73911         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
73912         new module.
73914         New module 'posix_spawnattr_setsigdefault'.
73915         * modules/posix_spawnattr_setsigdefault: New file.
73916         * lib/spawnattr_setdefault.c: New file, from GNU libc with
73917         modifications.
73918         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
73919         new module.
73921         New module 'posix_spawnattr_getsigdefault'.
73922         * modules/posix_spawnattr_getsigdefault: New file.
73923         * lib/spawnattr_getdefault.c: New file, from GNU libc with
73924         modifications.
73925         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
73926         new module.
73928         New module 'posix_spawnattr_setschedpolicy'.
73929         * modules/posix_spawnattr_setschedpolicy: New file.
73930         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
73931         modifications.
73932         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
73933         new module.
73935         New module 'posix_spawnattr_getschedpolicy'.
73936         * modules/posix_spawnattr_getschedpolicy: New file.
73937         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
73938         modifications.
73939         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
73940         new module.
73942         New module 'posix_spawnattr_setschedparam'.
73943         * modules/posix_spawnattr_setschedparam: New file.
73944         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
73945         modifications.
73946         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
73947         new module.
73949         New module 'posix_spawnattr_getschedparam'.
73950         * modules/posix_spawnattr_getschedparam: New file.
73951         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
73952         modifications.
73953         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
73954         new module.
73956         New module 'posix_spawnattr_setpgroup'.
73957         * modules/posix_spawnattr_setpgroup: New file.
73958         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
73959         modifications.
73960         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
73961         module.
73963         New module 'posix_spawnattr_getpgroup'.
73964         * modules/posix_spawnattr_getpgroup: New file.
73965         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
73966         modifications.
73967         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
73968         module.
73970         New module 'posix_spawnattr_setflags'.
73971         * modules/posix_spawnattr_setflags: New file.
73972         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
73973         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
73974         module.
73976         New module 'posix_spawnattr_getflags'.
73977         * modules/posix_spawnattr_getflags: New file.
73978         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
73979         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
73980         module.
73982         New module 'posix_spawnattr_init'.
73983         * modules/posix_spawnattr_init: New file.
73984         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
73985         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
73986         module.
73988         New module 'posix_spawn_file_actions_destroy'.
73989         * modules/posix_spawn_file_actions_destroy: New file.
73990         * lib/spawn_faction_destroy.c: New file, from GNU libc with
73991         modifications.
73992         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
73993         the new module.
73995         New module 'posix_spawn_file_actions_addopen'.
73996         * modules/posix_spawn_file_actions_addopen: New file.
73997         * lib/spawn_faction_addopen.c: New file, from GNU libc with
73998         modifications.
73999         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
74000         the new module.
74002         New module 'posix_spawn_file_actions_adddup2'.
74003         * modules/posix_spawn_file_actions_adddup2: New file.
74004         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
74005         modifications.
74006         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
74007         the new module.
74009         New module 'posix_spawn_file_actions_addclose'.
74010         * modules/posix_spawn_file_actions_addclose: New file.
74011         * lib/spawn_faction_addclose.c: New file, from GNU libc with
74012         modifications.
74013         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
74014         the new module.
74016         New module 'posix_spawn_file_actions_init'.
74017         * modules/posix_spawn_file_actions_init: New file.
74018         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
74019         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
74020         new module.
74022         New module 'posix_spawn-internal'.
74023         * modules/posix_spawn-internal: New file.
74024         * lib/spawn_int.h: New file, from GNU libc with modifications.
74025         * lib/spawni.c: New file, from GNU libc with modifications.
74026         * m4/posix_spawn.m4: New file.
74028         New module 'spawn'.
74029         * modules/spawn: New file.
74030         * lib/spawn.in.h: New file, from GNU libc with modifications.
74031         * m4/spawn_h.m4: New file.
74032         * doc/posix-headers/spawn.texi: Mention the new module.
74034 2008-09-28  Bruno Haible  <bruno@clisp.org>
74036         * modules/sched-tests: New file.
74037         * tests/test-sched.c: New file.
74039         New module 'sched'.
74040         * modules/sched: New file.
74041         * lib/sched.in.h: New file.
74042         * m4/sched_h.m4: New file.
74043         * doc/posix-headers/sched.texi: Mention the new module.
74045 2008-09-27  Eric Blake  <ebb9@byu.net>
74047         Fix previous patch, and tweak references to $0.
74048         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
74049         (func_version, func_gnulib_dir): Don't call this program
74050         gnulib-tool.
74051         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
74052         with using $0 in function.
74053         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
74054         (func_fatal_error): Reuse the name the user invoked us with.
74056 2008-09-27  Bruno Haible  <bruno@clisp.org>
74058         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
74059         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
74060         (gl_ICONV_H): Not here.
74061         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
74062         instead of assigning ICONV_H directly.
74064         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
74065         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
74066         WCHAR_H directly.
74068 2008-09-27  Bruno Haible  <bruno@clisp.org>
74070         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
74071         * modules/arpa_inet (Depends-on): Add link-warning.
74072         (Makefile.am): Insert the definition of GL_LINK-WARNING.
74073         * modules/unistd (Makefile.am): Likewise.
74075 2008-09-26  Bruno Haible  <bruno@clisp.org>
74077         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
74078         variables.
74079         (func_version): Essentially copied from gnulib-tool.
74080         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
74081         func_readlink): Copied from gnulib-tool.
74083 2008-09-26  Bruno Haible  <bruno@clisp.org>
74085         * gnulib-tool (func_version): Change directory to $gnulib_dir before
74086         invoking git-version-gen.
74088 2008-09-26  Bruno Haible  <bruno@clisp.org>
74090         * posix-modules: Update to directory names changed on 2008-01-19.
74091         Remove commas in output before splitting into words. No more need to
74092         avoid 'ftruncate' since 2007-02-19.
74094 2008-09-26  Bruno Haible  <bruno@clisp.org>
74096         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
74098 2008-09-26  Bruno Haible  <bruno@clisp.org>
74100         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
74101         * modules/fwriteerror (Depends-on): Add errno.
74103 2008-09-26  Bruno Haible  <bruno@clisp.org>
74105         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
74106         * tests/test-vc-list-files-cvs.sh: Likewise.
74108 2008-09-26  Bruno Haible  <bruno@clisp.org>
74110         * doc/posix-headers/sys_resource.texi: Reorder items.
74112 2008-09-26  Jim Meyering  <meyering@redhat.com>
74114         fts: tweak inode comparison function
74115         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
74116         inode numbers, as documented.
74118         fts: sort dirent entries on inode number before traversing
74119         This avoids a quadratic, seek-related performance penalty when
74120         operating on a directory containing many entries (measurable at 10k;
74121         3.5 hours at 2 million entries with a cold cache) on certain types
74122         of file systems, including ext3 and ext4, but not tmpfs.
74123         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
74124         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
74125         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
74126         (fs_handles_readdir_ordered_dirents_efficiently): New function.
74127         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
74128         (fts_build): Set the stat.st_ino member from D_INO.
74129         If it is likely to be useful, sort dirent entries on inode number.
74131         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
74132         and the struct statfs.f_type member.
74133         * modules/fts (Depends-on): Add d-ino.
74135 2008-09-26  Bruno Haible  <bruno@clisp.org>
74137         * modules/sigpipe-die (Depends-on): Add sigpipe.
74139         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
74140         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
74141         and GNULIB_STDIO_H_SIGPIPE are set.
74142         * lib/stdio-write.c: New file.
74143         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
74144         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
74145         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
74146         REPLACE_STDIO_WRITE_FUNCS.
74147         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
74148         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
74149         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
74150         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
74151         * modules/stdio (Files): Add lib/stdio-write.c.
74152         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
74153         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
74154         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
74155         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
74156         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
74157         REPLACE_FPRINTF_POSIX.
74158         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
74159         REPLACE_PRINTF_POSIX.
74160         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
74161         REPLACE_VFPRINTF_POSIX.
74162         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
74163         REPLACE_VPRINTF_POSIX.
74164         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
74165         SIGPIPE issue.
74166         * doc/posix-functions/fputc.texi: Likewise.
74167         * doc/posix-functions/fputs.texi: Likewise.
74168         * doc/posix-functions/fwrite.texi: Likewise.
74169         * doc/posix-functions/printf.texi: Likewise.
74170         * doc/posix-functions/putc.texi: Likewise.
74171         * doc/posix-functions/putchar.texi: Likewise.
74172         * doc/posix-functions/puts.texi: Likewise.
74173         * doc/posix-functions/vfprintf.texi: Likewise.
74174         * doc/posix-functions/vprintf.texi: Likewise.
74176         * modules/safe-write (Depends-on): Add write.
74178         * modules/sigpipe-tests: New file.
74179         * tests/test-sigpipe.c: New file.
74180         * tests/test-sigpipe.sh: New file.
74182         * modules/write: New file.
74183         * lib/unistd.in.h: Include <sys/types.h>.
74184         (write): New declaration.
74185         * lib/write.c: New file.
74186         * m4/write.m4: New file.
74187         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
74188         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
74189         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
74190         GNULIB_WRITE, REPLACE_WRITE.
74191         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
74192         and the SIGPIPE issue.
74194         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
74195         (raise): New declaration.
74196         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
74197         (ext_signal): New function.
74198         (rpl_raise): New function.
74199         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
74200         GNULIB_SIGNAL_H_SIGPIPE.
74201         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
74202         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
74204         * modules/sigpipe: New file.
74205         * m4/sigpipe.m4: New file.
74207 2008-09-25  Derek Price  <derek@ximbiot.com>
74208             Bruno Haible  <bruno@clisp.org>
74210         * gnulib-tool (func_import): Report all license incompatibilities, not
74211         just the first one.
74213 2008-09-25  Bruno Haible  <bruno@clisp.org>
74215         * gnulib-tool (func_import): When computing the edits, consider not
74216         only the Makefile.ams that exist but also those that will be generated.
74218 2008-09-25  Simon Josefsson  <simon@josefsson.org>
74220         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
74221         fixes gnulib-tool --test warning about duplicate dependency.
74223 2008-09-25  Bruno Haible  <bruno@clisp.org>
74225         * gnulib-tool: Don't ask the user to perform edits in the generated
74226         Makefile.ams.
74227         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
74228         apply to the Makefile.am being generated.
74229         (func_emit_tests_Makefile_am): Execute edits that apply to the
74230         Makefile.am being generated.
74231         (func_import): Setup list of Makefile.am edits before emitting the
74232         Makefile.ams, not at the end.
74233         (func_create_testdir): Update.
74234         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
74236 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
74238         * gnulib-tool (func_import): Store the --tests-base option in the
74239         comment in gnulib-cache.m4.
74241 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
74243         * NEWS: Document increased portability that sys_select now provides.
74245         * lib/sys_select.in.h: Install select wrapper.
74246         * lib/sys_socket.in.h: Use more descriptive name when there is no
74247         select wrapper.
74248         * lib/winsock-select.c: New.
74249         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
74250         Require gl_HEADER_SYS_SOCKET.
74251         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
74252         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
74253         * tests/test-sys_select.c: Add functional tests.
74255 2008-09-24  Eric Blake  <ebb9@byu.net>
74257         open, fopen: close fd leak in last patch
74258         * lib/open.c (rpl_open): Close fd before returning error.
74259         * lib/fopen.c (rpl_fopen): Close fd before returning error.
74260         * doc/posix-functions/open.texi (open): Document that Irix also
74261         has the bug.
74262         * doc/posix-functions/fopen.texi (fopen): Likewise.
74263         Reported by Paolo Bonzini.
74265 2008-09-24  Bruno Haible  <bruno@clisp.org>
74267         Ensure that a filename ending in a slash cannot be used to access a
74268         non-directory.
74269         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
74270         to check whether it's really a directory.
74271         * lib/fopen.c: Include fcntl.h, unistd.h.
74272         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
74273         and fdopen().
74274         * modules/fopen (Depends-on): Add unistd.
74275         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
74276         * tests/test-fopen.c (main): Likewise.
74277         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
74278         * doc/posix-functions/fopen.texi: Likewise.
74279         Reported by Eric Blake.
74281 2008-09-23  Eric Blake  <ebb9@byu.net>
74283         c-stack: avoid compiler optimizations when provoking overflow
74284         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
74285         recursion harder to optimize, to ensure a stack overflow occurs.
74286         * tests/test-c-stack.c (recurse): Likewise.
74287         Borrowed from libsigsegv.
74289         c-stack: work around Irix sigaltstack bug
74290         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
74291         whether sigaltstack uses wrong end of stack_t (copied in part from
74292         libsigsegv).
74293         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
74294         Irix bug, without requiring an over-allocation.
74295         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
74296         bug.
74298         fopen: document mingw bug on directories
74299         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
74300         not allowing a stream visiting a directory, even though reading
74301         from such a stream is not portable.
74303 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
74305         * lib/poll.c: Rewrite.
74306         * modules/poll: Depend on alloca.
74308 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
74310         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
74311         instead define prototypes for a full set of wrappers.  Ensure
74312         that Cygwin does not use the compatibility code, which is only
74313         for MinGW.
74314         * lib/winsock.c: New.
74315         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
74316         * modules/sys_socket: Add lib/winsock.c.
74318         * modules/poll-tests: Add errno and perror.
74319         * tests/test-poll.c: Use ioctl, not ioctlsocket.
74321 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
74323         * tests/test-poll.c: Downgrade minimum needed Winsock version.
74325 2008-09-23  Bruno Haible  <bruno@clisp.org>
74327         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
74328         * doc/glibc-functions/*: Likewise.
74330 2008-09-23  Simon Josefsson  <simon@josefsson.org>
74332         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
74333         success.
74335 2008-09-22  Eric Blake  <ebb9@byu.net>
74336             Bruno Haible  <bruno@clisp.org>
74338         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
74339         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
74340         supply %A but mishandle pseudo-NaN.
74341         Reported by Simon Josefsson.
74343 2008-09-21  Bruno Haible  <bruno@clisp.org>
74345         * tests/test-lock.c (main): Tweak skip message.
74346         * tests/test-tls.c (main): Likewise.
74348 2008-09-21  Bruno Haible  <bruno@clisp.org>
74350         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
74351         whether 'struct sigaction' has sa_sigaction here...
74352         (gl_PREREQ_SIG_HANDLER_H): ... not here.
74353         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
74355 2008-09-21  Bruno Haible  <bruno@clisp.org>
74357         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
74358         section.
74359         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
74360         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
74361         the new section.
74362         (Support for obsolete systems lacking POSIX:2001): New section.
74363         (String handling <string.h>): Move strdup to the new section.
74364         Suggested by Simon Josefsson and Paolo Bonzini.
74366 2008-09-21  Bruno Haible  <bruno@clisp.org>
74368         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
74369         exponents in %e and %g results on 'long double'. Needed for mingw's
74370         improved *printf functions.
74371         * tests/test-vasprintf-posix.c (test_function): Likewise.
74372         * tests/test-snprintf-posix.h (test_function): Likewise.
74373         * tests/test-sprintf-posix.h (test_function): Likewise.
74374         Reported by Eric Blake.
74376 2008-09-21  Bruno Haible  <bruno@clisp.org>
74378         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
74379         * tests/test-sprintf-posix.h (test_function): Likewise.
74381 2008-09-21  Bruno Haible  <bruno@clisp.org>
74383         * modules/getpass (Depends-on): Add strdup-posix.
74385         New module 'strdup-posix'.
74386         * modules/strdup-posix: New file.
74387         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
74388         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
74389         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
74390         REPLACE_STRDUP.
74391         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
74392         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
74393         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
74394         strdup-posix.
74396         * modules/strdup (Depends-on): Remove malloc-posix.
74398 2008-09-20  Bruno Haible  <bruno@clisp.org>
74400         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
74401         Wildenhues.
74403 2008-09-20  Bruno Haible  <bruno@clisp.org>
74405         Ensure that wint_t gets defined on IRIX 5.3.
74406         * lib/wchar.in.h (wint_t): Define if not defined by the system.
74407         * lib/wctype.in.h (wint_t): Likewise.
74408         (__wctype_wint_t): Remove type.
74409         (isw*): Use wint_t instead of __wctype_wint_t.
74410         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
74411         * modules/wchar (Files): Add m4/wint_t.m4.
74412         (Makefile.am): Substitute HAVE_WINT_T.
74413         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
74414         * tests/test-wctype.c: Check that wint_t is defined.
74415         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
74416         * doc/posix-headers/wctype.texi: Likewise.
74417         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
74419 2008-09-18  Bruno Haible  <bruno@clisp.org>
74421         * gnulib-tool (func_exit): Update comment.
74423 2008-09-18  Simon Josefsson  <simon@josefsson.org>
74425         * modules/getaddrinfo (Depends-on): Remove strdup, this module
74426         assumes strdup exists and does not depend on strdup to return
74427         ENOMEM on out of memory conditions.
74429 2008-09-18  Bruno Haible  <bruno@clisp.org>
74431         * lib/vasnprintf.c (VASNPRINTF): When printing ±0.0L in
74432         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
74433         digits for the exponent.
74435 2008-09-18  Jim Meyering  <meyering@redhat.com>
74436             Bruno Haible  <bruno@clisp.org>
74438         * lib/vasnprintf.c (decimal_point_char): Define also if
74439         NEED_PRINTF_INFINITE_LONG_DOUBLE.
74441 2008-09-16  Bruno Haible  <bruno@clisp.org>
74442         and Eric Blake  <ebb9@byu.net>
74444         vasnprintf: support Irix 5.3
74445         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
74446         that mishandle long double infinity.
74447         Reported by Tom G. Christensen.
74449 2008-09-16  Bruno Haible  <bruno@clisp.org>
74451         * doc/glibc-functions/scandir.texi: Mention the function is missing on
74452         Solaris 9.
74453         * doc/glibc-functions/alphasort.texi: Likewise.
74454         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
74456 2008-09-16  Jim Meyering  <meyering@redhat.com>
74458         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
74459         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
74460         a umask modification leak out of a subshell.  Otherwise, the
74461         opensolaris /bin/sh would be accepted and thus cause unwarranted
74462         failures in the coreutils test suite.
74464 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
74466         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
74467         to succeed.
74469 2008-09-16  Jim Meyering  <meyering@redhat.com>
74471         avoid spurious test failure when library is built without ACL support
74472         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
74473         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
74474         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
74475         * tests/test-copy-acl.sh: Likewise.
74477 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74479         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
74480         based on character occurrence counts.
74482 2008-09-15  Eric Blake  <ebb9@byu.net>
74484         tests: avoid some compiler warnings
74485         * tests/test-memchr.c (main): Pass NULL indirectly.
74486         * tests/test-closein.c (main): Avoid unused variable.
74488 2008-09-15  Bruno Haible  <bruno@clisp.org>
74490         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
74491         are missing on OpenBSD 4.0 individually.
74492         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
74494 2008-09-15  Bruno Haible  <bruno@clisp.org>
74496         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
74497         * doc/posix-functions/strerror.texi: Mention also Cygwin.
74498         * doc/posix-functions/perror.texi: Likewise.
74499         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
74500         is missing.
74501         Reported by Eric Blake.
74503         * lib/errno.in.h: Use replacement values >= 2000.
74504         Reported by Eric Blake.
74506 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74508         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
74509         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
74510         limit.
74511         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
74512         compareseq was aborted.
74514 2008-09-14  Bruno Haible  <bruno@clisp.org>
74516         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
74517         yvec_edit_count.
74518         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
74519         (fstrcmp_bounded): Simplify result computation accordingly.
74521 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74523         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
74524         (fstrcmp): Define in terms of fstrcmp_bounded.
74525         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
74526         lower_bound argument.
74527         Return quickly if the result is certainly < lower_bound.
74528         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
74530 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74532         * lib/diffseq.h (EARLY_ABORT): New macro.
74533         (compareseq): Change return type to bool. Return true when EARLY_ABORT
74534         evaluates to true.
74536 2008-09-14  Bruno Haible  <bruno@clisp.org>
74538         * modules/perror-tests: New file.
74539         * tests/test-perror.sh: New file.
74540         * tests/test-perror.c: New file.
74542         New module 'perror'.
74543         * lib/stdio.in.h (perror): New declaration.
74544         * lib/perror.c: New file.
74545         * m4/perror.m4: New file.
74546         * modules/perror: New file.
74547         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
74548         * doc/posix-functions/perror.texi: Mention the perror module.
74549         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
74550         REPLACE_PERROR.
74551         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
74552         REPLACE_PERROR.
74554 2008-09-14  Bruno Haible  <bruno@clisp.org>
74556         * modules/stdio (Makefile.am): Reorder to match the order in
74557         lib/stdio.in.h.
74558         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
74560 2008-09-13  Bruno Haible  <bruno@clisp.org>
74562         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
74564 2008-09-13  Bruno Haible  <bruno@clisp.org>
74566         Extend strerror to cover the added errno values.
74567         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
74568         (rpl_strerror): Provide error messages for the added errno values and
74569         for the WSA* values.
74570         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
74571         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
74572         strerror.
74573         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
74574         * modules/strerror (Depends-on): Add errno.
74575         * doc/posix-functions/strerror.texi: Document the change.
74576         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
74577         and EOVERFLOW.
74579 2008-09-13  Bruno Haible  <bruno@clisp.org>
74581         * modules/EOVERFLOW: Remove file.
74582         * m4/eoverflow.m4: Remove file.
74583         * modules/EOVERFLOW-tests: Remove file.
74584         * tests/test-EOVERFLOW.c: Remove file.
74585         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
74586         * modules/ftell (Depends-on): Likewise.
74587         * modules/getdelim (Depends-on): Likewise.
74588         * modules/getugroups (Depends-on): Likewise.
74589         * modules/poll (Depends-on): Likewise.
74590         * modules/snprintf (Depends-on): Likewise.
74591         * modules/sprintf-posix (Depends-on): Likewise.
74592         * modules/vasnprintf (Depends-on): Likewise.
74593         * modules/vasprintf (Depends-on): Likewise.
74594         * modules/vfprintf-posix (Depends-on): Likewise.
74595         * modules/vsnprintf (Depends-on): Likewise.
74596         * modules/vsprintf-posix (Depends-on): Likewise.
74597         * modules/xvasprintf (Depends-on): Likewise.
74598         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
74599         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
74600         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
74601         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
74602         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
74603         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
74604         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
74605         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
74606         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
74607         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
74608         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
74609         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
74610         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
74611         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
74612         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
74613         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
74614         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
74615         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
74616         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
74617         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
74618         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
74619         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
74620         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
74621         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
74622         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
74623         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
74624         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
74625         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
74626         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
74627         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
74628         * MODULES.html.sh: Remove EOVERFLOW.
74629         * NEWS: Mention the change.
74631 2008-09-13  Bruno Haible  <bruno@clisp.org>
74633         * modules/errno-tests: New file.
74634         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
74636         * lib/errno.in.h: New file.
74637         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
74638         * modules/errno: New file.
74639         * doc/posix-headers/errno.texi: Update documentation.
74640         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
74642 2008-09-13  Bruno Haible  <bruno@clisp.org>
74644         * tests/test-poll.c: Use #if for native Windows, rather than testing
74645         __MSVCRT__.
74647 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
74648             Bruno Haible  <bruno@clisp.org>
74650         * lib/glob.c: Don't include <pwd.h> on native Windows.
74651         (WINDOWS32): New macro.
74652         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
74654 2008-09-13  Bruno Haible  <bruno@clisp.org>
74656         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
74657         (ETIMEDOUT): Remove macro.
74658         (glthread_cond_timedwait_multithreaded): New declaration.
74659         (glthread_cond_timedwait): Use it.
74660         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
74661         (glthread_cond_timedwait_multithreaded): New function.
74663 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
74665         * modules/poll-tests: Do not check for io.h.
74666         * tests/test-poll.c: Check for __MSVCRT__ instead.
74668 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
74670         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
74671         * modules/poll-tests: Add inet_pton, stdbool, sockets.
74672         * tests/test-poll.c: Use them.  Use _pipe on Windows.
74674 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
74676         * modules/poll-tests: New.
74677         * tests/test-poll.c: New.
74679 2008-09-12  Eric Blake  <ebb9@byu.net>
74681         frexp: test for NetBSD failure on -0.0
74682         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
74683         not all, bugs from NetBSD 3.0 have been fixed.
74684         * doc/posix-functions/frexp.texi (frexp): Document bug.
74685         Reported by Thomas Klausner.
74687         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
74688         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
74689         literal -0.0.
74690         Reported by Jonathan C. Patschke <jp@centtech.com>.
74692 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
74694         * lib/glthread/cond.h: Use dummy implementation also if
74695         USE_WIN32_THREADS.
74697 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
74699         * modules/fnmatch-posix (License): Change to LGPLv2+.
74700         * modules/fnmatch-gnu (License): Likewise.
74702 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
74704         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
74706 2008-09-11  Jim Meyering  <meyering@redhat.com>
74708         * users.txt: Add gtk-vnc.
74710 2008-09-08  Simon Josefsson  <simon@josefsson.org>
74712         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
74713         rotate amounts.
74715         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
74716         required for 16-bit and 8-bit rotates.
74717         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
74718         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
74719         UINT8_MAX instead of hard-coded constants.
74720         Suggested by Paul Eggert.
74722 2008-09-07  Bruno Haible  <bruno@clisp.org>
74724         * tests/test-striconveh.c (main): Check behaviour when converting from
74725         UTF-7.
74727         Make striconveh work better with stateful encodings.
74728         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
74729         that iconv does not increment the inptr when returning -1/EINVAL.
74731 2008-09-07  Bruno Haible  <bruno@clisp.org>
74733         * build-aux/config.rpath: Update according to libtool-2.2.6.
74734         * build-aux/config.libpath: Likewise.
74736 2008-09-06  Bruno Haible  <bruno@clisp.org>
74738         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
74739         * lib/freadptr.c (freadptr): Likewise.
74740         * lib/freadseek.c (freadptrinc): Likewise.
74741         Reported by Simon Josefsson.
74743 2008-09-06  Bruno Haible  <bruno@clisp.org>
74745         * modules/freadptr (License): Change to LGPLv2+.
74746         * modules/freadseek (License): Likewise.
74747         Suggested by Eric Blake.
74749         * modules/memchr2 (License): Change to LGPLv2+.
74750         Approved by Eric Blake.
74752 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74753             Bruno Haible  <bruno@clisp.org>
74755         Make gnulib-tool work with native 'sed' on AIX.
74756         * gnulib-tool (sed_noop): New variable.
74757         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
74758         func_add_or_update, func_create_testdir): Use it to initialize sed
74759         script variables.
74760         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
74762 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
74763             Bruno Haible  <bruno@clisp.org>
74765         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
74766         also works after #include directives.
74768 2008-09-04  Ondřej Vašík  <ovasik@redhat.com>
74770         getdate.y: reject an out-of-range timezone value
74771         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
74772         the range [-24...+24].  When specified with only one or two digits,
74773         * tests/test-getdate.c: Tests for the fix.
74774         * doc/getdate.texi: Document this change.
74776 2008-09-03  Bruno Haible  <bruno@clisp.org>
74778         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
74780 2008-09-02  Simon Josefsson  <simon@josefsson.org>
74782         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
74783         <bruce.korb@gmail.com> with ideas from Ben Pfaff
74784         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
74785         Blake <ebb9@byu.net>.
74787         * tests/test-bitrotate.c: Add more test vectors.
74789 2008-09-02  Eric Blake  <ebb9@byu.net>
74791         vasnprintf-posix: handle large precision via %.*d
74792         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
74793         when handling it ourselves.
74794         * tests/test-vasnprintf-posix.c (test_function): Add test.
74795         * tests/test-snprintf-posix.h (test_function): Likewise.
74796         * tests/test-sprintf-posix.h (test_function): Likewise.
74797         * tests/test-vasprintf-posix.c (test_function): Likewise.
74798         Reported by Alain Guibert.
74800 2008-09-01  Eric Blake  <ebb9@byu.net>
74802         c-stack: make configure-time check more robust
74803         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
74804         successful sigaction call.
74805         Reported by Tom G. Christensen.
74807 2008-09-01  Bruno Haible  <bruno@clisp.org>
74809         New module 'findprog-lgpl'.
74810         * modules/findprog-lgpl: New file.
74811         * lib/findprog-lgpl.c: New file.
74812         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
74813         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
74814         to decide whether to use strdup or xstrdup, concatenated_filename or
74815         xconcatenated_filename.
74817 2008-09-01  Bruno Haible  <bruno@clisp.org>
74819         Split module 'concat-filename' into 'concat-filename' (LGPL) and
74820         'xconcat-filename' (GPL).
74821         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
74822         (License): Change to LGPLv2+.
74823         * modules/xconcat-filename: New file.
74824         * lib/concat-filename.h (concatenated_filename): Change specification.
74825         (xconcatenated_filename): New declaration.
74826         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
74827         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
74828         memory situations.
74829         * lib/xconcat-filename.c: New file.
74830         * NEWS: Mention the change.
74831         * lib/findprog.c: Include concat-filename.h, not filename.h.
74832         (find_in_path): Use xconcatenated_filename instead of
74833         concatenated_filename.
74834         * lib/javacomp.c: Include concat-filename.h, not filename.h.
74835         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
74836         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
74837         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
74838         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
74839         instead of concatenated_filename.
74840         * lib/javaexec.c: Include concat-filename.h, not filename.h.
74841         (execute_java_class): Use xconcatenated_filename instead of
74842         concatenated_filename.
74843         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
74844         * modules/javacomp (Depends-on): Likewise.
74845         * modules/javaexec (Depends-on): Likewise.
74847 2008-09-01  Bruno Haible  <bruno@clisp.org>
74849         Split module 'filename' into 'filename' and 'concat-filename'.
74850         * modules/filename: Keep only lib/filename.h.
74851         (License): Change to LGPLv2+.
74852         * modules/concat-filename: New file, extracted from modules/filename.
74853         * lib/filename.h (concatenated_filename): Remove declaration.
74854         * lib/concat-filename.h: New file, extracted from lib/filename.h.
74855         * lib/concat-filename.c: Include concat-filename.h.
74856         * NEWS: Mention the change.
74858 2008-09-01  Simon Josefsson  <simon@josefsson.org>
74860         * lib/bitrotate.h (rotl8, rotr8): Add.
74862         * modules/bitrotate (configure.ac): Need
74863         AC_REQUIRE([AC_C_INLINE]).
74864         (Description): Mention stdint.h.  Reported by Bruno Haible
74865         <bruno@clisp.org>.
74867         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
74868         Paolo Bonzini <bonzini@gnu.org>.
74870 2008-08-31  Bruno Haible  <bruno@clisp.org>
74872         Assume Solaris specific bi-arch conventions on Solaris systems.
74873         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
74874         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
74875         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
74876         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
74877         like acl_libdirstem.
74878         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
74879         acl_libdirstem.
74880         * NEWS: Mention the change.
74881         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
74883 2008-08-31  Jim Meyering  <meyering@redhat.com>
74885         * lib/strftime.h: Add comments describing the two added arguments.
74887         remove duplicate #include directives
74888         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
74889         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
74891 2008-08-31  Bruno Haible  <bruno@clisp.org>
74893         New module 'sigpipe-die'.
74894         * modules/sigpipe-die: New file.
74895         * lib/sigpipe-die.h: New file.
74896         * lib/sigpipe-die.c: New file.
74897         * MODULES.html.sh (Signal handling): Add sigpipe-die.
74899 2008-08-31  Bruno Haible  <bruno@clisp.org>
74901         Don't override previously installed signal handlers.
74902         * lib/fatal-signal.c (saved_sigactions): New variable.
74903         (uninstall_handlers): Reset the signal to the saved handler, not
74904         to SIG_DFL (except when ignored).
74905         (install_handlers): Save the previous handlers.
74907 2008-08-30  Bruno Haible  <bruno@clisp.org>
74909         * gnulib-tool (func_reset_sigpipe): New function.
74910         (func_get_automake_snippet, func_modules_transitive_closure,
74911         func_import): Invoke it before a join command that reads from stdin,
74912         to avoid "echo: write error: Broken pipe" error messages on stderr.
74913         Reported by Sam Steingold <sds@gnu.org>.
74915 2008-08-30  Bruno Haible  <bruno@clisp.org>
74917         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
74918         Code copied from m4/open.m4.
74919         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
74920         access and the filename ends in a slash. Code copied from lib/open.c.
74921         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
74922         * tests/test-fopen.c (main): Check against bug with trailing slash.
74924 2008-08-29  Bruno Haible  <bruno@clisp.org>
74926         Avoid some "gcc -pedantic" warnings.
74927         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
74928         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
74929         * lib/dirent.in.h: Likewise.
74930         * lib/fcntl.in.h: Likewise.
74931         * lib/float.in.h: Likewise.
74932         * lib/iconv.in.h: Likewise.
74933         * lib/inttypes.in.h: Likewise.
74934         * lib/locale.in.h: Likewise.
74935         * lib/math.in.h: Likewise.
74936         * lib/netinet_in.in.h: Likewise.
74937         * lib/search.in.h: Likewise.
74938         * lib/signal.in.h: Likewise.
74939         * lib/stdarg.in.h: Likewise.
74940         * lib/stdint.in.h: Likewise.
74941         * lib/stdio.in.h: Likewise.
74942         * lib/stdlib.in.h: Likewise.
74943         * lib/string.in.h: Likewise.
74944         * lib/strings.in.h: Likewise.
74945         * lib/sys_select.in.h: Likewise.
74946         * lib/sys_socket.in.h: Likewise.
74947         * lib/sys_stat.in.h: Likewise.
74948         * lib/sys_time.in.h: Likewise.
74949         * lib/sysexits.in.h: Likewise.
74950         * lib/time.in.h: Likewise.
74951         * lib/unistd.in.h: Likewise.
74952         * lib/wchar.in.h: Likewise.
74953         * lib/wctype.in.h: Likewise.
74954         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
74955         * modules/fchdir (Makefile.am): Likewise.
74956         * modules/fcntl (Makefile.am): Likewise.
74957         * modules/float (Makefile.am): Likewise.
74958         * modules/iconv_open (Makefile.am): Likewise.
74959         * modules/inttypes (Makefile.am): Likewise.
74960         * modules/locale (Makefile.am): Likewise.
74961         * modules/math (Makefile.am): Likewise.
74962         * modules/netinet_in (Makefile.am): Likewise.
74963         * modules/search (Makefile.am): Likewise.
74964         * modules/signal (Makefile.am): Likewise.
74965         * modules/stdarg (Makefile.am): Likewise.
74966         * modules/stdint (Makefile.am): Likewise.
74967         * modules/stdio (Makefile.am): Likewise.
74968         * modules/stdlib (Makefile.am): Likewise.
74969         * modules/string (Makefile.am): Likewise.
74970         * modules/strings (Makefile.am): Likewise.
74971         * modules/sys_select (Makefile.am): Likewise.
74972         * modules/sys_socket (Makefile.am): Likewise.
74973         * modules/sys_stat (Makefile.am): Likewise.
74974         * modules/sys_time (Makefile.am): Likewise.
74975         * modules/sysexits (Makefile.am): Likewise.
74976         * modules/time (Makefile.am): Likewise.
74977         * modules/unistd (Makefile.am): Likewise.
74978         * modules/wchar (Makefile.am): Likewise.
74979         * modules/wctype (Makefile.am): Likewise.
74980         Reported by Reuben Thomas <rrt@sc3d.org>.
74982 2008-08-29  Bruno Haible  <bruno@clisp.org>
74984         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
74985         any more.
74987 2008-08-29  Simon Josefsson  <simon@josefsson.org>
74989         * MODULES.html.sh (Misc): Add bitrotate.
74991         * modules/bitrotate: New file.
74993         * lib/bitrotate.h: New file.
74995         * modules/bitrotate-tests: New file.
74997         * tests/test-bitrotate.c: New file.
74999         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
75000         on the bitrotate module.
75002         * lib/arctwo.c: Use new bitrotate module.
75004 2008-08-29  Jim Meyering  <meyering@redhat.com>
75006         bootstrap: merge changes from coreutils
75007         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
75008         of copied files.  Remove a kludge, now that this is fixed.
75009         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
75010         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
75011         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
75013 2008-08-29  Bruno Haible  <bruno@clisp.org>
75015         * MODULES.html.sh: Remove --cvs-urls option.
75017 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
75019         maint.mk: adjust to file name change
75020         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
75022 2008-08-28  Jim Meyering  <meyering@redhat.com>
75024         * modules/getndelim2 (License): Relicense to LGPLv2+.
75025         Approved by Richard Stallman for the version of 1995, and by
75026         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
75028 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
75030         * lib/getdelim.c (flockfile, funlockfile): Make all of them
75031         dummy if one is not available.  Do not touch them if
75032         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
75033         (getc_maybe_unlocked): New.
75034         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
75036 2008-08-26  Eric Blake  <ebb9@byu.net>
75038         doc/INSTALL: resync from autoconf
75039         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
75040         (INSTALL_PRELUDE): Delete; this is done more efficiently by
75041         moving...
75042         * install.texi [!autoconf]: ...here.  Resync from autoconf.
75043         * INSTALL: Regenerate.
75044         * INSTALL.ISO: New file.
75045         * INSTALL.UTF-8: Likewise.
75047 2008-08-26  Jim Meyering  <meyering@redhat.com>
75049         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
75050         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
75051         these definitions conditional, so that they may be overridden, too.
75053 2008-08-26  Bruno Haible  <bruno@clisp.org>
75055         Generate INSTALL file variants with prettier quotes.
75056         * doc/Makefile (INSTALL_PRELUDE): New macro.
75057         (INSTALL): Use it.
75058         (INSTALL.ISO, INSTALL.UTF-8): New rules.
75060 2008-08-26  Bruno Haible  <bruno@clisp.org>
75062         Run makeinfo in an English locale.
75063         * doc/Makefile (MAKEINFO): New variable.
75065 2008-08-26  Bruno Haible  <bruno@clisp.org>
75067         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
75068         Suggested by Eric Blake.
75070 2008-08-25  Bruno Haible  <bruno@clisp.org>
75072         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
75074 2008-08-25  Eric Blake  <ebb9@byu.net>
75076         c-stack: test that stack overflow can be caught
75077         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
75078         that platform allows handling stack overflow; at least OS/2 EMX
75079         has sigaltstack, but crashes before transferring control to
75080         handler on stack overflow.
75081         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
75082         check for HAVE_STACK_OVERFLOW_HANDLING.
75083         Reported by Elbert Pol.
75085 2008-08-25  Bruno Haible  <bruno@clisp.org>
75087         * doc/posix-functions/strftime.texi: Fix description of strftime
75088         module.
75090 2008-08-24  Bruno Haible  <bruno@clisp.org>
75092         * tests/uniwidth/test-uc_width2.c: New file.
75093         * tests/uniwidth/test-uc_width2.sh: New file.
75094         * modules/uniwidth/width-tests (Files): Add the new files.
75095         (TESTS): Add uniwidth/test-uc_width2.sh.
75096         (TESTS_ENVIRONMENT): New variable.
75097         (check_PROGRAMS): Add test-uc_width2.
75098         (test_uc_width2_SOURCES): New variable.
75100         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
75101         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
75102         not 0x00AB.
75103         Reported by Alexander V. Lukyanov <lav@netis.ru>.
75105 2008-08-22  Eric Blake  <ebb9@byu.net>
75107         test-lock, test-tls: mention why a test is skipped
75108         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
75109         skipped.
75110         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
75112         count-one-bits: relax license
75113         * modules/count-one-bits (License): Relicense to LGPLv2+.
75114         Suggested by Ludovic Courtès, approved by Ben Pfaff.
75116 2008-08-22  Andreas Schwab  <schwab@suse.de>
75118         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
75119         Remove spurious space in assignment.
75121 2008-08-21  Simon Josefsson  <simon@josefsson.org>
75123         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
75124         Paul Eggert <eggert@CS.UCLA.EDU>.
75126 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
75128         * modules/gettext: Add m4/threadlib.m4.
75130 2008-08-19  Eric Blake  <ebb9@byu.net>
75132         test-c-stack: fix compilation failure on FreeBSD 5.0
75133         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
75134         headers before <sys/resource.h>.
75135         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
75136         the bug.
75137         Reported by Nelson H. F. Beebe.
75139         strverscmp: migrate from "strverscmp.h" to <string.h>
75140         * modules/string (Makefile.am): Add new hooks.
75141         * modules/strverscmp (Files): Remove strverscmp.h.
75142         (Depends-on): Add string.
75143         (configure.ac): Add indicator.
75144         (Include): Mention new header.
75145         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
75146         defaults.
75147         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
75148         results.
75149         * lib/strverscmp.h: Delete.
75150         * lib/string.in.h (strverscmp): Provide declaration, when needed.
75151         * tests/test-strverscmp.c (includes): Adjust client.
75152         * lib/check-version.c (includes): Likewise.
75153         * NEWS: Document the change.
75155         strverscmp: add unit test
75156         * modules/strverscmp-tests: New file.
75157         * tests/test-strverscmp.c: Likewise.
75159 2008-08-19  Simon Josefsson  <simon@josefsson.org>
75161         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
75162         regarding Windows crypto stuff, from Mono.
75164 2008-08-19  Adam Strzelecki  <ono@java.pl>  (tiny change)
75166         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
75167         if present, for intel RND.  Return error on failures.
75169 2008-08-18  Ben Pfaff  <blp@gnu.org>
75171         gitlog-to-changelog: give better diagnostic for failed pipe-open
75172         * build-aux/gitlog-to-changelog: Improve error message: suggest
75173         that the version of Git may be too old.
75175 2008-08-18  Simon Josefsson  <simon@josefsson.org>
75177         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
75178         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
75180 2008-08-18  Bruno Haible  <bruno@clisp.org>
75182         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
75183         pthread_in_use().
75185 2008-08-18  Bruno Haible  <bruno@clisp.org>
75187         * lib/glthread/threadlib.c: Include <pthread.h>.
75189 2008-08-18  Bruno Haible  <bruno@clisp.org>
75191         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
75192         glthread_recursive_lock_* macros.
75193         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
75194         Fix syntax error.
75196 2008-08-18  Bruno Haible  <bruno@clisp.org>
75198         * lib/glthread/thread.c: Avoid forcing a context switch right after
75199         thread creation.
75201 2008-08-17  Bruno Haible  <bruno@clisp.org>
75203         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
75204         * lib/glthread/thread.h: Provide Win32 specific implementation.
75205         * modules/thread (Files): Add lib/glthread/thread.c.
75206         (Depends-on): Add lock.
75207         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
75209 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
75211         New module 'yield'.
75212         * modules/yield: New file.
75213         * lib/glthread/yield.h: New file.
75214         * m4/yield.m4: New file.
75215         * MODULES.html.sh (Multithreading): Add yield.
75217 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
75219         New module 'thread'.
75220         * modules/thread: New file.
75221         * lib/glthread/thread.h: New file.
75222         * m4/thread.m4: New file.
75223         * MODULES.html.sh (Multithreading): Add thread.
75225 2008-08-17  Bruno Haible  <bruno@clisp.org>
75227         * lib/glthread/lock.h: Include <stdlib.h> always.
75228         * lib/glthread/tls.h: Likewise.
75229         * lib/glthread/cond.h: Likewise.
75231 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
75233         New module 'cond'.
75234         * modules/cond: New file.
75235         * lib/glthread/cond.h: New file.
75236         * lib/glthread/cond.c: New file.
75237         * m4/cond.m4: New file.
75238         * MODULES.html.sh (Multithreading): Add cond.
75240 2008-08-16  Eric Blake  <ebb9@byu.net>
75242         c-stack: fix regression on Irix 5.3 from 2008-06-21
75243         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
75244         sa_sigaction...
75245         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
75246         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
75247         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
75248         * modules/signal (Makefile.am): Use the value.
75249         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
75250         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
75251         * doc/posix-headers/signal.texi (signal.h): Document this
75252         portability issue.
75253         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
75254         Reported by Tom G. Christensen.
75256 2008-08-17  Bruno Haible  <bruno@clisp.org>
75258         New module 'threadlib'.
75259         * modules/threadlib: New file.
75260         * lib/glthread/threadlib.c: New file, extracted from
75261         lib/glthread/lock.c.
75262         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
75263         functions.
75264         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
75265         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
75266         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
75267         macros.
75268         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
75269         (gl_DISABLE_THREADS): Remove macro.
75270         * modules/lock (Files): Remove build-aux/config.rpath.
75271         (Depends-on): Remove havelib. Add threadlib.
75272         (configure.ac-early): Remove section.
75273         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
75274         * modules/tls (Depends-on): Remove lock. Add threadlib.
75275         (Link): New section, copied from threadlib.
75276         * MODULES.html.sh (Multithreading): Add threadlib.
75278 2008-08-14  Bruno Haible  <bruno@clisp.org>
75280         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
75281         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
75282         glthread_rwlock_unlock, glthread_rwlock_destroy,
75283         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
75284         glthread_recursive_lock_destroy): Define as macros always.
75285         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
75286         glthread_lock_lock.
75287         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
75288         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
75289         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
75290         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
75291         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
75292         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
75293         (glthread_recursive_lock_lock_func): Renamed from
75294         glthread_recursive_lock_lock.
75295         (glthread_recursive_lock_unlock_func): Renamed from
75296         glthread_recursive_lock_unlock.
75297         (glthread_recursive_lock_destroy_func): Renamed from
75298         glthread_recursive_lock_destroy.
75300 2008-08-14  Bruno Haible  <bruno@clisp.org>
75302         * lib/glthread/lock.h: Renamed from lib/lock.h.
75303         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
75304         * lib/glthread/tls.h: Renamed from lib/tls.h.
75305         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
75306         * lib/fstrcmp.c: Update includes.
75307         * lib/strsignal.c: Update includes.
75308         * modules/lock (Files, Makefile.am): Update.
75309         (Include): Change to "glthread/lock.h".
75310         * modules/tls (Files, Makefile.am): Update.
75311         (Include): Change to "glthread/tls.h".
75312         * tests/test-lock.c: Update includes.
75313         * tests/test-tls.c: Update includes.
75314         * NEWS: Mention the renamed header files.
75316 2008-08-11  Jim Meyering  <meyering@redhat.com>
75318         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
75320 2008-08-11  Eric Blake  <ebb9@byu.net>
75322         test-c-stack: avoid C99-ism
75323         * tests/test-c-stack.c (main): Fix whitespace, move declaration
75324         before statement.
75325         Reported by Alain Guibert.
75327 2008-08-10  Jim Meyering  <meyering@redhat.com>
75329         ensure that return value of uinttostr et al are not ignored
75330         * lib/inttostr.h (__GNUC_PREREQ): Define.
75331         (__attribute_warn_unused_result__): Define.
75332         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
75334 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
75336         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
75337         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
75339 2008-08-07  Jim Meyering  <meyering@redhat.com>
75341         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
75343         * modules/mkstemp (License): Relicense under LGPLv2+.
75344         * modules/tempname (License): Likewise.
75346 2008-08-06  Bruno Haible  <bruno@clisp.org>
75348         * lib/poll.c (poll): Further micro-optimization.
75350 2008-08-06  Jim Meyering  <meyering@redhat.com>
75352         inet_pton.c: use locale-independent tolower
75353         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
75354         (inet_pton6): Use c_tolower rather than tolower.
75355         * modules/inet_pton (Depends-on): Add c-ctype.
75357 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
75359         * lib/poll.c (poll): Avoid division when timeout is 0, cache
75360         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
75362 2008-08-06  Jim Meyering  <meyering@redhat.com>
75364         * modules/inet_pton (License): Relicense under LGPLv2+.
75366 2008-08-03  Bruno Haible  <bruno@clisp.org>
75368         Additional non-aborting API for lock and tls.
75369         * lib/lock.h: Include <errno.h>.
75370         (glthread_lock_init): New macro/function.
75371         (gl_lock_init): Define as wrapper around glthread_lock_init.
75372         (glthread_lock_lock): New macro/function.
75373         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
75374         (glthread_lock_unlock): New macro/function.
75375         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
75376         (glthread_lock_destroy): New macro/function.
75377         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
75378         (glthread_rwlock_init): New macro/function.
75379         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
75380         (glthread_rwlock_rdlock): New macro/function.
75381         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
75382         (glthread_rwlock_wrlock): New macro/function.
75383         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
75384         (glthread_rwlock_unlock): New macro/function.
75385         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
75386         (glthread_rwlock_destroy): New macro/function.
75387         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
75388         (glthread_recursive_lock_init): New macro/function.
75389         (gl_recursive_lock_init): Define as wrapper around
75390         glthread_recursive_lock_init.
75391         (glthread_recursive_lock_lock): New macro/function.
75392         (gl_recursive_lock_lock): Define as wrapper around
75393         glthread_recursive_lock_lock.
75394         (glthread_recursive_lock_unlock): New macro/function.
75395         (gl_recursive_lock_unlock): Define as wrapper around
75396         glthread_recursive_lock_unlock.
75397         (glthread_recursive_lock_destroy): New macro/function.
75398         (gl_recursive_lock_destroy): Define as wrapper around
75399         glthread_recursive_lock_destroy.
75400         (glthread_once): New macro/function.
75401         (gl_once): Define as wrapper around glthread_once.
75402         Update function declarations.
75403         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
75404         glthread_rwlock_init. Return error code.
75405         (glthread_rwlock_rdlock_multithreaded): Renamed from
75406         glthread_rwlock_rdlock. Return error code.
75407         (glthread_rwlock_wrlock_multithreaded): Renamed from
75408         glthread_rwlock_wrlock. Return error code.
75409         (glthread_rwlock_unlock_multithreaded): Renamed from
75410         glthread_rwlock_unlock. Return error code.
75411         (glthread_rwlock_destroy_multithreaded): Renamed from
75412         glthread_rwlock_destroy. Return error code.
75413         (glthread_recursive_lock_init_multithreaded): Renamed from
75414         glthread_recursive_lock_init. Return error code.
75415         (glthread_recursive_lock_lock_multithreaded): Renamed from
75416         glthread_recursive_lock_lock. Return error code.
75417         (glthread_recursive_lock_unlock_multithreaded): Renamed from
75418         glthread_recursive_lock_unlock. Return error code.
75419         (glthread_recursive_lock_destroy_multithreaded): Renamed from
75420         glthread_recursive_lock_destroy. Return error code.
75421         (glthread_once_call): Make static.
75422         (glthread_once_multithreaded): Renamed from glthread_once.
75423         * lib/tls.h: Include <errno.h>.
75424         (glthread_tls_key_init): New macro/function.
75425         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
75426         (glthread_tls_set): New macro/function.
75427         (gl_tls_set): Define as wrapper around glthread_tls_set.
75428         (glthread_tls_key_destroy): New macro/function.
75429         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
75430         Update function declarations.
75431         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
75432         glthread_tls_get.
75433         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
75435 2008-08-04  Eric Blake  <ebb9@byu.net>
75437         gnumakefile: use space, not TAB, outside of targets
75438         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
75440 2008-08-02  Jim Meyering  <meyering@redhat.com>
75442         getdate.y: avoid locale-dependent date parsing failure
75443         In Turkish locales, getdate would fail to recognize keywords
75444         containing a lowercase "i".  The solution is not to rely on
75445         locale-sensitive case-conversion.
75446         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
75447         (lookup_word): Use c_toupper in place of toupper.
75448         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
75449         Reported by Vefa Bicakci <bicave@superonline.com> in
75450         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
75451         * modules/getdate (Depends-on): Add c-ctype.
75453 2008-08-02  Bruno Haible  <bruno@clisp.org>
75455         * gnulib-tool (func_import): When updating or creating a .gitignore
75456         file, prepend each added line with a slash, and ignore leading slashes
75457         from the existing lines.
75458         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
75460 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75462         Portability fix for GNU make 3.79.1.
75463         * top/GNUmakefile: Avoid 'else COND', which older GNU make
75464         versions do not understand.
75466 2008-08-01  Bruno Haible  <bruno@clisp.org>
75468         Work around bug of HP-UX 10.20 cc with -0.0 literal.
75469         * tests/test-isnanf.h (zero): New variable.
75470         (main): Avoid literal -0.0f.
75471         * tests/test-isnand.h (zero): New variable.
75472         (main): Avoid literal -0.0.
75473         * tests/test-isnanl.h (zero): New variable.
75474         (main): Avoid literal -0.0L.
75475         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
75476         (test_float, test_double, test_long_double): Avoid literals -0.0f,
75477         -0.0, -0.0L.
75478         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
75479         (test_signbitd): Avoid literal -0.0.
75480         (test_signbitl): Avoid literal -0.0L.
75481         * tests/test-ceilf1.c (zero): New variable.
75482         (main): Avoid literal -0.0f.
75483         * tests/test-ceill.c (zero): New variable.
75484         (main): Avoid literal -0.0L.
75485         * tests/test-floorf1.c (zero): New variable.
75486         (main): Avoid literal -0.0f.
75487         * tests/test-floorl.c (zero): New variable.
75488         (main): Avoid literal -0.0L.
75489         * tests/test-roundf1.c (zero): New variable.
75490         (main): Avoid literal -0.0f.
75491         * tests/test-round1.c (zero): New variable.
75492         (main): Avoid literal -0.0.
75493         * tests/test-roundl.c (zero): New variable.
75494         (main): Avoid literal -0.0L.
75495         * tests/test-truncf1.c (zero): New variable.
75496         (main): Avoid literal -0.0f.
75497         * tests/test-trunc1.c (zero): New variable.
75498         (main): Avoid literal -0.0.
75499         * tests/test-truncl.c (zero): New variable.
75500         (main): Avoid literal -0.0L.
75501         * tests/test-frexp.c (zero): New variable.
75502         (main): Avoid literal -0.0.
75503         * tests/test-frexpl.c (zero): New variable.
75504         (main): Avoid literal -0.0L.
75505         * tests/test-ldexpl.c (zero): New variable.
75506         (main): Avoid literal -0.0L.
75507         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
75508         (zerod, zerol): New variables.
75509         (test_function): Avoid literals -0.0, -0.0L.
75510         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
75511         (zerod, zerol): New variables.
75512         (test_function): Avoid literals -0.0, -0.0L.
75513         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
75514         (zerod, zerol): New variables.
75515         (test_function): Avoid literals -0.0, -0.0L.
75516         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
75517         (zerod, zerol): New variables.
75518         (test_function): Avoid literals -0.0, -0.0L.
75519         * tests/test-strtod.c (zero): New variable.
75520         (main): Avoid literal -0.0.
75521         Reported by Jonathan C. Patschke <jp@centtech.com>.
75523 2008-07-31  Jim Meyering  <meyering@redhat.com>
75525         sha256.h: correct definition of SHA224_DIGEST_SIZE
75526         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
75527         Reported by Paulie Pena IV <paulie4@gmail.com>.
75528         Define as 224 / 8, rather than as a literal.
75529         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
75530         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
75531         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
75533 2008-07-31  Bruno Haible  <bruno@clisp.org>
75535         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
75536         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
75537         Reported by Jonathan Patschke <jp@centtech.com>.
75539 2008-07-31  Bruno Haible  <bruno@clisp.org>
75541         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
75542         Reported by Paolo Bonzini <bonzini@gnu.org>.
75544 2008-07-30  Eric Blake  <ebb9@byu.net>
75546         test-strtod: allow compilation without -lm
75547         * tests/test-strtod.c (main): Avoid link dependence on fabs.
75548         Reported by Dennis Clarke <blastwave@gmail.com>.
75550 2008-07-28  Jim Meyering  <meyering@redhat.com>
75552         bootstrap: work also when there are no .po files in po/
75553         * build-aux/bootstrap (update_po_files): Complete the change
75554         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
75556 2008-07-27  Jim Meyering  <meyering@redhat.com>
75558         * users.txt: Add zile.
75560 2008-07-26  Ben Pfaff  <blp@gnu.org>
75562         Add missing dependencies on new m4/exponent[fdl].m4 files.
75563         * modules/isnanf-nolibm: Add m4/exponentf.m4.
75564         * modules/isnand-nolibm: Add m4/exponentd.m4.
75565         * modules/isnanl-nolibm: Add m4/exponentl.m4.
75566         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
75567         m4/isnan[fdl].m4, because the macros actually used moved.
75568         Reported by Jim Meyering.
75570 2008-07-14  Ben Pfaff  <blp@gnu.org>
75572         Add isinf module.
75573         * lib/isinf.c: New file.
75574         * lib/math.in.h: Define isinf macro if we have decided to replace
75575         it.
75576         * m4/isinf.m4: New file.
75577         * m4/math_h.m4: Initialize and substitute variables for isinf
75578         module.
75579         * modules/isinf: New file.
75580         * modules/isinf-tests: New file.
75581         * modules/math: Add substitutions for new module.
75582         * tests/test-isinf.c: New file.
75583         * doc/posix-functions/isinf.texi: Mention new module.
75584         * MODULES.html.sh: Mention new module.
75586 2008-07-14  Ben Pfaff  <blp@gnu.org>
75588         Factor out some macros for use by additional modules.
75589         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
75590         exponentf.m4.
75591         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
75592         exponentd.m4.
75593         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
75594         file exponentl.m4.
75595         * m4/exponentf.m4: New file.
75596         * m4/exponentd.m4: New file.
75597         * m4/exponentl.m4: New file.
75598         * modules/isnanf: Use new file m4/exponentf.m4.
75599         * modules/isnand: Use new file m4/exponentd.m4.
75600         * modules/isnanl: Use new file m4/exponentl.m4.
75602 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
75604         mktime.c: normalize tp->tm_isdst value to -1/0/1.
75605         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
75606         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
75607         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
75609         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
75610         readlink on platforms without PATH_MAX.
75612 2008-07-21  Eric Blake  <ebb9@byu.net>
75614         Warn, not fail, on stale version.
75615         * top/GNUmakefile (_curr-ver): Tone down previous patch.
75617         Don't allow installation with stale devel version number.
75618         * top/GNUmakefile (_is-install-target): New macro.
75619         (_curr-ver): Forbid installation with stale version number.
75621 2008-07-20  Bruno Haible  <bruno@clisp.org>
75623         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
75624         TESTS_ENVIRONMENT.
75625         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
75627 2008-07-20  Bruno Haible  <bruno@clisp.org>
75629         * lib/c-stack.h (c_stack_action): Add documentation.
75630         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
75632 2008-07-20  Bruno Haible  <bruno@clisp.org>
75634         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
75635         * modules/readlink (License): Likewise.
75637 2008-07-17  Eric Blake  <ebb9@byu.net>
75639         * modules/c-stack (Link): Fix typo.
75641         Make c-stack use libsigsegv, when available.
75642         * modules/c-stack (Depends-on): Add libsigsegv.
75643         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
75644         needed.
75645         * lib/c-stack.c (SIGSTKSZ): Define fallback.
75646         (segv_handler, overflow_handler, c_stack_action)
75647         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
75648         implementation when libsigsegv is available, but only when using
75649         the library is necessary.
75650         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
75651         comment, explaining why XSI check fails on Linux.
75652         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
75653         * tests/test-c-stack2.sh: Tweak skip message.
75654         * NEWS: Document new link-time requirements.
75656 2008-07-16  Eric Blake  <ebb9@byu.net>
75658         c-stack: Expose false positives when not using libsigsegv.
75659         * modules/c-stack-tests (Files): Expand test.
75660         * tests/test-c-stack.c (main): Add means to conditionally trigger
75661         non-overflow SIGSEGV.
75662         * tests/test-c-stack2.sh: New file.
75664 2008-07-14  Bruno Haible  <bruno@clisp.org>
75666         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
75667         Reported by Eric Blake.
75669 2008-07-14  Sam Steingold  <sds@gnu.org>
75670             Bruno Haible  <bruno@clisp.org>
75672         New module libsigsegv.
75673         * modules/libsigsegv: New file.
75674         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
75675         modifications.
75676         * MODULES.html.sh (Signal handling): New section.
75678 2008-07-14  Bruno Haible  <bruno@clisp.org>
75680         * modules/unictype/ctype-* (Description): Add the word "function".
75681         Improves the resulting doc in MODULES.html.
75683 2008-07-12  Ben Pfaff  <blp@gnu.org>
75685         Add longlong module.
75686         * modules/longlong: New file.
75688 2008-07-12  Bruno Haible  <bruno@clisp.org>
75690         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
75691         to empty.
75693 2008-07-10  Ben Pfaff  <blp@gnu.org>
75695         Add isnan module.
75696         * doc/posix-functions/isnan.texi: Mention new module.
75697         * lib/math.in.h: Define isnan macro if we have decided to replace
75698         it.
75699         * m4/isnan.m4: New file.
75700         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
75701         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
75702         also.
75703         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
75704         redundancy.
75705         * m4/math_h.m4: Initialize and substitute variables for isnan
75706         module.
75707         * modules/isnan: New file.
75708         * modules/isnan-tests: New file.
75709         * modules/math: Add substitutions for new module.
75710         * tests/test-isnan.c: New file.
75711         * MODULES.html.sh: Mention new module.
75713 2008-07-10  Ben Pfaff  <blp@gnu.org>
75715         Add isnanf module.
75716         * lib/isnanf.m4: New file.
75717         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
75718         (gl_HAVE_ISNANF_IN_LIBM): New macro.
75719         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
75720         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
75721         * modules/isnanf: New file.
75722         * modules/isnanf-tests: New file.
75723         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
75724         files.
75725         * tests/test-isnanf-nolibm.c: factored most of its contents into
75726         new file tests/test-isnanf.h.
75727         * tests/test-isnanf.h: New file.
75728         * tests/test-isnanf.c: New file.
75729         * MODULES.html.sh: Mention new module.
75730         * doc/glibc-functions/isnanf.texi: Mention new module.
75732 2008-07-10  Ben Pfaff  <blp@gnu.org>
75734         Add isnand module.
75735         * lib/isnand.h: New file.
75736         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
75737         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
75738         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
75739         functionality also.
75740         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
75741         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
75742         (gl_HAVE_ISNAND_IN_LIBM): New macro.
75743         * modules/isnand: New file.
75744         * modules/isnand-tests: New file.
75745         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
75746         files.
75747         * tests/test-isnand-nolibm.c: factored most of its contents into
75748         new file tests/test-isnand.h.
75749         * tests/test-isnand.h: New file.
75750         * tests/test-isnand.c: New file.
75751         * MODULES.html.sh: Mention new module.
75753 2008-07-10  Ben Pfaff  <blp@gnu.org>
75755         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
75756         * lib/isnand.h: Rename lib/isnand-nolibm.h.
75757         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
75758         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
75759         * modules/isnanf-nolibm: Update references to renamed files.
75760         * modules/isnand-nolibm: Likewise.
75761         * modules/isnanf-nolibm-tests: Likewise.
75762         * modules/isnand-nolibm-tests: Likewise.
75763         * lib/frexp.c: Likewise.
75764         * lib/isfinite.c: Likewise.
75765         * lib/signbitd.c: Likewise.
75766         * lib/signbitf.c: Likewise.
75767         * lib/vasnprintf.c: Likewise.
75768         * tests/test-ceilf1.c: Likewise.
75769         * tests/test-ceilf2.c: Likewise.
75770         * tests/test-floorf1.c: Likewise.
75771         * tests/test-floorf2.c: Likewise.
75772         * tests/test-frexp.c: Likewise.
75773         * tests/test-round1.c: Likewise.
75774         * tests/test-round2.c: Likewise.
75775         * tests/test-roundf1.c: Likewise.
75776         * tests/test-strtod.c: Likewise.
75777         * tests/test-trunc1.c: Likewise.
75778         * tests/test-trunc2.c: Likewise.
75779         * tests/test-truncf1.c: Likewise.
75780         * tests/test-truncf2.c: Likewise.
75781         * NEWS: Mention the renamed header files.
75783 2008-07-11  Jim Meyering  <meyering@redhat.com>
75785         vc-list-files: make the last-resort awk code more portable
75786         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
75787         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
75788         does not support it.
75790 2008-07-10  Eric Blake  <ebb9@byu.net>
75792         Work with tar's bootstrap.
75793         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
75794         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
75795         an m4 comment.
75797 2008-07-09  Jim Meyering  <meyering@redhat.com>
75799         posix-shell.m4: fix typo that made this test malfunction
75800         * m4/posix-shell.m4: Remove capitalization in variable name.
75802 2008-07-08  Bruno Haible  <bruno@clisp.org>
75804         * m4/onceonly.m4: Update comments.
75805         Reported by Ben Pfaff <blp@cs.stanford.edu>.
75807 2008-07-04  Jim Meyering  <meyering@redhat.com>
75809         * users.txt: Add vc-dwim.
75810         (bison, coreutils): Use the gitweb URL.
75812 2008-07-03  Jim Meyering  <meyering@redhat.com>
75814         * users.txt: Add libffcall.  From Sam Steingold.
75816 2008-07-03  Ondřej Vašík  <ovasik@redhat.com>
75818         getdate.y: do not ignore TZ with relative day, month or year offset
75819         * lib/getdate.y (get_date): Move the tz-handling block to follow the
75820         relative-date-handling, since otherwise, the latter would clobber the
75821         sole output (an updated Start value) of the tz-handling block.
75822         * tests/test-getdate.c: Tests for the fix
75824 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75826         Recognize 'foo_LIBRARIES += libgnu.a'.
75827         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
75828         makefile snippet has already specified an installation location,
75829         also using '+='.
75831 2008-07-02  Ondřej Vašík  <ovasik@redhat.com>
75833         getdate.y: factor out common actions
75834         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
75835         Use them in place of open-coded actions.
75837 2008-07-01  Simon Josefsson  <simon@josefsson.org>
75839         Add self-test for getdate module.
75840         * modules/getdate-tests: New file.
75841         * tests/test-getdate.c: New file.
75843 2008-06-29  Bruno Haible  <bruno@clisp.org>
75845         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
75846         .gitignore.
75847         Reported by Sylvain Beucler <beuc@beuc.net>.
75849 2008-06-29  Bruno Haible  <bruno@clisp.org>
75851         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
75852         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
75854 2008-06-29  Bruno Haible  <bruno@clisp.org>
75856         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
75857         EXTRA_DIST.
75858         Reported by Sylvain Beucler <beuc@beuc.net>.
75860 2008-06-26  Jim Meyering  <meyering@redhat.com>
75862         make several modules depend on the "open" module
75863         This provides slightly increased consistency when opening-for-write
75864         the name of a non-directory spelled with a trailing slash.
75865         * modules/chdir-safer: Likewise.
75866         * modules/chown: Likewise.
75867         * modules/clean-temp: Likewise.
75868         * modules/copy-file: Likewise.
75869         * modules/fchdir: Likewise.
75870         * modules/fcntl-safer: Likewise.
75871         * modules/pipe: Likewise.
75872         * modules/utime: Likewise.
75873         Prompted by Eric Blake and Bruno Haible.
75875 2008-06-24  Andreas Schwab  <schwab@suse.de>
75877         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
75878         literals can be used as initializers for global variables.
75880 2008-06-23  Eric Blake  <ebb9@byu.net>
75882         Make gnulib-cache.m4 easier to diff.
75883         * gnulib-tool (func_import): Allow newlines when reading cached
75884         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
75886 2008-06-23  Bruno Haible  <bruno@clisp.org>
75888         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
75889         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
75890         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
75891         m4/signalblocking.m4.
75892         (gl_PREREQ_SIGACTION): Don't invoke it.
75893         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
75894         gl_PREREQ_SIG_HANDLER_H.
75895         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
75896         Don't check for sigaction here.
75898 2008-06-23  Bruno Haible  <bruno@clisp.org>
75900         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
75901         (install_handlers): Don't set the SA_RESETHAND flag.
75903 2008-06-23  Bruno Haible  <bruno@clisp.org>
75905         * m4/sigaction.m4: Comment fixes.
75906         * lib/signal.in.h: Likewise.
75908 2008-06-23  Eric Blake  <ebb9@byu.net>
75910         Fix typo.
75911         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
75913         Avoid SA_ namespace.
75914         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
75915         Reported by Ralf Wildenhues.
75917         Avoid test failure due to SA_RESTORER.
75918         * tests/test-sigaction.c (SA_MASK): New macro.
75919         (main): Avoid failing due to extension flags being set.
75920         Reported by Jim Meyering.
75922         Revert use of sig-handler.h in sigprocmask.c.
75923         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
75924         it requires the existence of struct sigaction.
75925         * lib/sigprocmask.c (handler_t): Restore typedef.
75926         (rpl_signal, old_handlers): Use local type.
75928 2008-06-22  Bruno Haible  <bruno@clisp.org>
75930         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
75931         conditionally.
75932         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
75934 2008-06-22  Bruno Haible  <bruno@clisp.org>
75936         * doc/posix-functions/siginterrupt.texi: Move note.
75938         * lib/signal.in.h (SA_RESTART): New macro.
75939         * lib/sigaction.c: Update comment.
75941         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
75943         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
75944         (gl_PREREQ_SIGPROCMASK): Invoke it.
75945         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
75947         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
75949         * lib/sigprocmask.c: Update a comment.
75951 2008-06-21  Eric Blake  <ebb9@byu.net>
75953         Use sigaction module rather than signal().
75954         * modules/c-stack (Depends-on): Add sigaction.
75955         * modules/fatal-signal (Depends-on): Likewise.
75956         * modules/nanosleep (Depends-on): Likewise.
75957         * modules/sigprocmask (Files): Add sig-handler.h.
75958         * modules/sigaction (Files): Likewise.
75959         * lib/sig-handler.h (get_handler): New file, suggested by Paul
75960         Eggert.
75961         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
75962         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
75963         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
75964         (init_fatal_signals): Likewise.
75965         * lib/nanosleep.c (rpl_nanosleep): Likewise.
75966         (siginterrupt): Delete fallback.
75967         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
75968         instead.
75969         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
75970         siginterrupt.
75972         New module sigaction, for mingw.
75973         * modules/sigaction: New module...
75974         * modules/sigaction-tests: ...and its test.
75975         * m4/sigaction.m4: New file.
75976         * lib/sigaction.c: Likewise.
75977         * tests/test-sigaction.c: Likewise.
75978         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
75979         * modules/signal (Makefile.am): Likewise.
75980         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
75981         needed.
75982         * doc/posix-headers/signal.texi (signal.h): Mention provided
75983         types.
75984         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
75985         that sigaction is preferable.
75986         * doc/posix-functions/sigaction.texi (sigaction): Mention new
75987         module.
75988         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
75989         sigaction.
75991         Improve robustness of sigprocmask by overriding signal.
75992         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
75993         is in use.
75994         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
75995         (SIGKILL, SIGSTOP): Provide fallbacks.
75996         (rpl_signal): Implement.
75997         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
75998         signal can be called inside handlers.
76000         Fix nanosleep module on mingw.
76001         * modules/nanosleep (Depends-on): Add sys_select.
76002         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
76004         Fix licensing of sigprocmask.
76005         * modules/raise (License): Relicense as LGPL.
76007 2008-06-21  Bruno Haible  <bruno@clisp.org>
76009         * lib/propername.c (proper_name_utf8): Don't use the transliterated
76010         result if it contains question marks.
76011         Reported by Michael Geng <linux@michaelgeng.de>.
76013 2008-06-19  Bruno Haible  <bruno@clisp.org>
76015         Fix CVS-ism.
76016         * doc/gnulib.texi: Include updated-stamp.texi.
76017         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
76018         (updated-stamp.texi): New rule.
76019         (gnulib.info): Depend on it.
76020         * doc/.gitignore: Add updated-stamp.texi.
76021         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
76023 2008-06-19  Bruno Haible  <bruno@clisp.org>
76025         * doc/Makefile (gnulib.info): Update and simplify dependencies.
76026         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
76028 2008-06-19  Eric Blake  <ebb9@byu.net>
76030         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
76031         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
76032         Reported by Stepan Kasal.
76034 2008-06-18  Bruno Haible  <bruno@clisp.org>
76036         * lib/fatal-signal.c (init_fatal_signals): Add comment.
76037         Reported by Eric Blake.
76039 2008-06-18  Eric Blake  <ebb9@byu.net>
76041         Work around cygwin 1.5.25 strsignal bug.
76042         * tests/test-strsignal.c: Allow for const char *.
76043         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
76045 2008-06-18  Simon Josefsson  <simon@josefsson.org>
76047         * users.txt: Update URL to article and add author/date
76048         information.
76050 2008-06-17  Bruno Haible  <bruno@clisp.org>
76052         New macro gl_DISABLE_THREADS.
76053         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
76054         if the user did not pass --enable-threads or --disable-threads option.
76055         (gl_DISABLE_THREADS): New macro.
76056         Reported by Eric Blake <ebb9@byu.net>.
76058 2008-06-17  Bruno Haible  <bruno@clisp.org>
76060         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
76061         when the macro ignores it.
76062         Based on a patch by Eric Blake <ebb9@byu.net>.
76064 2008-06-17  Bruno Haible  <bruno@clisp.org>
76066         * modules/tls (License): Change to LGPLv2+.
76067         Reported by Eric Blake.
76069 2008-06-17  Eric Blake  <ebb9@byu.net>
76071         Simplify c-stack prerequisites.
76072         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
76073         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
76074         no longer requires <ucontext.h> to exist.  Optimize setrlimit
76075         check.
76076         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
76077         <sys/resource.h>.
76079         Move c-stack test into testsuite.
76080         * modules/c-stack-tests: New file.
76081         * lib/c-stack.c [DEBUG]: Move test program...
76082         * tests/test-c-stack.c: ...into this new file.  Skip rather than
76083         fail test if sigaltstack is lacking.
76084         * tests/test-c-stack.sh: New driver file.
76086 2008-06-16  Eric Blake  <ebb9@byu.net>
76088         Use raise module consistently.
76089         * modules/fatal-signal (Depends-on): Add raise.
76090         * modules/sigprocmask (Depends-on): Likewise.
76091         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
76092         * lib/sigprocmask.c (sigprocmask): Likewise.
76093         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
76094         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
76096         Fix compliance bug in sigpending.
76097         * lib/sigprocmask.c (sigpending): Return pending array via
76098         parameter, not return value.
76100 2008-06-14  Eric Blake  <ebb9@byu.net>
76102         Improve obstack-printf test code.
76103         * tests/test-obstack-printf.c (test_function): Fix comment, and
76104         simplify usage of obstack_* in macros.  Add a test for coverage.
76105         Reported by Bruno Haible.
76107 2008-06-14  Bruno Haible  <bruno@clisp.org>
76109         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
76110         array size as a constant, not as a const variable.
76111         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
76112         AC_USE_SYSTEM_EXTENSIONS.
76113         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
76114         Test whether the obstack_printf function actually exists.
76115         * modules/obstack-printf (Depends-on): Add extensions.
76116         (Include): Remove obstack.h.
76117         * modules/obstack-printf-posix (Depends-on): Add extensions.
76118         (Include): Remove obstack.h.
76120 2008-06-13  Eric Blake  <ebb9@byu.net>
76122         Add obstack-printf and obstack-printf-posix modules.
76123         * modules/obstack-printf: New file.
76124         * modules/obstack-printf-posix: Likewise.
76125         * MODULES.html.sh (Misc): Mention them.
76126         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
76127         Likewise.
76128         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
76129         Likewise.
76130         * modules/stdio (Makefile.am): Accomodate new modules.
76131         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
76132         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
76133         Declare.
76134         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
76135         functions.
76136         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
76137         (gl_REPLACE_OBSTACK_PRINTF): New macros
76138         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
76139         * tests/test-obstack-printf.c: New file.
76140         * modules/obstack-printf-tests: Likewise.
76141         * modules/obstack-printf-posix-tests: Likewise.
76143 2008-06-11  Bruno Haible  <bruno@clisp.org>
76145         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
76146         * lib/open.c: Include errno.h.
76147         (open): Fail when attempting to write to a file that has a trailing
76148         slash.
76149         * tests/test-open.c (main): Test against trailing slash bug.
76150         * doc/posix-functions/open.texi: Mention the trailing slash bug.
76152 2008-06-10  Bruno Haible  <bruno@clisp.org>
76154         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
76155         for $? to work inside the trap command, with various /bin/sh-s.
76156         * tests/test-vc-list-files-cvs.sh: Likewise.
76158 2008-06-10  Bruno Haible  <bruno@clisp.org>
76160         * lib/acl-internal.h: Don't include gettext.h here.
76161         * lib/set-mode-acl.c: Include gettext.h here.
76162         * lib/copy-acl.c: Likewise.
76164 2008-06-10  Bruno Haible  <bruno@clisp.org>
76166         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
76167         * lib/wait-process.c (wait_subprocess): Likewise.
76168         * lib/execute.h (execute): Add termsigp argument.
76169         * lib/execute.c (execute): Likewise.
76170         * lib/csharpcomp.c (compile_csharp_using_pnet,
76171         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
76172         * lib/csharpexec.c (execute_csharp_using_pnet,
76173         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
76174         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
76175         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
76176         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
76177         is_jikes_present): Update.
76178         * lib/javaexec.c (execute_java_class): Update.
76179         * lib/javaversion.c (execute_and_read_line): Update.
76180         * NEWS: Document the changes.
76181         Reported by Eric Blake.
76183 2008-06-10  Eric Blake  <ebb9@byu.net>
76185         Add missing include.
76186         * tests/test-strstr.c (includes): Add <signal.h>.
76187         * tests/test-strcasestr.c (includes): Likewise.
76188         * tests/test-memmem.c (includes): Likewise.
76190 2008-06-10  Bruno Haible  <bruno@clisp.org>
76192         * lib/wait-process.c (wait_subprocess): Add an assertion.
76194 2008-06-10  Bruno Haible  <bruno@clisp.org>
76196         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
76198 2008-06-10  Bruno Haible  <bruno@clisp.org>
76200         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
76201         using alarm().
76202         * tests/test-strcasestr.c (main): Likewise.
76203         * tests/test-strstr.c (main): Likewise.
76205 2008-06-09  Bruno Haible  <bruno@clisp.org>
76207         Work around the Solaris 10 ACE ACLs ABI change.
76208         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
76209         declare if ACL_NO_TRIVIAL is present.
76210         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
76211         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
76212         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
76213         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
76214         define if ACL_NO_TRIVIAL is present.
76215         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
76216         and use the current ABI.
76217         (file_has_acl): Use same #if condition as elsewhere.
76218         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
76219         in use, and use the current ABI.
76220         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
76221         Reported by Jim Meyering.
76223 2008-06-09  Eric Blake  <ebb9@byu.net>
76225         Work around environments that (stupidly) ignore SIGALRM.
76226         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
76227         before using alarm().
76228         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
76229         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
76230         Reported by Ian Beckwith <ianb@erislabs.net>.
76232         Produce autobuild blurb earlier in log.
76233         * modules/autobuild (configure.ac-early): Move AB_INIT here.
76235 2008-06-09  Jim Meyering  <meyering@redhat.com>
76236         and Ondřej Vašík  <ovasik@redhat.com>
76238         utimens.c: correct kernel bug work-around
76239         Ondřej Vašík found that the invalid return value of 280 indicates
76240         failure, not success, and the kernel bug we're trying to work
76241         around affects not just the utimensat call, but also the fallback
76242         futimens call.
76243         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
76244         not success.
76245         [HAVE_FUTIMENS]: Use the same work-around, here.
76247 2008-06-09  Jim Meyering  <meyering@redhat.com>
76249         add more guards around definition of ACE_-related code
76250         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
76251         ALLOW and ACE_OWNER are also defined.
76253 2008-06-08  Bruno Haible  <bruno@clisp.org>
76255         * lib/acl-internal.h: Add me as co-author.
76256         * lib/file-has-acl.c: Likewise.
76257         * lib/set-mode-acl.c: Likewise.
76258         * lib/copy-acl.c: Likewise.
76260 2008-06-08  Bruno Haible  <bruno@clisp.org>
76262         Add support for AIX ACLs.
76263         * lib/acl-internal.h (acl_nontrivial): New declaration.
76264         * lib/file-has-acl.c (acl_nontrivial): New function.
76265         (file_has_acl): Add implementation using AIX 4 ACL API.
76266         * lib/set-mode-acl.c (qset_acl): Likewise.
76267         * lib/copy-acl.c (qcopy_acl): Likewise.
76269 2008-06-08  Bruno Haible  <bruno@clisp.org>
76271         Add support for HP-UX ACLs.
76272         * lib/acl-internal.h (acl_nontrivial): New declaration.
76273         * lib/file-has-acl.c (acl_nontrivial): New function.
76274         (file_has_acl): Add implementation using HP-UX 11 ACL API.
76275         * lib/set-mode-acl.c (qset_acl): Likewise.
76276         * lib/copy-acl.c (qcopy_acl): Likewise.
76278 2008-06-08  Bruno Haible  <bruno@clisp.org>
76280         Add support for Cygwin ACLs.
76281         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
76282         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
76283         the chmod_or_fchmod call.
76284         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
76286 2008-06-08  Bruno Haible  <bruno@clisp.org>
76288         Fix bug with setuid modes in Solaris 10+ code.
76289         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
76290         succeeded, when the mode contains some special bits.
76292 2008-06-08  Bruno Haible  <bruno@clisp.org>
76294         Add support for Solaris 7..10 ACLs.
76295         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
76296         declarations.
76297         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
76298         functions.
76299         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
76300         * lib/set-mode-acl.c (qset_acl): Likewise.
76301         * lib/copy-acl.c (qcopy_acl): Likewise.
76303 2008-06-08  Bruno Haible  <bruno@clisp.org>
76305         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
76306         declaration.
76307         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
76308         (acl_access_nontrivial): Remove MacOS X case.
76309         (file_has_acl): Use acl_extended_nontrivial.
76310         * lib/copy-acl.c (qcopy_acl): Likewise.
76312 2008-06-08  Bruno Haible  <bruno@clisp.org>
76314         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
76316 2008-06-08  Jim Meyering  <meyering@redhat.com>
76318         * modules/acl (Maintainer): Add Bruno Haible.
76320 2008-06-07  Bruno Haible  <bruno@clisp.org>
76322         Improve support for Tru64 ACLs.
76323         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
76324         ACL on OSF/1.
76326 2008-06-07  Bruno Haible  <bruno@clisp.org>
76328         Add support for MacOS X ACLs.
76329         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
76330         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
76331         * lib/set-mode-acl.c (qset_acl): Likewise.
76332         * lib/copy-acl.c (qcopy_acl): Likewise.
76334 2008-06-07  Bruno Haible  <bruno@clisp.org>
76336         Fix memory leak introduced on 2008-05-22.
76337         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
76338         use.
76340 2008-06-07  Bruno Haible  <bruno@clisp.org>
76342         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
76343         to construct an empty ACL.
76345 2008-06-07  Bruno Haible  <bruno@clisp.org>
76347         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
76348         precisely.
76349         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
76351 2008-06-07  Bruno Haible  <bruno@clisp.org>
76353         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
76354         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
76356 2008-06-07  Bruno Haible  <bruno@clisp.org>
76358         * doc/posix-functions/_setjmp.texi: Explain the use of this function
76359         regardless of POSIX.
76360         * doc/posix-functions/_longjmp.texi: Likewise.
76361         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
76362         SystemV platform in this case.
76364 2008-06-06  Eric Blake  <ebb9@byu.net>
76366         Document abort() bugs.
76367         * doc/posix-functions/abort.texi (abort): Mention anomalies.
76369         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
76370         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
76371         sigsetjmp.
76372         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
76373         siglongjmp, but only as a macro.
76374         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
76375         is obsolete.
76376         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
76378         Tweak documentation to cover cygwin argz bugs.
76379         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
76380         argz bug fix; no code change needed since no cygwin releases
76381         occurred between the last fix and the bug being tested.
76382         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
76383         module and recently fixed cygwin bugs.
76384         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
76385         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
76386         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
76387         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
76388         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
76389         Likewise.
76390         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
76391         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
76392         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
76393         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
76394         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
76395         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
76396         Likewise.
76398         Avoid gcc warning on cygwin.
76399         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
76400         !ACL_NO_TRIVIAL]: Avoid unused variable.
76402 2008-06-05  Eric Blake  <ebb9@byu.net>
76404         Be tolerant of UNKNOWN version in gnulib-tool test dir.
76405         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
76406         git-version-gen fails to come up with a version.
76407         Reported by Simon Josefsson.
76409 2008-06-05  Jim Meyering  <meyering@redhat.com>
76410             Paul Eggert  <eggert@cs.ucla.edu>
76412         utimens.c: work around a probable Linux kernel bug
76413         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
76414         appears to be a kernel bug that causes utimensat to return 280
76415         instead of 0, indicating success.
76417 2008-06-04  Bruno Haible  <bruno@clisp.org>
76419         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
76420         2008-06-01 commit.
76422 2008-06-04  Bruno Haible  <bruno@clisp.org>
76424         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
76425         * lib/file-has-acl.c (acl_access_nontrivial): New function.
76426         (file_has_acl): Use it. Save errno afterwards.
76427         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
76429 2008-06-03  Bruno Haible  <bruno@clisp.org>
76431         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
76432         draft code. Simplify #ifs.
76433         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
76434         Put Solaris code after POSIX-draft code. Fix comments regarding
76435         Solaris 10, HP-UX. Mention Cygwin.
76436         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
76438 2008-06-03  Eric Blake  <ebb9@byu.net>
76440         Provide fallback for older kernels.
76441         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
76442         Provide runtime fallback if kernel lacks support.
76443         Reported by Mike Frysinger.
76445 2008-06-02  Bruno Haible  <bruno@clisp.org>
76447         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
76448         it exists.
76450 2008-06-02  Bruno Haible  <bruno@clisp.org>
76452         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
76453         * lib/copy-acl.c (qcopy_acl): Update comment.
76455 2008-06-02  Bruno Haible  <bruno@clisp.org>
76457         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
76458         like ACL APIs.
76460 2008-06-02  Bruno Haible  <bruno@clisp.org>
76462         * tests/test-file-has-acl.sh: Use different code for Cygwin.
76463         * tests/test-set-mode-acl.sh: Likewise.
76464         * tests/test-copy-acl.sh: Likewise.
76465         * tests/test-copy-file.sh: Likewise.
76467 2008-06-02  Bruno Haible  <bruno@clisp.org>
76469         * tests/test-file-has-acl.sh: Remove unused code.
76471 2008-06-01  Bruno Haible  <bruno@clisp.org>
76473         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
76474         (copy_acl): Just a wrapper around qcopy_acl that emits the error
76475         messages.
76476         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
76478 2008-06-01  Bruno Haible  <bruno@clisp.org>
76480         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
76481         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
76482         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
76483         APIs.
76484         * modules/acl-tests (configure.ac): Remove tests now contained in
76485         m4/acl.m4.
76487 2008-06-02  Jim Meyering  <meyering@redhat.com>
76489         announce-gen: use a better key-server host name
76490         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
76491         it may be more consistently reliable.  Suggested by Werner Koch
76492         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
76494 2008-06-01  Bruno Haible  <bruno@clisp.org>
76496         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
76497         Reported by Voroskoi Andras <voroskoi@gmail.com>.
76499 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
76501         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
76503 2008-06-01  Bruno Haible  <bruno@clisp.org>
76505         New ACL tests.
76506         * tests/test-file-has-acl.sh: New file.
76507         * tests/test-file-has-acl.c: New file.
76508         * tests/test-set-mode-acl.sh: New file.
76509         * tests/test-set-mode-acl.c: New file.
76510         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
76511         * tests/test-copy-acl.c: New file.
76512         * modules/acl-tests: New file, based on modules/copy-file-tests.
76513         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
76514         (Depends-on): Add acl-tests.
76515         (configure.ac): Remove checks.
76516         (Makefile.am): Don't create test-sameacls program here any more.
76518 2008-06-01  Bruno Haible  <bruno@clisp.org>
76520         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
76521         * tests/test-sameacls.c: Include progname.h.
76522         (main): Invoke set_program_name. Portability fixes for MacOS X,
76523         Solaris, HP-UX.
76525 2008-06-01  Bruno Haible  <bruno@clisp.org>
76527         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
76528         function.
76529         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
76531 2008-06-01  Bruno Haible  <bruno@clisp.org>
76533         * modules/rpmatch (Depends-on): Add strdup.
76535 2008-06-01  Bruno Haible  <bruno@clisp.org>
76537         * lib/pipe.c: Include unistd-safer.h.
76538         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
76539         * modules/pipe (Depends-on): Add unistd-safer.
76541 2008-05-30  Simon Josefsson  <simon@josefsson.org>
76543         * modules/autobuild (configure.ac): Call AB_INIT.
76545 2008-05-30  Simon Josefsson  <simon@josefsson.org>
76547         * tests/test-getaddrinfo.c: Don't print debug messages by default.
76548         Suggested by Bruno Haible <bruno@clisp.org>.
76550 2008-05-30  Simon Josefsson  <simon@josefsson.org>
76552         * tests/test-base64.c: Cast size_t to unsigned long when invoking
76553         printf.  Use %lu instead of %d.  Reported by Bruno Haible
76554         <bruno@clisp.org>.
76556 2008-05-29  Eric Blake  <ebb9@byu.net>
76558         Prefer new POSIX 200x interfaces over futimesat.
76559         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
76560         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
76561         when available.
76562         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
76564 2008-05-28  Bruno Haible  <bruno@clisp.org>
76566         * modules/stpcpy (License): Change to LGPLv2+.
76567         Requested by David Lutterkort <dlutter@redhat.com>.
76569 2008-05-27  Bruno Haible  <bruno@clisp.org>
76571         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
76572         current mingw.
76573         Reported by Jose E. Marchesi <jemarch@gnu.org>.
76575 2008-05-27  Bruno Haible  <bruno@clisp.org>
76577         * modules/iconv_open (Link): New section, from module 'iconv'.
76578         * modules/striconv (Link): Likewise.
76579         * modules/striconveh (Link): Likewise.
76580         * modules/xstriconv (Link): Likewise.
76581         * modules/unicodeio (Link): Likewise.
76582         * modules/propername (Link): Likewise.
76583         Reported by Jim Meyering.
76585 2008-05-26  Jim Meyering  <meyering@redhat.com>
76587         sha256: do not artificially restrict buffer length to be < 2^32
76588         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
76589         uint32_t to size_t.
76590         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
76591         to match.
76593         avoid unaligned access errors, e.g., on sparc
76594         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
76595         direct access through a possibly-unaligned uint64* pointer.
76596         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
76597         direct access through a possibly-unaligned uint32* pointer.
76598         Prompted by this patch from Tom "spot" Callaway:
76599         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
76601         sha512.c: fix typo in comment
76602         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
76604 2008-05-25  Bruno Haible  <bruno@clisp.org>
76606         * lib/set-mode-acl.c: Renamed from lib/acl.c.
76607         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
76608         (Makefile.am): Update lib_SOURCES.
76610 2008-05-25  Bruno Haible  <bruno@clisp.org>
76612         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
76614 2008-05-25  Jim Meyering  <meyering@redhat.com>
76616         useless-if-before-free: freed expr may have white-space differences
76617         * build-aux/useless-if-before-free: Recognize cases in which the
76618         freed expression differs from the tested one in embedded white
76619         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
76620         $1 was used, so we can't make any regexp shy.  Improved tests now
76621         detect this.
76623         useless-if-before-free: accept white space in the expression.
76624         * build-aux/useless-if-before-free: For now, any white space
76625         in the expression must be identical in the free argument.
76627         useless-if-before-free: efficiency tweak
76628         * build-aux/useless-if-before-free: Make the expression-matching
76629         regexp "shy".
76630         Make the *outer* regexp shy, not the expr-matching one.
76632         update code-in-comment to accept cast of free arg
76633         * build-aux/useless-if-before-free: Update regexp.
76635 2008-05-25  Bruno Haible  <bruno@clisp.org>
76637         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
76638         * modules/copy-file-tests (Files, Makefile.am): Update.
76639         * tests/test-copy-file.c (func_test_copy): Update.
76641 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
76643         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
76645 2008-05-23  Bruno Haible  <bruno@clisp.org>
76647         Improve support for ACLs on OSF/1.
76648         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
76649         Remove fallback for unknown flavors of ACLs.
76651 2008-05-22  Bruno Haible  <bruno@clisp.org>
76653         Add support for ACLs on OSF/1.
76654         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
76655         replacements.
76656         (acl_free_text): New macro fallback.
76657         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
76658         acl_free.
76659         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
76660         acl_free_text function. Require AC_C_INLINE.
76662 2008-05-22  Bruno Haible  <bruno@clisp.org>
76664         Make copy_acl work on MacOS X 10.5.
76665         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
76666         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
76667         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
76668         If MODE_INSIDE_ACL, don't assume that every system has the same text
76669         representation for ACLs as FreeBSD.
76670         * lib/copy-acl.c (copy_acl): Add support for platforms with
76671         !MODE_INSIDE_ACL.
76672         * lib/file-has-acl.c (file_has_acl): Likewise.
76673         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
76674         FreeBSD, MacOS X, or IRIX, respectively.
76676 2008-05-22  Bruno Haible  <bruno@clisp.org>
76678         * lib/acl.h: Don't include <sys/acl.h>.
76679         (GETACLCNT): Move fallback to lib/acl-internal.h.
76680         * lib/acl-internal.h: Include <sys/acl.h> here.
76681         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
76683 2008-05-22  Bruno Haible  <bruno@clisp.org>
76685         Split off copy_acl function to separate file.
76686         * lib/copy-acl.c: New file, extracted from lib/acl.c.
76687         * lib/acl.c (copy_acl): Moved function to separate file.
76688         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
76689         * modules/acl (Files): Add lib/copy-acl.c.
76690         (Makefiles.am): Augment lib_SOURCES.
76692 2008-05-22  Bruno Haible  <bruno@clisp.org>
76694         * modules/copy-file-tests: New file.
76695         * tests/test-copy-file.sh: New file.
76696         * tests/test-copy-file.c: New file.
76697         * tests/test-copy-file-sameacls.c: New file.
76699 2008-05-22  Eric Blake  <ebb9@byu.net>
76701         Avoid gcc warning.
76702         * tests/test-memcmp.c (main): Pass NULL indirectly.
76704 2008-05-21  Bruno Haible  <bruno@clisp.org>
76706         Add reference doc about ACLs.
76707         * doc/acl-resources.txt: New file.
76708         * doc/acl-cygwin.txt: New file.
76710 2008-05-21  Bruno Haible  <bruno@clisp.org>
76712         Avoid one more warning from gcc.
76713         * lib/vasnprintf.c (IF_LINT): Update comments.
76714         (VASNPRINTF): Use it also for the 'prefix' array initializer.
76716 2008-05-21  Jim Meyering  <meyering@redhat.com>
76718         avoid a warning from gcc
76719         * lib/vasnprintf.c (IF_LINT): Define.
76720         (scale10_round_decimal_long_double):
76721         Use it to avoid a "may be used uninitialized" warning.
76722         (scale10_round_decimal_double): Likewise.
76724 2008-05-21  Simon Josefsson  <simon@josefsson.org>
76726         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
76727         declared.
76729 2008-05-20  Bruno Haible  <bruno@clisp.org>
76731         * tests/test-memcmp.c (main): Test also the sign of the result. Test
76732         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
76734 2008-05-20  Simon Josefsson  <simon@josefsson.org>
76736         * modules/memcmp-tests: New file.
76737         * tests/test-memcmp.c: New file.
76739 2008-05-19  Bruno Haible  <bruno@clisp.org>
76741         * modules/propername (Notice, configure.ac): Put quoted "..." into
76742         --keyword option.
76743         * lib/propername.h: Update comments accordingly.
76744         Reported by Eric Blake.
76746 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
76748         * modules/getpass-gnu (Depends-on): Add fseeko.
76750 2008-05-19  Simon Josefsson  <simon@josefsson.org>
76752         * modules/base64-tests: New file.
76754 2008-05-19  Bo Borgerson  <gigabo@gmail.com>
76756         * lib/base64.c (base64_decode_ctx): If a decode context structure
76757         was passed in use it to ignore newlines.  If a context structure
76758         was _not_ passed in, continue to treat newlines as garbage (this
76759         is the historical behavior).  Formerly base64_decode.
76760         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
76761         takes a decode context structure.
76762         * lib/base64.h (base64_decode): Macro for four-argument calls.
76763         (base64_decode_alloc): Likewise.
76764         * lib/base64.c (base64_decode_ctx): If a decode context structure
76765         was passed in use it to ignore newlines.  If a context structure
76766         was _not_ passed in, continue to treat newlines as garbage (this
76767         is the historical behavior).  Formerly base64_decode.
76768         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
76769         takes a decode context structure.
76770         * lib/base64.h (base64_decode): Macro for four-argument calls.
76771         (base64_decode_alloc): Likewise.
76773 2008-05-19  Jim Meyering  <meyering@redhat.com>
76775         avoid a warning from gcc
76776         * lib/trim.c (IF_LINT): Define.
76777         (trim2): Use it to avoid a "may be used uninitialized" warning.
76779         Fix doc typo.
76780         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
76782 2008-05-19  Bruno Haible  <bruno@clisp.org>
76784         * doc/glibc-functions/getpass.texi: Document limits of other
76785         implementations.
76787 2008-05-19  Simon Josefsson  <simon@josefsson.org>
76788             Bruno Haible <bruno@clisp.org>
76790         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
76792 2008-05-18  Bruno Haible  <bruno@clisp.org>
76794         * modules/propername: New file, from GNU gettext.
76795         * lib/propername.h: New file, from GNU gettext.
76796         * lib/propername.c: New file, from GNU gettext.
76797         * MODULES.html.sh (Internationalization functions): Add propername.
76799 2008-05-16  Jim Meyering  <meyering@redhat.com>
76800             Bruno Haible  <bruno@clisp.org>
76802         Avoid some warnings from "gcc -Wshadow".
76803         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
76805 2008-05-15  Eric Blake  <ebb9@byu.net>
76807         Extend previous patch to cygwin 1.7.0.
76808         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
76809         fast implementation in cygwin >= 1.7.0.
76810         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
76811         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
76813 2008-05-15  Bruno Haible  <bruno@clisp.org>
76815         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
76816         implementation in glibc >= 2.9.
76817         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
76818         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
76820 2008-05-15  Bruno Haible  <bruno@clisp.org>
76822         * MODULES.html.sh (Internationalization functions): Remove linebreak.
76823         (Unicode string functions): Add unilbrk/*.
76824         Reported by Karl Berry.
76826 2008-05-15  Eric Blake  <ebb9@byu.net>
76828         Fix violation of <stdbool.h> replacement in regex.
76829         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
76830         * lib/regexec.c (re_search_internal): Likewise.
76831         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
76833 2008-05-15  Jim Meyering  <meyering@redhat.com>
76835         avoid distracting test output when git or cvs is not found
76836         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
76837         * tests/test-vc-list-files-git.sh: Likewise.
76839 2008-05-15  Eric Blake  <ebb9@byu.net>
76841         Glibc finally accepted the memmem speedup code, bugzilla #5514.
76842         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
76843         glibc version.
76844         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
76845         * doc/posix-functions/strstr.texi (strstr): Likewise.
76846         * lib/str-two-way.h (MAX): Sychronize with glibc.
76848 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
76850         * lib/regcomp.c (optimize_utf8): Add a note on why we test
76851         opr.ctx_type.
76852         (calc_first): Initialize constraint field.
76853         (duplicate_node_closure): Use it instead of special casing ANCHORS.
76854         Fix grammar.
76855         (duplicate_node): Merge constraint field for all node types.
76856         (calc_eclosure_iter): Look at constraint field for all node types.
76857         * lib/regex_internal.c (create_cd_newstate): Don't look at
76858         opr.ctx_type.
76860 2008-05-14  Bruno Haible  <bruno@clisp.org>
76862         Help GCC to do better code generation.
76863         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
76864         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
76865         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
76866         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
76867         Declare with attribute 'malloc' if supported.
76869 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
76871         use "echo STR|wc -c" rather than unportable "expr length STR"
76872         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
76873         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
76875 2008-05-14  Jim Meyering  <meyering@redhat.com>
76877         use dd ibs=$n count=1 ... rather than less-portable head -c$n
76878         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
76879         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
76880         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
76881         via Collin Lasse.
76883 2008-05-14  Eric Blake  <ebb9@byu.net>
76885         Avoid quadratic growth in gl_LIBSOURCES.
76886         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
76887         Suggested by Bruno Haible.
76889         Test xmemdup0.
76890         * modules/xmemdup0-tests: New file.
76891         * tests/test-xmemdup0.c: Likewise.
76893 2008-05-13  Eric Blake  <ebb9@byu.net>
76895         Split xmemdup0 into its own module.
76896         * modules/xmemdup0: New file.
76897         * lib/xmemdup0.h: Likewise.
76898         * lib/xmemdup0.c: Likewise.
76899         * MODULES.html.sh (Memory management functions): Add xmemdup0.
76900         * lib/xalloc.h (xmemdup0): Remove.
76901         * lib/xmalloc.c (xmemdup0): Likewise.
76903 2008-05-13  Eric Blake  <ebb9@byu.net>
76904             Bruno Haible  <bruno@clisp.org>
76906         Reduce number of forks required during autoconf.
76907         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
76908         and gl_LIBSOURCES_DIR.
76909         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
76910         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
76911         m4_syscmd per file.
76912         <m4_foreach_w>: Move...
76913         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
76915 2008-05-13  Eric Blake  <ebb9@byu.net>
76917         * gnulib-tool: Fix various comment typos.
76919 2008-05-12  Bruno Haible  <bruno@clisp.org>
76921         Tailor the linebreaking algorithm.
76922         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
76924 2008-05-12  Bruno Haible  <bruno@clisp.org>
76926         Update to Unicode 5.0.0.
76927         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
76928         LBP_JV, LBP_JT. Redistribute values.
76929         (unilbrk_table): Change size.
76930         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
76931         Unicode TR#14 rev. 22.
76932         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
76933         LBP_JV, LBP_JT. Redistribute values.
76934         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
76935         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
76936         Update.
76937         * lib/unilbrk/lbrkprop1.h: Regenerated.
76938         * lib/unilbrk/lbrkprop2.h: Regenerated.
76939         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
76940         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
76941         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
76942         Likewise.
76943         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
76944         Likewise.
76945         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
76946         result.
76947         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
76948         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
76949         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
76950         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
76951         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
76952         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
76954 2008-05-11  Bruno Haible  <bruno@clisp.org>
76956         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
76958 2008-05-11  Bruno Haible  <bruno@clisp.org>
76960         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
76961         * modules/unilbrk/gen-lbrk: New file.
76963 2008-05-11  Bruno Haible  <bruno@clisp.org>
76965         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
76966         * m4/sha512.m4 (gl_SHA512): Likewise.
76968 2008-05-11  Jim Meyering  <meyering@redhat.com>
76970         New modules: crypto/sha256, crypto/sha512 (from coreutils)
76971         * modules/crypto/sha256: New file.
76972         * modules/crypto/sha512: Likewise.
76973         * lib/sha256.c: Likewise.
76974         * lib/sha256.h: Likewise.
76975         * lib/sha512.c: Likewise.
76976         * lib/sha512.h: Likewise.
76977         * lib/u64.h: Likewise.
76978         * m4/sha256.m4: Likewise.
76979         * m4/sha512.m4: Likewise.
76980         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
76982 2008-05-10  Bruno Haible  <bruno@clisp.org>
76984         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
76985         (Input/Output <stdio.h>): Add xprintf.
76986         (Signal handling <signal.h>): Add strsignal.
76987         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
76988         (Core language properties): Add func.
76989         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
76990         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
76991         strings.
76992         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
76993         (Input/output): New section.
76994         (File system functions): Add openat-die, stat-macros.
76995         (Networking functions): Add sockets.
76996         (Unicode string functions): Add unictype/*.
76997         (Support for building libraries and executables): Add gperf.
76998         (Support for building documentation): Add agpl-3.0.
76999         (Misc): Add nocrash.
77001 2008-05-10  Bruno Haible  <bruno@clisp.org>
77003         * modules/unictype/gen-ctype: New file.
77005 2008-05-10  Jim Meyering  <meyering@redhat.com>
77007         Make chdir-safer.c more efficient on a system with no symlinks.
77008         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
77009         also if ELOOP is zero.  Suggested by Bruno Haible.
77011         Make chdir-safer.c slightly safer.
77012         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
77013         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
77015         Avoid compile failure on systems without ELOOP (like mingw).
77016         * lib/chdir-safer.c (ELOOP): Define if not already defined.
77017         Reported by Bruno Haible.
77019 2008-05-10  Bruno Haible  <bruno@clisp.org>
77021         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
77022         (is_utf8_encoding): Use a case-insensitive comparison.
77023         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
77024         streq.
77026 2008-05-10  Bruno Haible  <bruno@clisp.org>
77028         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
77029         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
77030         * lib/unilbrk/ulc-common.h (iconv_string_length,
77031         iconv_string_keeping_offsets): Remove declarations.
77032         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
77033         Don't include <iconv.h>, streq.h, xsize.h.
77034         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
77035         conversion.
77036         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
77037         <iconv.h>, streq.h, xsize.h.
77038         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
77039         conversion.
77040         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
77041         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
77042         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
77043         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
77045 2008-05-10  Bruno Haible  <bruno@clisp.org>
77047         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
77048         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
77050         * modules/unilbrk/u32-width-linebreaks-tests: New file.
77051         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
77053         * modules/unilbrk/u16-width-linebreaks-tests: New file.
77054         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
77056         * modules/unilbrk/u8-width-linebreaks-tests: New file.
77057         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
77059         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
77060         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
77062         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
77063         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
77065         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
77066         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
77068         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
77069         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
77071 2008-05-10  Bruno Haible  <bruno@clisp.org>
77073         Split up 'linebreak' module.
77074         * lib/unilbrk.h: New file, based on lib/linebreak.h.
77075         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
77076         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
77077         modifications.
77078         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
77079         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
77080         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
77081         lib/linebreak.c.
77082         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
77083         lib/linebreak.c.
77084         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
77085         lib/linebreak.c.
77086         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
77087         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
77088         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
77089         lib/linebreak.c.
77090         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
77091         lib/linebreak.c.
77092         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
77093         lib/linebreak.c.
77094         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
77095         lib/linebreak.c.
77096         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
77097         lib/linebreak.c.
77098         * modules/unilbrk/base: New file.
77099         * modules/unilbrk/tables: New file.
77100         * modules/unilbrk/u8-possible-linebreaks: New file.
77101         * modules/unilbrk/u16-possible-linebreaks: New file.
77102         * modules/unilbrk/u32-possible-linebreaks: New file.
77103         * modules/unilbrk/ulc-common: New file.
77104         * modules/unilbrk/ulc-possible-linebreaks: New file.
77105         * modules/unilbrk/u8-width-linebreaks: New file.
77106         * modules/unilbrk/u16-width-linebreaks: New file.
77107         * modules/unilbrk/u32-width-linebreaks: New file.
77108         * modules/unilbrk/ulc-width-linebreaks: New file.
77109         * lib/linebreak.h: Remove file.
77110         * lib/linebreak.c: Remove file.
77111         * m4/linebreak.m4: Remove file.
77112         * modules/linebreak: Remove file.
77113         * NEWS: Mention the changes.
77115 2008-05-09  Eric Blake  <ebb9@byu.net>
77117         Add xmemdup0.
77118         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
77119         implementation.
77120         * lib/xmalloc.c (xmemdup0): New C implementation.
77122 2008-05-08  Bruno Haible  <bruno@clisp.org>
77124         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
77126 2008-05-07  Eric Blake  <ebb9@byu.net>
77128         Support cross-compilation of <wctype.h>.
77129         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
77130         AC_CACHE_CHECK.
77132 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
77134         * build-aux/vc-list-files: Add support for bzr.
77136 2008-05-03  Jim Meyering  <meyering@redhat.com>
77138         avoid failed assertion with tight malloc
77139         * tests/test-getndelim2.c: Correct an off-by-one assertion.
77141 2008-05-03  Simon Josefsson  <simon@josefsson.org>
77143         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
77144         are needed from arpa/inet.h.
77145         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
77146         Reported by Bruno Haible.
77148 2008-05-02  Jim Meyering  <meyering@redhat.com>
77150         avoid compilation error on FreeBSD 6
77151         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
77153 2008-05-01  Jim Meyering  <meyering@redhat.com>
77155         useless-if-before-free: correct --help's exit status description
77156         * build-aux/useless-if-before-free (usage): Like grep, exit 0
77157         for one or more matches, etc.  Reported by Bruno Haible.
77159         vc-list-files: make the stand-alone gnulib test work
77160         * modules/vc-list-files-tests (configure.ac):
77161         Define and AC_SUBST abs_aux_dir.
77162         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
77163         $(abs_top_srcdir) to each script and having each of them
77164         duplicate the work of setting PATH, set PATH here, using
77165         the new variable, abs_aux_dir instead.
77166         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
77167         * tests/test-vc-list-files-git.sh: Likewise.
77168         Reported by Bruno Haible.
77170 2008-05-01  Bruno Haible  <bruno@clisp.org>
77172         * lib/getndelim2.c (getndelim2): Fix newsize computation during
77173         reallocation. Rename 'done' to 'found_delimiter'.
77175 2008-05-01  Jim Meyering  <meyering@redhat.com>
77177         vc-list-files: accommodate /bin/sh like the one from Solaris 10
77178         * build-aux/vc-list-files: Use `...`, not $(...).
77180 2008-04-30  Jim Meyering  <meyering@redhat.com>
77182         add tests for vc-list-files
77183         * modules/vc-list-files-tests: New module.
77184         * tests/test-vc-list-files-cvs.sh: New file.
77185         * tests/test-vc-list-files-git.sh: New file.
77187         avoid a warning from gcc
77188         * lib/getndelim2.c (IF_LINT): Define.
77189         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
77191         vc-list-files: work properly with build-aux/cvsu, too
77192         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
77193         to all cvs-based clauses.
77195         vc-list-files: work properly in the CVS+awk case, too
77196         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
77198         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
77199         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
77200         take more than one file argument, so .  Add quotes, just in case $dir
77201         ever contains a shell meta-character.  Prompted by Soren Hansen in
77202         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
77204 2008-04-29  Eric Blake  <ebb9@byu.net>
77206         Optimize getndelim2 to use block operations when possible.
77207         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
77208         freadseek, and memchr2.
77209         * lib/getndelim2.c (getndelim2): Use them for block reads.
77211 2008-04-29  Bruno Haible  <bruno@clisp.org>
77213         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
77214         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
77215         * modules/inet_ntop (Depends-on): Add extensions.
77216         * modules/inet_pton (Depends-on): Likewise.
77217         Reported by Simon Josefsson.
77219 2008-04-29  Jim Meyering  <meyering@redhat.com>
77221         When the is more than one match in a block, match all of them.
77222         * build-aux/useless-if-before-free: Iterate through each block
77223         until there are no more matches.
77225         Fix broken useless-if-before-free script.
77226         * build-aux/useless-if-before-free: Fix typo: missing "?" after
77227         the expression to match cast of argument to free-like function.
77229 2008-04-29  Eric Blake  <ebb9@byu.net>
77231         Use new header.
77232         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
77234 2008-04-29  Jim Meyering  <meyering@redhat.com>
77236         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
77237         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
77238         by gnulib to exist and to declare e.g., inet_ntop.
77239         Don't include "inet_ntop.h", now removed.
77241         * m4/arpa_inet_h.m4: Remove trailing blanks.
77243 2008-04-29  Eric Blake  <ebb9@byu.net>
77245         Silence valgrind on safe reads beyond potential array bounds.
77246         * lib/rawmemchr.valgrind: New file.
77247         * lib/strchrnul.valgrind: Likewise.
77248         * modules/rawmemchr (Files): Distribute new file.
77249         * modules/strchrnul (Files): Likewise.
77250         Suggested by Bruno Haible.
77252 2008-04-29  Bruno Haible  <bruno@clisp.org>
77254         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
77255         (inet_ntop, inet_pton): Change portability warning's wording.
77256         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
77257         Invoke gl_CHECK_NEXT_HEADERS.
77258         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
77259         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
77260         set ARPA_INET_H.
77261         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
77262         * modules/arpa_inet (Description): No longer only for systems that
77263         lack it.
77264         (Depends-on): Add include_next.
77265         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
77266         HAVE_ARPA_INET_H.
77268 2008-04-29  Jim Meyering  <meyering@redhat.com>
77270         * modules/mkdir (License): Re-license as LGPLv2+.
77272 2008-04-29  Bruno Haible  <bruno@clisp.org>
77274         * modules/rawmemchr (Maintainer): Set to Eric.
77275         * modules/strchrnul (Maintainer): Likewise.
77277 2008-04-29  Simon Josefsson  <simon@josefsson.org>
77279         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
77280         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
77282         * modules/arpa_inet (arpa/inet.h): Use them.
77284 2008-04-28  Eric Blake  <ebb9@byu.net>
77286         Test getndelim2.
77287         * modules/getndelim2-tests: New file.
77288         * tests/test-getndelim2.c: Likewise.
77289         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
77290         stream.
77291         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
77293         * MODULES.html.sh: Document new module.
77295 2008-04-20  Bruno Haible  <bruno@clisp.org>
77297         * lib/c-stack.c (die): Use raise.
77298         * modules/c-stack (Depends-on): Add raise.
77300 2008-04-28  Bruno Haible  <bruno@clisp.org>
77302         Expect rpmatch to be declared.
77303         * lib/yesno.c (rpmatch): Remove declaration.
77305         Declare rpmatch.
77306         * lib/stdlib.in.h (rpmatch): New declaration.
77307         * lib/rpmatch.c: Include <stdlib.h> first.
77308         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
77309         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
77310         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
77311         HAVE_RPMATCH.
77312         * modules/rpmatch (Depends-on): Add stdlib, extensions.
77313         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
77314         (Include): Set to <stdlib.h>.
77315         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
77316         HAVE_RPMATCH.
77317         * NEWS: Document the change.
77319 2008-04-28  Bruno Haible  <bruno@clisp.org>
77321         Change rpmatch to use nl_langinfo when appropriate.
77322         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
77323         (N_): New macro.
77324         (localized_pattern): New function/macro.
77325         (try): Remove match, nomatch arguments. Copy the pattern into safe
77326         memory before caching it.
77327         (rpmatch): Use localized_pattern. Add translator comments.
77328         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
77329         Suggested by Eric Blake.
77330         * modules/rpmatch (Depends-on): Add stdbool.
77332 2008-04-28  Eric Blake  <ebb9@byu.net>
77334         Add rawmemchr module, matching glibc.
77335         * modules/string (Makefile.am): New indicator.
77336         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
77337         * lib/string.in.h (rawmemchr): Declare when appropriate.
77338         * modules/rawmemchr: New file.
77339         * m4/rawmemchr.m4: Likewise.
77340         * lib/rawmemchr.c: Likewise.
77341         * modules/rawmemchr-tests: Likewise.
77342         * tests/test-rawmemchr.c: Likewise.
77343         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
77344         module.
77345         * modules/strchrnul (Depends-on): Add rawmemchr.
77346         * lib/strchrnul.c (strchrnul): Optimize a corner case.
77348         Whitespace cleanup.
77349         * tests/test-strchrnul.c: Reindent.
77350         * lib/strchrnul.c: Likewise.
77352         Optimize and test strchrnul.
77353         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
77354         * modules/strchrnul-tests: New file.
77355         * tests/test-strchrnul.c: Likewise.
77357         Remove intprops dependency.
77358         * modules/memchr (Depends-on): Remove intprops.
77359         * modules/memrchr (Depends-on): Likewise.
77360         * modules/memchr2 (Depends-on): Likewise.
77361         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
77362         * lib/memrchr.c (__memrchr): Likewise.
77363         * lib/memrchr2.c (memchr2): Likewise.
77364         Reported by Simon Josefsson.
77366 2008-04-28  Simon Josefsson  <simon@josefsson.org>
77368         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
77369         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
77371 2008-04-28  Simon Josefsson  <simon@josefsson.org>
77373         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
77375         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
77377         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
77379         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
77380         declarations.
77381         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
77383         * m4/inet_pton.m4: Don't check for header files.
77385         * m4/inet_ntop.m4: Don't check for header files.
77387 2008-04-28  Simon Josefsson  <simon@josefsson.org>
77389         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
77390         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
77391         trigger for cygwin).
77392         Reported by Bruno Haible  <bruno@clisp.org>.
77394 2008-04-28  Bruno Haible  <bruno@clisp.org>
77396         * doc/posix-functions/strdup.texi: Mention mingw problem.
77398 2008-04-27  Bruno Haible  <bruno@clisp.org>
77400         * modules/stat-time-tests (Depends-on): Add sleep.
77401         * tests/test-stat-time.c (force_unlink): New function.
77402         (cleanup): Use it.
77403         (test_mtime): Remove the ctime related tests.
77404         (test_ctime): New function, containing the ctime related tests.
77405         (main): Call test_ctime, except on native Windows platforms.
77407 2008-04-27  Bruno Haible  <bruno@clisp.org>
77409         * lib/rpmatch.c (rpmatch): Add some comments.
77410         Reported by James Youngman <jay@gnu.org>.
77412 2008-04-27  Bruno Haible  <bruno@clisp.org>
77414         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
77415         quiet NaNs.
77417 2008-04-27  Bruno Haible  <bruno@clisp.org>
77419         Make test-yesno.sh work on mingw.
77420         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
77421         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
77422         (main): Set stdin to binary mode.
77423         * modules/yesno-tests (Depends-on): Add binary-io.
77425 2008-04-27  Bruno Haible  <bruno@clisp.org>
77427         Fix 'isfinite' on x86, x86_64, ia64 platforms.
77428         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
77429         argument that lie outside the IEEE 854 domain.
77430         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
77431         (gl_ISFINITE): Use it.
77432         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
77434 2008-04-27  Bruno Haible  <bruno@clisp.org>
77436         Allow local renaming in config.h.
77437         * lib/memrchr.c (memrchr): Don't undefine outside libc.
77439 2008-04-27  Bruno Haible  <bruno@clisp.org>
77441         * lib/memchr.c (__memchr): Change type of 'i'.
77442         * lib/memchr2.c (memchr2): Likewise.
77444 2008-04-26  Eric Blake  <ebb9@byu.net>
77445         and Bruno Haible  <bruno@clisp.org>
77447         Optimize and test memrchr.
77448         * modules/memrchr (Depends-on): Add intprops.
77449         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
77450         * modules/memrchr-tests: New file.
77451         * tests/test-memrchr.c: New file.
77453 2008-04-26  Bruno Haible  <bruno@clisp.org>
77455         Add tentative support for DragonFly BSD.
77456         * lib/stdio-impl.h: Add macros for DragonFly BSD.
77457         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
77458         fp.
77459         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
77460         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
77461         * lib/fpurge.c (fpurge): Likewise.
77462         * lib/freadable.c (freaadable): Likewise.
77463         * lib/freadahead.c (freadahead): Likewise.
77464         * lib/freading.c (freading): Likewise.
77465         * lib/freadptr.c (freadptr): Likewise.
77466         * lib/freadseek.c (freadptrinc): Likewise.
77467         * lib/fseeko.c (fseeko): Likewise.
77468         * lib/fseterr.c (fseterr): Likewise.
77469         * lib/fwritable.c (fwritable): Likewise.
77470         * lib/fwriting.c (fwriting): Likewise.
77472 2008-04-26  Bruno Haible  <bruno@clisp.org>
77474         * lib/stdio-impl.h: New file.
77475         * lib/fbufmode.c: Include stdio-impl.h.
77476         (fbufmode): Use fp_, remove redundant #defines.
77477         * lib/fflush.c: Include stdio-impl.h.
77478         (clear_ungetc_buffer): Remove redundant #defines.
77479         * lib/fpurge.c: Include stdio-impl.h.
77480         (fpurge): Remove redundant #defines.
77481         * lib/freadable.c: Include stdio-impl.h.
77482         (freadable): Remove redundant #defines.
77483         * lib/freadahead.c: Include stdio-impl.h.
77484         (freadahead): Remove redundant #defines.
77485         * lib/freading.c: Include stdio-impl.h.
77486         (freading): Remove redundant #defines.
77487         * lib/freadptr.c: Include stdio-impl.h.
77488         (freadptr): Remove redundant #defines.
77489         * lib/freadseek.c: Include stdio-impl.h.
77490         (freadptrinc): Remove redundant #defines.
77491         * lib/fseeko.c: Include stdio-impl.h.
77492         (rpl_fseeko): Remove redundant #defines.
77493         * lib/fseterr.c: Include stdio-impl.h.
77494         (fseterr): Remove redundant #defines.
77495         * lib/fwritable.c: Include stdio-impl.h.
77496         (fwritable: Remove redundant #defines.
77497         * lib/fwriting.c: Include stdio-impl.h.
77498         (fwriting): Remove redundant #defines.
77499         * modules/fbufmode (Files): Add lib/stdio-impl.h.
77500         * modules/fflush (Files): Likewise.
77501         * modules/fpurge (Files): Likewise.
77502         * modules/freadable (Files): Likewise.
77503         * modules/freadahead (Files): Likewise.
77504         * modules/freading (Files): Likewise.
77505         * modules/freadptr (Files): Likewise.
77506         * modules/freadseek (Files): Likewise.
77507         * modules/fseeko (Files): Likewise.
77508         * modules/fseterr (Files): Likewise.
77509         * modules/fwritable (Files): Likewise.
77510         * modules/fwriting (Files): Likewise.
77512 2008-04-26  Bruno Haible  <bruno@clisp.org>
77514         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
77515         restore_seek_optimization, update_fpos_cache): New functions, extracted
77516         from rpl_fflush.
77517         (rpl_fflush): Use them.
77518         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
77519         (gl_REPLACE_FFLUSH): Use it.
77521 2008-04-26  Bruno Haible  <bruno@clisp.org>
77523         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
77524         on Solaris.
77525         * tests/test-xstrtoimax.sh: Likewise.
77526         * tests/test-xstrtoumax.sh: Likewise.
77527         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
77529 2008-04-26  Bruno Haible  <bruno@clisp.org>
77531         * modules/memchr-tests: New file.
77532         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
77534 2008-04-26  Eric Blake  <ebb9@byu.net>
77535             Bruno Haible  <bruno@clisp.org>
77537         * lib/memchr.c: Include intprops.h.
77538         (__memchr): Optimize parallel detection of matching bytes. Rename local
77539         variables. Add explanatory comments.
77541 2008-04-26  Bruno Haible  <bruno@clisp.org>
77543         Fix module 'memchr', broken since 2000-10-28.
77544         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
77546 2008-04-26  Bruno Haible  <bruno@clisp.org>
77548         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
77549         comments.
77551 2008-04-25  Eric Blake  <ebb9@byu.net>
77553         Use native fstatat on cygwin 1.7.0.
77554         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
77555         first.
77557 2008-04-23  Eric Blake  <ebb9@byu.net>
77559         Improve memchr2 performance.
77560         * lib/memchr2.c (memchr2): Further optimize parallel detection of
77561         NUL bytes.
77562         * modules/memchr2 (Depends-on): Use intprops.h.
77564 2008-04-23  Simon Josefsson  <simon@josefsson.org>
77566         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
77567         an inline function instead of a CPP macro.  Patch by Ben Pfaff
77568         <blp@cs.stanford.edu>.
77570 2008-04-23  Simon Josefsson  <simon@josefsson.org>
77572         * lib/arpa_inet.in.h: New file.
77574         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
77575         (Makefile.am): Sed in substitute header file.
77577         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
77578         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
77580         * modules/inet_ntop (configure.ac): Use
77581         gl_ARPA_INET_MODULE_INDICATOR.
77583         * modules/inet_pton (configure.ac): Use
77584         gl_ARPA_INET_MODULE_INDICATOR.
77586 2008-04-22  Jim Meyering  <meyering@redhat.com>
77588         * modules/verify (License): Re-license as LGPLv2+.
77590 2008-04-22  Simon Josefsson  <simon@josefsson.org>
77592         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
77593         parameter to void* as per POSIX standard (MinGW uses char*).
77595 2008-04-21  Bruno Haible  <bruno@clisp.org>
77597         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
77598         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
77599         Define to replacements if REPLACE_ISWCNTRL is 1.
77600         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
77601         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
77602         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
77603         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
77604         what it fixes.
77605         * doc/posix-functions/iswalpha.texi: Likewise.
77606         * doc/posix-functions/iswblank.texi: Likewise.
77607         * doc/posix-functions/iswcntrl.texi: Likewise.
77608         * doc/posix-functions/iswdigit.texi: Likewise.
77609         * doc/posix-functions/iswgraph.texi: Likewise.
77610         * doc/posix-functions/iswlower.texi: Likewise.
77611         * doc/posix-functions/iswprint.texi: Likewise.
77612         * doc/posix-functions/iswpunct.texi: Likewise.
77613         * doc/posix-functions/iswspace.texi: Likewise.
77614         * doc/posix-functions/iswupper.texi: Likewise.
77615         * doc/posix-functions/iswxdigit.texi: Likewise.
77616         Reported by Alain Guibert.
77618 2008-04-21  Bruno Haible  <bruno@clisp.org>
77620         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
77621         Patch by Alain Guibert.
77623 2008-04-21  Bruno Haible  <bruno@clisp.org>
77625         Fix test failures on mingw.
77626         * tests/test-xstrtol.c (print_no_progname): New function.
77627         (main): Install it in error_print_progname hook.
77628         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
77629         * tests/test-xstrtoimax.sh: Likewise.
77630         * tests/test-xstrtoumax.sh: Likewise.
77632 2008-04-21  Bruno Haible  <bruno@clisp.org>
77634         Fix test failure on mingw.
77635         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
77637 2008-04-21  Bruno Haible  <bruno@clisp.org>
77639         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
77640         Actually assign a value.
77642 2008-04-20  Bruno Haible  <bruno@clisp.org>
77644         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
77645         take 2.
77646         * lib/canonicalize.c (canonicalize_file_name): Elide if the
77647         'canonicalize-lgpl' module is also used.
77648         * lib/canonicalize-lgpl.c: Undo last change.
77649         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
77651 2008-04-20  Bruno Haible  <bruno@clisp.org>
77653         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
77654         config.h. Provide _mkdir based fallback for mingw.
77655         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
77656         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
77657         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
77658         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
77659         rather than defining mkdir in config.h.
77660         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
77661         (gl_SYS_STAT_H_DEFAULTS): New macro.
77662         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
77663         HAVE_IO_H any more.
77664         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
77665         HAVE_DECL_MKDIR and HAVE_IO_H.
77667 2008-04-20  Bruno Haible  <bruno@clisp.org>
77669         * lib/isapipe.c: Port to native Windows platforms.
77671 2008-04-20  Bruno Haible  <bruno@clisp.org>
77673         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
77675 2008-04-21  Eric Blake  <ebb9@byu.net>
77677         Work around preprocessors that don't handle UINTMAX_MAX.
77678         * lib/memchr2.c (memchr2): Avoid embedded #if.
77679         Reported by Alain Guibert, fix suggested by Bruno Haible.
77681 2008-04-21  Simon Josefsson  <simon@josefsson.org>
77683         * doc/posix-functions/strftime.texi (strftime): Explain better
77684         Windows incompatibility.  Suggested by Micah Cowan
77685         <micah@cowan.name>.
77687 2008-04-20  Bruno Haible  <bruno@clisp.org>
77689         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
77690         unistr/u8-mblen.
77692 2008-04-20  Bruno Haible  <bruno@clisp.org>
77694         Fix test failure on platforms with non-GNU iconv.
77695         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
77696         (U_TO_U8): Use it, rather than u16_to_u8.
77697         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
77698         units at the end of the input string.
77699         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
77701 2008-04-20  Bruno Haible  <bruno@clisp.org>
77703         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
77704         when the resulting length is 0.
77705         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
77707 2008-04-20  Bruno Haible  <bruno@clisp.org>
77709         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
77710         works.
77711         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
77713 2008-04-20  Bruno Haible  <bruno@clisp.org>
77715         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
77716         * modules/tsearch-tests (configure.ac): Test for initstate function.
77718 2008-04-20  Bruno Haible  <bruno@clisp.org>
77720         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
77721         for nlink_t if missing.
77722         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
77724 2008-04-19  Bruno Haible  <bruno@clisp.org>
77726         Work around snprintf bug on Linux libc5.
77727         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
77728         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
77729         gl_SNPRINTF_SIZE1.
77730         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
77731         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
77732         that test failed.
77733         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
77734         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
77735         * modules/snprintf (Files): Add m4/printf.m4.
77736         * modules/vsnprintf (Files): Likewise.
77737         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
77738         * doc/posix-functions/vsnprintf.texi: Likewise.
77740 2008-04-19  Bruno Haible  <bruno@clisp.org>
77742         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
77743         from 0.0058 to less than 10^-7.
77745 2008-04-19  Bruno Haible  <bruno@clisp.org>
77747         Fix rounding when a precision is given.
77748         * lib/vasnprintf.c (is_borderline): New function.
77749         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
77750         9...9x.
77751         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
77752         %e, %g.
77753         * tests/test-vasprintf-posix.c (test_function): Likewise.
77754         * tests/test-snprintf-posix.h (test_function): Likewise.
77755         * tests/test-sprintf-posix.h (test_function): Likewise.
77756         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
77757         * tests/test-printf-posix.h (test_function): Likewise.
77758         * tests/test-printf-posix.output: Update.
77759         Reported by John Darrington <john@darrington.wattle.id.au> via
77760         Ben Pfaff <blp@cs.stanford.edu>.
77762 2008-04-18  Simon Josefsson  <simon@josefsson.org>
77764         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
77765         Suggested by Bruno Haible <bruno@clisp.org>.
77767 2008-04-17  Bruno Haible  <bruno@clisp.org>
77769         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
77770         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
77771         implementation.
77772         Patch by Bruce Merry <bmerry@gmail.com>.
77774 2008-04-17  Simon Josefsson  <simon@josefsson.org>
77776         * doc/posix-functions/strftime.texi (strftime): Mention that %e
77777         doesn't work under Windows.
77779 2008-04-16  Bruno Haible  <bruno@clisp.org>
77781         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
77782         New macros.
77783         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
77784         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
77785         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
77786         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
77787         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
77788         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
77789         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
77790         macros.
77791         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
77792         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
77793         Northern Sotho, Uighur.
77795 2008-04-16  Bruno Haible  <bruno@clisp.org>
77797         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
77798         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
77799         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
77800         Reported by Daniel Bergström <daniel@octocode.com>.
77802 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
77803             Bruno Haible  <bruno@clisp.org>
77805         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
77806         function.
77807         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
77808         New functions, mostly extracted from gl_locale_name_default.
77809         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
77811 2008-04-16  Eric Blake  <ebb9@byu.net>
77813         Adjust strtod detection to catch glibc 2.7 bug.
77814         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
77815         Reported by John Gatewood Ham.
77817 2008-04-16  Bruno Haible  <bruno@clisp.org>
77819         Add tentative support for Linux libc5.
77820         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
77821         * lib/fpurge.c (fpurge): Likewise.
77822         * lib/freadable.c (freadable): Likewise.
77823         * lib/freadahead.c (freadahead): Likewise.
77824         * lib/freading.c (freading): Likewise.
77825         * lib/freadptr.c (freadptr): Likewise.
77826         * lib/freadseek.c (freadptrinc): Likewise.
77827         * lib/fseeko.c (rpl_fseeko): Likewise.
77828         * lib/fseterr.c (fseterr): Likewise.
77829         * lib/fwritable.c (fwritable): Likewise.
77830         * lib/fwriting.c (fwriting): Likewise.
77831         Reported by Alain Guibert <alguibert+bts@free.fr>.
77833 2008-04-15  Bruno Haible  <bruno@clisp.org>
77835         * modules/mathl (configure.ac): Define module indicator.
77837 2008-04-15  Bruno Haible  <bruno@clisp.org>
77839         * lib/logl.c (logl): Remove unused variables.
77841 2008-04-15  Bruno Haible  <bruno@clisp.org>
77843         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
77844         fails.
77846 2008-04-15  Bruno Haible  <bruno@clisp.org>
77848         * lib/trim.c (trim2): Fix argument of isspace() macro.
77850 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
77852         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
77853         to 0.
77854         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
77856 2008-04-14  Bruno Haible  <bruno@clisp.org>
77858         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
77859         AC_LANG_PROGRAM argument.
77860         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
77861         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
77862         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
77863         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
77864         * m4/math_h.m4 (gl_MATH_H): Likewise.
77865         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
77866         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
77867         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
77868         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
77869         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
77870         * m4/regex.m4 (gl_REGEX): Likewise.
77871         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
77872         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
77873         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
77874         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
77875         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
77876         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
77877         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
77878         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
77880 2008-04-14  Jim Meyering  <meyering@redhat.com>
77882         test-strtod: fix typos: s/abs/fabs/
77883         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
77885 2008-04-13  Bruno Haible  <bruno@clisp.org>
77887         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
77888         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
77889         module is also used and while not building the reloc-wrapper.
77891 2008-04-13  Bruno Haible  <bruno@clisp.org>
77893         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
77895 2008-04-13  Bruno Haible  <bruno@clisp.org>
77897         Fix AIX compilation failure introduced on 2008-04-02.
77898         * tests/test-frexp.c (exp): Undefine before redefining.
77899         * tests/test-frexpl.c (exp): Likewise.
77901 2008-04-13  Bruno Haible  <bruno@clisp.org>
77903         Work around a HP-UX stdio bug.
77904         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
77905         * tests/test-ftello.c (main): Likewise.
77906         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
77907         * doc/posix-functions/ftello.texi: Likewise.
77909 2008-04-13  Bruno Haible  <bruno@clisp.org>
77911         Make test-signbit pass on HP-UX/hppa.
77912         * tests/test-signbit.c (minus_zerol): New variable.
77913         (test_signbitl): Use it.
77915 2008-04-13  Bruno Haible  <bruno@clisp.org>
77917         Make truncl work on OSF/1 4.0.
77918         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
77919         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
77920         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
77921         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
77922         HAVE_DECL_TRUNCL.
77923         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
77924         HAVE_DECL_TRUNCL.
77925         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
77927 2008-04-13  Bruno Haible  <bruno@clisp.org>
77929         * lib/unictype.h: Remove trailing comma from enumeration definitions.
77931 2008-04-13  Bruno Haible  <bruno@clisp.org>
77933         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
77934         expression, so as to avoid HP-UX 11 cc compiler bug.
77936 2008-04-13  Bruno Haible  <bruno@clisp.org>
77938         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
77940 2008-04-13  Bruno Haible  <bruno@clisp.org>
77942         * lib/git-merge-changelog.c: Remove empty declaration outside of
77943         functions.
77945 2008-04-13  Bruno Haible  <bruno@clisp.org>
77947         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
77949 2008-04-13  Bruno Haible  <bruno@clisp.org>
77951         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
77952         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
77953         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
77954         also if it exists but lacks definitions of the SHUT_* macros.
77955         * modules/sys_socket (Description): Update.
77956         Reported by Elbert Pol <e.pol@chello.nl>.
77958 2008-04-13  Bruno Haible  <bruno@clisp.org>
77960         * lib/localcharset.c (OS2): Don't redefine if already defined.
77961         Reported by Elbert Pol <e.pol@chello.nl>.
77963 2008-04-13  Bruno Haible  <bruno@clisp.org>
77965         * lib/binary-io.h [__EMX__]: Include <io.h>.
77966         Reported by Elbert Pol <e.pol@chello.nl>.
77968 2008-04-12  Bruno Haible  <bruno@clisp.org>
77970         * lib/fpucw.h: Enable the definitions also for x86_64.
77971         Needed for NetBSD/x86_64.
77972         Reported by Thomas Klausner <tk@giga.or.at>.
77974 2008-04-12  Bruno Haible  <bruno@clisp.org>
77976         * tests/test-strtod.c: Include isnand.h.
77977         (main): Use isnand instead of isnan.
77978         Reported by Jim Meyering.
77980 2008-04-12  Bruno Haible  <bruno@clisp.org>
77982         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
77983         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
77985 2008-04-12  Jim Meyering  <meyering@redhat.com>
77987         * m4/math_h.m4 (gl_MATH_H): Fix typos.
77989 2008-04-12  Bruno Haible  <bruno@clisp.org>
77991         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
77992         Reported by Elbert Pol <e.pol@chello.nl>.
77994 2008-04-12  Eric Blake  <ebb9@byu.net>
77996         Work around Solaris 10 math.h bug.
77997         * m4/math_h.m4 (gl_MATH_H): Check for bug.
77998         (gl_MATH_H_DEFAULTS): Set up default.
77999         * modules/math (Makefile.am): Replace new indicators.
78000         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
78001         * tests/test-math.c (main): Test this.
78002         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
78003         * doc/posix-headers/math.texi (math.h): Mention bug.
78004         Reported by Nelson H. F. Beebe and Jim Meyering.
78006 2008-04-11  Bruno Haible  <bruno@clisp.org>
78008         Adapt to future versions of Apple GCC.
78009         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
78010         Reported by Peter O'Gorman <peter@pogma.com>.
78012 2008-04-11  Bruno Haible  <bruno@clisp.org>
78014         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
78016 2008-04-11  Bruno Haible  <bruno@clisp.org>
78018         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
78020         * modules/getaddrinfo-tests (Makefile.am): Define
78021         test_getaddrinfo_LDADD.
78023 2008-04-11  Bruno Haible  <bruno@clisp.org>
78025         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
78026         (init): Fix syntax error.
78027         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
78028         is declared.
78030 2008-04-11  Bruno Haible  <bruno@clisp.org>
78032         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
78033         * modules/glob (Depends-on): Add stdbool.
78035 2008-04-11  Bruno Haible  <bruno@clisp.org>
78037         * lib/trim.c: Include <string.h>.
78039 2008-04-11  Eric Blake  <ebb9@byu.net>
78041         Avoid compile failure on OS/2.
78042         * lib/regex_internal.h (internal_function): Disable optimization
78043         on OS/2 (__EMX__), where it caused compiler error.
78044         Reported by Elbert Pol.
78046 2008-04-11  Bruno Haible  <bruno@clisp.org>
78048         Flush the standard error stream before aborting. Needed on mingw.
78049         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
78050         * tests/test-array_list.c (ASSERT): Likewise.
78051         * tests/test-array_oset.c (ASSERT): Likewise.
78052         * tests/test-avltree_list.c (ASSERT): Likewise.
78053         * tests/test-avltree_oset.c (ASSERT): Likewise.
78054         * tests/test-avltreehash_list.c (ASSERT): Likewise.
78055         * tests/test-binary-io.c (ASSERT): Likewise.
78056         * tests/test-byteswap.c (ASSERT): Likewise.
78057         * tests/test-c-ctype.c (ASSERT): Likewise.
78058         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
78059         * tests/test-c-strcasestr.c (ASSERT): Likewise.
78060         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
78061         * tests/test-c-strstr.c (ASSERT): Likewise.
78062         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
78063         * tests/test-canonicalize.c (ASSERT): Likewise.
78064         * tests/test-carray_list.c (ASSERT): Likewise.
78065         * tests/test-ceilf1.c (ASSERT): Likewise.
78066         * tests/test-ceilf2.c (ASSERT): Likewise.
78067         * tests/test-ceill.c (ASSERT): Likewise.
78068         * tests/test-count-one-bits.c (ASSERT): Likewise.
78069         * tests/test-fbufmode.c (ASSERT): Likewise.
78070         * tests/test-fflush2.c (ASSERT): Likewise.
78071         * tests/test-floorf1.c (ASSERT): Likewise.
78072         * tests/test-floorf2.c (ASSERT): Likewise.
78073         * tests/test-floorl.c (ASSERT): Likewise.
78074         * tests/test-fopen.c (ASSERT): Likewise.
78075         * tests/test-fpending.c (ASSERT): Likewise.
78076         * tests/test-fprintf-posix.c (ASSERT): Likewise.
78077         * tests/test-fpurge.c (ASSERT): Likewise.
78078         * tests/test-freadable.c (ASSERT): Likewise.
78079         * tests/test-freadahead.c (ASSERT): Likewise.
78080         * tests/test-freading.c (ASSERT): Likewise.
78081         * tests/test-freadptr.c (ASSERT): Likewise.
78082         * tests/test-freadptr2.c (ASSERT): Likewise.
78083         * tests/test-freadseek.c (ASSERT): Likewise.
78084         * tests/test-freopen.c (ASSERT): Likewise.
78085         * tests/test-frexp.c (ASSERT): Likewise.
78086         * tests/test-frexpl.c (ASSERT): Likewise.
78087         * tests/test-fseek.c (ASSERT): Likewise.
78088         * tests/test-fseeko.c (ASSERT): Likewise.
78089         * tests/test-fstrcmp.c (ASSERT): Likewise.
78090         * tests/test-ftell.c (ASSERT): Likewise.
78091         * tests/test-ftello.c (ASSERT): Likewise.
78092         * tests/test-func.c (ASSERT): Likewise.
78093         * tests/test-fwritable.c (ASSERT): Likewise.
78094         * tests/test-fwriting.c (ASSERT): Likewise.
78095         * tests/test-getdelim.c (ASSERT): Likewise.
78096         * tests/test-getline.c (ASSERT): Likewise.
78097         * tests/test-i-ring.c (ASSERT): Likewise.
78098         * tests/test-iconv-utf.c (ASSERT): Likewise.
78099         * tests/test-iconv.c (ASSERT): Likewise.
78100         * tests/test-isfinite.c (ASSERT): Likewise.
78101         * tests/test-isnand.c (ASSERT): Likewise.
78102         * tests/test-isnanf.c (ASSERT): Likewise.
78103         * tests/test-isnanl.h (ASSERT): Likewise.
78104         * tests/test-ldexpl.c (ASSERT): Likewise.
78105         * tests/test-linked_list.c (ASSERT): Likewise.
78106         * tests/test-linkedhash_list.c (ASSERT): Likewise.
78107         * tests/test-localename.c (ASSERT): Likewise.
78108         * tests/test-lseek.c (ASSERT): Likewise.
78109         * tests/test-mbscasecmp.c (ASSERT): Likewise.
78110         * tests/test-mbscasestr1.c (ASSERT): Likewise.
78111         * tests/test-mbscasestr2.c (ASSERT): Likewise.
78112         * tests/test-mbscasestr3.c (ASSERT): Likewise.
78113         * tests/test-mbscasestr4.c (ASSERT): Likewise.
78114         * tests/test-mbschr.c (ASSERT): Likewise.
78115         * tests/test-mbscspn.c (ASSERT): Likewise.
78116         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
78117         * tests/test-mbspbrk.c (ASSERT): Likewise.
78118         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
78119         * tests/test-mbsrchr.c (ASSERT): Likewise.
78120         * tests/test-mbsspn.c (ASSERT): Likewise.
78121         * tests/test-mbsstr1.c (ASSERT): Likewise.
78122         * tests/test-mbsstr2.c (ASSERT): Likewise.
78123         * tests/test-mbsstr3.c (ASSERT): Likewise.
78124         * tests/test-memchr2.c (ASSERT): Likewise.
78125         * tests/test-memmem.c (ASSERT): Likewise.
78126         * tests/test-open.c (ASSERT): Likewise.
78127         * tests/test-printf-frexp.c (ASSERT): Likewise.
78128         * tests/test-printf-frexpl.c (ASSERT): Likewise.
78129         * tests/test-printf-posix.c (ASSERT): Likewise.
78130         * tests/test-quotearg.c (ASSERT): Likewise.
78131         * tests/test-rbtree_list.c (ASSERT): Likewise.
78132         * tests/test-rbtree_oset.c (ASSERT): Likewise.
78133         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
78134         * tests/test-round1.c (ASSERT): Likewise.
78135         * tests/test-roundf1.c (ASSERT): Likewise.
78136         * tests/test-roundl.c (ASSERT): Likewise.
78137         * tests/test-signbit.c (ASSERT): Likewise.
78138         * tests/test-sleep.c (ASSERT): Likewise.
78139         * tests/test-snprintf-posix.c (ASSERT): Likewise.
78140         * tests/test-snprintf.c (ASSERT): Likewise.
78141         * tests/test-sprintf-posix.c (ASSERT): Likewise.
78142         * tests/test-stat-time.c (ASSERT): Likewise.
78143         * tests/test-strcasestr.c (ASSERT): Likewise.
78144         * tests/test-strerror.c (ASSERT): Likewise.
78145         * tests/test-striconv.c (ASSERT): Likewise.
78146         * tests/test-striconveh.c (ASSERT): Likewise.
78147         * tests/test-striconveha.c (ASSERT): Likewise.
78148         * tests/test-strsignal.c (ASSERT): Likewise.
78149         * tests/test-strstr.c (ASSERT): Likewise.
78150         * tests/test-strtod.c (ASSERT): Likewise.
78151         * tests/test-trunc1.c (ASSERT): Likewise.
78152         * tests/test-trunc2.c (ASSERT): Likewise.
78153         * tests/test-truncf1.c (ASSERT): Likewise.
78154         * tests/test-truncf2.c (ASSERT): Likewise.
78155         * tests/test-truncl.c (ASSERT): Likewise.
78156         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
78157         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
78158         * tests/test-vasnprintf.c (ASSERT): Likewise.
78159         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
78160         * tests/test-vasprintf.c (ASSERT): Likewise.
78161         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
78162         * tests/test-vprintf-posix.c (ASSERT): Likewise.
78163         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
78164         * tests/test-vsnprintf.c (ASSERT): Likewise.
78165         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
78166         * tests/test-wcwidth.c (ASSERT): Likewise.
78167         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
78168         * tests/test-xprintf-posix.c (ASSERT): Likewise.
78169         * tests/test-xvasprintf.c (ASSERT): Likewise.
78170         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
78171         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
78172         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
78173         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
78174         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
78175         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
78176         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
78177         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
78178         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
78179         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
78180         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
78181         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
78182         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
78183         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
78184         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
78185         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
78186         * tests/unictype/test-block_list.c (ASSERT): Likewise.
78187         * tests/unictype/test-block_of.c (ASSERT): Likewise.
78188         * tests/unictype/test-block_test.c (ASSERT): Likewise.
78189         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
78190         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
78191         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
78192         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
78193         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
78194         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
78195         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
78196         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
78197         * tests/unictype/test-combining.c (ASSERT): Likewise.
78198         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
78199         * tests/unictype/test-digit.c (ASSERT): Likewise.
78200         * tests/unictype/test-mirror.c (ASSERT): Likewise.
78201         * tests/unictype/test-numeric.c (ASSERT): Likewise.
78202         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
78203         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
78204         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
78205         * tests/unictype/test-scripts.c (ASSERT): Likewise.
78206         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
78207         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
78208         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
78209         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
78210         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
78211         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
78212         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
78213         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
78214         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
78215         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
78216         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
78217         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
78218         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
78219         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
78220         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
78221         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
78222         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
78223         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
78224         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
78225         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
78226         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
78227         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
78228         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
78229         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
78230         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
78231         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
78232         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
78233         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
78234         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
78235         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
78236         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
78237         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
78238         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
78239         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
78240         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
78241         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
78242         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
78243         Reported by Eric Blake.
78245 2008-04-11  Bruno Haible  <bruno@clisp.org>
78247         * lib/wchar.in.h: Tweak comment.
78249 2008-04-11  Bruno Haible  <bruno@clisp.org>
78251         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
78252         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
78253         gl_COMMON.
78254         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
78256 2008-04-11  Bruno Haible  <bruno@clisp.org>
78258         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
78260 2008-04-11  Simon Josefsson  <simon@josefsson.org>
78262         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
78263         of attempting to use non-existing /dev/*random.  Based on patch
78264         from Adam Strzelecki <ono@java.pl> in
78265         <http://lists.gnu.org/r/help-gsasl/2008-02/msg00000.html>.
78267 2008-04-08  Bruno Haible  <bruno@clisp.org>
78269         Add tentative support for emx+gcc.
78270         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
78271         * lib/fpurge.c (fpurge): Likewise.
78272         * lib/freadable.c (freadable): Likewise.
78273         * lib/freadahead.c (freadahead): Likewise.
78274         * lib/freading.c (freading): Likewise.
78275         * lib/freadptr.c (freadptr): Likewise.
78276         * lib/freadseek.c (freadptrinc): Likewise.
78277         * lib/fseeko.c (rpl_fseeko): Likewise.
78278         * lib/fseterr.c (fseterr): Likewise.
78279         * lib/fwritable.c (fwritable): Likewise.
78280         * lib/fwriting.c (fwriting): Likewise.
78281         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
78283 2008-04-09  Eric Blake  <ebb9@byu.net>
78285         Avoid some autoconf warnings.
78286         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
78287         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
78288         * m4/afs.m4 (gl_AFS): Likewise.
78289         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
78290         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
78291         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
78292         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
78293         (gl_INTEGER_TYPE_SUFFIX): Likewise.
78294         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
78295         (AC_CHECK_DECLS_ONCE): Likewise.
78296         Rename file...
78297         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
78298         gnulib-tool requires autoconf 2.59 or better.
78299         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
78301 2008-04-08  Eric Blake  <ebb9@byu.net>
78303         Use 'git describe --match' if present (added in git 1.5.5).
78304         * build-aux/git-version-gen: Limit result to tags that match 'v*'
78305         if possible.
78307 2008-04-08  Bruno Haible  <bruno@clisp.org>
78309         Add tentative support for OpenServer.
78310         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
78311         _ptr, _cnt.
78312         * lib/fpurge.c (fpurge): Likewise.
78313         * lib/freadable.c (freadable): Likewise.
78314         * lib/freadahead.c (freadahead): Likewise.
78315         * lib/freading.c (freading): Likewise.
78316         * lib/freadptr.c (freadptr): Likewise.
78317         * lib/freadseek.c (freadptrinc): Likewise.
78318         * lib/fseeko.c (rpl_fseeko): Likewise.
78319         * lib/fseterr.c (fseterr): Likewise.
78320         * lib/fwritable.c (fwritable): Likewise.
78321         * lib/fwriting.c (fwriting): Likewise.
78322         Reported by Roger Cornelius <rac@tenzing.org> and
78323         Brian K. White <brian@aljex.com>.
78325 2008-04-06  Jim Meyering  <meyering@redhat.com>
78327         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
78329 2008-04-06  Bruno Haible  <bruno@clisp.org>
78331         Avoid possible error with non-ASCII bytes in UTF-8 locales.
78332         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
78333         * tests/test-printf-posix.sh: Likewise.
78334         * tests/test-vfprintf-posix.sh: Likewise.
78335         * tests/test-vprintf-posix.sh: Likewise.
78336         * tests/test-xprintf-posix.sh: Likewise.
78338 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78340         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
78341         hide error from 'ls', needed on OS/2.
78342         Report by Elbert Pol <elbert.pol@gmail.com>.
78344 2008-04-04  Eric Blake  <ebb9@byu.net>
78346         Make test-fseeko.c failures meaningful.
78347         * tests/test-fseeko.c: Print line number on failure.
78348         * tests/test-fseek.c: Likewise.
78349         Reported by Nelson H. F. Beebe.
78351         Improve strtod bug detection check.
78352         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
78353         required for Solaris 10.
78354         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
78356 2008-04-04  Bruno Haible  <bruno@clisp.org>
78358         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
78359         by m4/setenv.m4.
78361 2008-04-03  Eric Blake  <ebb9@byu.net>
78363         Ensure sane .version contents.
78364         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
78365         version string.
78366         * build-aux/git-version-gen: Improve documentation.
78368         Make GNU make output nicer.
78369         * top/GNUmakefile [!_have-Makefile]: Add dependency on
78370         MAKECMDGOALS to enforce message for all command line targets.  Set
78371         srcdir for use in maint.mk.
78373         Another maintainer tweak.
78374         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
78375         a target that regenerates version.
78377 2008-04-03  Jim Meyering  <meyering@redhat.com>
78379         vc-list-files: don't cause coreutils "make po-check" failure
78380         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
78382 2008-04-03  Eric Blake  <ebb9@byu.net>
78384         Allow VPATH usage of vc-list-files.
78385         * build-aux/vc-list-files (scriptversion): Add timestamp.
78386         (options): Add --help, --version, -C.
78387         (CVS): Support installed cvsu.
78389 2008-04-02  Bruno Haible  <bruno@clisp.org>
78391         Avoid some "statement with no effect" warnings from gcc.
78392         * tests/test-wctype.c (main): Explicitly ignore unused values.
78393         Reported by Jim Meyering.
78395 2008-04-02  Jim Meyering  <meyering@redhat.com>
78397         Avoid some warnings from "gcc -Wshadow".
78398         * tests/test-frexp.c (exp): Define to a different identifier.
78399         * tests/test-frexpl.c (exp): Likewise.
78401 2008-04-03  Jim Meyering  <meyering@redhat.com>
78403         bootstrap: remove dangling *.[ch] symlinks from lib
78404         * build-aux/bootstrap [dangling symlink removal]: Move find's
78405         -depth option to precede all others, to avoid a warning.
78406         Remove *.[ch] files too, and from "$source_base" (usually lib/).
78408 2008-04-02  Bruno Haible  <bruno@clisp.org>
78410         Avoid some warnings from "gcc -Wshadow".
78411         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
78412         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
78413         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
78414         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
78415         Reported by Jim Meyering.
78417 2008-04-01  Bruno Haible  <bruno@clisp.org>
78419         Fix test to work on IRIX 6.5 with cc.
78420         * tests/test-math.c (numeric_equal): New function.
78421         (main): Use it.
78423 2008-04-01  Bruno Haible  <bruno@clisp.org>
78425         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
78427 2008-04-01  Bruno Haible  <bruno@clisp.org>
78429         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
78430         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
78431         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
78432         (Depends-on): Remove math.
78434         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
78435         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
78436         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
78437         (Depends-on): Remove math.
78439         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
78440         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
78441         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
78442         (Depends-on): Remove math.
78443         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
78444         (Depends-on): Remove math.
78446         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
78447         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
78448         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
78449         (Depends-on): Remove math.
78450         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
78451         (Depends-on): Remove math.
78453         * tests/test-round1.c: Include nan.h.
78454         (main): Use NaNd instead of NAN.
78455         * modules/round-tests (Files): Add tests/nan.h.
78457         * tests/test-trunc1.c: Include nan.h.
78458         (main): Use NaNd instead of NAN.
78459         * modules/trunc-tests (Files): Add tests/nan.h.
78461         * tests/test-roundf1.c: Include nan.h.
78462         (main): Use NaNf instead of NAN.
78463         * modules/roundf-tests (Files): Add tests/nan.h.
78465         * tests/test-truncf1.c: Include nan.h.
78466         (main): Use NaNf instead of NAN.
78467         * modules/truncf-tests (Files): Add tests/nan.h.
78469         * tests/test-ceilf1.c: Include nan.h.
78470         (main): Use NaNf instead of NAN.
78471         * modules/ceilf-tests (Files): Add tests/nan.h.
78473         * tests/test-floorf1.c: Include nan.h.
78474         (main): Use NaNf instead of NAN.
78475         * modules/floorf-tests (Files): Add tests/nan.h.
78477         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
78478         (main): Use NaNf instead of NAN.
78479         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
78481         * tests/test-isnand.c: Include nan.h instead of <math.h>.
78482         (main): Use NaNd instead of NAN.
78483         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
78485         * tests/test-frexp.c: Include nan.h.
78486         (main): Use NaNd instead of NAN.
78487         * modules/frexp-tests (Files): Add tests/nan.h.
78489         * lib/isnan.c: Don't include <math.h>.
78490         (FUNC): Don't use NAN macro.
78491         * modules/isnand-nolibm (Depends-on): Remove math.
78492         * modules/isnanf-nolibm (Depends-on): Remove math.
78493         * modules/isnanl (Depends-on): Remove math.
78494         * modules/isnanl-nolibm (Depends-on): Remove math.
78496         * tests/nan.h: New file.
78498 2008-04-01  Eric Blake  <ebb9@byu.net>
78500         Fix typos.
78501         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
78502         values to be the right type.
78504         For now, cater to gnulib strtod inaccuracies.
78505         * tests/test-strtod.c (main): Allow 1-ulp error on expected
78506         fractional results.  While not as nice from a QoI perspective, it
78507         is a quicker patch than correctly implementing decimal to binary
78508         rounding.
78510 2008-03-31  Eric Blake  <ebb9@byu.net>
78512         Guarantee a definition of NAN.
78513         * lib/math.in.h (NAN): Define if missing.
78514         * tests/test-math.c (main): Test it.
78515         * doc/posix-headers/math.texi (math.h): Document this.
78516         * lib/isnan.c (rpl_isnand): Use it.
78517         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
78518         * tests/test-floorf1.c (NaN): Likewise.
78519         * tests/test-frexp.c (NaN): Likewise.
78520         * tests/test-isnand.c (NaN): Likewise.
78521         * tests/test-isnanf.c (NaN): Likewise.
78522         * tests/test-round1.c (NaN): Likewise.
78523         * tests/test-roundf1.c (NaN): Likewise.
78524         * tests/test-snprintf-posix.h (NaN): Likewise.
78525         * tests/test-sprintf-posix.h (NaN): Likewise.
78526         * tests/test-trunc1.c (NaN): Likewise.
78527         * tests/test-truncf1.c (NaN): Likewise.
78528         * tests/test-vasnprintf-posix.c (NaN): Likewise.
78529         * tests/test-vasprintf-posix.c (NaN): Likewise.
78530         * modules/isnand-nolibm (Depends-on): Add math.
78531         * modules/isnanf-nolibm (Depends-on): Likewise.
78532         * modules/isnanl (Depends-on): Likewise.
78533         * modules/isnanl-nolibm (Depends-on): Likewise.
78534         * modules/snprintf-posix-tests (Depends-on): Likewise.
78535         * modules/sprintf-posix-tests (Depends-on): Likewise.
78536         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
78537         * modules/vsprintf-posix-tests (Depends-on): Likewise.
78538         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
78539         * modules/vasprintf-posix-tests (Depends-on): Likewise.
78541 2008-03-31  Bruno Haible  <bruno@clisp.org>
78543         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
78544         * doc/posix-functions/strtod.texi: Likewise.
78546 2008-03-31  Bruno Haible  <bruno@clisp.org>
78548         * tests/test-strtod.c (main): Don't use C99 syntax.
78550 2008-03-31  Bruno Haible  <bruno@clisp.org>
78552         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
78553         Reported by Eric Blake.
78555 2008-03-31  Jim Meyering  <meyering@redhat.com>
78557         Don't compare actual signbit return values.
78558         * tests/test-strtod.c (main): Rather, compare only their
78559         zero/non-zero nature.
78561 2008-03-31  Eric Blake  <ebb9@byu.net>
78563         More strtod documentation.
78564         * doc/posix-functions/strtod.texi (strtod): Interpret more test
78565         failures as distinct bugs.
78567 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
78569         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
78570         Problem reported by Erik Benada in
78571         <http://lists.gnu.org/r/bug-gnulib/2008-03/msg00249.html>.
78573 2008-03-30  Bruno Haible  <bruno@clisp.org>
78575         * tests/test-strtod.c: Add comments about which assertion fails on which
78576         platform.
78577         * doc/posix-functions/strtod.texi: Add info about many more platforms.
78579 2008-03-30  Eric Blake  <ebb9@byu.net>
78581         Test signbit behavior on zeros.
78582         * tests/test-signbit.c (test_signbitf): Add tests for zero.
78583         (test_signbitd, test_signbitl): Likewise.
78585         More strtod touchups.
78586         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
78587         sign of negative underflow, for now.  Use .5, not .1.
78588         * doc/posix-functions/strtod.texi (strtod): Mention these
78589         limitations.
78590         Reported by Jim Meyering.
78592 2008-03-30  Bruno Haible  <bruno@clisp.org>
78594         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
78595         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
78597 2008-03-30  Bruno Haible  <bruno@clisp.org>
78599         Avoid failure when attempting to return empty iconv results on some
78600         platforms.
78601         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
78602         allocation, don't report ENOMEM when the resulting string is empty.
78604 2008-03-30  Bruno Haible  <bruno@clisp.org>
78606         Fix buffer overrun.
78607         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
78608         Don't consider the width for tmp_length. Check count against tmp_length
78609         before doing the padding. Ensure enough allocation during padding.
78611 2008-03-30  Eric Blake  <ebb9@byu.net>
78613         strtod touchups.
78614         * lib/strtod.c (strtod): Avoid compiler warnings.
78615         Reported by Jim Meyering.
78617 2008-03-30  Bruno Haible  <bruno@clisp.org>
78619         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
78620         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
78621         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
78622         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
78623         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
78624         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
78625         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
78626         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
78628         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
78629         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
78630         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
78631         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
78632         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
78633         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
78634         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
78635         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
78637         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
78638         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
78639         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
78640         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
78641         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
78642         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
78643         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
78644         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
78646         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
78647         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
78649         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
78650         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
78652         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
78653         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
78655         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
78656         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
78657         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
78659         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
78660         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
78661         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
78663         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
78664         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
78665         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
78667         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
78668         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
78669         * modules/vasprintf (Depends-on): Add EOVERFLOW.
78671         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
78672         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
78673         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
78674         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
78675         (Depends-on): Add EOVERFLOW.
78676         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
78677         (Depends-on): Add EOVERFLOW.
78678         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
78679         (Depends-on): Add EOVERFLOW.
78680         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
78681         (Depends-on): Add EOVERFLOW.
78682         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
78683         (Depends-on): Add EOVERFLOW.
78684         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
78685         (Depends-on): Add EOVERFLOW.
78686         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
78687         (Depends-on): Add EOVERFLOW.
78688         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
78689         (Depends-on): Add EOVERFLOW.
78691         * lib/sprintf.c (EOVERFLOW): Remove fallback.
78692         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
78693         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
78695         * lib/snprintf.c (EOVERFLOW): Remove fallback.
78696         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
78697         * modules/snprintf (Depends-on): Add EOVERFLOW.
78699         * lib/poll.c (EOVERFLOW): Remove fallback.
78700         * modules/poll (Depends-on): Add EOVERFLOW.
78702         * lib/getugroups.c (EOVERFLOW): Remove fallback.
78703         * modules/getugroups (Depends-on): Add EOVERFLOW.
78705         * lib/getdelim.c (EOVERFLOW): Remove fallback.
78706         * modules/getdelim (Depends-on): Add EOVERFLOW.
78708         * lib/ftell.c (EOVERFLOW): Remove fallback.
78709         * modules/ftell (Depends-on): Add EOVERFLOW.
78711         * lib/fprintf.c (EOVERFLOW): Remove fallback.
78712         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
78713         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
78715         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
78717         * modules/EOVERFLOW-tests: New file.
78718         * tests/test-EOVERFLOW.c: New file.
78720         * modules/EOVERFLOW: New file.
78721         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
78723 2008-03-30  Bruno Haible  <bruno@clisp.org>
78725         Fix bug introduced on 2007-06-10.
78726         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
78727         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
78729 2008-03-30  Bruno Haible  <bruno@clisp.org>
78731         Improve freadseek's efficiency after ungetc.
78732         * lib/freadseek.c: Include freadahead.h.
78733         (freadptrinc): New function, extracted from freadseek.
78734         (freadseek): Use it in a loop. Use freadahead to determine the number
78735         of loop iterations.
78736         * modules/freadseek (Depends-on): Add freadahead.
78737         (configure.ac): Require AC_C_INLINE.
78739 2008-03-30  Bruno Haible  <bruno@clisp.org>
78741         * lib/freadseek.c (freadseek): Don't ignore the return value of
78742         freadptr.
78744 2008-03-29  Eric Blake  <ebb9@byu.net>
78746         Add hex float support.
78747         * modules/strtod (Depends-on): Add c-ctype.
78748         (Link): Mention POW_LIB.
78749         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
78750         whitespace between 'e' and exponent.
78751         * tests/test-strtod.c (main): Enable hex float tests.
78752         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
78753         now provides.
78755         Document various strtod bugs, with some fixes.
78756         * doc/posix-functions/strtod.texi (strtod): Document bugs with
78757         "-0x", "inf", "nan", and hex constants.
78758         * doc/posix-functions/atof.texi (atof): Likewise.
78759         * modules/stdlib (Makefile.am): Support strtod.
78760         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
78761         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
78762         detect additional strtod bugs.
78763         * lib/stdlib.in.h (rpl_strtod): Add declarations.
78764         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
78765         bool where appropriate.  Parse 'inf' and 'nan'.
78766         * tests/test-strtod.c: New file.
78767         * modules/strtod (Depends-on): Add stdbool, stdlib.
78768         (configure.ac): Turn on module indicator.
78769         * modules/strtod-tests: New module.
78771 2008-03-29  Eric Blake  <ebb9@byu.net>
78773         Fix ftell on mingw.
78774         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
78775         * modules/ftell-tests (Depends-on): Add binary-io.
78776         * modules/ftello-tests (Depends-on): Likewise.
78777         * tests/test-ftell.c (main): Enhance test to cover behavior after
78778         ungetc.  Enforce binary mode.
78779         * tests/test-ftello.c (main): Likewise.
78781         Pass test-freadseek on cygwin.
78782         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
78783         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
78784         ungetc buffer.
78786         * tests/test-fflush2.c (main): Fix typo.
78788 2008-03-29  Bruno Haible  <bruno@clisp.org>
78790         * tests/test-fflush2.c (main): Temporarily disable the contents of
78791         this test.
78792         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
78793         Reported by Eric Blake.
78795 2008-03-28  Simon Josefsson  <simon@josefsson.org>
78797         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
78798         (GC_SHA224_DIGEST_SIZE): Add.
78800         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
78801         (gc_hash_digest_length): Likewise.
78802         (gc_hash_buffer): Likewise.
78804 2008-03-25  Bruno Haible  <bruno@clisp.org>
78806         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
78807         detail which gettext release to use.
78808         Reported by Simon Josefsson.
78810 2008-03-26  Jim Meyering  <meyering@redhat.com>
78812         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
78813         * modules/gnumakefile (clean-GNUmakefile): Also, use
78814         test ... && ... || : syntax rather than if-then ... fi.
78816         gnumakefile: Don't double-quote-expand $(VPATH) value.
78817         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
78819 2008-03-24  Eric Blake  <ebb9@byu.net>
78821         Alter GNUmakefile to install into top directory.
78822         * modules/maintainer-makefile: Split, and add dependency...
78823         * modules/gnumakefile: to this new module.
78824         * build-aux/GNUmakefile: Move...
78825         * top/GNUmakefile: ...here.
78826         * build-aux/maint.mk: Move...
78827         * top/maint.mk: ...here.
78828         * MODULES.html.sh (Support for maintaining...): Document new
78829         module.
78831 2008-03-23  Bruno Haible  <bruno@clisp.org>
78833         * gnulib-tool: New options --vc-files, --no-vc-files.
78834         (func_usage): Document them.
78835         (vc_files): New variable.
78836         (func_import): Consider vc_files.
78837         (func_create_testdir): Set vc_files to empty.
78838         Suggested by Jim Meyering and Karl Berry.
78840 2008-03-23  Bruno Haible  <bruno@clisp.org>
78842         Fix regex compilation error on HP-UX 11.
78843         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
78844         * modules/regex (Files): Add m4/mbstate_t.m4.
78845         Reported by Ton Voon <ton.voon@altinity.com>.
78847 2008-03-23  Bruno Haible  <bruno@clisp.org>
78849         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
78851 2008-03-23  Eric Blake  <ebb9@byu.net>
78852             Bruno Haible  <bruno@clisp.org>
78854         Install files from top/ in the destination directory.
78855         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
78856         augmentation also for the files from top/.
78857         (func_import, func_create_testdir): Rewrite file names:
78858         top/filename -> filename.
78860 2008-03-23  Bruno Haible  <bruno@clisp.org>
78862         Tweak "gnulib --version" output.
78863         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
78865 2008-03-23  Bruno Haible  <bruno@clisp.org>
78867         Tweak "gnulib --version" output.
78868         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
78869         rather than contents of ChangeLog, when possible.
78871 2008-03-21  Eric Blake  <ebb9@byu.net>
78873         More --version tweaks.
78874         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
78875         date of last ChangeLog entry.
78877 2008-03-21  Jim Meyering  <meyering@redhat.com>
78879         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
78881 2008-03-20  Eric Blake  <ebb9@byu.net>
78883         VPATH fix.
78884         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
78886 2008-03-20  Simon Josefsson  <simon@josefsson.org>
78888         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
78889         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
78891 2008-03-20  Eric Blake  <ebb9@byu.net>
78893         Sync GNUmakefile with coreutils.
78894         * build-aux/GNUmakefile (have-Makefile): Rename...
78895         (_have-Makefile): ...to this, for namespace consideration.
78896         (GNUmakefile.cfg): Include, if present.
78897         (_autoreconf): Define a default.
78898         (_is-dist-target): New rule for rebuilds to pick up intra-release
78899         version.
78900         (maint-cfg.mk): Rename...
78901         (cfg.mk): ...to this.
78903 2008-03-18  Jim Meyering  <meyering@redhat.com>
78905         New script and module: mktempd
78906         * MODULES.html.sh (maint+release support): Add mktempd.
78907         * build-aux/mktempd: New file.
78908         * modules/mktempd: New file.
78910 2008-03-15  Jim Meyering  <meyering@redhat.com>
78912         Undo last change.
78913         * lib/sha1.c, lib/md5.c: 63 != ~63.
78914         Reported by Andreas Schwab.
78916         sha1.c, md5.c: Hoist a redundant expression.
78917         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
78918         "ctx->buflen" only once, before calling *_process_block.
78919         * lib/md5.c (md5_process_bytes): Likewise.
78921 2008-03-14  Eric Blake  <ebb9@byu.net>
78923         Bump copyright year in files generated by gnulib-tool.
78924         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
78925         gnulib-tool, rather than hard-coding it.
78927         Fix 'gnulib-tool --version' output to work with git.
78928         * gnulib-tool (func_gnulib_dir): New function, extracted from...
78929         (startup): ...here.
78930         (func_version): Use it to invoke git-version-gen, rather than
78931         relying on CVS keyword expansion.  Modernize wording.
78932         (cvsdatestamp, last_checkin_date, version): Kill unused
78933         variables.
78935 2008-03-12  Jim Meyering  <meyering@redhat.com>
78937         Recognize optional cast of the argument to free.
78938         * build-aux/useless-if-before-free: Update regexps.
78940         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
78942 2008-03-11  Bruno Haible  <bruno@clisp.org>
78944         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
78945         by a single package.
78946         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
78947         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
78948         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
78949         Reported by Sam Steingold <sds@gnu.org>.
78951 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
78953         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
78954         repositories.
78956 2008-03-11  Bruno Haible  <bruno@clisp.org>
78958         Avoid conflicts between local macro definitions.
78959         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
78960         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
78962 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
78963             Bruno Haible  <bruno@clisp.org>
78965         Make va_copy work with some version of xlc on AIX 5.1.
78966         * lib/stdarg.in.h: New file.
78967         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
78968         On AIX, use a <stdarg.h> file substitute.
78969         * modules/stdarg (Files): Add lib/stdarg.in.h.
78970         (Depends-on): Add include_next.
78971         (Makefile.am): Build a stdarg.h substitute if requested.
78972         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
78974 2008-03-10  Bruno Haible  <bruno@clisp.org>
78976         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
78977         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
78978         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
78980 2008-03-10  Bruno Haible  <bruno@clisp.org>
78982         * modules/stdlib (Depends-on): Add include_next, remove
78983         absolute-header.
78985 2008-03-09  Bruno Haible  <bruno@clisp.org>
78987         * lib/freadahead.h (freadahead): Document more precisely.
78988         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
78989         the sum of both buffer sizes.
78990         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
78991         * NEWS: Document the change.
78993 2008-03-09  Bruno Haible  <bruno@clisp.org>
78995         Extend freadptr to return also the buffer size.
78996         * lib/freadptr.h (freadptr): Add sizep argument.
78997         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
78998         (freadptr): Add sizep argument. Determine buffer size like freadahead
78999         does.
79000         * tests/test-freadptr.c: Don't include freadahead.h.
79001         (main): Adapt for new calling convention of freadptr.
79002         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
79003         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
79004         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
79005         tests/test-freadptr2.sh.
79006         (Depends): Remove freadahead.
79007         (TESTS): Add test-freadptr2.sh.
79008         (check_PROGRAMS): Add test-freadptr2.
79010 2008-03-09  Bruno Haible  <bruno@clisp.org>
79012         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
79013         Report and solution by Simon Josefsson.
79015 2008-03-06  Bruno Haible  <bruno@clisp.org>
79017         Make fflush after ungetc work on BSD platforms.
79018         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
79019         * tests/test-fflush2.c: New file.
79020         * tests/test-fflush2.sh: New file.
79021         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
79022         tests/test-fflush2.c.
79023         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
79024         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
79026 2008-03-06  Eric Blake  <ebb9@byu.net>
79028         Likewise for ftello.
79029         * modules/ftello (Dependencies): Add extensions.
79030         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
79032 2008-03-06  Bruno Haible  <bruno@clisp.org>
79034         * modules/fseeko (Dependencies): Add extensions.
79035         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
79036         Needed on glibc systems.
79038 2008-03-06  Bruno Haible  <bruno@clisp.org>
79040         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
79041         email address.
79042         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
79044 2008-03-06  Bruno Haible  <bruno@clisp.org>
79046         * users.txt: Add libgnupdf.
79048 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
79050         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
79051         (Header File Substitutes, Function Substitutes,
79052         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
79053         (Build robot for gnulib): Fix typo.
79055 2008-03-06  Bruno Haible  <bruno@clisp.org>
79057         * doc/gnulib-tool.texi (VCS Issues): Small updates.
79058         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
79060 2008-03-06  Bruno Haible  <bruno@clisp.org>
79062         * doc/func.texi: New file, extracted from doc/gnulib.texi.
79063         * doc/gnulib.texi: Include it.
79065 2008-03-06  Simon Josefsson  <simon@josefsson.org>
79067         * modules/func (License): Change license to unlimited; there was
79068         no LGPL parts in the module anyway.
79070 2008-03-06  Simon Josefsson  <simon@josefsson.org>
79072         * modules/__func__: Renamed to modules/func.
79073         * modules/__func__-tests: Renamed to modules/func-tests.
79074         * tests/test-__func__.c: Renamed to tests/test-func.c.
79075         * m4/__func__.m4: Renamed to m4/func.m4.
79076         * doc/gnulib.texi (__func__): Section renamed to func.
79077         Suggested by Eric Blake <ebb9@byu.net>.
79079 2008-03-06  Simon Josefsson  <simon@josefsson.org>
79081         * doc/gnulib.texi (__func__): Use C99 terminology when talking
79082         about __func__.  Make example self-contained.  Suggested by Eric
79083         Blake <ebb9@byu.net>.
79085         * tests/test-__func__.c (main): Avoid extraneous () around __func.
79086         Suggested by Eric Blake <ebb9@byu.net>.
79088 2008-03-06  Simon Josefsson  <simon@josefsson.org>
79090         * modules/__func__: New file.
79091         * modules/__func__-tests: New file.
79092         * tests/test-__func__.c: New file.
79093         * m4/__func__.m4: New file.
79094         * doc/gnulib.texi (__func__): Document __func__ module.
79096 2008-03-05  Simon Josefsson  <simon@josefsson.org>
79098         * modules/byteswap (License): Re-license as LGPLv2+.
79100 2008-03-05  Simon Josefsson  <simon@josefsson.org>
79102         * doc/Makefile: Add pdf target.
79104 2008-03-05  Simon Josefsson  <simon@josefsson.org>
79106         * modules/inline (License): Use 'unlimited', since there are only
79107         *.m4 files in this module.
79109 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
79110             Bruno Haible  <bruno@clisp.org>
79112         Add support for HP C 7.1 on OpenVMS 8.3.
79113         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
79115 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
79117         Update VMS specifics.
79118         * lib/getopt.c [VMS]: Remove include of unixlib.h.
79120 2008-03-02  Jim Meyering  <meyering@redhat.com>
79122         Remove the last dependency on the "free" module.
79123         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
79124         Reported by Bob Proulx.
79126         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
79128         Remove useless "if" tests before free.  Deprecate "free" module.
79129         * doc/posix-functions/free.texi: Mention that this
79130         module is no longer useful.
79131         * modules/free (Notice): Say this module is obsolete.
79132         * modules/readutmp (Depends-on): Remove free.
79133         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
79134         * lib/putenv.c (putenv): Likewise.
79135         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
79136         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
79137         * tests/test-c-strcasestr.c (main): Likewise.
79138         * tests/test-c-strstr.c (main): Likewise.
79139         * tests/test-mbscasestr1.c (main): Likewise.
79140         * tests/test-mbscasestr2.c (main): Likewise.
79141         * tests/test-mbsstr1.c (main): Likewise.
79142         * tests/test-mbsstr2.c (main): Likewise.
79143         * tests/test-memmem.c (main): Likewise.
79144         * tests/test-strcasestr.c (main): Likewise.
79145         * tests/test-striconv.c (main): Likewise.
79146         * tests/test-striconveh.c (main): Likewise.
79147         * tests/test-striconveha.c (main): Likewise.
79148         * tests/test-strstr.c (main): Likewise.
79150         * build-aux/git-version-gen: Adjust a comment and the Usage string.
79152         bootstrap: sync from coreutils again
79153         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
79155 2008-03-01  Jim Meyering  <meyering@redhat.com>
79157         bootstrap: sync from coreutils
79158         * build-aux/bootstrap (update_po_files): Copy a .po file into place
79159         also when the target doesn't exist.
79161 2008-03-01  Eric Blake  <ebb9@byu.net>
79163         Fix bugs in last patch.
79164         * lib/memchr2.c (memchr2): Fix typo.
79165         * tests/test-memchr2.c: Test previous bug, and don't use GNU
79166         extension.
79167         Reported by Bruce Korb.
79169         New module 'memchr2'.
79170         * modules/memchr2: New file.
79171         * modules/memchr2-tests: Likewise.
79172         * lib/memchr2.h: Likewise.
79173         * lib/memchr2.c: Likewise, based on memchr.c.
79174         * tests/test-memchr2.c: New test.
79175         * MODULES.html.sh (String handling): Add memchr2.
79177 2008-02-29  Bruno Haible  <bruno@clisp.org>
79179         * modules/freadseek-tests: New file.
79180         * tests/test-freadseek.sh: New file.
79181         * tests/test-freadseek.c: New file.
79183         New module 'freadseek'.
79184         * modules/freadseek: New file.
79185         * lib/freadseek.h: New file.
79186         * lib/freadseek.c: New file.
79187         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
79189 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
79191         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
79192         wydawca.
79194         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
79195         program_invocation_name and program_invocation_short_name are
79196         present.
79198 2008-02-28  Bruno Haible  <bruno@clisp.org>
79200         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
79201         * tests/test-freadptr.sh: Also test non-seekable stdin.
79203 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
79205         * build-aux/bootstrap (source_base, m4_base)
79206         (doc_base, tests_base): New variables.
79207         (gnulib_tool_options): Do not hardcode base directories, use
79208         the above variables instead.
79210 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
79212         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
79214 2008-02-28  Bruno Haible  <bruno@clisp.org>
79216         * modules/freadptr-tests: New file.
79217         * tests/test-freadptr.sh: New file.
79218         * tests/test-freadptr.c: New file.
79220         New module 'freadptr'.
79221         * modules/freadptr: New file.
79222         * lib/freadptr.h: New file.
79223         * lib/freadptr.c: New file.
79224         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
79226 2008-02-26  Karl Berry  <karl@freefriends.org>
79228         Sync from Libtool:
79229         * libltdl/argz.c (argz_add, argz_count): New functions.
79230         * libltdl/argz.in.h: Declare them.
79231         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
79233 2008-02-22  Bruno Haible  <bruno@clisp.org>
79235         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
79236         is a pointer type.  Needed for HP-UX 10.
79237         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
79238         * doc/posix-functions/gmtime_r.texi: Likewise.
79239         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
79241 2008-02-24  Bruno Haible  <bruno@clisp.org>
79243         * modules/environ-tests: New file.
79244         * tests/test-environ.c: New file.
79246         New module 'environ'.
79247         * modules/environ: New file.
79248         * lib/unistd.in.h (environ): New declaration.
79249         * m4/environ.m4: New file.
79250         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
79251         after use.
79252         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
79253         HAVE_DECL_ENVIRON.
79254         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
79255         HAVE_DECL_ENVIRON.
79256         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
79257         wrong claim that 'environ' is missing on some systems.
79258         * modules/execute (Depends-on): Add environ.
79259         * lib/execute.c (environ): Remove fallback declaration.
79260         * modules/pipe (Depends-on): Add environ.
79261         * lib/pipe.c (environ): Remove fallback declaration.
79262         * modules/setenv (Depends-on): Add environ.
79263         * lib/setenv.c (environ): Remove fallback declaration.
79264         * modules/unsetenv (Depends-on): Add environ.
79265         * lib/unsetenv.c (environ): Remove fallback declaration.
79266         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
79267         m4/environ.m4.
79268         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
79269         (gl_PREREQ_UNSETENV): Likewise.
79271 2008-02-24  Bruno Haible  <bruno@clisp.org>
79273         * doc/posix-functions/environ.texi: Document the MacOS X problem.
79275 2008-02-20  Bob Proulx  <bob@proulx.com>
79277         Enable use of older two part flavor 'git describe'.
79278         * build-aux/git-version-gen: If using the older two part flavor of
79279         git version then recreate the third part now present in the
79280         newer three part flavor of git describe.
79282 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
79284         * lib/fts.c (fts_build): Typo correction to comment.
79286 2008-02-17  Bruno Haible  <bruno@clisp.org>
79288         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
79289         generating no-op conflicts.
79291 2008-02-17  Bruno Haible  <bruno@clisp.org>
79293         Speed up by 10%.
79294         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
79295         result_entries, rather than an index-based loop.
79297 2008-02-17  Bruno Haible  <bruno@clisp.org>
79299         Speed up by 25%.
79300         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
79301         'hashcode_cached'.
79302         (entry_create): New function.
79303         (entry_hashcode): Use the cached hashcode if possible.
79304         (read_changelog_file, try_split_merged_entry): Use entry_create.
79306 2008-02-17  Bruno Haible  <bruno@clisp.org>
79308         Speed up from O(n^2) to O(n) for long ChangeLog files.
79309         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
79310         (read_changelog_file): Change implementation of entries_reversed list
79311         to rbtreehash.
79312         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
79314 2008-02-17  Bruno Haible  <bruno@clisp.org>
79316         New option --split-merged-entry.
79317         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
79318         (find_paragraph_end, try_split_merged_entry): New functions.
79319         (long_options): Add option --split-merged-entry.
79320         (usage): Document option --split-merged-entry.
79321         (main): Implement option --split-merged-entry.
79322         Reported by Eric Blake.
79324 2008-02-17  Bruno Haible  <bruno@clisp.org>
79326         * lib/git-merge-changelog.c: Include c-strstr.h.
79327         (main): Support the "git pull --rebase" situation.
79328         * modules/git-merge-changelog (Depends-on): Add c-strstr.
79329         Reported by Eric Blake.
79331 2008-02-16  Eric Blake  <ebb9@byu.net>
79333         Avoid doubling \ in common case of "c-maybe" quoting style.
79334         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
79335         eliding outer quotes.
79336         * lib/quotearg.h: Document this.
79337         * tests/test-quotearg.c (result_strings, inputs, results_g)
79338         (flag_results, locale_results): Test it by adding a new string to
79339         each test group.
79340         (compare_strings): Test new string.
79342 2008-02-13  Eric Blake  <ebb9@byu.net>
79344         Avoid trigraph quoting in default output.
79345         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
79346         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
79347         unless explicitly requested.
79348         * tests/test-quotearg.c (flag_results, main): Add additional tests.
79350 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
79352         Don't rely on signed integer overflowing to negative value.
79353         * lib/getugroups.c (getugroups): Include <limits.h>.
79354         Instead, compare against INT_MAX, and increment only if the test passes.
79356 2008-02-13  Jim Meyering  <meyering@redhat.com>
79357         and Eric Blake  <ebb9@byu.net>
79359         Avoid shadowing warning and compile errors on Linux.
79360         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
79361         forwarding macros on Linux.
79362         (dcgettext): Define a stub, for Linux.
79363         (results_g, main): Avoid warnings.
79365 2008-02-12  Eric Blake  <ebb9@byu.net>
79367         Silence warning in last patch.
79368         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
79370         Quotearg part 4: add tests, fix c-maybe colon quoting.
79371         * lib/quotearg.h: Improve documentation.
79372         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
79373         escapes when adding outer quotes.  When quoting trigraphs, use
79374         valid C notation.  When quoting NUL, omit extra characters if next
79375         character is not digit.  Alter prototype.
79376         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
79377         callers.
79378         * modules/quotearg-tests: New module.
79379         * tests/test-quotearg.c: New test.
79381 2008-02-07  Eric Blake  <ebb9@byu.net>
79383         Quotearg part 3: add flag to control outer quote elision.
79384         * lib/quotearg.h (c_maybe_quoting_style): New style.
79385         (enum quoting_flags): Better documentation of flags.
79386         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
79387         c-maybe style.
79388         (quotearg_buffer_restyled): Handle new flag to elide outer
79389         quotes.
79391         Quotearg part 2: add flag that can control NUL elision.
79392         * lib/quotearg.h (set_quoting_flags): New prototype.
79393         * lib/quotearg.c (struct quoting_options): Add flag field.
79394         (set_quoting_flags): New function.
79395         (quotearg_buffer_restyled): Add flags parameter.
79396         (quotearg_alloc_mem): Set the flag if length cannot be returned.
79397         (quotearg_n_options): Set the flag, since length cannot be
79398         returned.
79399         (quoting_options_from_style): Default flags correctly.
79401         Quotearg part 1: more wrappers, restore quotearg_char state.
79402         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
79403         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
79404         (quotearg_colon_mem): New wrappers.
79405         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
79406         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
79407         functions.
79408         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
79409         (quotearg_colon_mem): New functions.
79411 2008-02-11  Bruno Haible  <bruno@clisp.org>
79413         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
79414         library in the current directory: it does not work with parallel make.
79415         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
79417 2008-02-11  Bruno Haible  <bruno@clisp.org>
79419         * .gitattributes: New file.
79421 2008-02-11  Jim Meyering  <meyering@redhat.com>
79423         useless-if-before-free: Fix reversed exit values.
79424         * build-aux/useless-if-before-free: Use correct values
79425         for EXIT_MATCH and EXIT_NO_MATCH.
79427         * build-aux/useless-if-before-free: Close stdout carefully.
79429 2008-02-10  Bruno Haible  <bruno@clisp.org>
79431         New module 'git-merge-changelog'.
79432         * modules/git-merge-changelog: New file.
79433         * lib/git-merge-changelog.c: New file.
79435 2008-02-10  Jim Meyering  <meyering@redhat.com>
79437         useless-if-before-free: New option: --list (-l).
79439         useless-if-before-free: Don't exit immediately upon open failure.
79440         * build-aux/useless-if-before-free: Exit 2 for errors.
79441         Upon failure to open a file, don't exit immediately.
79442         Rather, just warn and continue with any remaining files.
79444 2008-02-10  Bruno Haible  <bruno@clisp.org>
79446         New abstract list operation 'node_set_value'.
79447         * lib/gl_list.h (gl_list_node_set_value): New function.
79448         (struct gl_list_implementation): New field node_set_value.
79449         * lib/gl_list.c (gl_list_node_set_value): New function.
79450         * lib/gl_array_list.c (gl_array_node_set_value): New function.
79451         (gl_array_list_implementation): Update.
79452         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
79453         (gl_carray_list_implementation): Update.
79454         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
79455         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
79456         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
79457         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
79458         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
79459         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
79460         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
79461         Update.
79462         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
79463         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
79464         (gl_sublist_list_implementation): Update.
79466 2008-02-10  Bruno Haible  <bruno@clisp.org>
79468         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
79469         Needed when ELEMENT is #defined to 'some_type *'.
79471 2008-02-10  Jim Meyering  <meyering@redhat.com>
79473         New script and module: useless-if-before-free
79474         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
79475         * build-aux/useless-if-before-free: New file.
79476         * modules/useless-if-before-free: New file.
79478         * build-aux/gitlog-to-changelog: Use committer date, not author date.
79480         xstrtol_error: Fix typo.
79481         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
79482         s/exit_failure/exit_status/.
79484 2008-02-09  Jim Meyering  <meyering@redhat.com>
79486         New script and module: gitlog-to-changelog
79487         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
79488         * modules/gitlog-to-changelog: New file.
79489         * build-aux/gitlog-to-changelog: New file.
79491 2008-02-08  Jim Meyering  <meyering@redhat.com>
79493         Avoid two "parameter unused" warnings.
79494         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
79495         Mark "st" as used.
79497         Use "git COMMAND", not "git-COMMAND".
79498         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
79499         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
79500         * build-aux/git-version-gen: Use "git status", not "git-status".
79502 2008-02-07  Bruno Haible  <bruno@clisp.org>
79504         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
79505         Avoids a crash on Windows Vista.
79506         Reported by Adam Strzelecki <ono@java.pl> via
79507         Simon Josefsson <simon@josefsson.org>.
79509 2008-02-06  Bruno Haible  <bruno@clisp.org>
79511         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
79512         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
79513         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
79514         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
79515         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
79516         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
79517         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
79518         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
79519         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
79520         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
79521         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
79522         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
79523         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
79524         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
79525         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
79526         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
79527         left-adjust flag.
79528         * tests/test-snprintf-posix.h (test_function): Likewise.
79529         * tests/test-sprintf-posix.h (test_function): Likewise.
79530         * tests/test-vasprintf-posix.c (test_function): Likewise.
79531         * doc/posix-functions/fprintf.texi: Update.
79532         * doc/posix-functions/printf.texi: Update.
79533         * doc/posix-functions/snprintf.texi: Update.
79534         * doc/posix-functions/sprintf.texi: Update.
79535         * doc/posix-functions/vfprintf.texi: Update.
79536         * doc/posix-functions/vprintf.texi: Update.
79537         * doc/posix-functions/vsnprintf.texi: Update.
79538         * doc/posix-functions/vsprintf.texi: Update.
79539         Reported by Peter Fales <psfales@alcatel-lucent.com>.
79541 2008-02-06  Bruno Haible  <bruno@clisp.org>
79543         Fix bug introduced on 2008-01-26.
79544         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
79546 2008-02-06  Bruno Haible  <bruno@clisp.org>
79548         Fix bug introduced on 2007-06-10.
79549         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
79550         !NEED_PRINTF_FLAG_ZERO.
79552 2008-02-05  Peter O'Gorman  <pogma@thewrittenword.com>
79554         getloadavg: use libperfstat on AIX5
79555         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
79557 2008-02-03  Bruno Haible  <bruno@clisp.org>
79559         * lib/diffseq.h: Add comments about required #includes.
79560         Reported by Michael Biggs <gnulib@doubleplum.net>.
79562 2008-02-01  Bruno Haible  <bruno@clisp.org>
79564         * users.txt: Add gnuit.
79566 2008-01-31  Bruno Haible  <bruno@clisp.org>
79568         * lib/md4.c (set_uint32): Mark as inline.
79569         * lib/md5.c (set_uint32): Likewise.
79570         * lib/sha1.c (set_uint32): Likewise.
79571         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
79572         * m4/md5.m4 (gl_MD5): Likewise.
79573         * m4/sha1.m4 (gl_SHA1): Likewise.
79575 2008-01-31  Jim Meyering  <meyering@redhat.com>
79577         Use "sizeof VAR", rather than a literal "4".
79578         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
79579         * lib/md4.c (md4_read_ctx): Likewise.
79580         * lib/sha1.c (sha1_read_ctx): Likewise.
79582 2008-01-31  Simon Josefsson  <simon@josefsson.org>
79584         * tests/test-sha1.c: New file, based on test-md5.c.
79586         * modules/crypto/sha1-tests: New file.
79588 2008-01-31  Simon Josefsson  <simon@josefsson.org>
79590         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
79592 2008-01-31  Jim Meyering  <meyering@redhat.com>
79594         Prefer "sizeof v" over the equivalent "4".
79595         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
79596         * lib/md5.c (set_uint32): Likewise.
79597         * lib/sha1.c (set_uint32): Likewise.
79599 2008-01-31  Simon Josefsson  <simon@josefsson.org>
79601         * lib/sha1.c (set_uint32): Mark function as static.
79603 2008-01-31  Simon Josefsson  <simon@josefsson.org>
79605         md2: clarify comments to say that alignment is not required.
79606         * lib/md2.h: Remove warning about alignment in comment.
79607         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
79608         never been required.
79610 2008-01-31  Simon Josefsson  <simon@josefsson.org>
79612         md4: adapt alignment constraint fix from sha1.
79613         * lib/md4.c (set_uint32): New function, from sha1.c
79614         (md4_read_ctx): Use it.
79615         (md4_finish_ctx): Doc fix.
79616         * lib/md4.h: Doc fix.
79618 2008-01-31  Simon Josefsson  <simon@josefsson.org>
79620         md5: adapt alignment constraint fix from sha1.
79621         * lib/md5.c (set_uint32): New function, from sha1.c
79622         (md5_read_ctx): Use it.
79623         (md5_finish_ctx): Doc fix.
79624         * lib/md5.h: Doc fix.
79626 2008-01-30  Peter Palfrader  <weasel@debian.org>
79628         sha1: remove the result buffer alignment constraint
79629         * lib/sha1.c (set_uint32): New function.
79630         (sha1_read_ctx): Rewrite to remove the result buffer alignment
79631         constraint.
79632         (sha1_finish_ctx): Remove comment warning about alignment constraint.
79633         * lib/sha1.h: Likewise.
79635 2008-01-30  Andreas Schwab  <schwab@suse.de>
79636             Bruno Haible  <bruno@clisp.org>
79638         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
79639         correct definition of LDBL_MIN_EXP.
79641 2008-01-30  Karl Berry  <karl@gnu.org>
79643         * config/srclist-update: try to preserve x bit on updates.
79644         * config/srclistvars.sh: update for karl.
79646 2008-01-29  Jim Meyering  <meyering@redhat.com>
79648         vasnprintf.c: Avoid warning about unused label
79649         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
79650         "overflow" label definition and associated code with the
79651         same cpp condition that guards the sole use of that label.
79653 2008-01-26  Bruno Haible  <bruno@clisp.org>
79655         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
79656         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
79657         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
79658         * lib/isnanl-nolibm.h (isnanl): Likewise.
79659         Reported by Paul Eggert <eggert@cs.ucla.edu>.
79661 2008-01-26  Bruno Haible  <bruno@clisp.org>
79663         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
79664         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
79666 2008-01-26  Bruno Haible  <bruno@clisp.org>
79668         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
79669         GCC >= 4.0 built-in.
79670         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
79672 2008-01-26  Bruno Haible  <bruno@clisp.org>
79674         Rename isnan, applicable to 'double' only, to isnand.
79675         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
79676         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
79677         (configure.ac): Update.
79678         (Include): Replace "isnan.h" with "isnand.h".
79679         * m4/isnand.m4: Renamed from m4/isnan.m4.
79680         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
79681         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
79682         instead of isnan.c.
79683         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
79684         instead of HAVE_ISNAN_IN_LIBC.
79685         (isnand): Renamed from isnan.
79686         * lib/isnand.c: New file.
79687         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
79688         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
79689         (Makefile.am): Update.
79690         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
79691         Include isnand.h instead of isnan.h.
79692         (main): Test isnand instead of isnan.
79693         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
79694         isnan-nolibm.
79695         * modules/frexp (Depends-on): Likewise.
79696         * modules/frexp-tests (Depends-on): Likewise.
79697         * modules/frexp-nolibm (Depends-on): Likewise.
79698         * modules/frexp-nolibm-tests (Depends-on): Likewise.
79699         * modules/isfinite (Depends-on): Likewise.
79700         * modules/round-tests (Depends-on): Likewise.
79701         * modules/signbit (Depends-on): Likewise.
79702         * modules/signbit-tests (Depends-on): Likewise.
79703         * modules/snprintf-posix (Depends-on): Likewise.
79704         * modules/sprintf-posix (Depends-on): Likewise.
79705         * modules/trunc-tests (Depends-on): Likewise.
79706         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
79707         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
79708         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
79709         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
79710         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
79711         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
79712         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
79713         * modules/vasnprintf-posix (Depends-on): Likewise.
79714         * modules/vasprintf-posix (Depends-on): Likewise.
79715         * modules/vfprintf-posix (Depends-on): Likewise.
79716         * modules/vsnprintf-posix (Depends-on): Likewise.
79717         * modules/vsprintf-posix (Depends-on): Likewise.
79718         * lib/frexp.c: Include isnand.h instead of isnan.h.
79719         (ISNAN): Set to isnand instead of isnan.
79720         * lib/isfinite.c: Include isnand.h instead of isnan.h.
79721         (gl_isfinited): Use isnand instead of isnan.
79722         * lib/signbitd.c: Include isnand.h instead of isnan.h.
79723         (gl_signbitd): Use isnand instead of isnan.
79724         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
79725         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
79726         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
79727         (main): Use isnand instead of isnan.
79728         * tests/test-round1.c: Include isnand.h.
79729         (main): Use isnand instead of isnan.
79730         * tests/test-round2.c: Include isnand.h instead of isnan.h.
79731         (ISNAN): Set to isnand instead of isnan.
79732         * tests/test-trunc1.c: Include isnand.h.
79733         (main): Use isnand instead of isnan.
79734         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
79735         (equal): Use isnand instead of isnan.
79736         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
79737         isnand-nolibm.
79738         * NEWS: Mention the change.
79740 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
79741             Bruno Haible  <bruno@clisp.org>
79743         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
79744         the GCC builtins for signbits are present and set
79745         REPLACE_SIGNBIT_USING_GCC if so.
79746         * lib/math.in.h (signbit): Define using GCC builtins if
79747         REPLACE_SIGNBIT_USING_GCC is set.
79748         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
79749         REPLACE_SIGNBIT_USING_GCC.
79750         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
79752 2008-01-25  Jim Meyering  <meyering@redhat.com>
79754         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
79755         * lib/poll.c: Include <config.h>, not "config.h".
79756         * tests/test-getaddrinfo.c: Likewise.
79758 2008-01-25  Simon Josefsson  <simon@josefsson.org>
79760         * modules/sockets-tests: New file.
79762 2008-01-24  Simon Josefsson  <simon@josefsson.org>
79764         * modules/sockets: New module, can be used to call WSA_Startup and
79765         WSA_Cleanup when needed.
79767         * lib/sockets.h, lib/sockets.c: New files.
79769         * m4/sockets.m4: New file.
79771         * tests/test-sockets.c: New file.
79773 2008-01-19  Bruno Haible  <bruno@clisp.org>
79775         * doc/posix-headers: Renamed from doc/headers.
79776         * doc/posix-functions: Renamed from doc/functions.
79777         * doc/gnulib.texi: Update.
79779 2008-01-19  Bruno Haible  <bruno@clisp.org>
79781         * doc/glibc-functions/strcasestr.texi: Include contents of
79782         doc/functions/strcasestr.texi, fixing the list of platforms.
79783         * doc/functions/strcasestr.texi: Remove file.
79785 2008-01-19  Bruno Haible  <bruno@clisp.org>
79787         * doc/glibc-functions/memmem.texi: Include contents of
79788         doc/functions/memmem.texi.
79789         * doc/functions/memmem.texi: Remove file.
79791 2008-01-18  Bruno Haible  <bruno@clisp.org>
79793         * doc/glibc-functions/*.texi: New files.
79794         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
79795         to use the new files.
79797 2008-01-17  Bruno Haible  <bruno@clisp.org>
79799         * tests/test-gethostname.c (main): Fix printf statement.
79801 2008-01-17  Simon Josefsson  <simon@josefsson.org>
79803         * modules/gethostname-tests: New file.
79805         * tests/test-gethostname.c: New file.
79807 2008-01-17  Simon Josefsson  <simon@josefsson.org>
79809         * lib/gethostname.c: Include string.h unconditionally, strncpy is
79810         used by the UNAME case.  Reported by Bruno Haible
79811         <bruno@clisp.org>.
79813 2008-01-17  Eric Blake  <ebb9@byu.net>
79815         Convert c-strcasestr to be more efficient.
79816         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
79817         (Depends-on): Add c-strcase, remove malloca, strnlen.
79818         * tests/test-c-strcasestr.c (main): Enhance test.
79819         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
79821 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
79823         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
79824         Use it in creating po/Makevars.
79826 2008-01-15  Simon Josefsson  <simon@josefsson.org>
79828         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
79829         Applications that requires it should initialize libgcrypt
79830         manually.
79832 2008-01-16  Simon Josefsson  <simon@josefsson.org>
79834         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
79836 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
79838         Fix problem with getdate on mingw32 reported by Simon Josefsson
79839         in <http://lists.gnu.org/r/bug-gnulib/2008-01/msg00192.html>.
79840         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
79841         tzname", when deciding whether to declare tzname.
79842         * lib/strftime.c (tzname): Likewise.
79844 2008-01-15  Bruno Haible  <bruno@clisp.org>
79846         Work around a MacOS X 10.5 bug in frexpl().
79847         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
79848         * doc/functions/frexpl.texi: Document the bug.
79849         Reported by Elias Pipping <pipping@gentoo.org>.
79851 2008-01-14  Eric Blake  <ebb9@byu.net>
79853         Touch up previous patch.
79854         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
79855         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
79857         Convert strcasestr module to use Two-Way algorithm.
79858         * modules/strcasestr-simple: New module, based on the old
79859         strcasestr, but with Two-Way rather than KMP.
79860         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
79861         * lib/string.in.h (rpl_strcasestr): Declare.
79862         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
79863         performance.
79864         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
79865         * modules/string (Makefile.am): Support strcasestr.
79866         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
79867         * modules/strcasestr-tests (Depends-on): Check for alarm.
79868         * tests/test-strcasestr.c: Augment test.
79869         * lib/str-two-way.h: Clean up stray macro.
79870         * NEWS: Document new module.
79871         * MODULES.html.sh (string handling): Likewise.
79872         * doc/functions/strcasestr.texi: New file.
79873         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
79874         here, since it is not a POSIX function.
79876 2008-01-14  Colin Watson  <cjwatson@debian.org>
79877             Bruno Haible  <bruno@clisp.org>
79879         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
79880         works fine; if not, set REPLACE_STRSIGNAL.
79881         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
79882         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
79883         REPLACE_STRSIGNAL.
79884         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
79885         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
79886         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
79888 2008-01-14  Bruno Haible  <bruno@clisp.org>
79890         * modules/strsignal (Include): Change to <string.h>.
79892 2008-01-14  Colin Watson  <cjwatson@debian.org>
79894         * modules/argp (Notice): Add a notice recommending to change
79895         XGETTEXT_OPTIONS.
79896         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
79898 2008-01-13  Colin Watson  <cjwatson@debian.org>
79900         * modules/strsignal-tests: New file.
79901         * tests/test-strsignal.c: New file.
79903         * lib/strsignal.c: New file, from glibc with modifications.
79904         * lib/siglist.h: New file, from glibc with modifications.
79905         * lib/string.in.h (strsignal): New declaration.
79906         * m4/strsignal.m4: New file.
79907         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
79908         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
79909         * modules/strsignal: New file.
79910         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
79911         HAVE_DECL_STRSIGNAL.
79913 2008-01-13  Bruno Haible  <bruno@clisp.org>
79915         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
79916         locale encoding is not ASCII. Needed for OpenBSD 4.0.
79917         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
79918         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
79920 2008-01-13  Bruno Haible  <bruno@clisp.org>
79922         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
79923         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
79924         * lib/argp.h (__attribute__): Likewise.
79925         * lib/c-stack.c (__attribute__): Likewise.
79926         * lib/error.h (__attribute__): Likewise.
79927         * lib/fts.c (__attribute__): Likewise.
79928         * lib/openat.h (__attribute__): Likewise.
79929         * lib/stdio.in.h (__attribute__): Likewise.
79930         * lib/string.in.h (__attribute__): Likewise.
79931         * lib/utimens.c (__attribute__): Likewise.
79932         * lib/vasnprintf.h (__attribute__): Likewise.
79933         * lib/xalloc.h (__attribute__): Likewise.
79934         * lib/xprintf.h (__attribute__): Likewise.
79935         * lib/xstrtol.h (__attribute__): Likewise.
79936         * lib/xvasprintf.h (__attribute__): Likewise.
79938 2008-01-12  Bruno Haible  <bruno@clisp.org>
79940         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
79941         * doc/glibc-headers/a.out.texi: New file.
79942         * doc/glibc-headers/aliases.texi: New file.
79943         * doc/glibc-headers/alloca.texi: New file.
79944         * doc/glibc-headers/ar.texi: New file.
79945         * doc/glibc-headers/argp.texi: New file.
79946         * doc/glibc-headers/argz.texi: New file.
79947         * doc/glibc-headers/byteswap.texi: New file.
79948         * doc/glibc-headers/crypt.texi: New file.
79949         * doc/glibc-headers/endian.texi: New file.
79950         * doc/glibc-headers/envz.texi: New file.
79951         * doc/glibc-headers/err.texi: New file.
79952         * doc/glibc-headers/error.texi: New file.
79953         * doc/glibc-headers/execinfo.texi: New file.
79954         * doc/glibc-headers/fpu_control.texi: New file.
79955         * doc/glibc-headers/fstab.texi: New file.
79956         * doc/glibc-headers/fts.texi: New file.
79957         * doc/glibc-headers/getopt.texi: New file.
79958         * doc/glibc-headers/ieee754.texi: New file.
79959         * doc/glibc-headers/ifaddrs.texi: New file.
79960         * doc/glibc-headers/libintl.texi: New file.
79961         * doc/glibc-headers/mcheck.texi: New file.
79962         * doc/glibc-headers/mntent.texi: New file.
79963         * doc/glibc-headers/obstack.texi: New file.
79964         * doc/glibc-headers/paths.texi: New file.
79965         * doc/glibc-headers/printf.texi: New file.
79966         * doc/glibc-headers/pty.texi: New file.
79967         * doc/glibc-headers/resolv.texi: New file.
79968         * doc/glibc-headers/shadow.texi: New file.
79969         * doc/glibc-headers/sysexits.texi: New file.
79970         * doc/glibc-headers/ttyent.texi: New file.
79972 2008-01-12  Jim Meyering  <meyering@redhat.com>
79974         announce-gen: emit Gnulib's git-based version string.
79975         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
79976         New option --gnulib-version=V, where V is expected to be
79977         the output of running git describe in the gnulib directory.
79978         (get_tool_versions): Request feedback on xdelta.  I suspect it's
79979         not useful, and plan to stop publishing an xdelta file with each
79980         coreutils release.
79982         * build-aux/announce-gen: Also check for lzma-compressed files.
79984 2008-01-11  Bruno Haible  <bruno@clisp.org>
79986         * tests/test-memmem.c (main): Increase maximum allowed time.
79987         * tests/test-strstr.c (main): Likewise.
79989 2008-01-11  Bruno Haible  <bruno@clisp.org>
79991         * doc/functions/memmem.texi: Add more precisions about platforms.
79992         * doc/functions/strstr.texi: Likewise.
79994 2008-01-10  Eric Blake  <ebb9@byu.net>
79996         * m4/strstr.m4: Delete cruft from copy-n-paste.
79997         Reported by Bruno Haible.
79999 2008-01-10  Bruno Haible  <bruno@clisp.org>
80001         Make c-strstr rely on strstr.
80002         * lib/c-strstr.c: Don't include str-kmp.h.
80003         (c_strstr): Define in terms of strstr.
80004         * modules/c-strstr (Files): Remove lib/str-kmp.h.
80005         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
80007 2008-01-10  Bruno Haible  <bruno@clisp.org>
80009         * doc/gnulib.texi (String Functions in C Locale): New section.
80010         * doc/c-ctype.texi: New file.
80011         * doc/c-strcase.texi: New file.
80012         * doc/c-strcaseeq.texi: New file.
80013         * doc/c-strcasestr.texi: New file.
80014         * doc/c-strstr.texi: New file.
80015         * doc/c-strtod.texi: New file.
80016         * doc/c-strtold.texi: New file.
80018 2008-01-10  Eric Blake  <ebb9@byu.net>
80020         * lib/relocatable.h: Fix a comment.
80022 2008-01-10  Eric Blake  <ebb9@byu.net>
80024         Share two-way algorithm.
80025         * lib/str-two-way.h: New file, merged from...
80026         * lib/memmem.c: ...here...
80027         * lib/strstr.c: ...and here.
80028         * modules/memmem (Files): Use it.
80029         * modules/strstr (Files): Likewise.
80031         Avoid quadratic strstr implementations.
80032         * lib/strstr.c: New file.
80033         * m4/strstr.m4: Likewise.
80034         * modules/strstr: Likewise.
80035         * modules/strstr-tests: Likewise.
80036         * tests/test-strstr.c: Likewise.
80037         * lib/string.in.h (rpl_strstr): Declare.
80038         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
80039         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
80040         * modules/string (Makefile.am): Likewise.
80041         * MODULES.html.sh (string handling): Mention new module.
80042         * doc/functions/strstr.texi (strstr): Document the bug.
80044 2008-01-10  Bruno Haible  <bruno@clisp.org>
80046         * lib/relocatable.h (relocate): State whether result is freshly
80047         allocated or not.
80048         * lib/relocatable.c (relocate): Return a freshly allocated string
80049         instead of a pointer to a privately held string.
80050         Reported by Sylvain Beucler <beuc@gnu.org>.
80052 2008-01-10  Colin Watson  <cjwatson@debian.org>
80054         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
80055         s/S_ISNLK/S_ISLNK/.
80057 2008-01-09  Bruno Haible  <bruno@clisp.org>
80059         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
80060         and other files.
80061         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
80062         if it's only a guess.
80063         * modules/memmem: Simplify by depending on memmem-simple.
80065 2008-01-09  Bruno Haible  <bruno@clisp.org>
80067         Work around OpenBSD 4.0 tdelete() bug.
80068         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
80069         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
80070         macros and don't redefine the enum values.
80071         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
80072         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
80073         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
80075 2008-01-09  Bruno Haible  <bruno@clisp.org>
80077         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
80078         (main): Don't perform the tests if setlocale did not install a UTF-8
80079         locale. Needed on OpenBSD 4.0.
80080         * modules/wcwidth-tests (Depends-on): Add localcharset.
80082 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
80084         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
80085         See <http://lists.gnu.org/r/bug-gnulib/2007-12/msg00149.html>.
80086         * NEWS: announce this.
80087         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
80089 2008-01-09  Simon Josefsson  <simon@josefsson.org>
80090         and Eric Blake  <ebb9@byu.net>
80092         Add memmem-simple module.
80093         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
80094         (gl_FUNC_MEMMEM): Separate performance from presence checks.
80095         * modules/memmem-simple: New file.
80096         * modules/memmem (Description): Tweak.
80097         * MODULES.html.sh (string handling): Mention new module.
80098         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
80099         addressed by memmem-simple.
80100         * NEWS: Document the difference.
80102 2008-01-09  Eric Blake  <ebb9@byu.net>
80104         Give gcc some memmem optimization hints.
80105         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
80106         (strcasestr): Declare as pure.
80107         * modules/memmem (Maintainer): Claim my implementation.
80109 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
80111         Support AIX 6.1 and higher.
80112         * build-aux/config.libpath: Likewise.
80113         * build-aux/config.rpath: Likewise.
80115 2008-01-08  Jim Meyering  <meyering@redhat.com>
80116             Bruno Haible  <bruno@clisp.org>
80118         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
80119         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
80120         Reported by Peter Fales in
80121         <http://lists.gnu.org/r/bug-coreutils/2007-12/msg00148.html>.
80123 2008-01-08  Bruno Haible  <bruno@clisp.org>
80125         * modules/unictype/category-of (Depends-on): Add
80126         unictype/category-none.
80127         * modules/unictype/category-and-tests (Depends-on): Add
80128         unictype/category-{L,N,Lu,Nd}.
80129         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
80130         * modules/unictype/category-or-tests (Depends-on): Add
80131         unictype/category-{L,N}.
80132         * modules/unictype/category-name-tests (Depends-on): Add
80133         unictype/category-{Z,Nl}.
80134         Reported by Simon Josefsson.
80136 2008-01-08  Bruno Haible  <bruno@clisp.org>
80138         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
80139         convention better.
80140         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
80141         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
80142         Reported by Peter Miller <millerp@canb.auug.org.au>.
80144 2008-01-08  Eric Blake  <ebb9@byu.net>
80146         Rewrite memmem to guarantee linear complexity without malloc.
80147         * lib/memmem.c (memmem): Use Two-Way rather than
80148         Knuth-Morris-Pratt, to allow O(1) space usage.
80149         (critical_factorization, two_way_short_needle)
80150         (two_way_long_needle): New functions.
80151         (knuth_morris_pratt): Delete.
80152         * modules/memmem (Depends-on): No longer need malloca or stdbool.
80153         Add stdint.
80154         * tests/test-memmem.c (main): Add tests for periodic needle and
80155         sublinear performance.
80156         * doc/functions/memmem.texi (memmem): Document other deficiencies
80157         in cygwin and older glibc.
80159 2008-01-08  Bruno Haible  <bruno@clisp.org>
80161         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
80162         augmentation.
80164 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
80166         Add a configure time option: --disable-acl.
80167         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
80168         AC_ARG_ENABLE(acl).
80170 2008-01-06  Simon Josefsson  <simon@josefsson.org>
80172         * tests/test-localename.c: Don't include obsolete "setenv.h".
80174         * modules/localename-tests (Depends-on): Need unsetenv.
80176 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
80178         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
80180 2008-01-06  Colin Watson  <cjwatson@debian.org>
80182         * users.txt: Add man-db.
80184 2008-01-07  Bruno Haible  <bruno@clisp.org>
80186         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
80187         previous section name.
80189 2008-01-07  Bruno Haible  <bruno@clisp.org>
80191         * lib/progname.c (set_program_name): Don't strip off a leading
80192         "lt-" prefix outside a .libs directory.
80193         Suggested by Paul Eggert.
80195 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
80196             Bruno Haible  <bruno@clisp.org>
80198         Improve memory cleanup in 'relocatable' module.
80199         * lib/relocatable.h (compute_curr_prefix): Change return type to
80200         'char *'.
80201         * lib/relocatable.c (compute_curr_prefix): Change return type to
80202         'char *'. Free curr_installdir after use.
80203         (relocate): Free curr_prefix_better after use.
80204         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
80206 2008-01-01  Bruno Haible  <bruno@clisp.org>
80208         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
80209         failure on older glibc systems.
80210         Reported by Peter Fales <psfales@alcatel-lucent.com>.
80212 2008-01-05  Eric Blake  <ebb9@byu.net>
80214         Avoid quadratic system memmem.
80215         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
80216         Reported by Ralf Wildenhues.
80218         Fix memmem test for mingw.
80219         * modules/memmem-tests (configure.ac): Check for alarm.
80220         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
80221         it.
80222         * doc/functions/memmem.texi: New file.
80223         * doc/gnulib.texi (Function Substitutes): Add memmem.
80224         Reported by Bruno Haible.
80226 2008-01-04  Bruno Haible  <bruno@clisp.org>
80228         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
80229         Require gl_HEADER_STRINGS_H_DEFAULTS, not
80230         gl_HEADER_STRING_H_DEFAULTS.
80232 2008-01-04  Eric Blake  <ebb9@byu.net>
80234         Shorten duration of memmem test.
80235         * tests/test-memmem.c (main): Use alarm to declare failure if test
80236         is taking too long.
80237         Reported by Ralf Wildenhues.
80239 2007-12-21  Simon Josefsson  <simon@josefsson.org>
80241         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
80242         string, needed by strerror.
80244 2008-01-03  Colin Watson  <cjwatson@debian.org>
80245             Bruno Haible  <bruno@clisp.org>
80247         * doc/gnulib-tool.texi (Localization): New section.
80249 2008-01-02  Bruno Haible  <bruno@clisp.org>
80251         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
80252         variables to 'unsigned char *' type.
80253         Reported by Paul Eggert.
80255 2008-01-02  Jim Meyering  <jim@meyering.net>
80257         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
80259 2007-12-31  Jim Meyering  <jim@meyering.net>
80261         Avoid use of private FTS type name.
80262         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
80264 2007-12-30  Karl Berry  <karl@gnu.org>
80266         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
80267         work around defect in Texinfo and/or the standalone Info browser.
80269 2007-12-30  Bruno Haible  <bruno@clisp.org>
80271         Unify 5 copies of the KMP code.
80272         * lib/str-kmp.h: New file.
80273         * lib/c-strcasestr.c: Include str-kmp.h.
80274         (knuth_morris_pratt): Remove function.
80275         (c_strcasestr): Update.
80276         * lib/c-strstr.c: Include str-kmp.h.
80277         (knuth_morris_pratt): Remove function.
80278         (c_strcasestr): Update.
80279         * lib/mbscasestr.c: Include str-kmp.h.
80280         (knuth_morris_pratt_unibyte): Remove function.
80281         * lib/mbsstr.c: Include str-kmp.h.
80282         (knuth_morris_pratt_unibyte): Remove function.
80283         * lib/strcasestr.c: Include str-kmp.h.
80284         (knuth_morris_pratt): Remove function.
80285         (strcasestr): Update.
80286         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
80287         * modules/c-strstr (Files): Likewise.
80288         * modules/mbscasestr (Files): Likewise.
80289         * modules/mbsstr (Files): Likewise.
80290         * modules/strcasestr (Files): Likewise.
80291         Suggested by Paul Eggert.
80293 2007-12-30  Bruno Haible  <bruno@clisp.org>
80295         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
80296         defined.
80298 2007-12-30  Bruno Haible  <bruno@clisp.org>
80300         * lib/xmalloca.h: Include xalloc.h.
80301         (xnmalloca): New macro.
80303 2007-12-30  Bruno Haible  <bruno@clisp.org>
80305         * lib/malloca.h (nmalloca): New macro.
80306         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
80307         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
80308         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
80309         knuth_morris_pratt_multibyte): Likewise.
80310         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
80311         knuth_morris_pratt_multibyte): Likewise.
80312         * lib/memmem.c (knuth_morris_pratt): Likewise.
80313         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
80315 2007-12-25  Bruno Haible  <bruno@clisp.org>
80317         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
80318         * lib/glob.c: Don't include openat.h.
80319         (link_exists2_p): Add back the code that deals with the
80320         !GLOB_ALTDIRFUNC case.
80321         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
80322         let it do the filename concatenation.
80323         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
80324         * modules/glob (Depends-on): Remove openat.
80326 2007-12-31  Bruno Haible  <bruno@clisp.org>
80328         * modules/dirfd (License): Change to LGPLv2+.
80329         Approved by Jim Meyering.
80331 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
80333         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
80334         when multiplying M by sizeof (size_t).
80336 2007-12-10  Martin Lambers  <marlam@marlam.de>
80338         Override getpagesize on mingw.
80339         * lib/getpagesize.c: New file.
80340         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
80341         * modules/getpagesize (Files): Add lib/getpagesize.c.
80342         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
80343         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
80344         REPLACE_GETPAGESIZE.
80345         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
80347 2007-12-25  Bruno Haible  <bruno@clisp.org>
80349         * modules/localcharset (Notice): New field.
80350         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
80351         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
80353 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
80354             Bruno Haible  <bruno@clisp.org>
80356         Avoid using the syntax symbol() in formatted documentation.
80357         * MODULES.html.sh (func_module): When replacing symbol() with a
80358         hyperlink, remove the parentheses. Show an error if some remain.
80359         Recognize and render the '...' syntax.
80360         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
80361         Rework. Add paragraph about GCC's inlining.
80362         * doc/alloca.texi: Likewise.
80363         * doc/error.texi: Remove parentheses from symbol reference.
80364         * doc/gnulib-intro.texi: Likewise.
80365         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
80366         * modules/fnmatch (Description): Reword to say "the ... function".
80367         * modules/full-read (Description): Likewise.
80368         * modules/full-write (Description): Likewise.
80369         * modules/safe-read (Description): Likewise.
80370         * modules/safe-write (Description): Likewise.
80371         * modules/strchrnul (Description): Likewise.
80372         * modules/trim (Description): Likewise.
80373         * modules/error (Description): Remove parentheses from symbol
80374         references.
80375         * modules/verror (Description): Likewise.
80376         Reported by Karl Berry.
80378 2007-12-25  Bruno Haible  <bruno@clisp.org>
80380         Fixup after 2007-10-16 commit.
80381         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
80383 2007-12-24  Bruno Haible  <bruno@clisp.org>
80385         Make --enable-relocatable work with DESTDIR.
80386         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
80387         to compute installdir from destprog.
80388         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
80389         also set the RELOC_DESTDIR variable.
80390         Reported by Левашев Иван <octagram@bluebottle.com>.
80392 2007-12-24  Bruno Haible  <bruno@clisp.org>
80394         Fix link error due to xalloc_die().
80395         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
80396         of xreadlink.
80397         * lib/relocwrapper.c: Update comments.
80398         * build-aux/install-reloc: Remove xreadlink.c from file list.
80399         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
80400         xreadlink.c.
80401         Reported by Левашев Иван <octagram@bluebottle.com>.
80403 2007-12-24  Bruno Haible  <bruno@clisp.org>
80405         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
80406         * lib/setenv.h: Remove file.
80407         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
80408         lib/setenv.h.
80409         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
80410         (Depends-on): Add stdlib.
80411         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
80412         gl_FUNC_UNSETENV.
80413         (Include): Replace setenv.h with <stdlib.h>.
80414         * modules/unsetenv: New file.
80415         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
80416         * lib/unsetenv.c: Include <stdlib.h> first.
80417         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
80418         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
80419         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
80420         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
80421         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
80422         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
80423         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
80424         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
80425         * doc/functions/unsetenv.texi: Update.
80426         * modules/xsetenv (Depends-on): Add unsetenv.
80427         * modules/getdate (Depends-on): Likewise.
80428         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
80429         * lib/xsetenv.c: Don't include setenv.h.
80430         * lib/getdate.y: Likewise.
80431         * lib/relocwrapper.c: Likewise.
80432         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
80433         (Depends-on): Add stdlib.
80434         * NEWS: Mention the changes.
80435         Reported by Левашев Иван <octagram@bluebottle.com>.
80437 2007-12-23  Bruno Haible  <bruno@clisp.org>
80439         * lib/memmem.c (memmem): Use lowercase variable names. Tab
80440         indentation.
80442 2007-12-23  Bruno Haible  <bruno@clisp.org>
80444         * lib/c-strcasestr.c: Add more comments.
80445         * lib/c-strstr.c: Likewise.
80446         * lib/mbscasestr.c: Likewise.
80447         * lib/mbsstr.c: Likewise.
80448         * lib/strcasestr.c: Likewise.
80449         * lib/memmem.c: Likewise.
80451 2007-12-23  Bruno Haible  <bruno@clisp.org>
80453         * tests/test-memmem.c: Include <string.h> first.
80455 2007-12-22  Bruno Haible  <bruno@clisp.org>
80457         * gnulib-tool (func_create_testdir): Change $auxdir while generating
80458         the contents of $testsbase.
80459         Reported by Ralf Wildenhues.
80461 2007-12-22  Bruno Haible  <bruno@clisp.org>
80463         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
80464         two variables local_ldadd_before, local_ldadd_last.
80466 2007-12-20  Eric Blake  <ebb9@byu.net>
80468         Work around circular library issue when cross-compiling.
80469         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
80470         that progname.o does not need to pull in rpl_memcmp.
80472 2007-12-19  Eric Blake  <ebb9@byu.net>
80474         Fix memmem to avoid O(n^2) worst-case complexity.
80475         * lib/memmem.c (knuth_morris_pratt): New function.
80476         (memmem): Use it if first few naive iterations fail.
80477         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
80478         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
80479         * modules/memchr (License): Likewise.
80480         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
80481         malloca.
80482         * tests/test-memmem.c: Rewrite, borrowing ideas from
80483         test-mbsstr1.c; the old version wouldn't even compile!
80484         * modules/memmem-tests: New file.
80485         * lib/string.in.h (rpl_memmem): Add declaration.
80486         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
80487         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
80488         REPLACE_MEMMEM.
80490 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
80492         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
80493         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
80494         before any system include files, and undef after them all.  This
80495         should fix a problem on VMS reported by John E. Malmberg in
80496         <http://lists.gnu.org/r/bug-gnulib/2007-12/msg00118.html>.
80498 2007-12-17  Eric Blake  <ebb9@byu.net>
80500         Revert addition of verify, for BSD/OS.
80501         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
80502         can't handle large files, for the sake of obsolete platforms.
80503         * modules/fseeko (Depends-on): Remove verify.
80504         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
80505         * doc/functions/ftello.texi (ftello): Likewise.
80506         * doc/functions/fgetpos.texi (fgetpos): Likewise.
80507         Reported by Larry Jones.
80509 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
80511         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
80512         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
80514 2007-12-17  Jim Meyering  <meyering@redhat.com>
80516         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
80517         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
80518         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
80519         * modules/getcwd (Depends-on): Add openat.
80520         Reported by Petr Salinger.
80522 2007-12-17  Bruno Haible  <bruno@clisp.org>
80524         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
80525         avoid a segmentation fault of the configure test on x86_64 systems.
80527 2007-12-15  Jim Meyering  <meyering@redhat.com>
80529         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
80531 2007-12-13  Eric Blake  <ebb9@byu.net>
80533         Another fseek test.
80534         * tests/test-fseek.c (main): Also test ungetc handling.
80535         * tests/test-fseeko.c (main): Likewise.
80536         * modules/fseeko (Depends-on): Add verify.
80537         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
80538         large.
80539         Reported by Larry Jones.
80541         Fix fseeko on mingw.
80542         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
80543         seek.
80545         Beef up fseek tests.
80546         * tests/test-fseek.c (main): Also test eof handling.
80547         * tests/test-fseeko.c (main): Likewise.
80548         Reported by Larry Jones.
80550 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
80552         Fix fseeko on BSD-based platforms.
80553         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
80554         successful seek.
80556 2007-12-12  Eric Blake  <ebb9@byu.net>
80558         Allow circular dependency of separate libtests.a
80559         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
80560         when use_libtests.
80562 2007-12-11  Eric Blake  <ebb9@byu.net>
80564         Fix bug with -0.0L in previous patch.
80565         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
80566         * tests/test-isnan.c (main): Also test on zeroes.
80567         * tests/test-isnanf.c (main): Likewise.
80568         * tests/test-isnanl.h (main): Likewise.
80570         Detect pseudo-denormals on x86 even when cross-compiling.
80571         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
80572         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
80573         invalid bit patterns that happen to satisfy ==.
80575         Avoid link failures with separate libtests.a.
80576         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
80577         last, to satisfy circular dependencies.
80579 2007-12-11  Eric Blake  <ebb9@byu.net>
80580         and Bruno Haible  <bruno@clisp.org>
80582         Fix OpenBSD 4.0 <float.h> handling of long double.
80583         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
80584         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
80585         * doc/headers/float.texi (float.h): Document OpenBSD bug.
80587 2007-12-11  Jim Meyering  <meyering@redhat.com>
80589         * users.txt: Add libvirt.
80591         Support versions of autoconf prior to 2.59c.
80592         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
80593         if it is not already defined.
80595 2007-12-09  Bruno Haible  <bruno@clisp.org>
80597         Let 'gnulib-tool --import' collect sources needed for the tests in
80598         tests/ rather than in lib/.
80599         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
80600         argument. If true, add rules to generate libtests.a, and put libtests.a
80601         into $(LDADD). Consider source files in subdirectories and set
80602         uses_subdirs.
80603         (func_emit_initmacro_start, func_emit_initmacro_end,
80604         func_emit_initmacro_done): Pass all arguments explicitly.
80605         (func_import): Determine two module lists main_modules,
80606         testsrelated_modules. Determine use_libtests. Determine two variables
80607         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
80608         instead of just sed_transform_lib_file. Determine two variables
80609         main_files and testsrelated_files. Compute 'files' as the union of
80610         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
80611         func_add_or_update. In the generated gnulib-comp.m4, collect the
80612         object files for tests/ in different variables than those for lib/.
80613         Substitute LIBTESTS_LIBDEPS.
80614         (func_create_testdir): Combine the uses_subdirs results from
80615         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
80617 2007-12-09  Bruno Haible  <bruno@clisp.org>
80619         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
80620         the build-aux directory.
80622 2007-12-09  Bruno Haible  <bruno@clisp.org>
80624         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
80625         introduced on 2006-09-09.
80627 2007-12-07  Jim Meyering  <meyering@redhat.com>
80629         Let these macros work also with autoconf-2.59.
80630         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
80631         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
80632         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
80634 2007-12-06  Jim Meyering  <meyering@redhat.com>
80636         Avoid a configure-time syntax error in gl_FUNC_ACL.
80637         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
80638         function in each branch, before testing the cache variable.
80640 2007-12-04  Eric Blake  <ebb9@byu.net>
80642         Make scripts executable.
80643         * build-aux/config.guess: Add execute permissions.
80644         * build-aux/config.sub: Likewise.
80645         * build-aux/gendocs.sh: Likewise.
80647         Fix frexp on mingw.
80648         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
80649         cross-compiling.
80650         * doc/functions/frexp.texi (frexp): Document the bug.
80652         Make cygwin fseeko check more reliable.
80653         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
80654         version numbers, rather than unrelated feature check.
80655         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
80656         * doc/functions/ftello.texi (ftello): Likewise.
80657         Reported by Bruno Haible.
80659         * m4/strerror.m4: Bump version number.
80661 2007-12-03  Bruno Haible  <bruno@clisp.org>
80663         * doc/functions/mprotect.texi: Mention the mingw problem.
80665 2007-12-03  Eric Blake  <ebb9@byu.net>
80667         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
80668         REPLACE_STRERROR is initialized before this macro.
80670 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
80672         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
80673         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
80674         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
80675         put -lsec in even for programs other than 'ls'.  This fixes a problem
80676         for gettext reported by Bruno Haible in
80677         <http://lists.gnu.org/r/bug-gnulib/2007-12/msg00007.html>.
80678         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
80679         Add support for Solaris 10.  This isn't efficient, but should get the
80680         job done for now.
80682 2007-12-03  James Youngman  <jay@gnu.org>
80684         * doc/regexprops-generic.texi: change "an close-group" to "a
80685         close-group" and "illegal" to "not allowed".
80687 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
80689         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
80690         pr_byname.h. Needed for the rare case when the maintainer has done
80691         "make maintainer-clean" in the source directory and then attempts a
80692         build outside the source directory.
80693         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
80694         scripts_byname.h.
80696 2007-12-02  Martin Lambers  <marlam@marlam.de>
80697             Bruno Haible  <bruno@clisp.org>
80699         * lib/getpagesize.h: Remove file.
80700         * lib/unistd.in.h: Include declaration of getpagesize here.
80701         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
80702         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
80703         HAVE_SYS_PARAM_H.
80704         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
80705         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
80706         * modules/getpagesize (Files): Remove lib/getpagesize.h.
80707         (Depends-on): Add unistd.
80708         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
80709         (Include): Use <unistd.h> instead of getpagesize.h.
80710         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
80711         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
80712         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
80713         gl_GETPAGESIZE invocation, already handled by module dependency.
80714         * lib/pagealign_alloc.c: Don't include getpagesize.h.
80716 2007-12-02  Bruno Haible  <bruno@clisp.org>
80718         * modules/strings-tests: New file.
80719         * tests/test-strings.c: New file.
80721         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
80722         * lib/strings.in.h: New file.
80723         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
80724         * m4/strings_h.m4: New file.
80725         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
80726         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
80727         * modules/strings: New file.
80728         * modules/string (Makefile.am): Update.
80729         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
80730         Reported by Karl Berry.
80732 2007-12-01  Eric Blake  <ebb9@byu.net>
80734         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
80735         accommodate fix in cygwin 1.5.25.
80737 2007-12-01  Jim Meyering  <meyering@redhat.com>
80739         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
80740         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
80741         that would inhibit utf8-optimization of a regexp containing line-
80742         or buffer-anchors, e.g., `^', `$'.
80744 2007-11-30  Bruno Haible  <bruno@clisp.org>
80746         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
80747         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
80748         glthread_recursive_lock_init.
80749         * lib/lock.c (glthread_recursive_lock_init)
80750         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
80751         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
80753 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
80755         New function qset_acl, like set_acl but with syscall semantics.
80756         * lib/acl.h (qset_acl): New decl.
80757         * lib/acl.c (qset_acl): New function.
80758         (set_acl): Use new function.  Use more-consistent diagnostics.
80760 2007-11-28  Jim Meyering  <meyering@redhat.com>
80762         * modules/physmem (License): Change from GPL to LGPLv2+.
80764 2007-11-26  Bruno Haible  <bruno@clisp.org>
80766         * lib/vasnprintf.c (decode_long_double): Don't abort if the
80767         'long double' type has excess precision.
80768         Reported by Jim Meyering in
80769         <http://lists.gnu.org/r/bug-gnulib/2007-11/msg00120.html>.
80771 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
80773         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
80774         Sync from <http://gnu.org/licenses>.
80775         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
80776         with license text from same location.
80777         * doc/maintain.texi, doc/standards.texi:  Sync from
80778         <http://savannah.gnu.org/projects/gnustandards>.
80780 2007-11-22  Ondřej Vašík  <ovasik@redhat.com>
80781         and Jim Meyering  <meyering@redhat.com>
80783         Adjust getdate' grammar to accept a slightly more regular language.
80784         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
80785         Before, the former was rejected.
80786         * lib/getdate.y (digits_to_date_time): New function, factored
80787         out of ...
80788         (number): ...here.  Just call digits_to_date_time.
80789         (hybrid): New non-terminal to handle an <unsigned number,
80790         signed relative offset> sequence consistently.
80792 2007-11-18  Jim Meyering  <meyering@redhat.com>
80794         Pull my changes from coreutils:
80795         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
80796         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
80797         use of $gnulib_tool_option_extras, so that it's separated from the
80798         preceding argument.
80800         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
80801         * build-aux/bootstrap (cp_mark_as_generated): Create any required
80802         parent destination directories before copying a file into place.
80804 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
80806         bootstrap: work also with 4-argument variant of AC_INIT
80807         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
80809 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
80811         Port test-getaddrinfo to Solaris.
80812         Problem reported by Bruno Haible in
80813         <http://lists.gnu.org/r/bug-gnulib/2007-03/msg00171.html>.
80814         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
80815         explanation of setting 'hints'.
80816         Don't reject an implementation merely because it returns EAI_SERVICE.
80817         (EAI_SERVICE): Define to 0 if not defined.
80819 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
80821         The license of gnu-make and posix-shell is now "GPLed build tool".
80822         * modules/gnu-make (License): Likewise.
80823         * modules/posix-shell (License): Likewise.
80825         New module posix-shell, for determining a POSIX shell
80826         or perhaps something that is close enough to a POSIX shell.
80827         * m4/posix-shell.m4: New file.
80828         * modules/posix-shell: New file.
80830         * MODULES.html.sh: Mention new module.
80832         New module gnu-make, for determining whether we're using GNU Make.
80833         * m4/gnu-make.m4: New file.
80834         * modules/gnu-make: New file.
80835         * MODULES.html.sh: Mention new module.
80837 2007-11-14  Jim Meyering  <meyering@redhat.com>
80839         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
80840         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
80841         use this macro to create a function _definition_.
80842         Remove useless "#undef ARGMATCH_DIE".
80844 2007-11-14  Bruno Haible  <bruno@clisp.org>
80846         * lib/config.charset: Update for OpenBSD 4.1.
80847         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
80849 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
80851         Document 64-bit #if problems in stdint.texi.
80852         * doc/headers/stdint.texi (stdint.h): Mention problems with
80853         64-bit-#if, and how to work around them.
80855         Don't insist on 'long long int' support in the preprocessor.  It
80856         breaks too many things.  For example, PRIdMAX still uses a 'long
80857         long int' format with the latest Sun compiler, even though
80858         HAVE_LONG_LONG_INT isn't defined due to that compiler's
80859         preprocessor problem.  This causes the latest coreutils to dump
80860         core on Solaris 10 sparc with the Sun C compiler.
80861         Instead, fix the 2007-10-16 problem in a different way, by evaluating
80862         the troublesome expressions at configure-time, not at #if-time.
80863         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
80864         preprocessor.
80865         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
80866         compile-time C checks, done at 'configure'-time.
80867         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
80868         * modules/inttypes (Makefile): Substitute the new symbols that
80869         gl_INTTYPES_H now generates.
80870         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
80872 2007-11-12  Bruno Haible  <bruno@clisp.org>
80874         Tests for Unicode character classification functions.
80876         * modules/unictype/bidicategory-byname-tests: New file.
80877         * modules/unictype/bidicategory-name-tests: New file.
80878         * modules/unictype/bidicategory-of-tests: New file.
80879         * modules/unictype/bidicategory-test-tests: New file.
80880         * modules/unictype/block-list-tests: New file.
80881         * modules/unictype/block-of-tests: New file.
80882         * modules/unictype/block-test-tests: New file.
80883         * modules/unictype/category-C-tests: New file.
80884         * modules/unictype/category-Cc-tests: New file.
80885         * modules/unictype/category-Cf-tests: New file.
80886         * modules/unictype/category-Cn-tests: New file.
80887         * modules/unictype/category-Co-tests: New file.
80888         * modules/unictype/category-Cs-tests: New file.
80889         * modules/unictype/category-L-tests: New file.
80890         * modules/unictype/category-Ll-tests: New file.
80891         * modules/unictype/category-Lm-tests: New file.
80892         * modules/unictype/category-Lo-tests: New file.
80893         * modules/unictype/category-Lt-tests: New file.
80894         * modules/unictype/category-Lu-tests: New file.
80895         * modules/unictype/category-M-tests: New file.
80896         * modules/unictype/category-Mc-tests: New file.
80897         * modules/unictype/category-Me-tests: New file.
80898         * modules/unictype/category-Mn-tests: New file.
80899         * modules/unictype/category-N-tests: New file.
80900         * modules/unictype/category-Nd-tests: New file.
80901         * modules/unictype/category-Nl-tests: New file.
80902         * modules/unictype/category-No-tests: New file.
80903         * modules/unictype/category-P-tests: New file.
80904         * modules/unictype/category-Pc-tests: New file.
80905         * modules/unictype/category-Pd-tests: New file.
80906         * modules/unictype/category-Pe-tests: New file.
80907         * modules/unictype/category-Pf-tests: New file.
80908         * modules/unictype/category-Pi-tests: New file.
80909         * modules/unictype/category-Po-tests: New file.
80910         * modules/unictype/category-Ps-tests: New file.
80911         * modules/unictype/category-S-tests: New file.
80912         * modules/unictype/category-Sc-tests: New file.
80913         * modules/unictype/category-Sk-tests: New file.
80914         * modules/unictype/category-Sm-tests: New file.
80915         * modules/unictype/category-So-tests: New file.
80916         * modules/unictype/category-Z-tests: New file.
80917         * modules/unictype/category-Zl-tests: New file.
80918         * modules/unictype/category-Zp-tests: New file.
80919         * modules/unictype/category-Zs-tests: New file.
80920         * modules/unictype/category-and-not-tests: New file.
80921         * modules/unictype/category-and-tests: New file.
80922         * modules/unictype/category-byname-tests: New file.
80923         * modules/unictype/category-name-tests: New file.
80924         * modules/unictype/category-none-tests: New file.
80925         * modules/unictype/category-of-tests: New file.
80926         * modules/unictype/category-or-tests: New file.
80927         * modules/unictype/category-test-withtable-tests: New file.
80928         * modules/unictype/combining-class-tests: New file.
80929         * modules/unictype/ctype-alnum-tests: New file.
80930         * modules/unictype/ctype-alpha-tests: New file.
80931         * modules/unictype/ctype-blank-tests: New file.
80932         * modules/unictype/ctype-cntrl-tests: New file.
80933         * modules/unictype/ctype-digit-tests: New file.
80934         * modules/unictype/ctype-graph-tests: New file.
80935         * modules/unictype/ctype-lower-tests: New file.
80936         * modules/unictype/ctype-print-tests: New file.
80937         * modules/unictype/ctype-punct-tests: New file.
80938         * modules/unictype/ctype-space-tests: New file.
80939         * modules/unictype/ctype-upper-tests: New file.
80940         * modules/unictype/ctype-xdigit-tests: New file.
80941         * modules/unictype/decimal-digit-tests: New file.
80942         * modules/unictype/digit-tests: New file.
80943         * modules/unictype/mirror-tests: New file.
80944         * modules/unictype/numeric-tests: New file.
80945         * modules/unictype/property-alphabetic-tests: New file.
80946         * modules/unictype/property-ascii-hex-digit-tests: New file.
80947         * modules/unictype/property-bidi-arabic-digit-tests: New file.
80948         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
80949         * modules/unictype/property-bidi-block-separator-tests: New file.
80950         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
80951         * modules/unictype/property-bidi-common-separator-tests: New file.
80952         * modules/unictype/property-bidi-control-tests: New file.
80953         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
80954         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
80955         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
80956         * modules/unictype/property-bidi-european-digit-tests: New file.
80957         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
80958         * modules/unictype/property-bidi-left-to-right-tests: New file.
80959         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
80960         * modules/unictype/property-bidi-other-neutral-tests: New file.
80961         * modules/unictype/property-bidi-pdf-tests: New file.
80962         * modules/unictype/property-bidi-segment-separator-tests: New file.
80963         * modules/unictype/property-bidi-whitespace-tests: New file.
80964         * modules/unictype/property-byname-tests: New file.
80965         * modules/unictype/property-combining-tests: New file.
80966         * modules/unictype/property-composite-tests: New file.
80967         * modules/unictype/property-currency-symbol-tests: New file.
80968         * modules/unictype/property-dash-tests: New file.
80969         * modules/unictype/property-decimal-digit-tests: New file.
80970         * modules/unictype/property-default-ignorable-code-point-tests: New file.
80971         * modules/unictype/property-deprecated-tests: New file.
80972         * modules/unictype/property-diacritic-tests: New file.
80973         * modules/unictype/property-extender-tests: New file.
80974         * modules/unictype/property-format-control-tests: New file.
80975         * modules/unictype/property-grapheme-base-tests: New file.
80976         * modules/unictype/property-grapheme-extend-tests: New file.
80977         * modules/unictype/property-grapheme-link-tests: New file.
80978         * modules/unictype/property-hex-digit-tests: New file.
80979         * modules/unictype/property-hyphen-tests: New file.
80980         * modules/unictype/property-id-continue-tests: New file.
80981         * modules/unictype/property-id-start-tests: New file.
80982         * modules/unictype/property-ideographic-tests: New file.
80983         * modules/unictype/property-ids-binary-operator-tests: New file.
80984         * modules/unictype/property-ids-trinary-operator-tests: New file.
80985         * modules/unictype/property-ignorable-control-tests: New file.
80986         * modules/unictype/property-iso-control-tests: New file.
80987         * modules/unictype/property-join-control-tests: New file.
80988         * modules/unictype/property-left-of-pair-tests: New file.
80989         * modules/unictype/property-line-separator-tests: New file.
80990         * modules/unictype/property-logical-order-exception-tests: New file.
80991         * modules/unictype/property-lowercase-tests: New file.
80992         * modules/unictype/property-math-tests: New file.
80993         * modules/unictype/property-non-break-tests: New file.
80994         * modules/unictype/property-not-a-character-tests: New file.
80995         * modules/unictype/property-numeric-tests: New file.
80996         * modules/unictype/property-other-alphabetic-tests: New file.
80997         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
80998         * modules/unictype/property-other-grapheme-extend-tests: New file.
80999         * modules/unictype/property-other-id-continue-tests: New file.
81000         * modules/unictype/property-other-id-start-tests: New file.
81001         * modules/unictype/property-other-lowercase-tests: New file.
81002         * modules/unictype/property-other-math-tests: New file.
81003         * modules/unictype/property-other-uppercase-tests: New file.
81004         * modules/unictype/property-paired-punctuation-tests: New file.
81005         * modules/unictype/property-paragraph-separator-tests: New file.
81006         * modules/unictype/property-pattern-syntax-tests: New file.
81007         * modules/unictype/property-pattern-white-space-tests: New file.
81008         * modules/unictype/property-private-use-tests: New file.
81009         * modules/unictype/property-punctuation-tests: New file.
81010         * modules/unictype/property-quotation-mark-tests: New file.
81011         * modules/unictype/property-radical-tests: New file.
81012         * modules/unictype/property-sentence-terminal-tests: New file.
81013         * modules/unictype/property-soft-dotted-tests: New file.
81014         * modules/unictype/property-space-tests: New file.
81015         * modules/unictype/property-terminal-punctuation-tests: New file.
81016         * modules/unictype/property-test-tests: New file.
81017         * modules/unictype/property-titlecase-tests: New file.
81018         * modules/unictype/property-unassigned-code-value-tests: New file.
81019         * modules/unictype/property-unified-ideograph-tests: New file.
81020         * modules/unictype/property-uppercase-tests: New file.
81021         * modules/unictype/property-variation-selector-tests: New file.
81022         * modules/unictype/property-white-space-tests: New file.
81023         * modules/unictype/property-xid-continue-tests: New file.
81024         * modules/unictype/property-xid-start-tests: New file.
81025         * modules/unictype/property-zero-width-tests: New file.
81026         * modules/unictype/scripts-tests: New file.
81027         * modules/unictype/syntax-c-ident-tests: New file.
81028         * modules/unictype/syntax-c-whitespace-tests: New file.
81029         * modules/unictype/syntax-java-ident-tests: New file.
81030         * modules/unictype/syntax-java-whitespace-tests: New file.
81031         * tests/unictype/test-bidi_byname.c: New file.
81032         * tests/unictype/test-bidi_name.c: New file.
81033         * tests/unictype/test-bidi_of.c: New file.
81034         * tests/unictype/test-bidi_test.c: New file.
81035         * tests/unictype/test-block_list.c: New file.
81036         * tests/unictype/test-block_of.c: New file.
81037         * tests/unictype/test-block_test.c: New file.
81038         * tests/unictype/test-categ_and.c: New file.
81039         * tests/unictype/test-categ_and_not.c: New file.
81040         * tests/unictype/test-categ_byname.c: New file.
81041         * tests/unictype/test-categ_name.c: New file.
81042         * tests/unictype/test-categ_none.c: New file.
81043         * tests/unictype/test-categ_of.c: New file.
81044         * tests/unictype/test-categ_or.c: New file.
81045         * tests/unictype/test-categ_test_withtable.c: New file.
81046         * tests/unictype/test-combining.c: New file.
81047         * tests/unictype/test-decdigit.c: New file.
81048         * tests/unictype/test-digit.c: New file.
81049         * tests/unictype/test-mirror.c: New file.
81050         * tests/unictype/test-numeric.c: New file.
81051         * tests/unictype/test-pr_byname.c: New file.
81052         * tests/unictype/test-pr_test.c: New file.
81053         * tests/unictype/test-predicate-part1.h: New file.
81054         * tests/unictype/test-predicate-part2.h: New file.
81055         * tests/unictype/test-scripts.c: New file.
81056         * tests/unictype/test-sy_c_ident.c: New file.
81057         * tests/unictype/test-sy_java_ident.c: New file.
81059         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
81060         for Unicode 5.0.0.
81061         * tests/unictype/test-categ_Cc.c: Likewise.
81062         * tests/unictype/test-categ_Cf.c: Likewise.
81063         * tests/unictype/test-categ_Cn.c: Likewise.
81064         * tests/unictype/test-categ_Co.c: Likewise.
81065         * tests/unictype/test-categ_Cs.c: Likewise.
81066         * tests/unictype/test-categ_L.c: Likewise.
81067         * tests/unictype/test-categ_Ll.c: Likewise.
81068         * tests/unictype/test-categ_Lm.c: Likewise.
81069         * tests/unictype/test-categ_Lo.c: Likewise.
81070         * tests/unictype/test-categ_Lt.c: Likewise.
81071         * tests/unictype/test-categ_Lu.c: Likewise.
81072         * tests/unictype/test-categ_M.c: Likewise.
81073         * tests/unictype/test-categ_Mc.c: Likewise.
81074         * tests/unictype/test-categ_Me.c: Likewise.
81075         * tests/unictype/test-categ_Mn.c: Likewise.
81076         * tests/unictype/test-categ_N.c: Likewise.
81077         * tests/unictype/test-categ_Nd.c: Likewise.
81078         * tests/unictype/test-categ_Nl.c: Likewise.
81079         * tests/unictype/test-categ_No.c: Likewise.
81080         * tests/unictype/test-categ_P.c: Likewise.
81081         * tests/unictype/test-categ_Pc.c: Likewise.
81082         * tests/unictype/test-categ_Pd.c: Likewise.
81083         * tests/unictype/test-categ_Pe.c: Likewise.
81084         * tests/unictype/test-categ_Pf.c: Likewise.
81085         * tests/unictype/test-categ_Pi.c: Likewise.
81086         * tests/unictype/test-categ_Po.c: Likewise.
81087         * tests/unictype/test-categ_Ps.c: Likewise.
81088         * tests/unictype/test-categ_S.c: Likewise.
81089         * tests/unictype/test-categ_Sc.c: Likewise.
81090         * tests/unictype/test-categ_Sk.c: Likewise.
81091         * tests/unictype/test-categ_Sm.c: Likewise.
81092         * tests/unictype/test-categ_So.c: Likewise.
81093         * tests/unictype/test-categ_Z.c: Likewise.
81094         * tests/unictype/test-categ_Zl.c: Likewise.
81095         * tests/unictype/test-categ_Zp.c: Likewise.
81096         * tests/unictype/test-categ_Zs.c: Likewise.
81097         * tests/unictype/test-ctype_alnum.c: Likewise.
81098         * tests/unictype/test-ctype_alpha.c: Likewise.
81099         * tests/unictype/test-ctype_blank.c: Likewise.
81100         * tests/unictype/test-ctype_cntrl.c: Likewise.
81101         * tests/unictype/test-ctype_digit.c: Likewise.
81102         * tests/unictype/test-ctype_graph.c: Likewise.
81103         * tests/unictype/test-ctype_lower.c: Likewise.
81104         * tests/unictype/test-ctype_print.c: Likewise.
81105         * tests/unictype/test-ctype_punct.c: Likewise.
81106         * tests/unictype/test-ctype_space.c: Likewise.
81107         * tests/unictype/test-ctype_upper.c: Likewise.
81108         * tests/unictype/test-ctype_xdigit.c: Likewise.
81109         * tests/unictype/test-decdigit.h: Likewise.
81110         * tests/unictype/test-digit.h: Likewise.
81111         * tests/unictype/test-numeric.h: Likewise.
81112         * tests/unictype/test-pr_alphabetic.c: Likewise.
81113         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
81114         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
81115         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
81116         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
81117         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
81118         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
81119         * tests/unictype/test-pr_bidi_control.c: Likewise.
81120         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
81121         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
81122         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
81123         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
81124         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
81125         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
81126         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
81127         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
81128         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
81129         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
81130         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
81131         * tests/unictype/test-pr_combining.c: Likewise.
81132         * tests/unictype/test-pr_composite.c: Likewise.
81133         * tests/unictype/test-pr_currency_symbol.c: Likewise.
81134         * tests/unictype/test-pr_dash.c: Likewise.
81135         * tests/unictype/test-pr_decimal_digit.c: Likewise.
81136         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
81137         * tests/unictype/test-pr_deprecated.c: Likewise.
81138         * tests/unictype/test-pr_diacritic.c: Likewise.
81139         * tests/unictype/test-pr_extender.c: Likewise.
81140         * tests/unictype/test-pr_format_control.c: Likewise.
81141         * tests/unictype/test-pr_grapheme_base.c: Likewise.
81142         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
81143         * tests/unictype/test-pr_grapheme_link.c: Likewise.
81144         * tests/unictype/test-pr_hex_digit.c: Likewise.
81145         * tests/unictype/test-pr_hyphen.c: Likewise.
81146         * tests/unictype/test-pr_id_continue.c: Likewise.
81147         * tests/unictype/test-pr_id_start.c: Likewise.
81148         * tests/unictype/test-pr_ideographic.c: Likewise.
81149         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
81150         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
81151         * tests/unictype/test-pr_ignorable_control.c: Likewise.
81152         * tests/unictype/test-pr_iso_control.c: Likewise.
81153         * tests/unictype/test-pr_join_control.c: Likewise.
81154         * tests/unictype/test-pr_left_of_pair.c: Likewise.
81155         * tests/unictype/test-pr_line_separator.c: Likewise.
81156         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
81157         * tests/unictype/test-pr_lowercase.c: Likewise.
81158         * tests/unictype/test-pr_math.c: Likewise.
81159         * tests/unictype/test-pr_non_break.c: Likewise.
81160         * tests/unictype/test-pr_not_a_character.c: Likewise.
81161         * tests/unictype/test-pr_numeric.c: Likewise.
81162         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
81163         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
81164         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
81165         * tests/unictype/test-pr_other_id_continue.c: Likewise.
81166         * tests/unictype/test-pr_other_id_start.c: Likewise.
81167         * tests/unictype/test-pr_other_lowercase.c: Likewise.
81168         * tests/unictype/test-pr_other_math.c: Likewise.
81169         * tests/unictype/test-pr_other_uppercase.c: Likewise.
81170         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
81171         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
81172         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
81173         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
81174         * tests/unictype/test-pr_private_use.c: Likewise.
81175         * tests/unictype/test-pr_punctuation.c: Likewise.
81176         * tests/unictype/test-pr_quotation_mark.c: Likewise.
81177         * tests/unictype/test-pr_radical.c: Likewise.
81178         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
81179         * tests/unictype/test-pr_soft_dotted.c: Likewise.
81180         * tests/unictype/test-pr_space.c: Likewise.
81181         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
81182         * tests/unictype/test-pr_titlecase.c: Likewise.
81183         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
81184         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
81185         * tests/unictype/test-pr_uppercase.c: Likewise.
81186         * tests/unictype/test-pr_variation_selector.c: Likewise.
81187         * tests/unictype/test-pr_white_space.c: Likewise.
81188         * tests/unictype/test-pr_xid_continue.c: Likewise.
81189         * tests/unictype/test-pr_xid_start.c: Likewise.
81190         * tests/unictype/test-pr_zero_width.c: Likewise.
81191         * tests/unictype/test-sy_c_whitespace.c: Likewise.
81192         * tests/unictype/test-sy_java_whitespace.c: Likewise.
81194 2007-11-12  Bruno Haible  <bruno@clisp.org>
81196         Unicode character classification functions.
81197         * lib/unictype.h: New file.
81198         * modules/unictype/base: New file.
81199         * modules/unictype/category-L: New file.
81200         * modules/unictype/category-Lu: New file.
81201         * modules/unictype/category-Ll: New file.
81202         * modules/unictype/category-Lt: New file.
81203         * modules/unictype/category-Lm: New file.
81204         * modules/unictype/category-Lo: New file.
81205         * modules/unictype/category-M: New file.
81206         * modules/unictype/category-Mn: New file.
81207         * modules/unictype/category-Mc: New file.
81208         * modules/unictype/category-Me: New file.
81209         * modules/unictype/category-N: New file.
81210         * modules/unictype/category-Nd: New file.
81211         * modules/unictype/category-Nl: New file.
81212         * modules/unictype/category-No: New file.
81213         * modules/unictype/category-P: New file.
81214         * modules/unictype/category-Pc: New file.
81215         * modules/unictype/category-Pd: New file.
81216         * modules/unictype/category-Ps: New file.
81217         * modules/unictype/category-Pe: New file.
81218         * modules/unictype/category-Pi: New file.
81219         * modules/unictype/category-Pf: New file.
81220         * modules/unictype/category-Po: New file.
81221         * modules/unictype/category-S: New file.
81222         * modules/unictype/category-Sm: New file.
81223         * modules/unictype/category-Sc: New file.
81224         * modules/unictype/category-Sk: New file.
81225         * modules/unictype/category-So: New file.
81226         * modules/unictype/category-Z: New file.
81227         * modules/unictype/category-Zs: New file.
81228         * modules/unictype/category-Zl: New file.
81229         * modules/unictype/category-Zp: New file.
81230         * modules/unictype/category-C: New file.
81231         * modules/unictype/category-Cc: New file.
81232         * modules/unictype/category-Cf: New file.
81233         * modules/unictype/category-Cs: New file.
81234         * modules/unictype/category-Co: New file.
81235         * modules/unictype/category-Cn: New file.
81236         * modules/unictype/category-or: New file.
81237         * modules/unictype/category-of: New file.
81238         * modules/unictype/category-test: New file.
81239         * modules/unictype/category-test-withtable: New file.
81240         * modules/unictype/category-byname: New file.
81241         * modules/unictype/category-none: New file.
81242         * modules/unictype/category-and: New file.
81243         * modules/unictype/category-and-not: New file.
81244         * modules/unictype/category-name: New file.
81245         * modules/unictype/combining-class: New file.
81246         * modules/unictype/category-all: New file.
81247         * modules/unictype/bidicategory-all: New file.
81248         * modules/unictype/bidicategory-byname: New file.
81249         * modules/unictype/bidicategory-name: New file.
81250         * modules/unictype/bidicategory-of: New file.
81251         * modules/unictype/bidicategory-test: New file.
81252         * modules/unictype/decimal-digit: New file.
81253         * modules/unictype/digit: New file.
81254         * modules/unictype/numeric: New file.
81255         * modules/unictype/mirror: New file.
81256         * modules/unictype/property-white-space: New file.
81257         * modules/unictype/property-alphabetic: New file.
81258         * modules/unictype/property-other-alphabetic: New file.
81259         * modules/unictype/property-not-a-character: New file.
81260         * modules/unictype/property-default-ignorable-code-point: New file.
81261         * modules/unictype/property-other-default-ignorable-code-point: New
81262         file.
81263         * modules/unictype/property-deprecated: New file.
81264         * modules/unictype/property-logical-order-exception: New file.
81265         * modules/unictype/property-variation-selector: New file.
81266         * modules/unictype/property-private-use: New file.
81267         * modules/unictype/property-unassigned-code-value: New file.
81268         * modules/unictype/property-uppercase: New file.
81269         * modules/unictype/property-other-uppercase: New file.
81270         * modules/unictype/property-lowercase: New file.
81271         * modules/unictype/property-other-lowercase: New file.
81272         * modules/unictype/property-titlecase: New file.
81273         * modules/unictype/property-soft-dotted: New file.
81274         * modules/unictype/property-id-start: New file.
81275         * modules/unictype/property-other-id-start: New file.
81276         * modules/unictype/property-id-continue: New file.
81277         * modules/unictype/property-other-id-continue: New file.
81278         * modules/unictype/property-xid-start: New file.
81279         * modules/unictype/property-xid-continue: New file.
81280         * modules/unictype/property-pattern-white-space: New file.
81281         * modules/unictype/property-pattern-syntax: New file.
81282         * modules/unictype/property-join-control: New file.
81283         * modules/unictype/property-grapheme-base: New file.
81284         * modules/unictype/property-grapheme-extend: New file.
81285         * modules/unictype/property-other-grapheme-extend: New file.
81286         * modules/unictype/property-grapheme-link: New file.
81287         * modules/unictype/property-bidi-control: New file.
81288         * modules/unictype/property-bidi-left-to-right: New file.
81289         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
81290         * modules/unictype/property-bidi-arabic-right-to-left: New file.
81291         * modules/unictype/property-bidi-european-digit: New file.
81292         * modules/unictype/property-bidi-eur-num-separator: New file.
81293         * modules/unictype/property-bidi-eur-num-terminator: New file.
81294         * modules/unictype/property-bidi-arabic-digit: New file.
81295         * modules/unictype/property-bidi-common-separator: New file.
81296         * modules/unictype/property-bidi-block-separator: New file.
81297         * modules/unictype/property-bidi-segment-separator: New file.
81298         * modules/unictype/property-bidi-whitespace: New file.
81299         * modules/unictype/property-bidi-non-spacing-mark: New file.
81300         * modules/unictype/property-bidi-boundary-neutral: New file.
81301         * modules/unictype/property-bidi-pdf: New file.
81302         * modules/unictype/property-bidi-embedding-or-override: New file.
81303         * modules/unictype/property-bidi-other-neutral: New file.
81304         * modules/unictype/property-hex-digit: New file.
81305         * modules/unictype/property-ascii-hex-digit: New file.
81306         * modules/unictype/property-ideographic: New file.
81307         * modules/unictype/property-unified-ideograph: New file.
81308         * modules/unictype/property-radical: New file.
81309         * modules/unictype/property-ids-binary-operator: New file.
81310         * modules/unictype/property-ids-trinary-operator: New file.
81311         * modules/unictype/property-zero-width: New file.
81312         * modules/unictype/property-space: New file.
81313         * modules/unictype/property-non-break: New file.
81314         * modules/unictype/property-iso-control: New file.
81315         * modules/unictype/property-format-control: New file.
81316         * modules/unictype/property-dash: New file.
81317         * modules/unictype/property-hyphen: New file.
81318         * modules/unictype/property-punctuation: New file.
81319         * modules/unictype/property-line-separator: New file.
81320         * modules/unictype/property-paragraph-separator: New file.
81321         * modules/unictype/property-quotation-mark: New file.
81322         * modules/unictype/property-sentence-terminal: New file.
81323         * modules/unictype/property-terminal-punctuation: New file.
81324         * modules/unictype/property-currency-symbol: New file.
81325         * modules/unictype/property-math: New file.
81326         * modules/unictype/property-other-math: New file.
81327         * modules/unictype/property-paired-punctuation: New file.
81328         * modules/unictype/property-left-of-pair: New file.
81329         * modules/unictype/property-combining: New file.
81330         * modules/unictype/property-composite: New file.
81331         * modules/unictype/property-decimal-digit: New file.
81332         * modules/unictype/property-numeric: New file.
81333         * modules/unictype/property-diacritic: New file.
81334         * modules/unictype/property-extender: New file.
81335         * modules/unictype/property-ignorable-control: New file.
81336         * modules/unictype/property-test: New file.
81337         * modules/unictype/property-byname: New file.
81338         * modules/unictype/property-all: New file.
81339         * modules/unictype/scripts: New file.
81340         * modules/unictype/scripts-all: New file.
81341         * modules/unictype/block-of: New file.
81342         * modules/unictype/block-test: New file.
81343         * modules/unictype/block-list: New file.
81344         * modules/unictype/block-all: New file.
81345         * modules/unictype/syntax-c-whitespace: New file.
81346         * modules/unictype/syntax-java-whitespace: New file.
81347         * modules/unictype/syntax-c-ident: New file.
81348         * modules/unictype/syntax-java-ident: New file.
81349         * modules/unictype/ctype-alnum: New file.
81350         * modules/unictype/ctype-alpha: New file.
81351         * modules/unictype/ctype-cntrl: New file.
81352         * modules/unictype/ctype-digit: New file.
81353         * modules/unictype/ctype-graph: New file.
81354         * modules/unictype/ctype-lower: New file.
81355         * modules/unictype/ctype-print: New file.
81356         * modules/unictype/ctype-punct: New file.
81357         * modules/unictype/ctype-space: New file.
81358         * modules/unictype/ctype-upper: New file.
81359         * modules/unictype/ctype-xdigit: New file.
81360         * modules/unictype/ctype-blank: New file.
81361         * lib/unictype/bidi_byname.c: New file.
81362         * lib/unictype/bidi_name.c: New file.
81363         * lib/unictype/bidi_of.c: New file.
81364         * lib/unictype/bidi_test.c: New file.
81365         * lib/unictype/bitmap.h: New file.
81366         * lib/unictype/block_test.c: New file.
81367         * lib/unictype/blocks.c: New file.
81368         * lib/unictype/categ_C.c: New file.
81369         * lib/unictype/categ_Cc.c: New file.
81370         * lib/unictype/categ_Cf.c: New file.
81371         * lib/unictype/categ_Cn.c: New file.
81372         * lib/unictype/categ_Co.c: New file.
81373         * lib/unictype/categ_Cs.c: New file.
81374         * lib/unictype/categ_L.c: New file.
81375         * lib/unictype/categ_Ll.c: New file.
81376         * lib/unictype/categ_Lm.c: New file.
81377         * lib/unictype/categ_Lo.c: New file.
81378         * lib/unictype/categ_Lt.c: New file.
81379         * lib/unictype/categ_Lu.c: New file.
81380         * lib/unictype/categ_M.c: New file.
81381         * lib/unictype/categ_Mc.c: New file.
81382         * lib/unictype/categ_Me.c: New file.
81383         * lib/unictype/categ_Mn.c: New file.
81384         * lib/unictype/categ_N.c: New file.
81385         * lib/unictype/categ_Nd.c: New file.
81386         * lib/unictype/categ_Nl.c: New file.
81387         * lib/unictype/categ_No.c: New file.
81388         * lib/unictype/categ_P.c: New file.
81389         * lib/unictype/categ_Pc.c: New file.
81390         * lib/unictype/categ_Pd.c: New file.
81391         * lib/unictype/categ_Pe.c: New file.
81392         * lib/unictype/categ_Pf.c: New file.
81393         * lib/unictype/categ_Pi.c: New file.
81394         * lib/unictype/categ_Po.c: New file.
81395         * lib/unictype/categ_Ps.c: New file.
81396         * lib/unictype/categ_S.c: New file.
81397         * lib/unictype/categ_Sc.c: New file.
81398         * lib/unictype/categ_Sk.c: New file.
81399         * lib/unictype/categ_Sm.c: New file.
81400         * lib/unictype/categ_So.c: New file.
81401         * lib/unictype/categ_Z.c: New file.
81402         * lib/unictype/categ_Zl.c: New file.
81403         * lib/unictype/categ_Zp.c: New file.
81404         * lib/unictype/categ_Zs.c: New file.
81405         * lib/unictype/categ_and.c: New file.
81406         * lib/unictype/categ_and_not.c: New file.
81407         * lib/unictype/categ_byname.c: New file.
81408         * lib/unictype/categ_name.c: New file.
81409         * lib/unictype/categ_none.c: New file.
81410         * lib/unictype/categ_of.c: New file.
81411         * lib/unictype/categ_or.c: New file.
81412         * lib/unictype/categ_test.c: New file.
81413         * lib/unictype/combining.c: New file.
81414         * lib/unictype/ctype_alnum.c: New file.
81415         * lib/unictype/ctype_alpha.c: New file.
81416         * lib/unictype/ctype_blank.c: New file.
81417         * lib/unictype/ctype_cntrl.c: New file.
81418         * lib/unictype/ctype_digit.c: New file.
81419         * lib/unictype/ctype_graph.c: New file.
81420         * lib/unictype/ctype_lower.c: New file.
81421         * lib/unictype/ctype_print.c: New file.
81422         * lib/unictype/ctype_punct.c: New file.
81423         * lib/unictype/ctype_space.c: New file.
81424         * lib/unictype/ctype_upper.c: New file.
81425         * lib/unictype/ctype_xdigit.c: New file.
81426         * lib/unictype/decdigit.c: New file.
81427         * lib/unictype/digit.c: New file.
81428         * lib/unictype/identsyntaxmap.h: New file.
81429         * lib/unictype/mirror.c: New file.
81430         * lib/unictype/numeric.c: New file.
81431         * lib/unictype/pr_alphabetic.c: New file.
81432         * lib/unictype/pr_ascii_hex_digit.c: New file.
81433         * lib/unictype/pr_bidi_arabic_digit.c: New file.
81434         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
81435         * lib/unictype/pr_bidi_block_separator.c: New file.
81436         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
81437         * lib/unictype/pr_bidi_common_separator.c: New file.
81438         * lib/unictype/pr_bidi_control.c: New file.
81439         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
81440         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
81441         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
81442         * lib/unictype/pr_bidi_european_digit.c: New file.
81443         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
81444         * lib/unictype/pr_bidi_left_to_right.c: New file.
81445         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
81446         * lib/unictype/pr_bidi_other_neutral.c: New file.
81447         * lib/unictype/pr_bidi_pdf.c: New file.
81448         * lib/unictype/pr_bidi_segment_separator.c: New file.
81449         * lib/unictype/pr_bidi_whitespace.c: New file.
81450         * lib/unictype/pr_byname.c: New file.
81451         * lib/unictype/pr_byname.gperf: New file.
81452         * lib/unictype/pr_combining.c: New file.
81453         * lib/unictype/pr_composite.c: New file.
81454         * lib/unictype/pr_currency_symbol.c: New file.
81455         * lib/unictype/pr_dash.c: New file.
81456         * lib/unictype/pr_decimal_digit.c: New file.
81457         * lib/unictype/pr_default_ignorable_code_point.c: New file.
81458         * lib/unictype/pr_deprecated.c: New file.
81459         * lib/unictype/pr_diacritic.c: New file.
81460         * lib/unictype/pr_extender.c: New file.
81461         * lib/unictype/pr_format_control.c: New file.
81462         * lib/unictype/pr_grapheme_base.c: New file.
81463         * lib/unictype/pr_grapheme_extend.c: New file.
81464         * lib/unictype/pr_grapheme_link.c: New file.
81465         * lib/unictype/pr_hex_digit.c: New file.
81466         * lib/unictype/pr_hyphen.c: New file.
81467         * lib/unictype/pr_id_continue.c: New file.
81468         * lib/unictype/pr_id_start.c: New file.
81469         * lib/unictype/pr_ideographic.c: New file.
81470         * lib/unictype/pr_ids_binary_operator.c: New file.
81471         * lib/unictype/pr_ids_trinary_operator.c: New file.
81472         * lib/unictype/pr_ignorable_control.c: New file.
81473         * lib/unictype/pr_iso_control.c: New file.
81474         * lib/unictype/pr_join_control.c: New file.
81475         * lib/unictype/pr_left_of_pair.c: New file.
81476         * lib/unictype/pr_line_separator.c: New file.
81477         * lib/unictype/pr_logical_order_exception.c: New file.
81478         * lib/unictype/pr_lowercase.c: New file.
81479         * lib/unictype/pr_math.c: New file.
81480         * lib/unictype/pr_non_break.c: New file.
81481         * lib/unictype/pr_not_a_character.c: New file.
81482         * lib/unictype/pr_numeric.c: New file.
81483         * lib/unictype/pr_other_alphabetic.c: New file.
81484         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
81485         * lib/unictype/pr_other_grapheme_extend.c: New file.
81486         * lib/unictype/pr_other_id_continue.c: New file.
81487         * lib/unictype/pr_other_id_start.c: New file.
81488         * lib/unictype/pr_other_lowercase.c: New file.
81489         * lib/unictype/pr_other_math.c: New file.
81490         * lib/unictype/pr_other_uppercase.c: New file.
81491         * lib/unictype/pr_paired_punctuation.c: New file.
81492         * lib/unictype/pr_paragraph_separator.c: New file.
81493         * lib/unictype/pr_pattern_syntax.c: New file.
81494         * lib/unictype/pr_pattern_white_space.c: New file.
81495         * lib/unictype/pr_private_use.c: New file.
81496         * lib/unictype/pr_punctuation.c: New file.
81497         * lib/unictype/pr_quotation_mark.c: New file.
81498         * lib/unictype/pr_radical.c: New file.
81499         * lib/unictype/pr_sentence_terminal.c: New file.
81500         * lib/unictype/pr_soft_dotted.c: New file.
81501         * lib/unictype/pr_space.c: New file.
81502         * lib/unictype/pr_terminal_punctuation.c: New file.
81503         * lib/unictype/pr_test.c: New file.
81504         * lib/unictype/pr_titlecase.c: New file.
81505         * lib/unictype/pr_unassigned_code_value.c: New file.
81506         * lib/unictype/pr_unified_ideograph.c: New file.
81507         * lib/unictype/pr_uppercase.c: New file.
81508         * lib/unictype/pr_variation_selector.c: New file.
81509         * lib/unictype/pr_white_space.c: New file.
81510         * lib/unictype/pr_xid_continue.c: New file.
81511         * lib/unictype/pr_xid_start.c: New file.
81512         * lib/unictype/pr_zero_width.c: New file.
81513         * lib/unictype/scripts.c: New file.
81514         * lib/unictype/sy_c_ident.c: New file.
81515         * lib/unictype/sy_c_whitespace.c: New file.
81516         * lib/unictype/sy_java_ident.c: New file.
81517         * lib/unictype/sy_java_whitespace.c: New file.
81519         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
81520         Unicode 5.0.0.
81521         * lib/unictype/blocks.h: Likewise.
81522         * lib/unictype/categ_C.h: Likewise.
81523         * lib/unictype/categ_Cc.h: Likewise.
81524         * lib/unictype/categ_Cf.h: Likewise.
81525         * lib/unictype/categ_Cn.h: Likewise.
81526         * lib/unictype/categ_Co.h: Likewise.
81527         * lib/unictype/categ_Cs.h: Likewise.
81528         * lib/unictype/categ_L.h: Likewise.
81529         * lib/unictype/categ_Ll.h: Likewise.
81530         * lib/unictype/categ_Lm.h: Likewise.
81531         * lib/unictype/categ_Lo.h: Likewise.
81532         * lib/unictype/categ_Lt.h: Likewise.
81533         * lib/unictype/categ_Lu.h: Likewise.
81534         * lib/unictype/categ_M.h: Likewise.
81535         * lib/unictype/categ_Mc.h: Likewise.
81536         * lib/unictype/categ_Me.h: Likewise.
81537         * lib/unictype/categ_Mn.h: Likewise.
81538         * lib/unictype/categ_N.h: Likewise.
81539         * lib/unictype/categ_Nd.h: Likewise.
81540         * lib/unictype/categ_Nl.h: Likewise.
81541         * lib/unictype/categ_No.h: Likewise.
81542         * lib/unictype/categ_P.h: Likewise.
81543         * lib/unictype/categ_Pc.h: Likewise.
81544         * lib/unictype/categ_Pd.h: Likewise.
81545         * lib/unictype/categ_Pe.h: Likewise.
81546         * lib/unictype/categ_Pf.h: Likewise.
81547         * lib/unictype/categ_Pi.h: Likewise.
81548         * lib/unictype/categ_Po.h: Likewise.
81549         * lib/unictype/categ_Ps.h: Likewise.
81550         * lib/unictype/categ_S.h: Likewise.
81551         * lib/unictype/categ_Sc.h: Likewise.
81552         * lib/unictype/categ_Sk.h: Likewise.
81553         * lib/unictype/categ_Sm.h: Likewise.
81554         * lib/unictype/categ_So.h: Likewise.
81555         * lib/unictype/categ_Z.h: Likewise.
81556         * lib/unictype/categ_Zl.h: Likewise.
81557         * lib/unictype/categ_Zp.h: Likewise.
81558         * lib/unictype/categ_Zs.h: Likewise.
81559         * lib/unictype/categ_of.h: Likewise.
81560         * lib/unictype/combining.h: Likewise.
81561         * lib/unictype/ctype_alnum.h: Likewise.
81562         * lib/unictype/ctype_alpha.h: Likewise.
81563         * lib/unictype/ctype_blank.h: Likewise.
81564         * lib/unictype/ctype_cntrl.h: Likewise.
81565         * lib/unictype/ctype_digit.h: Likewise.
81566         * lib/unictype/ctype_graph.h: Likewise.
81567         * lib/unictype/ctype_lower.h: Likewise.
81568         * lib/unictype/ctype_print.h: Likewise.
81569         * lib/unictype/ctype_punct.h: Likewise.
81570         * lib/unictype/ctype_space.h: Likewise.
81571         * lib/unictype/ctype_upper.h: Likewise.
81572         * lib/unictype/ctype_xdigit.h: Likewise.
81573         * lib/unictype/decdigit.h: Likewise.
81574         * lib/unictype/digit.h: Likewise.
81575         * lib/unictype/mirror.h: Likewise.
81576         * lib/unictype/numeric.h: Likewise.
81577         * lib/unictype/pr_alphabetic.h: Likewise.
81578         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
81579         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
81580         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
81581         * lib/unictype/pr_bidi_block_separator.h: Likewise.
81582         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
81583         * lib/unictype/pr_bidi_common_separator.h: Likewise.
81584         * lib/unictype/pr_bidi_control.h: Likewise.
81585         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
81586         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
81587         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
81588         * lib/unictype/pr_bidi_european_digit.h: Likewise.
81589         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
81590         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
81591         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
81592         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
81593         * lib/unictype/pr_bidi_pdf.h: Likewise.
81594         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
81595         * lib/unictype/pr_bidi_whitespace.h: Likewise.
81596         * lib/unictype/pr_combining.h: Likewise.
81597         * lib/unictype/pr_composite.h: Likewise.
81598         * lib/unictype/pr_currency_symbol.h: Likewise.
81599         * lib/unictype/pr_dash.h: Likewise.
81600         * lib/unictype/pr_decimal_digit.h: Likewise.
81601         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
81602         * lib/unictype/pr_deprecated.h: Likewise.
81603         * lib/unictype/pr_diacritic.h: Likewise.
81604         * lib/unictype/pr_extender.h: Likewise.
81605         * lib/unictype/pr_format_control.h: Likewise.
81606         * lib/unictype/pr_grapheme_base.h: Likewise.
81607         * lib/unictype/pr_grapheme_extend.h: Likewise.
81608         * lib/unictype/pr_grapheme_link.h: Likewise.
81609         * lib/unictype/pr_hex_digit.h: Likewise.
81610         * lib/unictype/pr_hyphen.h: Likewise.
81611         * lib/unictype/pr_id_continue.h: Likewise.
81612         * lib/unictype/pr_id_start.h: Likewise.
81613         * lib/unictype/pr_ideographic.h: Likewise.
81614         * lib/unictype/pr_ids_binary_operator.h: Likewise.
81615         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
81616         * lib/unictype/pr_ignorable_control.h: Likewise.
81617         * lib/unictype/pr_iso_control.h: Likewise.
81618         * lib/unictype/pr_join_control.h: Likewise.
81619         * lib/unictype/pr_left_of_pair.h: Likewise.
81620         * lib/unictype/pr_line_separator.h: Likewise.
81621         * lib/unictype/pr_logical_order_exception.h: Likewise.
81622         * lib/unictype/pr_lowercase.h: Likewise.
81623         * lib/unictype/pr_math.h: Likewise.
81624         * lib/unictype/pr_non_break.h: Likewise.
81625         * lib/unictype/pr_not_a_character.h: Likewise.
81626         * lib/unictype/pr_numeric.h: Likewise.
81627         * lib/unictype/pr_other_alphabetic.h: Likewise.
81628         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
81629         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
81630         * lib/unictype/pr_other_id_continue.h: Likewise.
81631         * lib/unictype/pr_other_id_start.h: Likewise.
81632         * lib/unictype/pr_other_lowercase.h: Likewise.
81633         * lib/unictype/pr_other_math.h: Likewise.
81634         * lib/unictype/pr_other_uppercase.h: Likewise.
81635         * lib/unictype/pr_paired_punctuation.h: Likewise.
81636         * lib/unictype/pr_paragraph_separator.h: Likewise.
81637         * lib/unictype/pr_pattern_syntax.h: Likewise.
81638         * lib/unictype/pr_pattern_white_space.h: Likewise.
81639         * lib/unictype/pr_private_use.h: Likewise.
81640         * lib/unictype/pr_punctuation.h: Likewise.
81641         * lib/unictype/pr_quotation_mark.h: Likewise.
81642         * lib/unictype/pr_radical.h: Likewise.
81643         * lib/unictype/pr_sentence_terminal.h: Likewise.
81644         * lib/unictype/pr_soft_dotted.h: Likewise.
81645         * lib/unictype/pr_space.h: Likewise.
81646         * lib/unictype/pr_terminal_punctuation.h: Likewise.
81647         * lib/unictype/pr_titlecase.h: Likewise.
81648         * lib/unictype/pr_unassigned_code_value.h: Likewise.
81649         * lib/unictype/pr_unified_ideograph.h: Likewise.
81650         * lib/unictype/pr_uppercase.h: Likewise.
81651         * lib/unictype/pr_variation_selector.h: Likewise.
81652         * lib/unictype/pr_white_space.h: Likewise.
81653         * lib/unictype/pr_xid_continue.h: Likewise.
81654         * lib/unictype/pr_xid_start.h: Likewise.
81655         * lib/unictype/pr_zero_width.h: Likewise.
81656         * lib/unictype/scripts.h: Likewise.
81657         * lib/unictype/scripts_byname.gperf: Likewise.
81658         * lib/unictype/sy_c_ident.h: Likewise.
81659         * lib/unictype/sy_c_whitespace.h: Likewise.
81660         * lib/unictype/sy_java_ident.h: Likewise.
81661         * lib/unictype/sy_java_whitespace.h: Likewise.
81663         * lib/unictype/Makefile: New file.
81664         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
81665         glibc.
81666         * lib/unictype/3level.h: New file, copied from glibc.
81667         * lib/unictype/3levelbit.h: New file.
81669 2007-11-11  Bruno Haible  <bruno@clisp.org>
81671         * modules/gperf: New file.
81672         * modules/iconv_open (Depends-on): Add it.
81673         (Makefile.am): Remove the GPERF definition.
81675 2007-11-11  Bruno Haible  <bruno@clisp.org>
81677         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
81678         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
81680 2007-11-11  Bruno Haible  <bruno@clisp.org>
81682         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
81683         (usage): Remove function.
81685 2007-11-11  Bruno Haible  <bruno@clisp.org>
81687         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
81688         gl_FUNC_CEILF_LIBS.
81689         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
81690         gl_FUNC_CEIL_LIBS.
81691         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
81692         gl_FUNC_CEILL_LIBS.
81693         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
81694         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
81695         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
81697 2007-11-11  Bruno Haible  <bruno@clisp.org>
81699         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
81700         roundf were declared but do not exist on functions.
81701         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
81702         roundl were declared but do not exist on functions.
81703         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
81704         HAVE_FLOORL_AND_CEILL, respectively.
81705         Needed for Sun C on Solaris 10.
81707 2007-11-11  Bruno Haible  <bruno@clisp.org>
81709         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
81710         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
81711         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
81712         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
81713         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
81714         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
81715         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
81716         HAVE_DECL_ROUNDF.
81717         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
81718         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
81719         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
81720         of HAVE_DECL_ROUND*.
81721         * modules/math (Makefile.am): Update.
81723 2007-11-10  Bruno Haible  <bruno@clisp.org>
81725         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
81726         ptrdiff_t as m4/intl.m4.
81728 2007-11-10  Jim Meyering  <meyering@redhat.com>
81730         Avoid link failure for the argmatch test.
81731         * tests/test-argmatch.c (usage): Define function to avoid a link
81732         failure: argmatch_die requires a usage function.
81734 2007-11-09  Bruno Haible  <bruno@clisp.org>
81736         * doc/functions/snprintf.texi: Mention BeOS deficiency.
81737         * doc/functions/vsnprintf.texi: Likewise.
81738         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
81739         with a size argument < 2.
81741 2007-11-09  Bruno Haible  <bruno@clisp.org>
81743         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
81744         buffer. Fixes an inefficiency introduced on 2007-11-03.
81746 2007-11-09  Bruno Haible  <bruno@clisp.org>
81748         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
81749         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
81751 2007-11-08  Jim Meyering  <meyering@redhat.com>
81753         Change cache variable name prefix "jm_" to "gl_" everywhere.
81754         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
81755         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
81756         * m4/uptime.m4: s/gl_/jm_/
81758 2007-11-07  Bruno Haible  <bruno@clisp.org>
81760         Update to GNU gettext 0.17.
81761         * m4/intl.m4: Update to GNU gettext 0.17.
81762         * m4/po.m4: Likewise.
81763         * modules/gettext (Files): Remove m4/ulonglong.m4.
81764         (configure.ac): Require gettext infrastructure from version 0.17.
81766 2007-11-06  Bruno Haible  <bruno@clisp.org>
81768         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
81769         symbolic values are not defined in a public header.
81770         * lib/freadable.c (freadable) [QNX]: Likewise.
81771         * lib/freadahead.c (freadahead) [QNX]: Likewise.
81772         * lib/freading.c (freading) [QNX]: Likewise.
81773         * lib/fseterr.c (fseterr) [QNX]: Likewise.
81774         * lib/fwritable.c (fwritable) [QNX]: Likewise.
81775         * lib/fwriting.c (fwriting) [QNX]: Likewise.
81776         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
81777         Reported by Alain Magloire.
81779         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
81781 2007-11-05  Bruno Haible  <bruno@clisp.org>
81783         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
81784         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
81785         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
81786         Reported by Eric Blake.
81788 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
81789             Bruno Haible  <bruno@clisp.org>
81791         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
81792         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
81793         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
81794         (malloc): Undefine also before including <stdlib.h>.
81795         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
81796         Needed on OSF/1 4.0.
81798 2007-11-05  Jim Meyering  <meyering@redhat.com>
81800         git-version-gen: sync from coreutils.
81801         * build-aux/git-version-gen: Add comments.
81802         Change the first '-' to '.' in the snapshot version string,
81803         e.g., 6.9-377-08144 -> 6.9.377-08144
81804         Remove first parameter.
81805         Don't declare a version "-dirty" merely because a time
81806         stamp has changed.
81808 2007-11-04  Bruno Haible  <bruno@clisp.org>
81810         * lib/lock.h: Protect all macro definitions containing an 'if'
81811         statement through a "do { ... } while (0)".
81812         * lib/tls.h: Likewise.
81814 2007-11-04  Bruno Haible  <bruno@clisp.org>
81816         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
81818 2007-11-04  Bruno Haible  <bruno@clisp.org>
81820         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
81821         * modules/fprintf-posix (Depends-on): Add nocrash.
81822         * modules/snprintf-posix (Depends-on): Likewise.
81823         * modules/sprintf-posix (Depends-on): Likewise.
81824         * modules/vasnprintf-posix (Depends-on): Likewise.
81825         * modules/vasprintf-posix (Depends-on): Likewise.
81826         * modules/vfprintf-posix (Depends-on): Likewise.
81827         * modules/vsnprintf-posix (Depends-on): Likewise.
81828         * modules/vsprintf-posix (Depends-on): Likewise.
81829         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
81830         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
81831         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
81832         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
81833         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
81834         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
81835         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
81837 2007-11-04  Bruno Haible  <bruno@clisp.org>
81839         * modules/nocrash: New file.
81840         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
81841         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
81843 2007-11-04  Bruno Haible  <bruno@clisp.org>
81845         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
81846         precision handling.
81847         * tests/test-vasprintf-posix.c (test_function): Likewise.
81848         * tests/test-snprintf-posix.h (test_function): Likewise.
81849         * tests/test-sprintf-posix.h (test_function): Likewise.
81851         Fix *printf behaviour for large precisions on mingw and BeOS.
81852         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
81853         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
81854         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
81855         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
81856         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
81857         gl_PRINTF_PRECISION and test its result. Invoke
81858         gl_PREREQ_VASNPRINTF_PRECISION.
81859         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
81860         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
81861         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
81862         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
81863         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
81864         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
81865         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
81866         * doc/functions/fprintf.texi: Update.
81867         * doc/functions/printf.texi: Update.
81868         * doc/functions/snprintf.texi: Update.
81869         * doc/functions/sprintf.texi: Update.
81870         * doc/functions/vfprintf.texi: Update.
81871         * doc/functions/vprintf.texi: Update.
81872         * doc/functions/vsnprintf.texi: Update.
81873         * doc/functions/vsprintf.texi: Update.
81875 2007-11-04  Bruno Haible  <bruno@clisp.org>
81877         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
81879 2007-11-04  Bruno Haible  <bruno@clisp.org>
81881         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
81882         Reported by Sylvain Beucler <beuc@gnu.org>.
81884 2007-11-03  Bruno Haible  <bruno@clisp.org>
81886         * tests/test-fprintf-posix2.sh: New file.
81887         * tests/test-fprintf-posix2.c: New file.
81888         * modules/fprintf-posix-tests (Files): Add them.
81889         (TESTS): Add test-fprintf-posix2.sh.
81890         (configure.ac): Check for getrlimit and setrlimit.
81891         (check_PROGRAMS): Add test-fprintf-posix2.
81893         * tests/test-printf-posix2.sh: New file.
81894         * tests/test-printf-posix2.c: New file.
81895         * modules/printf-posix-tests (Files): Add them.
81896         (TESTS): Add test-printf-posix2.sh.
81897         (configure.ac): Check for getrlimit and setrlimit.
81898         (check_PROGRAMS): Add test-printf-posix2.
81900         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
81901         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
81902         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
81903         (decode_double): New function, copied from decode_long_double.
81904         (scale10_round_decimal_decoded): New function, extracted from
81905         scale10_round_decimal_long_double.
81906         (scale10_round_decimal_long_double): Use it.
81907         (scale10_round_decimal_double): New function.
81908         (floorlog10): New function.
81909         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
81910         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
81911         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
81912         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
81913         gl_PRINTF_ENOMEM and test its result. Invoke
81914         gl_PREREQ_VASNPRINTF_ENOMEM.
81915         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
81916         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
81917         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
81918         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
81919         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
81920         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
81921         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
81922         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
81923         * modules/snprintf-posix (Depends-on): Likewise.
81924         * modules/sprintf-posix (Depends-on): Likewise.
81925         * modules/vasnprintf-posix (Depends-on): Likewise.
81926         * modules/vasprintf-posix (Depends-on): Likewise.
81927         * modules/vfprintf-posix (Depends-on): Likewise.
81928         * modules/vsnprintf-posix (Depends-on): Likewise.
81929         * modules/vsprintf-posix (Depends-on): Likewise.
81930         * doc/functions/fprintf.texi: Update.
81931         * doc/functions/printf.texi: Update.
81932         * doc/functions/snprintf.texi: Update.
81933         * doc/functions/sprintf.texi: Update.
81934         * doc/functions/vfprintf.texi: Update.
81935         * doc/functions/vprintf.texi: Update.
81936         * doc/functions/vsnprintf.texi: Update.
81937         * doc/functions/vsprintf.texi: Update.
81939 2007-11-03  Bruno Haible  <bruno@clisp.org>
81941         * modules/frexp-nolibm-tests: New file.
81943         * modules/frexp-nolibm: New file.
81944         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
81946 2007-11-03  Bruno Haible  <bruno@clisp.org>
81948         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
81949         value is C99 compliant.
81950         Needed for OSF/1 5.1.
81952 2007-11-03  Bruno Haible  <bruno@clisp.org>
81954         Fix out-of-memory handling of vasnprintf.
81955         * lib/printf-parse.c: Include <errno.h>.
81956         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
81957         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
81958         is already set.
81960 2007-11-02  Eric Blake  <ebb9@byu.net>
81962         Fix tests on cygwin.
81963         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
81965 2007-11-01  Bruno Haible  <bruno@clisp.org>
81967         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
81968         warning.
81969         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
81970         needed for POSIX compatibility.
81972 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
81974         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
81975         for compatibility with GNU.
81977 2007-11-01  Bruno Haible  <bruno@clisp.org>
81979         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
81980         (putenv): Renamed from rpl_putenv. Change argument type from
81981         'const char *' to 'char *'.
81982         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
81983         of defining putenv in config.h, just set REPLACE_PUTENV.
81984         * modules/putenv (Depends-on): Add stdlib.
81985         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
81986         (Include): Use <stdlib.h>.
81987         * lib/stdlib.in.h (putenv): New declaration.
81988         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
81989         REPLACE_PUTENV.
81990         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
81991         REPLACE_PUTENV.
81992         Needed for MacOS X 10.5.0.
81993         Reported by Peter O'Gorman <peter@pogma.com>.
81995 2007-11-01  Jim Meyering  <meyering@redhat.com>
81997         Treat an empty date string exactly like "0".
81998         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
81999         if the remaining date string (to be parsed) is empty, use "0".
82000         Reported by Mischa Molhoek and discussed in this thread:
82001         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
82003 2007-10-31  Bruno Haible  <bruno@clisp.org>
82005         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
82006         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
82007         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
82008         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
82009         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
82010         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
82012 2007-10-31  Bruno Haible  <bruno@clisp.org>
82014         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
82015         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
82016         (AC_TYPE_LONG_LONG_INT): Use it.
82017         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
82018         it as well.
82019         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
82020         to m4/longlong.m4.
82021         * modules/stdint (Files): Remove m4/ulonglong.m4.
82022         * modules/strtoull (Files): Use m4/longlong.m4 instead of
82023         m4/ulonglong.m4.
82024         * modules/strtoumax (Files): Likewise.
82026 2007-10-30  Bruno Haible  <bruno@clisp.org>
82028         * modules/xvasprintf-posix: New file.
82029         Suggested by Eric Blake.
82031 2007-10-30  Bruno Haible  <bruno@clisp.org>
82033         * modules/xprintf-posix-tests: New file.
82034         * tests/test-xprintf-posix.sh: New file.
82035         * tests/test-xprintf-posix.c: New file.
82036         * tests/test-xfprintf-posix.c: New file.
82038         * modules/xprintf-posix: New file.
82040 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
82042         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
82043         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
82044         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
82046 2007-10-29  Bruno Haible  <bruno@clisp.org>
82048         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
82049         contain the special marker '_cv_'.
82050         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
82051         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
82052         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
82053         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
82054         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
82055         Reported by Ralf Wildenhues.
82057 2007-10-29  Bruno Haible  <bruno@clisp.org>
82059         * gnulib-tool (func_import): When --lgpl is not specified, set
82060         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
82061         GPLv3.
82062         Reported by Simon Josefsson.
82064 2007-10-28  Bruno Haible  <bruno@clisp.org>
82066         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
82067         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
82068         HAVE_DECL_ISFINITE.
82069         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
82070         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
82071         HAVE_DECL_ISFINITE.
82073 2007-10-28  Bruno Haible  <bruno@clisp.org>
82075         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
82076         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
82078 2007-10-28  Bruno Haible  <bruno@clisp.org>
82080         Fix link errors with Sun C 5.0 on Solaris 10.
82081         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
82082         function is declared but not present in the compiler's libm.
82083         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
82084         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
82085         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
82086         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
82087         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
82088         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
82089         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
82090         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
82091         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
82092         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
82093         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
82094         HAVE_DECL_FLOORL.
82096 2007-10-28  Bruno Haible  <bruno@clisp.org>
82098         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
82099         gl_FUNC_FLOORL. Cache the result.
82100         (gl_FUNC_FLOORL): Use it.
82101         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
82102         gl_FUNC_CEILL. Cache the result.
82103         (gl_FUNC_CEILL): Use it.
82105         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
82106         gl_FUNC_FLOOR. Cache the result.
82107         (gl_FUNC_FLOOR): Use it.
82108         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
82109         gl_FUNC_CEIL. Cache the result.
82110         (gl_FUNC_CEIL): Use it.
82112         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
82113         gl_FUNC_FLOORF. Cache the result.
82114         (gl_FUNC_FLOORF): Use it.
82115         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
82116         gl_FUNC_CEILF. Cache the result.
82117         (gl_FUNC_CEILF): Use it.
82119 2007-10-28  Bruno Haible  <bruno@clisp.org>
82121         * gnulib-tool: Allow specifying the LGPL version number through
82122         --lgpl=2 or --lgpl=3.
82123         (func_usage): Document --lgpl with argument.
82124         Handle --lgpl=... arguments.
82125         (func_import): Recognize also gl_LGPL calls with an argument. When
82126         --lgpl=2 is used and the module's license is just LGPL, report an
82127         error. Set sed_transform_lib_file according to the lgpl variable. In
82128         the generated files, use --lgpl or gl_LGPL invocations with argument,
82129         if necessary.
82130         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
82131         an LGPv2+ license.
82132         * doc/gnulib-tool.texi (Modified imports): Update explanation of
82133         gl_LGPL macro.
82135 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
82136             Bruno Haible  <bruno@clisp.org>
82138         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
82139         (u16_uctomb_aux): Likewise.
82140         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
82141         !HAVE_INLINE.
82142         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
82144 2007-10-28  Bruno Haible  <bruno@clisp.org>
82146         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
82147         Invoke AM_GETTEXT_OPTION if it exists.
82148         * modules/vasprintf: Likewise.
82149         * modules/verror: Likewise.
82150         * modules/xprintf: Likewise.
82151         * modules/xvasprintf: Likewise.
82153 2007-10-27  Ben Pfaff  <blp@gnu.org>
82155         * lib/math.in.h: Define isfinite macro and prototypes for
82156         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
82157         implementations.
82158         * m4/math_h.m4: New substitutions for isfinite module.
82159         * lib/isfinite.c: New file.
82160         * m4/isfinite.m4: New file.
82161         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
82162         * modules/isfinite: New file.
82163         * modules/isfinite-tests: New file.
82164         * tests/tests-isfinite.c: New file.
82165         * doc/functions/isfinite.texi: Mention isfinite module.
82166         * MODULES.html.sh: Mention new module.
82168 2007-10-27  Ben Pfaff  <blp@gnu.org>
82170         Ralf Wildenhues reported that Tru64 4.0D declares the round
82171         functions but does not have definitions.
82172         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
82173         cannot be found in any library, set the output variable to
82174         "missing" instead of "".
82175         * m4/round.m4: Also use our substitute if we cannot find round in
82176         any library, even if it is declared.
82177         * m4/roundf.m4: Likewise for roundf.
82178         * m4/roundl.m4: Likewise for roundl.
82179         * lib/math.in.h: Undefine roundf, round, roundl before defining
82180         their replacements, to allow for hypothetical systems where these
82181         may be defined as macros but not available in libraries.
82183 2007-10-27  Bruno Haible  <bruno@clisp.org>
82185         * doc/gnulib.texi: Invoke @firstparagraphindent.
82186         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
82187         changes in gnulib.
82188         (Source changes): New section.
82190 2007-10-26  Bruno Haible  <bruno@clisp.org>
82192         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
82193         borrowed from autoconf.
82195 2007-10-26  Bruno Haible  <bruno@clisp.org>
82197         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
82198         strerror returned the empty string. Needed on HP-UX 11.00.
82200 2007-10-24  Micah Cowan  <micah@cowan.name>
82202         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
82203         * build-aux/bootstrap: Remove support for now-unnecessary option,
82204         --cvs-user, and envvars CVS_USER, CVS_RSH.
82206 2007-10-24  Jim Meyering  <meyering@redhat.com>
82208         Avoid diagnostics from sha1sum when there is no cached checksum.
82209         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
82210         if the po.s1 file hasn't been created yet.
82212         * build-aux/bootstrap: Sync from coreutils:
82213         2007-10-24  Jim Meyering  <meyering@redhat.com>
82214         Get gnulib from the git repository, not from an obsolete cvs one.
82215         * build-aux/bootstrap: Suggestion from Micah Cowan.
82216         2007-10-04  Jim Meyering  <jim@meyering.net>
82217         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
82218         (update_po_files): Work also when there are no .po files in po/.
82220 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
82222         * README: Append ".git" to git and cg examples.
82223         Problem reported by Benoit Sigoure.
82225 2007-10-23  Micah Cowan  <micah@cowan.name>
82227         * users.txt: Add wget.
82229 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
82231         Fix linking of some unistdio tests on FreeBSD.
82232         * modules/unistdio/u16-vsnprintf-tests
82233         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
82234         * modules/unistdio/u16-vsprintf-tests
82235         (test_u16_vsnprintf1_LDADD): Likewise.
82236         * modules/unistdio/u32-vsnprintf-tests
82237         (test_u32_vsnprintf1_LDADD): Likewise.
82238         * modules/unistdio/u32-vsprintf-tests
82239         (test_u32_vsprintf1_LDADD): Likewise.
82240         * modules/unistdio/u8-vsnprintf-tests
82241         (test_u8_vsnprintf1_LDADD): Likewise.
82242         * modules/unistdio/u8-vsprintf-tests
82243         (test_u8_vsprintf1_LDADD): Likewise.
82244         * modules/unistdio/ulc-vsnprintf-tests
82245         (test_ulc_vsnprintf1_LDADD): Likewise.
82246         * modules/unistdio/ulc-vsprintf-tests
82247         (test_ulc_vsprintf1_LDADD): Likewise.
82249         Fix linking of some uniconv tests on FreeBSD.
82250         * modules/uniconv/u16-conv-from-enc-tests
82251         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
82252         * modules/uniconv/u16-conv-to-enc-tests
82253         (test_u16_conv_to_enc_LDADD): Likewise.
82254         * modules/uniconv/u16-strconv-from-enc-tests
82255         (test_u16_strconv_from_enc_LDADD): Likewise.
82256         * modules/uniconv/u16-strconv-to-enc-tests
82257         (test_u16_strconv_to_enc_LDADD): Likewise.
82258         * modules/uniconv/u32-conv-from-enc-tests
82259         (test_u32_conv_from_enc_LDADD): Likewise.
82260         * modules/uniconv/u32-conv-to-enc-tests
82261         (test_u32_conv_to_enc_LDADD): Likewise.
82262         * modules/uniconv/u32-strconv-from-enc-tests
82263         (test_u32_strconv_from_enc_LDADD): Likewise.
82264         * modules/uniconv/u32-strconv-to-enc-tests
82265         (test_u32_strconv_to_enc_LDADD): Likewise.
82266         * modules/uniconv/u8-conv-from-enc-tests
82267         (test_u8_conv_from_enc_LDADD): Likewise.
82268         * modules/uniconv/u8-conv-to-enc-tests
82269         (test_u8_conv_to_enc_LDADD): Likewise.
82270         * modules/uniconv/u8-strconv-from-enc-tests
82271         (test_u8_strconv_from_enc_LDADD): Likewise.
82272         * modules/uniconv/u8-strconv-to-enc-tests
82273         (test_u8_strconv_to_enc_LDADD): Likewise.
82275 2007-10-22  Bruno Haible  <bruno@clisp.org>
82277         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
82278         size.
82280 2007-10-22  Eric Blake  <ebb9@byu.net>
82282         Tweak x*printf documentation.
82283         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
82284         variable name and comments.
82285         Suggested by Bruno Haible.
82287 2007-10-22  Bruno Haible  <bruno@clisp.org>
82289         * lib/acl.c (copy_acl): Fix file name in comment.
82291 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
82293         Fix Tru64 problem with stdbool.h.
82294         * lib/stdbool.in.h (false, true):
82295         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
82296         Don't declare as an enum in this situation; it runs afoul of Tru64.
82297         Problem reported by Steven M. Schweda in
82298         <http://lists.gnu.org/r/bug-autoconf/2007-10/msg00019.html>.
82300 2007-10-22  Eric Blake  <ebb9@byu.net>
82302         Also wrap vf?printf.
82303         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
82304         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
82305         (xvprintf, xvfprintf): New functions.
82307 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
82309         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
82310         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
82312         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
82313         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
82315 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
82317         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
82318         by Bruno Haible.
82320 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
82322         * lib/getloadavg.c
82323         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
82324         Undef `sys' after including sys/table.h, for Tru64 4.0D.
82326         * tests/test-i-ring.c: Work for C89.
82328 2007-10-22  Bruno Haible  <bruno@clisp.org>
82330         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
82331         -1u, in preprocessor expression, so that we don't test for the bug
82332         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
82333         <http://lists.gnu.org/r/bug-gnulib/2007-10/msg00329.html>.
82335 2007-10-22  Eric Blake  <ebb9@byu.net>
82337         * tests/test-yesno.sh: Silence stderr during test.
82339 2007-10-22  Simon Josefsson  <simon@josefsson.org>
82341         * modules/crypto/gc-camellia: New file.
82343         * m4/gc-camellia.m4: New file.
82345         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
82347         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
82349 2007-10-22  Simon Josefsson  <simon@josefsson.org>
82351         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
82352         --help to stdout.  Reported by sms@antinode.org (Steven
82353         M. Schweda).
82355 2007-10-22  Simon Josefsson  <simon@josefsson.org>
82357         * users.txt: Fix link to libksba.
82359 2007-10-21  Ben Pfaff  <blp@gnu.org>
82361         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
82362         round.c roundf implementation that depends on floorf and ceilf to
82363         be tested unconditionally.
82365 2007-10-21  Ben Pfaff  <blp@gnu.org>
82367         * m4/check-libm-func.m4: Removed.
82368         * m4/check-math-lib.m4: New file.
82369         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
82370         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
82371         definition and lack of AC_LIBOBJ([roundf]).
82372         * m4/roundl.m4: Ditto, and similarly for roundl.
82373         * modules/round: Reference new m4 file.
82374         * modules/roundf: Ditto.
82375         * modules/roundl: Ditto.
82376         * tests/test-round2.c (main): Use ROUND instead of round.
82377         Bug report from Bruno Haible.
82379 2007-10-21  Bruno Haible  <bruno@clisp.org>
82381         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
82382         context.
82384 2007-10-21  Bruno Haible  <bruno@clisp.org>
82386         * tests/test-wcwidth.c (main): Allow negative result for some control
82387         characters.
82389         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
82390         Needed on OSF/1 5.1.
82392 2007-10-21  Bruno Haible  <bruno@clisp.org>
82394         * tests/test-floorf1.c: Include isnanf.h.
82395         (main): Use isnanf() instead of isnan().
82396         * tests/test-ceilf1.c: Include isnanf.h.
82397         (main): Use isnanf() instead of isnan().
82398         * tests/test-truncf1.c: Include isnanf.h.
82399         (main): Use isnanf() instead of isnan().
82400         * tests/test-roundf1.c: Include isnanf.h.
82401         (main): Use isnanf() instead of isnan().
82403 2007-10-21  Eric Blake  <ebb9@byu.net>
82405         * users.txt: Update URL for m4.
82407 2007-10-21  Bruno Haible  <bruno@clisp.org>
82409         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
82411 2007-10-21  Bruno Haible  <bruno@clisp.org>
82413         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
82414         Git's management files if the CVS files are not present.
82416 2007-10-20  Bruno Haible  <bruno@clisp.org>
82418         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
82419         gcc-3.4.x.
82421 2007-10-20  Ben Pfaff  <blp@gnu.org>
82423         * lib/math.in.h: Declare round, roundf, roundl if we are providing
82424         implementations.
82425         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
82426         * lib/round.c: New file.
82427         * lib/roundf.c: New file.
82428         * lib/roundl.c: New file.
82429         * m4/round.m4: New file.
82430         * m4/roundf.m4: New file.
82431         * m4/roundl.m4: New file.
82432         * m4/check-libm-func-m4: New file.
82433         * modules/math: Replace round, roundf, roundl related @VARS@ in
82434         math.in.h.
82435         * modules/round: New file.
82436         * modules/round-tests: New file.
82437         * modules/roundf: New file.
82438         * modules/roundf-tests: New file.
82439         * modules/roundl: New file.
82440         * modules/roundl-tests: New file.
82441         * tests/test-round1.c: New file.
82442         * tests/test-round2.c: New file.
82443         * tests/test-roundf1.c: New file.
82444         * tests/test-roundf2.c: New file.
82445         * tests/test-roundl.c: New file.
82446         * doc/functions/round.texi: Mention round module.
82447         * doc/functions/roundf.texi: Mention roundf module.
82448         * doc/functions/roundl.texi: Mention roundl module.
82449         * MODULES.html.sh: Mention new modules.
82450         Thanks to Bruno Haible for suggestions.
82452 2007-10-20  Jim Meyering  <meyering@redhat.com>
82454         * lib/xprintf.c: Include <config.h> unconditionally.
82456         Change xprintf's license to GPL.
82457         * modules/xprintf (License): s/LGPL/GPL/, since this module
82458         depends on modules (exit and exitfail) which are GPL.
82459         Suggestion from Bruno Haible.
82461         xprintf fixes.
82462         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
82463         Use a clearer diagnostic.
82464         Patch from Bruno Haible.
82466 2007-10-20  Bruno Haible  <bruno@clisp.org>
82468         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
82469         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
82470         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
82472 2007-10-20  Bruno Haible  <bruno@clisp.org>
82474         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
82475         precision in the comparison result > x - 1 or similar.
82476         * tests/test-ceilf2.c (correct_result_p): Likewise.
82477         * tests/test-truncf2.c (correct_result_p): Likewise.
82478         * tests/test-trunc2.c (correct_result_p): Likewise.
82479         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
82481 2007-10-20  Bruno Haible  <bruno@clisp.org>
82483         * modules/ceil: New file.
82484         * m4/ceil.m4: New file.
82485         * doc/functions/ceil.texi: Mention the 'ceil' module.
82487 2007-10-20  Bruno Haible  <bruno@clisp.org>
82489         * modules/floor: New file.
82490         * m4/floor.m4: New file.
82491         * doc/functions/floor.texi: Mention the 'floor' module.
82493 2007-10-20  Bruno Haible  <bruno@clisp.org>
82495         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
82496         of %a.
82497         * modules/floorf-tests (Depends-on): Likewise.
82498         * modules/truncf-tests (Depends-on): Likewise.
82499         * modules/trunc-tests (Depends-on): Likewise.
82500         Reported by Ben Pfaff.
82502 2007-10-19  Jim Meyering  <meyering@redhat.com>
82504         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
82505         Don't bother testing specific errno values.  Just test ferror.
82507         New module: xprintf
82508         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
82510 2007-10-19  Bruno Haible  <bruno@clisp.org>
82512         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
82513         syntax.
82514         * modules/javaexec (Makefile.am): Likewise.
82515         * modules/relocatable-prog (Makefile.am): Likewise.
82516         Suggested by Jim Meyering.
82518 2007-10-18  Bruno Haible  <bruno@clisp.org>
82520         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
82521         Reported by Jim Meyering.
82523 2007-10-18  Eric Blake  <ebb9@byu.net>
82525         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
82527 2007-10-18  Bruno Haible  <bruno@clisp.org>
82529         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
82530         the format string into writable memory. Needed in Fortify conditions.
82532 2007-10-18  Colin Watson  <cjwatson@debian.org>  (tiny change)
82533             Bruno Haible  <bruno@clisp.org>
82535         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
82536         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
82537         * modules/trim (Depends-on): Add mbchar.
82538         (configure.ac): Add gl_FUNC_MBRTOWC.
82539         (Makefile.am): Augment lib_SOURCES.
82541 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
82543         Modify glob.c to use fstatat and dirfd, to simplify it.
82544         Suggested by Eric Blake.
82545         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
82546         Don't include <stdbool.h>; not used.
82547         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
82548         (link_exists_p): Simplify implementation, since we can now assume
82549         dirfd and fstatat.
82550         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
82552 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
82554         * gnulib-tool (func_get_dependencies): Fix sed script to
82555         match only tests.
82557 2007-10-17  Bruno Haible  <bruno@clisp.org>
82559         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
82560         allow locale names without encoding suffix.
82561         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
82562         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
82564 2007-10-16  Bruno Haible  <bruno@clisp.org>
82566         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
82567         * lib/getgroups.c (getgroups): Likewise.
82568         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
82570 2007-10-16  Bruno Haible  <bruno@clisp.org>
82572         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
82573         * modules/malloc-posix (License): Likewise.
82574         * modules/realloc-posix (License): Likewise.
82575         * modules/calloc-posix (License): Likewise.
82576         * modules/intprops (License): Change from GPL to LGPL, with
82577         Paul Eggert's approval.
82579 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
82581         Merge glibc changes into lib/glob.c.
82583         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
82584         2007-10-15 04:59:03 UTC.  Here are the changes:
82586         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
82588         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
82590         * lib/glob.c: Add some branch prediction throughout.
82592         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
82594         [BZ #5103]
82595         * lib/glob.c (glob): Recognize patterns starting \/.
82597         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
82599         [BZ #3996]
82600         * lib/glob.c (attribute_hidden): Define if not defined.
82601         (glob): Unescape dirname, filename or username when needed and not
82602         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
82603         is NULL.  Handle unescaped [ in pattern without closing ].
82604         Don't pass GLOB_CHECK down to recursive glob for directories.
82605         (__glob_pattern_type): New function.
82606         (__glob_pattern_p): Implement using __glob_pattern_type.
82607         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
82608         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
82609         Remove unreachable code.
82611         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
82613         * lib/glob.c (glob_in_dir): Add some comments and asserts to
82614         explain why there are no leaks.
82616         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
82618         [BZ #3253]
82619         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
82620         time, rather allocate increasingly bigger arrays of pointers, if
82621         possible with alloca, if too large with malloc.
82623 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
82625         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
82626         Problem reported by H.Merijn Brand in
82627         <http://lists.gnu.org/r/bug-tar/2007-10/msg00018.html>.
82628         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
82629         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
82631 2007-10-15  Bruno Haible  <bruno@clisp.org>
82633         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
82634         with explicit rpl_ prefix.
82635         * lib/fopen.c (fopen): Likewise.
82636         * lib/freopen.c (freopen): Likewise.
82637         * lib/iconv.c (iconv): Likewise.
82638         * lib/iconv_close.c (iconv_close): Likewise.
82640 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
82642         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
82644 2007-10-15  Bruno Haible  <bruno@clisp.org>
82646         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
82647         <stddef.h> instead of <stdlib.h> since we only need NULL.
82648         Reported by Ben Pfaff <blp@cs.stanford.edu>.
82650 2007-10-15  Bruno Haible  <bruno@clisp.org>
82652         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
82653         Replace paragraph talking about LIBOBJS.
82654         Reported by Colin Watson <cjwatson@debian.org>.
82656 2007-10-15  Bruno Haible  <bruno@clisp.org>
82658         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
82659         <stdlib.h> before using NULL.
82661 2007-10-15  Simon Josefsson  <simon@josefsson.org>
82663         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
82664         Reported by Albert Chin <china@thewrittenword.com>.
82666 2007-10-14  Bruno Haible  <bruno@clisp.org>
82668         * modules/iconv_open-utf-tests: New file.
82669         * tests/test-iconv-utf.c: New file.
82671         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
82672         * modules/iconv_open-utf: New file.
82673         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
82674         (iconv, iconv_close): New declarations.
82675         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
82676         be defined.
82677         (iconv_open): Add special handling of conversion between UTF-8 and
82678         UTF-{16,32}{BE,LE}.
82679         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
82680         * lib/iconv_close.c: New file.
82681         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
82682         gl_FUNC_ICONV_OPEN.
82683         (gl_FUNC_ICONV_OPEN): Use it.
82684         (gl_FUNC_ICONV_OPEN_UTF): New macro.
82685         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
82686         and REPLACE_ICONV_UTF.
82687         * modules/iconv_open (Depends-on): Add c-strcase.
82688         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
82689         ICONV_CONST.
82690         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
82692 2007-10-13  Albert Chin  <china@thewrittenword.com>
82693             Bruno Haible  <bruno@clisp.org>
82695         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
82696         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
82698 2007-10-13  Bruno Haible  <bruno@clisp.org>
82700         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
82701         defined, use the ISO C99 inline semantics.
82702         * lib/argp.h (ARGP_EI): Likewise.
82704 2007-10-13  Bruno Haible  <bruno@clisp.org>
82706         Handle 'inline' change in gcc 4.3.0.
82707         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
82708         argp_fmtstream_write, argp_fmtstream_set_lmargin,
82709         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
82710         argp_fmtstream_point): Disable 'extern' declaration if the function
82711         definition is going to be provided inline.
82712         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
82713         semantics, not the ISO C99 inline semantics.
82714         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
82715         'extern' declaration if the function definition is going to be provided
82716         inline.
82717         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
82718         the GNU C inline semantics, not the ISO C99 inline semantics. With
82719         GCC 4.2, avoid a warning.
82721 2007-10-13  Bruno Haible  <bruno@clisp.org>
82723         * lib/freading.h (freading): Enable the use of __freading for
82724         glibc >= 2.7.
82725         * lib/freading.c (freading): Likewise.
82727 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
82729         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
82730         "warning: C99 inline functions are not supported; using GNU89".
82732 2007-10-12  Bruno Haible  <bruno@clisp.org>
82734         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
82735         of 2.
82736         * tests/test-ceilf2.c: New file.
82737         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
82739         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
82740         * modules/ceilf-tests: Update.
82742 2007-10-12  Bruno Haible  <bruno@clisp.org>
82744         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
82745         of 2.
82746         * tests/test-floorf2.c: New file.
82747         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
82749         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
82750         * modules/floorf-tests: Update.
82752 2007-10-12  Bruno Haible  <bruno@clisp.org>
82754         * tests/test-trunc2.c: New file.
82755         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
82757         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
82758         * modules/trunc-tests: Update.
82760 2007-10-12  Bruno Haible  <bruno@clisp.org>
82762         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
82763         of 2.
82764         * tests/test-truncf2.c: New file.
82765         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
82767         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
82768         * modules/truncf-tests: Update.
82770 2007-10-11  Eric Blake  <ebb9@byu.net>
82772         Don't claim strerror is broken on Interix.
82773         * doc/functions/strerror.texi (strerror): Known broken systems are
82774         now Solaris 8, and not Interix.
82775         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
82776         Interix on cross-compile.
82777         Reported by Martin Koeppe in
82778         http://lists.gnu.org/r/bug-gnulib/2007-10/msg00005.html.
82780 2007-10-11  Bruno Haible  <bruno@clisp.org>
82782         * modules/i-ring-tests: New file.
82783         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
82784         instead of assert.
82786 2007-10-11  Bruno Haible  <bruno@clisp.org>
82788         * modules/filenamecat-tests: New file.
82789         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
82790         * lib/filenamecat.c: Remove test code.
82792 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
82794         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
82796         * lib/strerror.c: Include <string.h> always, to test interface,
82797         and to remove the need for the dummy.
82798         Include intprops.h to compute width instead of doing it ourselves
82799         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
82800         (strerror): Define it to return NULL if there's no system strerror.
82801         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
82802         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
82803         ancient pre-strerror Unix systems well any more.  Saying "unknown
82804         system error" is enough.
82805         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
82806         simpler strerror.c implementation.
82807         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
82808         Simplify the tests to reflect the simpler strerror implementation.
82809         * modules/strerror (Depends-on): Add intprops.
82811 2007-10-09  Eric Blake  <ebb9@byu.net>
82813         Silence test-fpending.
82814         * modules/fpending-tests (Files): Add wrapper script.
82815         * tests/test-fpending.sh: New file.
82817 2007-10-09  Bruno Haible  <bruno@clisp.org>
82819         * MODULES.html.sh (func_module): Don't create a hyperlink for
82820         function names like 'printf_frexp'.
82821         (Misc): Add crc, memxor.
82822         (Characteristics of floating types): New section.
82823         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
82824         isnanf-nolibm, signbit, trunc, truncf, truncl.
82825         (Enhancements for ISO C 99 functions): New subsection Input/output.
82826         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
82827         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
82828         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
82829         (Compatibility checks for POSIX:2001 functions): Add clock-time.
82830         (Enhancements for POSIX:2001 functions): Add chdir-long.
82831         (File system functions): Add areadlink, chdir-safer, read-file.
82832         Remove cycle-check.
82833         (File system as inode set): New section.
82834         (Date and time): Add gethrxtime.
82835         (Multithreading): Add openmp.
82836         (Internationalization functions): Add localename.
82837         (Unicode string functions): Add unistr/u*-mbsnlen.
82838         (Support for maintaining and releasing projects): Add git-version-gen.
82839         (Lone files): Remove directories.
82841 2007-10-08  Ben Pfaff  <blp@gnu.org>
82843         * lib/xmalloca.h: Fix typo in comment.
82845 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
82847         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
82848         when avoiding problems with integer overflow.  Use a portable test
82849         instead.
82851 2007-10-08  Simon Josefsson  <simon@josefsson.org>
82853         * modules/dummy (License): Change to LGPLv2+.
82854         * modules/float (License): Likewise
82855         * modules/realloc (License): Likewise
82856         * modules/stdlib (License): Likewise
82858 2007-10-07  Bruno Haible  <bruno@clisp.org>
82860         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
82861         * floor.c (TWO_MANT_DIG): Likewise.
82862         * ceil.c (TWO_MANT_DIG): Likewise.
82863         Reported by Ben Pfaff.
82865 2007-10-07  Bruno Haible  <bruno@clisp.org>
82867         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
82868         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
82869         * lib/frexp.c (FUNC): Likewise.
82870         * lib/printf-frexp.h (printf_frexp): Likewise.
82871         * lib/printf-frexpl.h (printf_frexpl): Likewise.
82872         * lib/printf-frexp.c (FUNC): Likewise.
82873         Suggested by Jim Meyering.
82875 2007-10-07  Jim Meyering  <meyering@redhat.com>
82877         Make xnanosleep's integer overflow test more robust.
82878         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
82879         so that gcc-4.3.0 doesn't optimize away this test for overflow.
82881 2007-10-07  Bruno Haible  <bruno@clisp.org>
82883         * NEWS: Mention the license change.
82885         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
82886         abbreviations in the modules files.
82888         Change copyright notice from GPLv2+ to GPLv3+.
82889         * README: Change copyright notice.
82890         * MODULES.html.sh: Likewise.
82891         * build-aux/bootstrap.conf: Likewise.
82892         * build-aux/config.libpath: Likewise.
82893         * build-aux/csharpcomp.sh.in: Likewise.
82894         * build-aux/csharpexec.sh.in: Likewise.
82895         * build-aux/install-reloc: Likewise.
82896         * build-aux/javacomp.sh.in: Likewise.
82897         * build-aux/javaexec.sh.in: Likewise.
82898         * build-aux/ldd.sh.in: Likewise.
82899         * build-aux/reloc-ldflags: Likewise.
82900         * build-aux/relocatable.sh.in: Likewise.
82901         * build-aux/x-to-1.in: Likewise.
82902         * check-module: Likewise.
82903         * config/srclistvars.sh: Likewise.
82904         * gnulib-tool: Likewise.
82905         * lib/acl-internal.h: Likewise.
82906         * lib/acl.c: Likewise.
82907         * lib/acl.h: Likewise.
82908         * lib/acl_entries.c: Likewise.
82909         * lib/areadlink-with-size.c: Likewise.
82910         * lib/areadlink.c: Likewise.
82911         * lib/areadlink.h: Likewise.
82912         * lib/argmatch.c: Likewise.
82913         * lib/argmatch.h: Likewise.
82914         * lib/argp-ba.c: Likewise.
82915         * lib/argp-eexst.c: Likewise.
82916         * lib/argp-fmtstream.c: Likewise.
82917         * lib/argp-fmtstream.h: Likewise.
82918         * lib/argp-fs-xinl.c: Likewise.
82919         * lib/argp-help.c: Likewise.
82920         * lib/argp-namefrob.h: Likewise.
82921         * lib/argp-parse.c: Likewise.
82922         * lib/argp-pin.c: Likewise.
82923         * lib/argp-pv.c: Likewise.
82924         * lib/argp-pvh.c: Likewise.
82925         * lib/argp-xinl.c: Likewise.
82926         * lib/argp.h: Likewise.
82927         * lib/at-func.c: Likewise.
82928         * lib/atanl.c: Likewise.
82929         * lib/backupfile.c: Likewise.
82930         * lib/backupfile.h: Likewise.
82931         * lib/basename.c: Likewise.
82932         * lib/binary-io.h: Likewise.
82933         * lib/byteswap.in.h: Likewise.
82934         * lib/c-stack.c: Likewise.
82935         * lib/c-stack.h: Likewise.
82936         * lib/c-strcasestr.c: Likewise.
82937         * lib/c-strcasestr.h: Likewise.
82938         * lib/c-strstr.c: Likewise.
82939         * lib/c-strstr.h: Likewise.
82940         * lib/c-strtod.c: Likewise.
82941         * lib/calloc.c: Likewise.
82942         * lib/canon-host.c: Likewise.
82943         * lib/canon-host.h: Likewise.
82944         * lib/canonicalize-lgpl.c: Likewise.
82945         * lib/canonicalize.c: Likewise.
82946         * lib/canonicalize.h: Likewise.
82947         * lib/ceil.c: Likewise.
82948         * lib/ceilf.c: Likewise.
82949         * lib/ceill.c: Likewise.
82950         * lib/chdir-long.c: Likewise.
82951         * lib/chdir-long.h: Likewise.
82952         * lib/chdir-safer.c: Likewise.
82953         * lib/chdir-safer.h: Likewise.
82954         * lib/chown.c: Likewise.
82955         * lib/classpath.c: Likewise.
82956         * lib/classpath.h: Likewise.
82957         * lib/clean-temp.c: Likewise.
82958         * lib/clean-temp.h: Likewise.
82959         * lib/cloexec.c: Likewise.
82960         * lib/close-stream.c: Likewise.
82961         * lib/closein.c: Likewise.
82962         * lib/closein.h: Likewise.
82963         * lib/closeout.c: Likewise.
82964         * lib/closeout.h: Likewise.
82965         * lib/concat-filename.c: Likewise.
82966         * lib/copy-file.c: Likewise.
82967         * lib/copy-file.h: Likewise.
82968         * lib/count-one-bits.h: Likewise.
82969         * lib/crc.c: Likewise.
82970         * lib/crc.h: Likewise.
82971         * lib/creat-safer.c: Likewise.
82972         * lib/csharpcomp.c: Likewise.
82973         * lib/csharpcomp.h: Likewise.
82974         * lib/csharpexec.c: Likewise.
82975         * lib/csharpexec.h: Likewise.
82976         * lib/cycle-check.c: Likewise.
82977         * lib/cycle-check.h: Likewise.
82978         * lib/diacrit.c: Likewise.
82979         * lib/diacrit.h: Likewise.
82980         * lib/diffseq.h: Likewise.
82981         * lib/dirchownmod.c: Likewise.
82982         * lib/dirent.in.h: Likewise.
82983         * lib/dirfd.c: Likewise.
82984         * lib/dirfd.h: Likewise.
82985         * lib/dirname.c: Likewise.
82986         * lib/dirname.h: Likewise.
82987         * lib/dummy.c: Likewise.
82988         * lib/dup-safer.c: Likewise.
82989         * lib/dup2.c: Likewise.
82990         * lib/eealloc.h: Likewise.
82991         * lib/error.c: Likewise.
82992         * lib/error.h: Likewise.
82993         * lib/euidaccess.c: Likewise.
82994         * lib/exclude.c: Likewise.
82995         * lib/exclude.h: Likewise.
82996         * lib/execute.c: Likewise.
82997         * lib/execute.h: Likewise.
82998         * lib/exitfail.c: Likewise.
82999         * lib/exitfail.h: Likewise.
83000         * lib/expl.c: Likewise.
83001         * lib/fatal-signal.c: Likewise.
83002         * lib/fatal-signal.h: Likewise.
83003         * lib/fbufmode.c: Likewise.
83004         * lib/fbufmode.h: Likewise.
83005         * lib/fchdir.c: Likewise.
83006         * lib/fchmodat.c: Likewise.
83007         * lib/fchownat.c: Likewise.
83008         * lib/fcntl--.h: Likewise.
83009         * lib/fcntl-safer.h: Likewise.
83010         * lib/fcntl.in.h: Likewise.
83011         * lib/fd-safer.c: Likewise.
83012         * lib/fflush.c: Likewise.
83013         * lib/file-has-acl.c: Likewise.
83014         * lib/file-set.c: Likewise.
83015         * lib/file-type.c: Likewise.
83016         * lib/file-type.h: Likewise.
83017         * lib/fileblocks.c: Likewise.
83018         * lib/filemode.c: Likewise.
83019         * lib/filemode.h: Likewise.
83020         * lib/filename.h: Likewise.
83021         * lib/filenamecat.c: Likewise.
83022         * lib/filenamecat.h: Likewise.
83023         * lib/findprog.c: Likewise.
83024         * lib/findprog.h: Likewise.
83025         * lib/float.in.h: Likewise.
83026         * lib/floor.c: Likewise.
83027         * lib/floorf.c: Likewise.
83028         * lib/floorl.c: Likewise.
83029         * lib/fopen-safer.c: Likewise.
83030         * lib/fopen.c: Likewise.
83031         * lib/fpending.c: Likewise.
83032         * lib/fpending.h: Likewise.
83033         * lib/fprintf.c: Likewise.
83034         * lib/fprintftime.h: Likewise.
83035         * lib/fpucw.h: Likewise.
83036         * lib/fpurge.c: Likewise.
83037         * lib/fpurge.h: Likewise.
83038         * lib/freadable.c: Likewise.
83039         * lib/freadable.h: Likewise.
83040         * lib/freadahead.c: Likewise.
83041         * lib/freadahead.h: Likewise.
83042         * lib/freading.c: Likewise.
83043         * lib/freading.h: Likewise.
83044         * lib/free.c: Likewise.
83045         * lib/freopen.c: Likewise.
83046         * lib/frexp.c: Likewise.
83047         * lib/frexpl.c: Likewise.
83048         * lib/fseek.c: Likewise.
83049         * lib/fseterr.c: Likewise.
83050         * lib/fseterr.h: Likewise.
83051         * lib/fstatat.c: Likewise.
83052         * lib/fstrcmp.c: Likewise.
83053         * lib/fstrcmp.h: Likewise.
83054         * lib/fsusage.c: Likewise.
83055         * lib/fsusage.h: Likewise.
83056         * lib/ftell.c: Likewise.
83057         * lib/ftello.c: Likewise.
83058         * lib/fts-cycle.c: Likewise.
83059         * lib/fts.c: Likewise.
83060         * lib/fts_.h: Likewise.
83061         * lib/full-read.c: Likewise.
83062         * lib/full-read.h: Likewise.
83063         * lib/full-write.c: Likewise.
83064         * lib/full-write.h: Likewise.
83065         * lib/fwritable.c: Likewise.
83066         * lib/fwritable.h: Likewise.
83067         * lib/fwriteerror.c: Likewise.
83068         * lib/fwriteerror.h: Likewise.
83069         * lib/fwriting.c: Likewise.
83070         * lib/fwriting.h: Likewise.
83071         * lib/gcd.c: Likewise.
83072         * lib/gcd.h: Likewise.
83073         * lib/getcwd.c: Likewise.
83074         * lib/getdate.h: Likewise.
83075         * lib/getdate.y: Likewise.
83076         * lib/getdomainname.c: Likewise.
83077         * lib/getdomainname.h: Likewise.
83078         * lib/getgroups.c: Likewise.
83079         * lib/gethostname.c: Likewise.
83080         * lib/gethrxtime.c: Likewise.
83081         * lib/gethrxtime.h: Likewise.
83082         * lib/getloadavg.c: Likewise.
83083         * lib/getndelim2.c: Likewise.
83084         * lib/getndelim2.h: Likewise.
83085         * lib/getnline.c: Likewise.
83086         * lib/getnline.h: Likewise.
83087         * lib/getopt.c: Likewise.
83088         * lib/getopt.in.h: Likewise.
83089         * lib/getopt1.c: Likewise.
83090         * lib/getopt_int.h: Likewise.
83091         * lib/getpagesize.h: Likewise.
83092         * lib/getsubopt.c: Likewise.
83093         * lib/gettime.c: Likewise.
83094         * lib/getugroups.c: Likewise.
83095         * lib/getugroups.h: Likewise.
83096         * lib/getusershell.c: Likewise.
83097         * lib/gl_anyavltree_list1.h: Likewise.
83098         * lib/gl_anyavltree_list2.h: Likewise.
83099         * lib/gl_anyhash_list1.h: Likewise.
83100         * lib/gl_anyhash_list2.h: Likewise.
83101         * lib/gl_anylinked_list1.h: Likewise.
83102         * lib/gl_anylinked_list2.h: Likewise.
83103         * lib/gl_anyrbtree_list1.h: Likewise.
83104         * lib/gl_anyrbtree_list2.h: Likewise.
83105         * lib/gl_anytree_list1.h: Likewise.
83106         * lib/gl_anytree_list2.h: Likewise.
83107         * lib/gl_anytree_oset.h: Likewise.
83108         * lib/gl_anytreehash_list1.h: Likewise.
83109         * lib/gl_anytreehash_list2.h: Likewise.
83110         * lib/gl_array_list.c: Likewise.
83111         * lib/gl_array_list.h: Likewise.
83112         * lib/gl_array_oset.c: Likewise.
83113         * lib/gl_array_oset.h: Likewise.
83114         * lib/gl_avltree_list.c: Likewise.
83115         * lib/gl_avltree_list.h: Likewise.
83116         * lib/gl_avltree_oset.c: Likewise.
83117         * lib/gl_avltree_oset.h: Likewise.
83118         * lib/gl_avltreehash_list.c: Likewise.
83119         * lib/gl_avltreehash_list.h: Likewise.
83120         * lib/gl_carray_list.c: Likewise.
83121         * lib/gl_carray_list.h: Likewise.
83122         * lib/gl_linked_list.c: Likewise.
83123         * lib/gl_linked_list.h: Likewise.
83124         * lib/gl_linkedhash_list.c: Likewise.
83125         * lib/gl_linkedhash_list.h: Likewise.
83126         * lib/gl_list.c: Likewise.
83127         * lib/gl_list.h: Likewise.
83128         * lib/gl_oset.c: Likewise.
83129         * lib/gl_oset.h: Likewise.
83130         * lib/gl_rbtree_list.c: Likewise.
83131         * lib/gl_rbtree_list.h: Likewise.
83132         * lib/gl_rbtree_oset.c: Likewise.
83133         * lib/gl_rbtree_oset.h: Likewise.
83134         * lib/gl_rbtreehash_list.c: Likewise.
83135         * lib/gl_rbtreehash_list.h: Likewise.
83136         * lib/gl_sublist.c: Likewise.
83137         * lib/gl_sublist.h: Likewise.
83138         * lib/group-member.c: Likewise.
83139         * lib/group-member.h: Likewise.
83140         * lib/hard-locale.c: Likewise.
83141         * lib/hard-locale.h: Likewise.
83142         * lib/hash-pjw.c: Likewise.
83143         * lib/hash-pjw.h: Likewise.
83144         * lib/hash-triple.c: Likewise.
83145         * lib/hash.c: Likewise.
83146         * lib/hash.h: Likewise.
83147         * lib/human.c: Likewise.
83148         * lib/human.h: Likewise.
83149         * lib/i-ring.c: Likewise.
83150         * lib/i-ring.h: Likewise.
83151         * lib/idcache.c: Likewise.
83152         * lib/imaxabs.c: Likewise.
83153         * lib/imaxdiv.c: Likewise.
83154         * lib/inet_pton.c: Likewise.
83155         * lib/inet_pton.h: Likewise.
83156         * lib/intprops.h: Likewise.
83157         * lib/inttostr.c: Likewise.
83158         * lib/inttostr.h: Likewise.
83159         * lib/inttypes.in.h: Likewise.
83160         * lib/isapipe.c: Likewise.
83161         * lib/isdir.c: Likewise.
83162         * lib/isnan.c: Likewise.
83163         * lib/isnan.h: Likewise.
83164         * lib/isnanf.c: Likewise.
83165         * lib/isnanf.h: Likewise.
83166         * lib/isnanl-nolibm.h: Likewise.
83167         * lib/isnanl.c: Likewise.
83168         * lib/isnanl.h: Likewise.
83169         * lib/javacomp.c: Likewise.
83170         * lib/javacomp.h: Likewise.
83171         * lib/javaexec.c: Likewise.
83172         * lib/javaexec.h: Likewise.
83173         * lib/javaversion.c: Likewise.
83174         * lib/javaversion.h: Likewise.
83175         * lib/javaversion.java: Likewise.
83176         * lib/lbrkprop.h: Likewise.
83177         * lib/lchmod.h: Likewise.
83178         * lib/lchown.c: Likewise.
83179         * lib/ldexpl.c: Likewise.
83180         * lib/linebreak.c: Likewise.
83181         * lib/linebreak.h: Likewise.
83182         * lib/linebuffer.c: Likewise.
83183         * lib/linebuffer.h: Likewise.
83184         * lib/locale.in.h: Likewise.
83185         * lib/logl.c: Likewise.
83186         * lib/long-options.c: Likewise.
83187         * lib/long-options.h: Likewise.
83188         * lib/lstat.c: Likewise.
83189         * lib/lstat.h: Likewise.
83190         * lib/math.in.h: Likewise.
83191         * lib/mbchar.c: Likewise.
83192         * lib/mbchar.h: Likewise.
83193         * lib/mbfile.h: Likewise.
83194         * lib/mbiter.h: Likewise.
83195         * lib/mbscasecmp.c: Likewise.
83196         * lib/mbscasestr.c: Likewise.
83197         * lib/mbschr.c: Likewise.
83198         * lib/mbscspn.c: Likewise.
83199         * lib/mbslen.c: Likewise.
83200         * lib/mbsncasecmp.c: Likewise.
83201         * lib/mbsnlen.c: Likewise.
83202         * lib/mbspbrk.c: Likewise.
83203         * lib/mbspcasecmp.c: Likewise.
83204         * lib/mbsrchr.c: Likewise.
83205         * lib/mbssep.c: Likewise.
83206         * lib/mbsspn.c: Likewise.
83207         * lib/mbsstr.c: Likewise.
83208         * lib/mbstok_r.c: Likewise.
83209         * lib/mbswidth.c: Likewise.
83210         * lib/mbswidth.h: Likewise.
83211         * lib/mbuiter.h: Likewise.
83212         * lib/memcasecmp.c: Likewise.
83213         * lib/memcasecmp.h: Likewise.
83214         * lib/memchr.c: Likewise.
83215         * lib/memcmp.c: Likewise.
83216         * lib/memcoll.c: Likewise.
83217         * lib/memcoll.h: Likewise.
83218         * lib/memcpy.c: Likewise.
83219         * lib/memrchr.c: Likewise.
83220         * lib/mkancesdirs.c: Likewise.
83221         * lib/mkdir-p.c: Likewise.
83222         * lib/mkdir-p.h: Likewise.
83223         * lib/mkdir.c: Likewise.
83224         * lib/mkdirat.c: Likewise.
83225         * lib/mkdtemp.c: Likewise.
83226         * lib/mkstemp-safer.c: Likewise.
83227         * lib/mkstemp.c: Likewise.
83228         * lib/modechange.c: Likewise.
83229         * lib/modechange.h: Likewise.
83230         * lib/mountlist.c: Likewise.
83231         * lib/mountlist.h: Likewise.
83232         * lib/mpsort.c: Likewise.
83233         * lib/nanosleep.c: Likewise.
83234         * lib/obstack.c: Likewise.
83235         * lib/obstack.h: Likewise.
83236         * lib/open-safer.c: Likewise.
83237         * lib/open.c: Likewise.
83238         * lib/openat-die.c: Likewise.
83239         * lib/openat-priv.h: Likewise.
83240         * lib/openat-proc.c: Likewise.
83241         * lib/openat.c: Likewise.
83242         * lib/openat.h: Likewise.
83243         * lib/pagealign_alloc.c: Likewise.
83244         * lib/pagealign_alloc.h: Likewise.
83245         * lib/physmem.c: Likewise.
83246         * lib/physmem.h: Likewise.
83247         * lib/pipe-safer.c: Likewise.
83248         * lib/pipe.c: Likewise.
83249         * lib/pipe.h: Likewise.
83250         * lib/posixtm.c: Likewise.
83251         * lib/posixtm.h: Likewise.
83252         * lib/posixver.c: Likewise.
83253         * lib/printf-frexp.c: Likewise.
83254         * lib/printf-frexp.h: Likewise.
83255         * lib/printf-frexpl.c: Likewise.
83256         * lib/printf-frexpl.h: Likewise.
83257         * lib/printf.c: Likewise.
83258         * lib/progname.c: Likewise.
83259         * lib/progname.h: Likewise.
83260         * lib/progreloc.c: Likewise.
83261         * lib/putenv.c: Likewise.
83262         * lib/quote.c: Likewise.
83263         * lib/quote.h: Likewise.
83264         * lib/quotearg.c: Likewise.
83265         * lib/quotearg.h: Likewise.
83266         * lib/raise.c: Likewise.
83267         * lib/readline.c: Likewise.
83268         * lib/readline.h: Likewise.
83269         * lib/readlink.c: Likewise.
83270         * lib/readtokens.c: Likewise.
83271         * lib/readtokens.h: Likewise.
83272         * lib/readtokens0.c: Likewise.
83273         * lib/readtokens0.h: Likewise.
83274         * lib/readutmp.c: Likewise.
83275         * lib/readutmp.h: Likewise.
83276         * lib/realloc.c: Likewise.
83277         * lib/relocwrapper.c: Likewise.
83278         * lib/rename-dest-slash.c: Likewise.
83279         * lib/rename.c: Likewise.
83280         * lib/rmdir.c: Likewise.
83281         * lib/rpmatch.c: Likewise.
83282         * lib/safe-read.c: Likewise.
83283         * lib/safe-read.h: Likewise.
83284         * lib/safe-write.c: Likewise.
83285         * lib/safe-write.h: Likewise.
83286         * lib/same-inode.h: Likewise.
83287         * lib/same.c: Likewise.
83288         * lib/same.h: Likewise.
83289         * lib/save-cwd.c: Likewise.
83290         * lib/save-cwd.h: Likewise.
83291         * lib/savedir.c: Likewise.
83292         * lib/savedir.h: Likewise.
83293         * lib/savewd.c: Likewise.
83294         * lib/savewd.h: Likewise.
83295         * lib/search.in.h: Likewise.
83296         * lib/setenv.c: Likewise.
83297         * lib/setenv.h: Likewise.
83298         * lib/settime.c: Likewise.
83299         * lib/sh-quote.c: Likewise.
83300         * lib/sh-quote.h: Likewise.
83301         * lib/sig2str.c: Likewise.
83302         * lib/sig2str.h: Likewise.
83303         * lib/signal.in.h: Likewise.
83304         * lib/signbitd.c: Likewise.
83305         * lib/signbitf.c: Likewise.
83306         * lib/signbitl.c: Likewise.
83307         * lib/sigprocmask.c: Likewise.
83308         * lib/sincosl.c: Likewise.
83309         * lib/sleep.c: Likewise.
83310         * lib/sprintf.c: Likewise.
83311         * lib/sqrtl.c: Likewise.
83312         * lib/stat-time.h: Likewise.
83313         * lib/stdio--.h: Likewise.
83314         * lib/stdio-safer.h: Likewise.
83315         * lib/stdlib--.h: Likewise.
83316         * lib/stdlib-safer.h: Likewise.
83317         * lib/stdlib.in.h: Likewise.
83318         * lib/stpcpy.c: Likewise.
83319         * lib/stpncpy.c: Likewise.
83320         * lib/strchrnul.c: Likewise.
83321         * lib/strcspn.c: Likewise.
83322         * lib/strerror.c: Likewise.
83323         * lib/strftime.c: Likewise.
83324         * lib/strftime.h: Likewise.
83325         * lib/striconveh.c: Likewise.
83326         * lib/striconveh.h: Likewise.
83327         * lib/striconveha.c: Likewise.
83328         * lib/striconveha.h: Likewise.
83329         * lib/stripslash.c: Likewise.
83330         * lib/strnlen1.c: Likewise.
83331         * lib/strnlen1.h: Likewise.
83332         * lib/strtod.c: Likewise.
83333         * lib/strtoimax.c: Likewise.
83334         * lib/strtok_r.c: Likewise.
83335         * lib/strtol.c: Likewise.
83336         * lib/strtoll.c: Likewise.
83337         * lib/strtoul.c: Likewise.
83338         * lib/strtoull.c: Likewise.
83339         * lib/sysexits.in.h: Likewise.
83340         * lib/tempname.c: Likewise.
83341         * lib/tempname.h: Likewise.
83342         * lib/timespec.h: Likewise.
83343         * lib/tls.c: Likewise.
83344         * lib/tls.h: Likewise.
83345         * lib/tmpdir.c: Likewise.
83346         * lib/tmpdir.h: Likewise.
83347         * lib/tmpfile-safer.c: Likewise.
83348         * lib/tmpfile.c: Likewise.
83349         * lib/trigl.c: Likewise.
83350         * lib/trigl.h: Likewise.
83351         * lib/trim.c: Likewise.
83352         * lib/trim.h: Likewise.
83353         * lib/trunc.c: Likewise.
83354         * lib/truncf.c: Likewise.
83355         * lib/truncl.c: Likewise.
83356         * lib/tsearch.c: Likewise.
83357         * lib/unicodeio.c: Likewise.
83358         * lib/unicodeio.h: Likewise.
83359         * lib/unistd--.h: Likewise.
83360         * lib/unistd-safer.h: Likewise.
83361         * lib/unistdio/ulc-fprintf.c: Likewise.
83362         * lib/unistdio/ulc-vfprintf.c: Likewise.
83363         * lib/unlinkdir.c: Likewise.
83364         * lib/unlinkdir.h: Likewise.
83365         * lib/unlocked-io.h: Likewise.
83366         * lib/unsetenv.c: Likewise.
83367         * lib/userspec.c: Likewise.
83368         * lib/utime.c: Likewise.
83369         * lib/utimecmp.c: Likewise.
83370         * lib/utimecmp.h: Likewise.
83371         * lib/utimens.c: Likewise.
83372         * lib/verify.h: Likewise.
83373         * lib/verror.c: Likewise.
83374         * lib/verror.h: Likewise.
83375         * lib/version-etc-fsf.c: Likewise.
83376         * lib/version-etc.c: Likewise.
83377         * lib/version-etc.h: Likewise.
83378         * lib/vfprintf.c: Likewise.
83379         * lib/vprintf.c: Likewise.
83380         * lib/vsprintf.c: Likewise.
83381         * lib/w32spawn.h: Likewise.
83382         * lib/wait-process.c: Likewise.
83383         * lib/wait-process.h: Likewise.
83384         * lib/wcwidth.c: Likewise.
83385         * lib/write-any-file.c: Likewise.
83386         * lib/xalloc-die.c: Likewise.
83387         * lib/xalloc.h: Likewise.
83388         * lib/xasprintf.c: Likewise.
83389         * lib/xgetcwd.c: Likewise.
83390         * lib/xgetcwd.h: Likewise.
83391         * lib/xgetdomainname.c: Likewise.
83392         * lib/xgetdomainname.h: Likewise.
83393         * lib/xgethostname.c: Likewise.
83394         * lib/xmalloc.c: Likewise.
83395         * lib/xmalloca.c: Likewise.
83396         * lib/xmalloca.h: Likewise.
83397         * lib/xmemcoll.c: Likewise.
83398         * lib/xnanosleep.c: Likewise.
83399         * lib/xreadlink.c: Likewise.
83400         * lib/xreadlink.h: Likewise.
83401         * lib/xsetenv.c: Likewise.
83402         * lib/xsetenv.h: Likewise.
83403         * lib/xstriconv.c: Likewise.
83404         * lib/xstriconv.h: Likewise.
83405         * lib/xstrndup.c: Likewise.
83406         * lib/xstrndup.h: Likewise.
83407         * lib/xstrtod.c: Likewise.
83408         * lib/xstrtod.h: Likewise.
83409         * lib/xstrtol-error.c: Likewise.
83410         * lib/xstrtol.c: Likewise.
83411         * lib/xstrtol.h: Likewise.
83412         * lib/xtime.h: Likewise.
83413         * lib/xvasprintf.c: Likewise.
83414         * lib/xvasprintf.h: Likewise.
83415         * lib/yesno.c: Likewise.
83416         * lib/yesno.h: Likewise.
83417         * posix-modules: Likewise.
83418         * tests/test-alloca-opt.c: Likewise.
83419         * tests/test-arcfour.c: Likewise.
83420         * tests/test-arctwo.c: Likewise.
83421         * tests/test-argmatch.c: Likewise.
83422         * tests/test-argp-2.sh: Likewise.
83423         * tests/test-argp.c: Likewise.
83424         * tests/test-arpa_inet.c: Likewise.
83425         * tests/test-array_list.c: Likewise.
83426         * tests/test-array_oset.c: Likewise.
83427         * tests/test-atexit.c: Likewise.
83428         * tests/test-avltree_list.c: Likewise.
83429         * tests/test-avltree_oset.c: Likewise.
83430         * tests/test-avltreehash_list.c: Likewise.
83431         * tests/test-base64.c: Likewise.
83432         * tests/test-binary-io.c: Likewise.
83433         * tests/test-byteswap.c: Likewise.
83434         * tests/test-c-ctype.c: Likewise.
83435         * tests/test-c-strcasecmp.c: Likewise.
83436         * tests/test-c-strcasestr.c: Likewise.
83437         * tests/test-c-strncasecmp.c: Likewise.
83438         * tests/test-c-strstr.c: Likewise.
83439         * tests/test-canonicalize-lgpl.c: Likewise.
83440         * tests/test-canonicalize.c: Likewise.
83441         * tests/test-carray_list.c: Likewise.
83442         * tests/test-ceilf.c: Likewise.
83443         * tests/test-ceill.c: Likewise.
83444         * tests/test-count-one-bits.c: Likewise.
83445         * tests/test-crc.c: Likewise.
83446         * tests/test-dirname.c: Likewise.
83447         * tests/test-fbufmode.c: Likewise.
83448         * tests/test-fcntl.c: Likewise.
83449         * tests/test-fflush.c: Likewise.
83450         * tests/test-floorf.c: Likewise.
83451         * tests/test-floorl.c: Likewise.
83452         * tests/test-fopen.c: Likewise.
83453         * tests/test-fprintf-posix.c: Likewise.
83454         * tests/test-fprintf-posix.h: Likewise.
83455         * tests/test-fpurge.c: Likewise.
83456         * tests/test-freadable.c: Likewise.
83457         * tests/test-freadahead.c: Likewise.
83458         * tests/test-freading.c: Likewise.
83459         * tests/test-freopen.c: Likewise.
83460         * tests/test-frexp.c: Likewise.
83461         * tests/test-frexpl.c: Likewise.
83462         * tests/test-fseek.c: Likewise.
83463         * tests/test-fseeko.c: Likewise.
83464         * tests/test-fseterr.c: Likewise.
83465         * tests/test-fstrcmp.c: Likewise.
83466         * tests/test-ftell.c: Likewise.
83467         * tests/test-ftello.c: Likewise.
83468         * tests/test-fwritable.c: Likewise.
83469         * tests/test-fwriting.c: Likewise.
83470         * tests/test-getaddrinfo.c: Likewise.
83471         * tests/test-getpass.c: Likewise.
83472         * tests/test-gettimeofday.c: Likewise.
83473         * tests/test-hmac-md5.c: Likewise.
83474         * tests/test-hmac-sha1.c: Likewise.
83475         * tests/test-iconv.c: Likewise.
83476         * tests/test-iconvme.c: Likewise.
83477         * tests/test-inttypes.c: Likewise.
83478         * tests/test-isnan.c: Likewise.
83479         * tests/test-isnanf.c: Likewise.
83480         * tests/test-isnanl-nolibm.c: Likewise.
83481         * tests/test-isnanl.c: Likewise.
83482         * tests/test-isnanl.h: Likewise.
83483         * tests/test-ldexpl.c: Likewise.
83484         * tests/test-linked_list.c: Likewise.
83485         * tests/test-linkedhash_list.c: Likewise.
83486         * tests/test-locale.c: Likewise.
83487         * tests/test-localename.c: Likewise.
83488         * tests/test-lock.c: Likewise.
83489         * tests/test-lseek.c: Likewise.
83490         * tests/test-malloca.c: Likewise.
83491         * tests/test-math.c: Likewise.
83492         * tests/test-mbscasecmp.c: Likewise.
83493         * tests/test-mbscasestr1.c: Likewise.
83494         * tests/test-mbscasestr2.c: Likewise.
83495         * tests/test-mbscasestr3.c: Likewise.
83496         * tests/test-mbscasestr4.c: Likewise.
83497         * tests/test-mbschr.c: Likewise.
83498         * tests/test-mbscspn.c: Likewise.
83499         * tests/test-mbsncasecmp.c: Likewise.
83500         * tests/test-mbspbrk.c: Likewise.
83501         * tests/test-mbspcasecmp.c: Likewise.
83502         * tests/test-mbsrchr.c: Likewise.
83503         * tests/test-mbsspn.c: Likewise.
83504         * tests/test-mbsstr1.c: Likewise.
83505         * tests/test-mbsstr2.c: Likewise.
83506         * tests/test-mbsstr3.c: Likewise.
83507         * tests/test-md5.c: Likewise.
83508         * tests/test-memmem.c: Likewise.
83509         * tests/test-netinet_in.c: Likewise.
83510         * tests/test-open.c: Likewise.
83511         * tests/test-printf-frexp.c: Likewise.
83512         * tests/test-printf-frexpl.c: Likewise.
83513         * tests/test-printf-posix.c: Likewise.
83514         * tests/test-printf-posix.h: Likewise.
83515         * tests/test-rbtree_list.c: Likewise.
83516         * tests/test-rbtree_oset.c: Likewise.
83517         * tests/test-rbtreehash_list.c: Likewise.
83518         * tests/test-read-file.c: Likewise.
83519         * tests/test-rijndael.c: Likewise.
83520         * tests/test-search.c: Likewise.
83521         * tests/test-signbit.c: Likewise.
83522         * tests/test-sleep.c: Likewise.
83523         * tests/test-snprintf-posix.c: Likewise.
83524         * tests/test-snprintf-posix.h: Likewise.
83525         * tests/test-snprintf.c: Likewise.
83526         * tests/test-sprintf-posix.c: Likewise.
83527         * tests/test-sprintf-posix.h: Likewise.
83528         * tests/test-stat-time.c: Likewise.
83529         * tests/test-stdbool.c: Likewise.
83530         * tests/test-stdint.c: Likewise.
83531         * tests/test-stdio.c: Likewise.
83532         * tests/test-stdlib.c: Likewise.
83533         * tests/test-stpncpy.c: Likewise.
83534         * tests/test-strcasestr.c: Likewise.
83535         * tests/test-striconv.c: Likewise.
83536         * tests/test-striconveh.c: Likewise.
83537         * tests/test-striconveha.c: Likewise.
83538         * tests/test-string.c: Likewise.
83539         * tests/test-sys_select.c: Likewise.
83540         * tests/test-sys_socket.c: Likewise.
83541         * tests/test-sys_stat.c: Likewise.
83542         * tests/test-sys_time.c: Likewise.
83543         * tests/test-sysexits.c: Likewise.
83544         * tests/test-time.c: Likewise.
83545         * tests/test-tls.c: Likewise.
83546         * tests/test-trunc.c: Likewise.
83547         * tests/test-truncf.c: Likewise.
83548         * tests/test-truncl.c: Likewise.
83549         * tests/test-unistd.c: Likewise.
83550         * tests/test-vasnprintf-posix.c: Likewise.
83551         * tests/test-vasnprintf-posix2.c: Likewise.
83552         * tests/test-vasnprintf.c: Likewise.
83553         * tests/test-vasprintf-posix.c: Likewise.
83554         * tests/test-vasprintf.c: Likewise.
83555         * tests/test-verify.c: Likewise.
83556         * tests/test-vfprintf-posix.c: Likewise.
83557         * tests/test-vprintf-posix.c: Likewise.
83558         * tests/test-vsnprintf-posix.c: Likewise.
83559         * tests/test-vsnprintf.c: Likewise.
83560         * tests/test-vsprintf-posix.c: Likewise.
83561         * tests/test-wchar.c: Likewise.
83562         * tests/test-wctype.c: Likewise.
83563         * tests/test-wcwidth.c: Likewise.
83564         * tests/test-xstrtol.c: Likewise.
83565         * tests/test-xvasprintf.c: Likewise.
83566         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
83567         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
83568         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
83569         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
83570         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
83571         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
83572         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
83573         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
83574         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
83575         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
83576         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
83577         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
83578         * tests/uniname/test-uninames.c: Likewise.
83579         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
83580         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
83581         * tests/unistdio/test-u16-printf1.h: Likewise.
83582         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
83583         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
83584         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
83585         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
83586         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
83587         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
83588         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
83589         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
83590         * tests/unistdio/test-u32-printf1.h: Likewise.
83591         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
83592         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
83593         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
83594         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
83595         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
83596         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
83597         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
83598         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
83599         * tests/unistdio/test-u8-printf1.h: Likewise.
83600         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
83601         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
83602         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
83603         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
83604         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
83605         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
83606         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
83607         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
83608         * tests/unistdio/test-ulc-printf1.h: Likewise.
83609         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
83610         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
83611         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
83612         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
83613         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
83614         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
83615         * tests/uniwidth/test-u16-strwidth.c: Likewise.
83616         * tests/uniwidth/test-u16-width.c: Likewise.
83617         * tests/uniwidth/test-u32-strwidth.c: Likewise.
83618         * tests/uniwidth/test-u32-width.c: Likewise.
83619         * tests/uniwidth/test-u8-strwidth.c: Likewise.
83620         * tests/uniwidth/test-u8-width.c: Likewise.
83621         * tests/uniwidth/test-uc_width.c: Likewise.
83622         * config/srclist-update: Likewise.
83623         (fixlicense): Update to GPLv3+.
83625         Change copyright notice from LGPLv2.1+ to LGPLv3+.
83626         * tests/test-tsearch.c: Change copyright notice.
83628         Change copyright notice from LGPLv2.0+ to LGPLv3+.
83629         * lib/c-strcaseeq.h: Change copyright notice.
83630         * lib/streq.h: Likewise.
83631         * lib/uniconv.h: Likewise.
83632         * lib/uniconv/u-conv-from-enc.h: Likewise.
83633         * lib/uniconv/u-conv-to-enc.h: Likewise.
83634         * lib/uniconv/u-strconv-from-enc.h: Likewise.
83635         * lib/uniconv/u-strconv-to-enc.h: Likewise.
83636         * lib/uniconv/u16-conv-from-enc.c: Likewise.
83637         * lib/uniconv/u16-conv-to-enc.c: Likewise.
83638         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
83639         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
83640         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
83641         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
83642         * lib/uniconv/u32-conv-from-enc.c: Likewise.
83643         * lib/uniconv/u32-conv-to-enc.c: Likewise.
83644         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
83645         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
83646         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
83647         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
83648         * lib/uniconv/u8-conv-from-enc.c: Likewise.
83649         * lib/uniconv/u8-conv-to-enc.c: Likewise.
83650         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
83651         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
83652         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
83653         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
83654         * lib/uniname.h: Likewise.
83655         * lib/uniname/uniname.c: Likewise.
83656         * lib/unistdio.h: Likewise.
83657         * lib/unistdio/u-asnprintf.h: Likewise.
83658         * lib/unistdio/u-asprintf.h: Likewise.
83659         * lib/unistdio/u-printf-args.c: Likewise.
83660         * lib/unistdio/u-printf-args.h: Likewise.
83661         * lib/unistdio/u-printf-parse.h: Likewise.
83662         * lib/unistdio/u-snprintf.h: Likewise.
83663         * lib/unistdio/u-sprintf.h: Likewise.
83664         * lib/unistdio/u-vasprintf.h: Likewise.
83665         * lib/unistdio/u-vsnprintf.h: Likewise.
83666         * lib/unistdio/u-vsprintf.h: Likewise.
83667         * lib/unistdio/u16-asnprintf.c: Likewise.
83668         * lib/unistdio/u16-asprintf.c: Likewise.
83669         * lib/unistdio/u16-printf-parse.c: Likewise.
83670         * lib/unistdio/u16-snprintf.c: Likewise.
83671         * lib/unistdio/u16-sprintf.c: Likewise.
83672         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
83673         * lib/unistdio/u16-u16-asprintf.c: Likewise.
83674         * lib/unistdio/u16-u16-snprintf.c: Likewise.
83675         * lib/unistdio/u16-u16-sprintf.c: Likewise.
83676         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
83677         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
83678         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
83679         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
83680         * lib/unistdio/u16-vasnprintf.c: Likewise.
83681         * lib/unistdio/u16-vasprintf.c: Likewise.
83682         * lib/unistdio/u16-vsnprintf.c: Likewise.
83683         * lib/unistdio/u16-vsprintf.c: Likewise.
83684         * lib/unistdio/u32-asnprintf.c: Likewise.
83685         * lib/unistdio/u32-asprintf.c: Likewise.
83686         * lib/unistdio/u32-printf-parse.c: Likewise.
83687         * lib/unistdio/u32-snprintf.c: Likewise.
83688         * lib/unistdio/u32-sprintf.c: Likewise.
83689         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
83690         * lib/unistdio/u32-u32-asprintf.c: Likewise.
83691         * lib/unistdio/u32-u32-snprintf.c: Likewise.
83692         * lib/unistdio/u32-u32-sprintf.c: Likewise.
83693         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
83694         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
83695         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
83696         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
83697         * lib/unistdio/u32-vasnprintf.c: Likewise.
83698         * lib/unistdio/u32-vasprintf.c: Likewise.
83699         * lib/unistdio/u32-vsnprintf.c: Likewise.
83700         * lib/unistdio/u32-vsprintf.c: Likewise.
83701         * lib/unistdio/u8-asnprintf.c: Likewise.
83702         * lib/unistdio/u8-asprintf.c: Likewise.
83703         * lib/unistdio/u8-printf-parse.c: Likewise.
83704         * lib/unistdio/u8-snprintf.c: Likewise.
83705         * lib/unistdio/u8-sprintf.c: Likewise.
83706         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
83707         * lib/unistdio/u8-u8-asprintf.c: Likewise.
83708         * lib/unistdio/u8-u8-snprintf.c: Likewise.
83709         * lib/unistdio/u8-u8-sprintf.c: Likewise.
83710         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
83711         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
83712         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
83713         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
83714         * lib/unistdio/u8-vasnprintf.c: Likewise.
83715         * lib/unistdio/u8-vasprintf.c: Likewise.
83716         * lib/unistdio/u8-vsnprintf.c: Likewise.
83717         * lib/unistdio/u8-vsprintf.c: Likewise.
83718         * lib/unistdio/ulc-asnprintf.c: Likewise.
83719         * lib/unistdio/ulc-asprintf.c: Likewise.
83720         * lib/unistdio/ulc-printf-parse.c: Likewise.
83721         * lib/unistdio/ulc-snprintf.c: Likewise.
83722         * lib/unistdio/ulc-sprintf.c: Likewise.
83723         * lib/unistdio/ulc-vasnprintf.c: Likewise.
83724         * lib/unistdio/ulc-vasprintf.c: Likewise.
83725         * lib/unistdio/ulc-vsnprintf.c: Likewise.
83726         * lib/unistdio/ulc-vsprintf.c: Likewise.
83727         * lib/unistr.h: Likewise.
83728         * lib/unistr/u-cpy-alloc.h: Likewise.
83729         * lib/unistr/u-cpy.h: Likewise.
83730         * lib/unistr/u-endswith.h: Likewise.
83731         * lib/unistr/u-move.h: Likewise.
83732         * lib/unistr/u-set.h: Likewise.
83733         * lib/unistr/u-startswith.h: Likewise.
83734         * lib/unistr/u-stpcpy.h: Likewise.
83735         * lib/unistr/u-stpncpy.h: Likewise.
83736         * lib/unistr/u-strcat.h: Likewise.
83737         * lib/unistr/u-strcpy.h: Likewise.
83738         * lib/unistr/u-strcspn.h: Likewise.
83739         * lib/unistr/u-strdup.h: Likewise.
83740         * lib/unistr/u-strlen.h: Likewise.
83741         * lib/unistr/u-strncat.h: Likewise.
83742         * lib/unistr/u-strncpy.h: Likewise.
83743         * lib/unistr/u-strnlen.h: Likewise.
83744         * lib/unistr/u-strpbrk.h: Likewise.
83745         * lib/unistr/u-strspn.h: Likewise.
83746         * lib/unistr/u-strstr.h: Likewise.
83747         * lib/unistr/u-strtok.h: Likewise.
83748         * lib/unistr/u16-check.c: Likewise.
83749         * lib/unistr/u16-chr.c: Likewise.
83750         * lib/unistr/u16-cmp.c: Likewise.
83751         * lib/unistr/u16-cpy-alloc.c: Likewise.
83752         * lib/unistr/u16-cpy.c: Likewise.
83753         * lib/unistr/u16-endswith.c: Likewise.
83754         * lib/unistr/u16-mblen.c: Likewise.
83755         * lib/unistr/u16-mbsnlen.c: Likewise.
83756         * lib/unistr/u16-mbtouc-aux.c: Likewise.
83757         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
83758         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
83759         * lib/unistr/u16-mbtouc.c: Likewise.
83760         * lib/unistr/u16-mbtoucr.c: Likewise.
83761         * lib/unistr/u16-move.c: Likewise.
83762         * lib/unistr/u16-next.c: Likewise.
83763         * lib/unistr/u16-prev.c: Likewise.
83764         * lib/unistr/u16-set.c: Likewise.
83765         * lib/unistr/u16-startswith.c: Likewise.
83766         * lib/unistr/u16-stpcpy.c: Likewise.
83767         * lib/unistr/u16-stpncpy.c: Likewise.
83768         * lib/unistr/u16-strcat.c: Likewise.
83769         * lib/unistr/u16-strchr.c: Likewise.
83770         * lib/unistr/u16-strcmp.c: Likewise.
83771         * lib/unistr/u16-strcpy.c: Likewise.
83772         * lib/unistr/u16-strcspn.c: Likewise.
83773         * lib/unistr/u16-strdup.c: Likewise.
83774         * lib/unistr/u16-strlen.c: Likewise.
83775         * lib/unistr/u16-strmblen.c: Likewise.
83776         * lib/unistr/u16-strmbtouc.c: Likewise.
83777         * lib/unistr/u16-strncat.c: Likewise.
83778         * lib/unistr/u16-strncmp.c: Likewise.
83779         * lib/unistr/u16-strncpy.c: Likewise.
83780         * lib/unistr/u16-strnlen.c: Likewise.
83781         * lib/unistr/u16-strpbrk.c: Likewise.
83782         * lib/unistr/u16-strrchr.c: Likewise.
83783         * lib/unistr/u16-strspn.c: Likewise.
83784         * lib/unistr/u16-strstr.c: Likewise.
83785         * lib/unistr/u16-strtok.c: Likewise.
83786         * lib/unistr/u16-to-u32.c: Likewise.
83787         * lib/unistr/u16-to-u8.c: Likewise.
83788         * lib/unistr/u16-uctomb-aux.c: Likewise.
83789         * lib/unistr/u16-uctomb.c: Likewise.
83790         * lib/unistr/u32-check.c: Likewise.
83791         * lib/unistr/u32-chr.c: Likewise.
83792         * lib/unistr/u32-cmp.c: Likewise.
83793         * lib/unistr/u32-cpy-alloc.c: Likewise.
83794         * lib/unistr/u32-cpy.c: Likewise.
83795         * lib/unistr/u32-endswith.c: Likewise.
83796         * lib/unistr/u32-mblen.c: Likewise.
83797         * lib/unistr/u32-mbsnlen.c: Likewise.
83798         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
83799         * lib/unistr/u32-mbtouc.c: Likewise.
83800         * lib/unistr/u32-mbtoucr.c: Likewise.
83801         * lib/unistr/u32-move.c: Likewise.
83802         * lib/unistr/u32-next.c: Likewise.
83803         * lib/unistr/u32-prev.c: Likewise.
83804         * lib/unistr/u32-set.c: Likewise.
83805         * lib/unistr/u32-startswith.c: Likewise.
83806         * lib/unistr/u32-stpcpy.c: Likewise.
83807         * lib/unistr/u32-stpncpy.c: Likewise.
83808         * lib/unistr/u32-strcat.c: Likewise.
83809         * lib/unistr/u32-strchr.c: Likewise.
83810         * lib/unistr/u32-strcmp.c: Likewise.
83811         * lib/unistr/u32-strcpy.c: Likewise.
83812         * lib/unistr/u32-strcspn.c: Likewise.
83813         * lib/unistr/u32-strdup.c: Likewise.
83814         * lib/unistr/u32-strlen.c: Likewise.
83815         * lib/unistr/u32-strmblen.c: Likewise.
83816         * lib/unistr/u32-strmbtouc.c: Likewise.
83817         * lib/unistr/u32-strncat.c: Likewise.
83818         * lib/unistr/u32-strncmp.c: Likewise.
83819         * lib/unistr/u32-strncpy.c: Likewise.
83820         * lib/unistr/u32-strnlen.c: Likewise.
83821         * lib/unistr/u32-strpbrk.c: Likewise.
83822         * lib/unistr/u32-strrchr.c: Likewise.
83823         * lib/unistr/u32-strspn.c: Likewise.
83824         * lib/unistr/u32-strstr.c: Likewise.
83825         * lib/unistr/u32-strtok.c: Likewise.
83826         * lib/unistr/u32-to-u16.c: Likewise.
83827         * lib/unistr/u32-to-u8.c: Likewise.
83828         * lib/unistr/u32-uctomb.c: Likewise.
83829         * lib/unistr/u8-check.c: Likewise.
83830         * lib/unistr/u8-chr.c: Likewise.
83831         * lib/unistr/u8-cmp.c: Likewise.
83832         * lib/unistr/u8-cpy-alloc.c: Likewise.
83833         * lib/unistr/u8-cpy.c: Likewise.
83834         * lib/unistr/u8-endswith.c: Likewise.
83835         * lib/unistr/u8-mblen.c: Likewise.
83836         * lib/unistr/u8-mbsnlen.c: Likewise.
83837         * lib/unistr/u8-mbtouc-aux.c: Likewise.
83838         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
83839         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
83840         * lib/unistr/u8-mbtouc.c: Likewise.
83841         * lib/unistr/u8-mbtoucr.c: Likewise.
83842         * lib/unistr/u8-move.c: Likewise.
83843         * lib/unistr/u8-next.c: Likewise.
83844         * lib/unistr/u8-prev.c: Likewise.
83845         * lib/unistr/u8-set.c: Likewise.
83846         * lib/unistr/u8-startswith.c: Likewise.
83847         * lib/unistr/u8-stpcpy.c: Likewise.
83848         * lib/unistr/u8-stpncpy.c: Likewise.
83849         * lib/unistr/u8-strcat.c: Likewise.
83850         * lib/unistr/u8-strchr.c: Likewise.
83851         * lib/unistr/u8-strcmp.c: Likewise.
83852         * lib/unistr/u8-strcpy.c: Likewise.
83853         * lib/unistr/u8-strcspn.c: Likewise.
83854         * lib/unistr/u8-strdup.c: Likewise.
83855         * lib/unistr/u8-strlen.c: Likewise.
83856         * lib/unistr/u8-strmblen.c: Likewise.
83857         * lib/unistr/u8-strmbtouc.c: Likewise.
83858         * lib/unistr/u8-strncat.c: Likewise.
83859         * lib/unistr/u8-strncmp.c: Likewise.
83860         * lib/unistr/u8-strncpy.c: Likewise.
83861         * lib/unistr/u8-strnlen.c: Likewise.
83862         * lib/unistr/u8-strpbrk.c: Likewise.
83863         * lib/unistr/u8-strrchr.c: Likewise.
83864         * lib/unistr/u8-strspn.c: Likewise.
83865         * lib/unistr/u8-strstr.c: Likewise.
83866         * lib/unistr/u8-strtok.c: Likewise.
83867         * lib/unistr/u8-to-u16.c: Likewise.
83868         * lib/unistr/u8-to-u32.c: Likewise.
83869         * lib/unistr/u8-uctomb-aux.c: Likewise.
83870         * lib/unistr/u8-uctomb.c: Likewise.
83871         * lib/unitypes.h: Likewise.
83872         * lib/uniwidth.h: Likewise.
83873         * lib/uniwidth/cjk.h: Likewise.
83874         * lib/uniwidth/u16-strwidth.c: Likewise.
83875         * lib/uniwidth/u16-width.c: Likewise.
83876         * lib/uniwidth/u32-strwidth.c: Likewise.
83877         * lib/uniwidth/u32-width.c: Likewise.
83878         * lib/uniwidth/u8-strwidth.c: Likewise.
83879         * lib/uniwidth/u8-width.c: Likewise.
83880         * lib/uniwidth/width.c: Likewise.
83882 2007-10-07  Bruno Haible  <bruno@clisp.org>
83884         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
83885         The file is still under LGPL (see modules/inttypes).
83887 2007-10-06  Bruno Haible  <bruno@clisp.org>
83889         * modules/trunc (Dependencies): Add 'extensions'.
83890         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
83891         Reported by Ben Pfaff <blp@gnu.org>.
83893 2007-10-06  Bruno Haible  <bruno@clisp.org>
83895         * modules/freopen-tests: New file.
83896         * tests/test-freopen.c: New file.
83898         * modules/fopen-tests: New file.
83899         * tests/test-fopen.c: New file.
83901         * modules/fopen: New file.
83902         * lib/fopen.c: New file.
83903         * m4/fopen.m4: New file.
83904         * modules/freopen: New file.
83905         * lib/freopen.c: New file.
83906         * m4/freopen.m4: New file.
83907         * lib/stdio.in.h (fopen, freopen): New declarations.
83908         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
83909         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
83910         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
83911         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
83912         * doc/functions/fopen.texi: Mention the 'fopen' module.
83913         * doc/functions/freopen.texi: Mention the 'freopen' module.
83915 2007-10-06  Bruno Haible  <bruno@clisp.org>
83917         * modules/open-tests: New file.
83918         * tests/test-open.c: New file.
83920         * modules/open: New file.
83921         * lib/open.c: New file.
83922         * m4/open.m4: New file.
83923         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
83924         lib/open.c does.
83925         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
83926         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
83927         macros.
83928         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
83929         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
83930         REPLACE_OPEN.
83931         * doc/functions/open.texi: Mention the 'open' module.
83933 2007-10-04  Bruno Haible  <bruno@clisp.org>
83935         * modules/ceill-tests: New file.
83936         * tests/test-ceill.c: New file.
83938         * modules/ceill: New file.
83939         * lib/ceill.c: Replace entire file.
83940         * m4/ceill.m4: New file.
83941         * lib/math.in.h (ceill): Replace declaration.
83942         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
83943         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
83944         * doc/functions/ceill.texi: Mention the 'ceill' module.
83945         * modules/mathl (Files): Remove lib/ceill.c.
83946         (Depends-on): Add ceill.
83948 2007-10-04  Bruno Haible  <bruno@clisp.org>
83950         * modules/ceilf-tests: New file.
83951         * tests/test-ceilf.c: New file.
83953         * modules/ceilf: New file.
83954         * lib/ceil.c: New file.
83955         * lib/ceilf.c: New file.
83956         * m4/ceilf.m4: New file.
83957         * lib/math.in.h (ceilf): New declaration.
83958         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
83959         HAVE_DECL_CEILF.
83960         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
83961         HAVE_DECL_CEILF.
83962         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
83964 2007-10-04  Bruno Haible  <bruno@clisp.org>
83966         * modules/floorl-tests: New file.
83967         * tests/test-floorl.c: New file.
83969         * modules/floorl: New file.
83970         * lib/floorl.c: Replace entire file.
83971         * m4/floorl.m4: New file.
83972         * lib/math.in.h (floorl): Replace declaration.
83973         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
83974         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
83975         * doc/functions/floorl.texi: Mention the 'floorl' module.
83976         * modules/mathl (Files): Remove lib/floorl.c.
83977         (Depends-on): Add floorl.
83979 2007-10-04  Bruno Haible  <bruno@clisp.org>
83981         * modules/floorf-tests: New file.
83982         * tests/test-floorf.c: New file.
83984         * modules/floorf: New file.
83985         * lib/floor.c: New file.
83986         * lib/floorf.c: New file.
83987         * m4/floorf.m4: New file.
83988         * lib/math.in.h (floorf): New declaration.
83989         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
83990         HAVE_DECL_FLOORF.
83991         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
83992         HAVE_DECL_FLOORF.
83993         * doc/functions/floorf.texi: Mention the 'floorf' module.
83995 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
83996             Bruno Haible  <bruno@clisp.org>
83998         Advertise for the Git server instead of the CVS server.
83999         * doc/gnulib-intro.texi (Steady Development): Mention the Git
84000         repository instead of the CVS one.
84001         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
84002         about all VCS systems generically.
84003         * doc/gnulib.texi (Introduction): Capitalize `Git'.
84005 2007-10-04  Bruno Haible  <bruno@clisp.org>
84007         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
84008         means.
84009         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
84011 2007-10-04  Bruno Haible  <bruno@clisp.org>
84013         * modules/truncl-tests: New file.
84014         * tests/test-truncl.c: New file.
84016         * modules/truncl: New file.
84017         * lib/truncl.c: New file.
84018         * m4/truncl.m4: New file.
84019         * lib/math.in.h (truncl): New declaration.
84020         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
84021         HAVE_DECL_TRUNCL.
84022         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
84023         HAVE_DECL_TRUNCL.
84024         * doc/functions/truncl.texi: Mention the 'truncl' module.
84026 2007-10-04  Bruno Haible  <bruno@clisp.org>
84028         * modules/truncf-tests: New file.
84029         * tests/test-truncf.c: New file.
84031         * modules/truncf: New file.
84032         * lib/trunc.c: Make paramerizable through USE_* macros.
84033         * lib/truncf.c: New file.
84034         * m4/truncf.m4: New file.
84035         * lib/math.in.h (truncf): New declaration.
84036         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
84037         HAVE_DECL_TRUNCF.
84038         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
84039         HAVE_DECL_TRUNCF.
84040         * doc/functions/truncf.texi: Mention the 'truncf' module.
84042 2007-10-03  Bruno Haible  <bruno@clisp.org>
84044         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
84045         augmentation also for tests modules.
84046         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
84047         * modules/atexit-tests (Makefile.am): Likewise.
84048         * modules/binary-io-tests (Makefile.am): Likewise.
84049         * modules/c-strcase-tests (Makefile.am): Likewise.
84050         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
84051         * modules/canonicalize-tests (Makefile.am): Likewise.
84052         * modules/closein-tests (Makefile.am): Likewise.
84053         * modules/fprintf-posix-tests (Makefile.am): Likewise.
84054         * modules/freadahead-tests (Makefile.am): Likewise.
84055         * modules/fseek-tests (Makefile.am): Likewise.
84056         * modules/fseeko-tests (Makefile.am): Likewise.
84057         * modules/ftell-tests (Makefile.am): Likewise.
84058         * modules/ftello-tests (Makefile.am): Likewise.
84059         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
84060         * modules/isnanl-tests (Makefile.am): Likewise.
84061         * modules/lseek-tests (Makefile.am): Likewise.
84062         * modules/mbscasecmp-tests (Makefile.am): Likewise.
84063         * modules/mbscasestr-tests (Makefile.am): Likewise.
84064         * modules/mbschr-tests (Makefile.am): Likewise.
84065         * modules/mbscspn-tests (Makefile.am): Likewise.
84066         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
84067         * modules/mbspbrk-tests (Makefile.am): Likewise.
84068         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
84069         * modules/mbsrchr-tests (Makefile.am): Likewise.
84070         * modules/mbsspn-tests (Makefile.am): Likewise.
84071         * modules/mbsstr-tests (Makefile.am): Likewise.
84072         * modules/printf-posix-tests (Makefile.am): Likewise.
84073         * modules/snprintf-posix-tests (Makefile.am): Likewise.
84074         * modules/sprintf-posix-tests (Makefile.am): Likewise.
84075         * modules/tsearch-tests (Makefile.am): Likewise.
84076         * modules/uniname/uniname-tests (Makefile.am): Likewise.
84077         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
84078         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
84079         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
84080         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
84081         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
84082         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
84083         * modules/vprintf-posix-tests (Makefile.am): Likewise.
84084         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
84085         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
84086         * modules/xstrtoimax-tests (Makefile.am): Likewise.
84087         * modules/xstrtol-tests (Makefile.am): Likewise.
84088         * modules/xstrtoumax-tests (Makefile.am): Likewise.
84089         * modules/yesno-tests (Makefile.am): Likewise.
84091 2007-10-03  Bruno Haible  <bruno@clisp.org>
84093         * modules/trunc-tests: New file.
84094         * tests/test-trunc.c: New file.
84096         * modules/trunc: New file.
84097         * lib/trunc.c: New file.
84098         * m4/trunc.m4: New file.
84099         * lib/math.in.h (trunc): New declaration.
84100         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
84101         HAVE_DECL_TRUNC.
84102         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
84103         HAVE_DECL_TRUNC.
84104         * doc/functions/trunc.texi: Mention the 'trunc' module.
84106 2007-10-03  Bruno Haible  <bruno@clisp.org>
84108         * tests/test-fpending.c: New file, mostly copied
84109         from coreutils/lib/t-fpending.c.
84110         * modules/fpending-tests: New file.
84112 2007-10-03  Bruno Haible  <bruno@clisp.org>
84114         Port the stdio extensions to QNX (untested).
84115         * lib/fseterr.c (fseterr): Add support for QNX.
84116         * lib/fbufmode.c (fbufmode): Likewise.
84117         * lib/freadable.c (freadable): Likewise.
84118         * lib/fwritable.c (fwritable): Likewise.
84119         * lib/freading.c (freading): Likewise.
84120         * lib/fwriting.c (fwriting): Likewise.
84121         * lib/freadahead.c (freadahed): Likewise.
84122         * lib/fpurge.c (fpurge): Likewise.
84123         * lib/fseeko.c (rpl_fseeko): Likewise.
84125 2007-10-03  Bruno Haible  <bruno@clisp.org>
84126             Jim Meyering  <jim@meyering.net>
84127             Eric Blake  <ebb9@byu.net>
84129         * doc/relocatable.texi: Use @command instead of @program.
84131 2007-10-02  Jim Meyering  <jim@meyering.net>
84133         Perform one more "_.h" -> ".in.h" substitution.
84134         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
84135         instead of unistd_.h here, too.
84137 2007-10-01  Bruno Haible  <bruno@clisp.org>
84139         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
84140         Needed for the alloca-opt module.
84142 2007-09-30  Bruno Haible  <bruno@clisp.org>
84144         * lib/alloca.in.h: Renamed from lib/alloca_.h.
84145         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
84146         alloca_.h.
84147         * lib/argz.in.h: Renamed from lib/argz_.h.
84148         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
84149         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
84150         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
84151         byteswap_.h.
84152         * lib/dirent.in.h: Renamed from lib/dirent_.h.
84153         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
84154         dirent_.h.
84155         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
84156         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
84157         fcntl_.h.
84158         * lib/float.in.h: Renamed from lib/float_.h.
84159         * modules/float (Files, Makefile.am): Use float.in.h instead of
84160         float_.h.
84161         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
84162         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
84163         fnmatch_.h.
84164         * lib/getopt.in.h: Renamed from lib/getopt_.h.
84165         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
84166         getopt_.h.
84167         * lib/glob.in.h: Renamed from lib/glob_.h.
84168         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
84169         * lib/iconv.in.h: Renamed from lib/iconv_.h.
84170         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
84171         iconv_.h.
84172         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
84173         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
84174         inttypes_.h.
84175         * lib/locale.in.h: Renamed from lib/locale_.h.
84176         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
84177         locale_.h.
84178         * lib/math.in.h: Renamed from lib/math_.h.
84179         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
84180         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
84181         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
84182         of netinet_in_.h. Add dependency.
84183         * lib/poll.in.h: Renamed from lib/poll_.h.
84184         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
84185         * lib/search.in.h: Renamed from lib/search_.h.
84186         * modules/search (Files, Makefile.am): Use search.in.h instead of
84187         search_.h.
84188         * lib/signal.in.h: Renamed from lib/signal_.h.
84189         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
84190         _signal.h.
84191         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
84192         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
84193         stdbool_.h.
84194         * lib/stdint.in.h: Renamed from lib/stdint_.h.
84195         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
84196         stdint_.h.
84197         * lib/stdio.in.h: Renamed from lib/stdio_.h.
84198         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
84199         stdio_.h.
84200         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
84201         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
84202         stdlib_.h.
84203         * lib/string.in.h: Renamed from lib/string_.h.
84204         * modules/string (Files, Makefile.am): Use string.in.h instead of
84205         string_.h.
84206         * doc/gnulib-tool.texi (Initial import): Update.
84207         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
84208         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
84209         of sys_select_.h. Add dependency.
84210         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
84211         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
84212         of sys_socket_.h.
84213         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
84214         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
84215         sys_stat_.h.
84216         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
84217         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
84218         sys_time_.h.
84219         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
84220         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
84221         sysexits_.h.
84222         * lib/time.in.h: Renamed from lib/time_.h.
84223         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
84224         * lib/unistd.in.h: Renamed from lib/unistd_.h.
84225         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
84226         unistd_.h.
84227         * lib/wchar.in.h: Renamed from lib/wchar_.h.
84228         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
84229         wchar_.h.
84230         * lib/wctype.in.h: Renamed from lib/wctype_.h.
84231         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
84232         wctype_.h.
84233         * build-aux/bootstrap (slurp): Update.
84234         * lib/.cppi-disable: Update.
84236 2007-09-30  Bruno Haible  <bruno@clisp.org>
84238         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
84239         Needed on BeOS.
84241 2007-09-30  Bruno Haible  <bruno@clisp.org>
84243         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
84245 2007-09-29  Bruno Haible  <bruno@clisp.org>
84247         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
84249 2007-09-29  Bruno Haible  <bruno@clisp.org>
84251         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
84252         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
84253         * build-aux/install-reloc: Compile also areadlink.c.
84254         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
84256 2007-09-29  Bruno Haible  <bruno@clisp.org>
84258         * gnulib-tool (func_emit_initmacro_done): Indentation.
84260 2007-09-29  Bruno Haible  <bruno@clisp.org>
84262         * README: Add CVS checkout update instructions.
84263         Info from Bob Proulx <bob@proulx.com>.
84265 2007-09-28  Eric Blake  <ebb9@byu.net>
84267         Provide move-if-change.
84268         * build-aux/move-if-change: New file, based on best practice
84269         rather than any canonical upstream location.
84271 2007-09-28  Jim Meyering  <jim@meyering.net>
84273         Fix canonicalize loop-detection corner case.
84274         Do not attempt to stat the symlink values stored via seen_triple.
84275         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
84276         on linux-2.6.18, (but not 2.6.22).
84277         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
84278         triple_compare.  The former compares dev,ino,filename, while the latter
84279         would actually stat dirname(filename) when dev and ino were equal.
84280         * lib/hash-triple.c: Install <string.h>.
84281         (STREQ): Define.
84282         (triple_compare_ino_str): New function.
84283         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
84285 2007-09-28  Eric Blake  <ebb9@byu.net>
84287         Enforce that AC_REPLACE_FUNCS files exist.
84288         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
84289         override check for typos.
84291         Fix test-closein on Solaris 10.
84292         * tests/test-closein.c (main): Don't assume stdin can be inherited
84293         closed on all systems.
84294         * tests/test-closein.sh: Likewise.
84295         Reported by Piotr Tarnowski.
84297 2007-09-28  Jim Meyering  <jim@meyering.net>
84299         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
84301 2007-09-27  Jim Meyering  <jim@meyering.net>
84303         canonicalize: Avoid a false-positive cycle failure.
84304         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
84305         Sort.  Remove cycle-check.
84306         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
84307         not cycle-check.h.
84308         (seen_triple): New function.
84309         (canonicalize_filename_mode): Use it instead of cycle-check.
84310         * tests/test-canonicalize.c: Add a test for this bug.
84311         * tests/test-canonicalize.sh: Set up and run the test.
84313         New module, file-set, from coreutils.
84314         * modules/file-set: Define it.
84315         * lib/file-set.c, lib/file-set.h: Implement.
84317         New module, hash-triple, from coreutils.
84318         * modules/hash-triple: Define it.
84319         * lib/hash-triple.c, lib/hash-triple.h: Implement.
84321 2007-09-25  Eric Blake  <ebb9@byu.net>
84323         Fix strerror on Interix.
84324         * lib/string_.h (strerror): Declare replacement.
84325         * doc/functions/strerror.texi (strerror): Document the Interix
84326         shortcoming.
84327         * modules/string (Makefile.am): Support new hooks.
84328         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
84329         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
84330         gl_FUNC_STRERROR_SEPARATE.
84331         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
84332         * lib/strerror.c (rpl_strerror): Provide replacement.
84333         * modules/strerror (Depends-on): Add string.
84334         (configure.ac): Detect use of module.
84335         * tests/test-strerror.c: New file.
84336         * modules/strerror-tests: New test module.
84337         * modules/argp (Depends-on): Add strerror.
84338         * modules/error (Depends-on): Likewise.
84339         Reported by Martin Koeppe.
84341 2007-09-24  Bruno Haible  <bruno@clisp.org>
84343         * README: Update git instructions.
84345 2007-09-24  Eric Blake  <ebb9@byu.net>
84347         Revert fpending breakage from 2007-09-08.
84348         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
84349         __fpending.c.
84351 2007-09-24  Jim Meyering  <jim@meyering.net>
84353         filenamecat.c: Add a test.
84354         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
84355         showing how the function works when DIR is the empty string.
84357 2007-09-21  Simon Josefsson  <simon@josefsson.org>
84359         * tests/test-canonicalize.sh: Turn on executable bit.
84361 2007-09-19  Eric Blake  <ebb9@byu.net>
84363         * README: Update CVS instructions.
84365 2007-09-18  Bruno Haible  <bruno@clisp.org>
84367         * modules/areadlink: New file.
84368         * lib/areadlink.h (areadlink): New declaration.
84369         * lib/areadlink.c: New file, based on lib/xreadlink.c.
84371 2007-09-17  Jim Meyering  <jim@meyering.net>
84373         * lib/savewd.c (ESTALE) [!defined]: Define.
84374         Reported to be required on Interix by Martin Koeppe.
84376 2007-09-17  Bruno Haible  <bruno@clisp.org>
84378         * gnulib-tool (func_version): Use $version.
84380 2007-09-16  Bruno Haible  <bruno@clisp.org>
84382         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
84383         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
84384         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
84385         Reported by Greg Schafer <gschafer@zip.com.au>.
84387 2007-09-15  Bruno Haible  <bruno@clisp.org>
84389         * gnulib-tool (sed): Try a little harder to make bash understand the
84390         alias.
84391         Reported by Bruce Korb <bruce.korb@gmail.com>.
84393 2007-09-13  Eric Blake  <ebb9@byu.net>
84395         * ChangeLog: Remove conflict markers.
84397 2007-09-13  Simon Josefsson  <simon@josefsson.org>
84399         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
84400         Reported by Bruno Haible <bruno@clisp.org>.
84402 2007-09-12  Bruno Haible  <bruno@clisp.org>
84404         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
84405         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
84406         is not defined.
84408 2007-09-12  Eric Blake  <ebb9@byu.net>
84410         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
84411         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
84412         Autoconf definition.
84413         * modules/euidaccess (Depends-on): Add extensions, for
84414         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
84415         * modules/fnmatch (Depends-on): Likewise.
84416         * modules/getaddrinfo (Depends-on): Likewise.
84417         * modules/getdelim (Depends-on): Likewise.
84418         * modules/getline (Depends-on): Likewise.
84419         * modules/getsubopt (Depends-on): Likewise.
84420         * modules/gettext (Depends-on): Likewise.
84421         * modules/group-member (Depends-on): Likewise.
84422         * modules/mbchar (Depends-on): Likewise.
84423         * modules/memmem (Depends-on): Likewise.
84424         * modules/mempcpy (Depends-on): Likewise.
84425         * modules/memrchr (Depends-on): Likewise.
84426         * modules/pagealign_alloc (Depends-on): Likewise.
84427         * modules/readutmp (Depends-on): Likewise.
84428         * modules/stpcpy (Depends-on): Likewise.
84429         * modules/stpncpy (Depends-on): Likewise.
84430         * modules/strchrnul (Depends-on): Likewise.
84431         * modules/strndup (Depends-on): Likewise.
84432         * modules/strsep (Depends-on): Likewise.
84433         * modules/strverscmp (Depends-on): Likewise.
84434         * modules/vasprintf (Depends-on): Likewise.
84435         * modules/wcwidth (Depends-on): Likewise.
84436         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
84437         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
84438         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
84439         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
84440         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
84441         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
84442         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
84443         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
84444         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
84445         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
84446         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
84447         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
84448         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
84449         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
84450         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
84451         * m4/readutmp.m4 (gl_READUTMP): Likewise.
84452         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
84453         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
84454         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
84455         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
84456         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
84457         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
84458         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
84459         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
84460         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
84461         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
84462         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
84463         so that lock.m4 can be used in gettext without extensions module.
84465 2007-09-11  Bruno Haible  <bruno@clisp.org>
84467         * m4/isc-posix.m4: Remove file.
84468         Suggested by Eric Blake.
84470 2007-09-11  Eric Blake  <ebb9@byu.net>
84472         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
84474 2007-09-10  Bruno Haible  <bruno@clisp.org>
84476         * posix-modules: Fix typo in error message.
84477         Reported by Matt <mkraai@beckman.com>.
84479 2007-09-09  Bruno Haible  <bruno@clisp.org>
84481         * doc/functions/getdelim.texi: Update list of platforms lacking the
84482         function.
84483         * doc/functions/getline.texi: Likewise.
84485 2007-09-09  Jim Meyering  <jim@meyering.net>
84487         * lib/hash.c (hash_initialize): Detect calloc failure.
84488         Reported by Bruno Haible.
84490 2007-09-09  Bruno Haible  <bruno@clisp.org>
84492         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
84493         malloc or realloc fails.
84495 2007-09-09  Bruno Haible  <bruno@clisp.org>
84497         * modules/getcwd (Depends-on): Add malloc-posix.
84498         * modules/glob (Depends-on): Likewise.
84499         * modules/putenv (Depends-on): Likewise.
84500         * modules/strdup (Depends-on): Likewise.
84501         * modules/getdelim (Depends-on): Add realloc-posix.
84502         * modules/read-file (Depends-on): Likewise.
84504 2007-09-09  Bruno Haible  <bruno@clisp.org>
84506         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
84507         (gl_FUNC_MALLOC_POSIX): Require it.
84508         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
84509         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
84510         * modules/realloc (Files): Add m4/malloc.m4.
84511         * modules/calloc (Files): Likewise.
84513 2007-09-09  Bruno Haible  <bruno@clisp.org>
84515         * modules/malloc-posix: New file.
84516         * modules/malloc (Depends-on): Add malloc-posix.
84517         * lib/malloc.c: Include errno.h.
84518         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
84519         and a POSIX-compatible malloc into a single function. Set ENOMEM
84520         when returning NULL.
84521         * m4/malloc.m4: New file.
84522         * doc/functions/malloc.texi: Mention the malloc-posix module.
84523         * lib/stdlib_.h (malloc): New declaration.
84524         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
84525         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
84526         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
84527         and HAVE_MALLOC_POSIX.
84529 2007-09-09  Bruno Haible  <bruno@clisp.org>
84531         * modules/realloc-posix: New file.
84532         * modules/realloc (Depends-on): Add realloc-posix.
84533         * lib/realloc.c: Include errno.h.
84534         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
84535         and a POSIX-compatible realloc into a single function. Set ENOMEM
84536         when returning NULL.
84537         * m4/realloc.m4: New file.
84538         * doc/functions/realloc.texi: Mention the realloc-posix module.
84539         * lib/stdlib_.h (realloc): New declaration.
84540         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
84541         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
84542         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
84543         and HAVE_REALLOC_POSIX.
84545 2007-09-09  Bruno Haible  <bruno@clisp.org>
84547         * modules/calloc-posix: New file.
84548         * modules/calloc (Depends-on): Add calloc-posix.
84549         * lib/calloc.c: Include errno.h.
84550         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
84551         and a POSIX-compatible calloc into a single function. Set ENOMEM
84552         when returning NULL.
84553         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
84554         * doc/functions/calloc.texi: Mention the calloc-posix module.
84555         * lib/stdlib_.h (calloc): New declaration.
84556         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
84557         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
84558         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
84559         and HAVE_CALLOC_POSIX.
84561 2007-09-09  Bruno Haible  <bruno@clisp.org>
84563         Allow for modules to show an arbitrary notice.
84564         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
84565         * gnulib-tool: New option --extract-notice.
84566         (func_usage): Document it.
84567         (sed_extract_prog): Update.
84568         (func_get_notice): New function.
84569         (func_modules_notice): New function.
84570         (func_import, func_create_testdir): Invoke it.
84571         Suggested by Jim Meyering.
84573 2007-09-09  Bruno Haible  <bruno@clisp.org>
84575         * gnulib-tool: New options --verbose, --quiet.
84576         (func_usage): Document them.
84577         (verbose): New variable.
84578         (func_execute_command): New function.
84579         (func_import): Don't show the module list and the file list if
84580         $verbose < 0.
84581         (func_create_testdir): Likewise. Use func_execute_command.
84582         (func_create_megatestdir): Use func_execute_command.
84584 2007-09-08  Bruno Haible  <bruno@clisp.org>
84586         * gnulib-tool (func_import): Prefer rsync over wget when available,
84587         for fetching the PO files.
84589 2007-09-08  Bruno Haible  <bruno@clisp.org>
84591         * posix-modules: New file. Portions copied from gnulib-tool.
84592         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
84594 2007-09-08  Jim Meyering  <jim@meyering.net>
84596         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
84597         * lib/fpending.h: Rename from __fpending.h.
84598         * lib/fpending.c: Rename from __fpending.c.
84599         Include "fpending.h", not "__fpending.h".
84600         * lib/__fpending.h, lib/__fpending.c: Remove files.
84601         * modules/fpending (Files): Reflect new file names.
84602         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
84604 2007-09-08  Bruno Haible  <bruno@clisp.org>
84606         * m4/inttypes-h.m4: Remove stub file.
84608 2007-09-07  Simon Josefsson  <simon@josefsson.org>
84610         * doc/headers/stdint.texi: Discuss #include_next issue.
84612 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
84614         * build-aux/bootstrap: Remove obsolete comment about wget --help.
84616 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
84618         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
84619         in variable name.
84621 2007-09-03  Jim Meyering  <jim@meyering.net>
84623         New module: git-version-gen.
84624         * modules/git-version-gen: New file.
84626         Import changes from coreutils for bootstrap script.
84628         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
84630         bootstrap: uses rsync to download the .po files
84631         * build-aux/bootstrap (po_download_command_format): New global.
84632         (download_po_files): Use rsync.
84633         (update_po_files): Don't remove .po files after download,
84634         so future rsync runs can take advantage of the copies.
84636         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
84638         Solve the unnecessary-.po-file-regeneration problem once and for all.
84639         * build-aux/bootstrap (download_po_files): New function, renamed from
84640         get_translations.  Now, downloads, but doesn't update LINGUAS.
84641         (update_po_files): New function.
84643         bootstrap: Ignore more.
84644         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
84645         uniwidth to e.g., lib/.gitignore.
84646         (slurp): Handle the sys_stat_.h -> sys mapping, too.
84648         * build-aux/bootstrap: New setting: vc_ignore.
84649         (insert_sorted_if_absent): Create $file if absent.
84650         Adapt to new, possibly empty, list: $vc_ignore.
84652         bootstrap: generate more ignorable names
84653         * build-aux/bootstrap (slurp): When generating ignorable names,
84654         also map .sin to .sed, .gperf to .c, and .y to .c.
84656 2007-09-03  Jim Meyering  <jim@meyering.net>
84658         * build-aux/git-version-gen: New file, from coreutils.  For details, see
84659         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
84661 2007-09-02  Bruno Haible  <bruno@clisp.org>
84663         Fix mis-recognition of 'mcs' on QNX 6.
84664         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
84665         output contains the string "Mono".
84666         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
84667         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
84669 2007-09-01  Bruno Haible  <bruno@clisp.org>
84671         Fix collision between uniwidth/* and linebreak modules.
84672         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
84673         u32_width): Remove declarations.
84674         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
84675         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
84676         streq3, streq2, streq1, streq0): Remove functions.
84677         (STREQ): Remove macro.
84678         (is_cjk_encoding): Remove function.
84679         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
84680         (uc_width, u8_width, u16_width, u32_width): Remove functions.
84681         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
84682         * NEWS: Document the change.
84684 2007-09-01  Bruno Haible  <bruno@clisp.org>
84686         * lib/streq.h: Add double-inclusion guard.
84688 2007-09-01  Karl Berry  <karl@gnu.org>
84690         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
84692 2007-08-28  Jim Meyering  <jim@meyering.net>
84694         Rename mreadlink_with_size to areadlink_with_size.
84695         * NEWS: Document the change.
84696         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
84697         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
84698         * lib/mreadlink.h: Rename this to...
84699         * lib/areadlink.h: ...this.
84700         * modules/mreadlink-with-size: Rename this to...
84701         * modules/areadlink-with-size: ...this.
84702         * lib/canonicalize.c: Reflect the renaming.
84703         * modules/canonicalize: Likewise.
84705 2007-08-26  Bruno Haible  <bruno@clisp.org>
84707         * gnulib-tool (func_import): When deciding which files to remove,
84708         consider also dangling symbolic links.
84709         Reported by Eric Blake.
84711 2007-08-26  Bruno Haible  <bruno@clisp.org>
84713         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
84715 2007-08-23  Simon Josefsson  <simon@josefsson.org>
84717         * lib/readline.c: Don't include getline.h, the prototype is now
84718         found in stdio.h.
84720 2007-08-23  Jim Meyering  <jim@meyering.net>
84722         Getdelim touchup.
84723         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
84724         around the funlockfile call, since funlockfile never sets errno.
84725         Don't set errno upon failed realloc.
84727 2007-08-22  Eric Blake  <ebb9@byu.net>
84729         Getline touchups.
84730         * lib/getdelim.c (getdelim): Revert regression that required *n to
84731         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
84732         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
84733         getdelim, rather than whether implementation is missing.
84734         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
84735         * lib/stdio_.h (getline): Also declare if replacement is
84736         required.
84737         * doc/functions/getdelim.texi: New file.
84738         * doc/functions/getline.texi: Likewise.
84739         * doc/gnulib.texi (Function Substitutes): Add new files.
84740         Reported by Bruno Haible.
84742 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
84744         * users.txt: Add Guile.
84746 2007-08-22  Eric Blake  <ebb9@byu.net>
84748         * tests/test-getdelim.c (main): Use remove, not unlink.
84749         * tests/test-getline.c (main): Likewise.
84751         Move getline and getdelim into stdio.h, per POSIX 200x.
84752         * modules/getline (Files): Remove getline.h.
84753         (Depends-on): Add stdio.
84754         (configure.ac): Add module indicator.
84755         * modules/getdelim (Files): Remove getdelim.h.
84756         (Depends-on): Add stdio.
84757         (configure.ac): Add module indicator.
84758         * modules/stdio (Makefile.am): Work with new indicators.
84759         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
84760         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
84761         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
84762         * lib/getdelim.h: Delete.
84763         * lib/getline.h: Delete.
84764         * lib/stdio_.h (getdelim, getline): Declare.
84765         * modules/getdelim-tests: New module.
84766         * modules/getline-tests: Likewise.
84767         * tests/test-getdelim.c: New file.
84768         * tests/test-getline.c: Likewise.
84769         * NEWS: Document the change.
84770         * lib/getline.c: Update choice of header.
84771         * lib/csharpcomp.c: Likewise.
84772         * lib/getpass.c: Likewise.
84773         * lib/javacomp.c: Likewise.
84774         * lib/javaversion.c: Likewise.
84775         * lib/yesno.c: Likewise.
84776         * lib/getdelim.c: Likewise.
84777         (getdelim): Set errno on failure, and avoid memory leak.
84779 2007-08-19  Bruno Haible  <bruno@clisp.org>
84781         * modules/closein (Depends-on): Add freadahead.
84782         * lib/closein.c: Include freadahead.h.
84783         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
84784         is zero.
84786 2007-08-19  Bruno Haible  <bruno@clisp.org>
84788         * modules/freadahead-tests: New file.
84789         * tests/test-freadahead.sh: New file.
84790         * tests/test-freadahead.c: New file.
84792         * modules/freadahead: New file.
84793         * lib/freadahead.h: New file.
84794         * lib/freadahead.c: New file.
84795         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
84796         fbufmode, fpurge, freadable, fwritable.
84798 2007-08-19  Eric Blake  <ebb9@byu.net>
84800         Test yesno in combination with closein.
84801         * lib/yesno.c (yesno): Document use of stdin.
84802         * modules/yesno-tests (Files): New module.
84803         * tests/test-yesno.c (main): New file.
84804         * tests/test-yesno.sh: Likewise.
84806 2007-08-19  Bruno Haible  <bruno@clisp.org>
84808         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
84809         * lib/fseeko.c (rpl_fseeko): Likewise.
84810         * lib/fseterr.c (fseterr): Likewise.
84812 2007-08-19  Bruno Haible  <bruno@clisp.org>
84814         * tests/test-lseek.c (main): Disable a test for BeOS.
84815         * doc/functions/lseek.texi: Document the BeOS bug.
84817 2007-08-19  Bruno Haible  <bruno@clisp.org>
84818             Eric Blake  <ebb9@byu.net>
84820         * lib/lseek.c: Include <sys/stat.h>.
84821         (rpl_lseek): Add workaround code also for Unix platforms.
84822         Needed for BeOS.
84823         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
84824         * doc/functions/lseek.texi: Document BeOS definiency.
84826 2007-08-18  Bruno Haible  <bruno@clisp.org>
84828         * modules/fstrcmp-tests: New file.
84829         * tests/test-fstrcmp.c: New file.
84831 2007-08-18  Bruno Haible  <bruno@clisp.org>
84833         * modules/fstrcmp: New file, from GNU gettext with modifications.
84834         * lib/fstrcmp.h: New file, from GNU gettext.
84835         * lib/fstrcmp.c: New file, from GNU gettext.
84836         * MODULES.html.sh (String handling): Add fstrcmp.
84838 2007-08-18  Bruno Haible  <bruno@clisp.org>
84840         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
84841         'bool'.
84842         (diag, compareseq): Remove const from the ctxt argument.
84843         (USE_HEURISTIC): Undefine at the end.
84845 2007-08-18  Jim Meyering  <jim@meyering.net>
84847         New file: lib/idcache.h
84848         * NEWS: Mention the addition.
84849         * modules/idcache (Files): Add lib/idcache.h
84850         * lib/idcache.c: Include "idcache.h".
84851         Don't include <sys/types.h>.
84852         Add a FIXME comment.
84853         Move file-scoped "static" declarations to the top.
84854         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
84856 2007-08-17  Bruno Haible  <bruno@clisp.org>
84857         and Paul Eggert  <eggert@cs.ucla.edu>
84859         * MODULES.html.sh: Add diffseq.
84860         * modules/diffseq: New file.
84861         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
84862         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
84864 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
84866         Import changes from coreutils for bootstrap script.
84868         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
84870         * build-aux/bootstrap (slurp): Work even in environments where
84871         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
84872         current code does not slurp files whose names start with ".", and
84873         this looks like it might be a troublesome area.
84875         2007-07-11  Jim Meyering  <jim@meyering.net>
84877         If there's a GPL vN copyright comment, require that N == 3.
84879         2007-07-08  Jim Meyering  <jim@meyering.net>
84881         Run the coreutils-specific code only if tests/Makefile.am.in exists.
84882         * build-aux/bootstrap (mam_template): Move definition out of loop.
84884         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
84886         * build-aux/bootstrap (symlink_to_dir): Rename function from
84887         symlink_to_gnulib.  Add a directory parameter.  Update all
84888         callers.
84889         (cp_mark_as_generated): Also check for -- and link to -- files in
84890         gl/.
84892         2007-07-08  Jim Meyering  <jim@meyering.net>
84894         Adapt to deeper hierarchy in gnulib.
84895         * build-aux/bootstrap (symlink_to_dir): If the destination
84896         directory doesn't exist, create it. This is required at least for
84897         "lib/uniwidth/cjk.h".
84899         2007-05-15  Jim Meyering  <jim@meyering.net>
84901         * build-aux/bootstrap: Now that generated Makefile.am files
84902         are no longer under version control, they must be created at
84903         bootstrap time.
84905 2007-08-14  Ben Pfaff  <blp@gnu.org>
84907         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
84909 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
84911         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
84912         given the changes below.
84913         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
84914         even on hosts that have padding bits beyond the supported 64.
84916 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
84918         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
84919         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
84920         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
84921         depends on it.
84922         (xstrtol_error): Remove.
84923         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
84924         but with a different signature.
84925         (ATTRIBUTE_NORETURN, __attribute__): New macros.
84926         * lib/xstrtol-error.c: Include exitfail.h.
84927         (xstrtol_fatal): New function, with a different signature from the
84928         old xstrtol_error, so that the caller need not worry about passing
84929         in an exit status, or about storage management of the option argument.
84930         (xstrtol_error): Now a static function.  Redo signature to
84931         implement xstrtol_fatal.  Output the correct number of hyphens in
84932         front of the option so that the caller need not worry about
84933         storage management.
84934         (N_): New macro.
84935         (_): Remove; not used now.
84936         * modules/xstrtol: Depend on getopt.
84937         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
84938         of old STRTOL_FATAL_ERROR macro.
84939         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
84940         of test program.
84941         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
84942         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
84944 2007-08-08  Eric Blake  <ebb9@byu.net>
84946         * lib/xstrtol-error.c: Add missing include.
84948         Move xstrtol messages into gnulib domain, when --pobase is used.
84949         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
84950         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
84951         * modules/xstrtol (Files): Distribute new file.
84952         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
84953         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
84954         * tests/test-xstrtol.c: ...into new file.
84955         * tests/test-xstrtoul.c: Also test xstrtoul.
84956         * tests/test-xstrtoimax.c: Also test xstrtoimax.
84957         * tests/test-xstrtoumax.c: Also test xstrtoumax.
84958         * tests/test-xstrtol.sh: Drive the tests.
84959         * tests/test-xstrtoimax.sh: Likewise.
84960         * tests/test-xstrtoumax.sh: Likewise.
84961         * modules/xstrtol-tests: New module.
84962         * modules/xstrtoimax-tests: Likewise.
84963         * modules/xstrtoumax-tests: Likewise.
84965 2007-08-08  Jim Meyering  <jim@meyering.net>
84967         New function: mfile_name_concat.
84968         * lib/filenamecat.c (mfile_name_concat): New function, just like
84969         file_name_concat, but return NULL upon failure rather than exiting
84970         with a diagnostic.
84971         * lib/filenamecat.h: Declare it.
84973 2007-08-07  Bruno Haible  <bruno@clisp.org>
84975         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
84976         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
84977         warning from gcc.
84978         Reported by Eric Blake.
84980 2007-08-07  Simon Josefsson  <simon@josefsson.org>
84982         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
84983         * modules/crypto/arcfour (License): Likewise.
84984         * modules/crypto/des-tests (License): Likewise.
84985         * modules/crypto/gc-arctwo-tests (License): Likewise.
84986         * modules/crypto/gc-des-tests (License): Likewise.
84987         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
84988         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
84989         * modules/crypto/gc-md2-tests (License): Likewise.
84990         * modules/crypto/gc-md4-tests (License): Likewise.
84991         * modules/crypto/gc-md5-tests (License): Likewise.
84992         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
84993         * modules/crypto/gc-rijndael-tests (License): Likewise.
84994         * modules/crypto/gc-sha1-tests (License): Likewise.
84995         * modules/crypto/gc-tests (License): Likewise.
84996         * modules/crypto/hmac-md5 (License): Likewise.
84997         * modules/crypto/hmac-sha1 (License): Likewise.
84998         * modules/crypto/md2-tests (License): Likewise.
84999         * modules/crypto/md4-tests (License): Likewise.
85000         * modules/crypto/md5 (License): Likewise.
85001         * modules/crypto/rijndael (License): Likewise.
85002         * modules/crypto/sha1 (License): Likewise.
85003         * modules/memxor (License): Likewise.
85005 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
85006         and Bruno Haible  <bruno@clisp.org>
85008         * NEWS: Describe interface changes to human, xstrtol.
85009         * lib/human.h: Include <xstrtol.h>.
85010         (human_options): Return enum strtol_error, not int.  Remove
85011         bool arg; take int * instead.
85012         * lib/human.c: Don't include "gettext.h".
85013         (_): Remove; no longer used.
85014         Don't include <xstrtol.h>, since human.h does it.
85015         (human_options): Adjust to abovementioned interface changes.
85016         Do not report error to stderr; that's now the caller's
85017         responsibility.
85018         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
85019         interface change.
85020         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
85021         Str, Argument_type_string.  All uses changed.  Put " argument"
85022         in diagnostics to make them clearer.  Change wording of suffix
85023         message for clarity.
85024         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
85025         Argument_type_string.
85026         (STRTOL_FATAL_WARN): Remove; no longer used.
85027         * modules/human (Depends-on): Remove gettext-h.
85029 2007-08-06  Simon Josefsson  <simon@josefsson.org>
85031         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
85033 2007-07-31  Bruno Haible  <bruno@clisp.org>
85035         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
85036         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
85037         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
85039 2007-07-31  Bruno Haible  <bruno@clisp.org>
85041         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
85042         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
85044 2007-07-30  Bruno Haible  <bruno@clisp.org>
85046         * modules/base64 (License): Use the synonymous term "LGPLv2+".
85047         * modules/c-ctype (License): Likewise.
85048         * modules/c-strcase (License): Likewise.
85049         * modules/check-version (License): Likewise.
85050         * modules/iconv (License): Likewise.
85051         * modules/iconv_open (License): Likewise.
85052         * modules/read-file (License): Likewise.
85053         * modules/striconv (License): Likewise.
85054         * modules/strverscmp (License): Likewise.
85055         * modules/vasprintf (License): Likewise.
85056         * modules/crypto/des (License): Likewise.
85057         * modules/crypto/gc (License): Likewise.
85058         * modules/crypto/gc-arcfour (License): Likewise.
85059         * modules/crypto/gc-arctwo (License): Likewise.
85060         * modules/crypto/gc-des (License): Likewise.
85061         * modules/crypto/gc-hmac-md5 (License): Likewise.
85062         * modules/crypto/gc-hmac-sha1 (License): Likewise.
85063         * modules/crypto/gc-md2 (License): Likewise.
85064         * modules/crypto/gc-md4 (License): Likewise.
85065         * modules/crypto/gc-md5 (License): Likewise.
85066         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
85067         * modules/crypto/gc-random (License): Likewise.
85068         * modules/crypto/gc-rijndael (License): Likewise.
85069         * modules/crypto/gc-sha1 (License): Likewise.
85070         * modules/crypto/md2 (License): Likewise.
85071         * modules/crypto/md4 (License): Likewise.
85073 2007-07-30  Jim Meyering  <jim@meyering.net>
85075         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
85076         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
85077         it has valid stat data.  This bug would cause du not to count the
85078         sizes of inaccessible directories.
85079         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
85080         in <http://bugzilla.redhat.com/250077>.
85082 2007-07-25  Peter O'Gorman  <peter@pogma.com>
85083             Bruno Haible  <bruno@clisp.org>
85085         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
85086         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
85087         #include_next, gives a diagnostic about it, but reports no error in
85088         the exit code.
85089         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
85091 2007-07-24  Ben Pfaff  <blp@gnu.org>
85093         Improve name: "count-one-bits" is better than "popcount".
85094         * MODULES.html.sh: Update name.
85095         * lib/popcount.h: Renamed lib/count-one-bits.h.
85096         (popcount): Renamed count_one_bits.
85097         (popcountl): Renamed count_one_bits_l.
85098         (popcountll): Renamed count_one_bits_ll.
85099         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
85100         * modules/popcount: Renamed module/count-one-bits.
85101         * modules/popcount-tests: Renamed module/count-one-bits-tests.
85102         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
85104 2007-07-23  Ben Pfaff  <blp@gnu.org>
85106         * lib/popcount.h (popcount32): Reduce size of constants, to allow
85107         better code generation, and add U to large constants to avoid
85108         warnings, in non-GCC case.
85109         Suggested by Bruno Haible.
85111 2007-07-23  Ben Pfaff  <blp@gnu.org>
85113         * lib/popcount.h: Use verify_true instead of if...abort.
85114         * modules/popcount: Depend on verify module.
85115         Suggested by Jim Meyering.
85117 2007-07-23  Bruno Haible  <bruno@clisp.org>
85119         * gnulib-tool (func_import): Create a .cvsignore file also when the
85120         directory is not yet in CVS but the toplevel directory is. When
85121         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
85122         Reported by Karl Berry.
85124 2007-07-22  Ben Pfaff  <blp@gnu.org>
85126         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
85127         case.
85128         Suggested by Eric Blake.
85130 2007-07-22  Ben Pfaff  <blp@gnu.org>
85132         New module: popcount.
85133         * MODULES.html.sh: Add popcount.
85134         * modules/popcount: New file.
85135         * modules/popcount-tests: New file.
85136         * tests/test-popcount.c: New file.
85137         * lib/popcount.h: New file.
85138         * m4/popcount.m4: New file.
85140 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
85142         * build-aux/announce-gen: Update to GPLv3.
85144         * build-aux/config.guess: Update from config.
85146 2007-07-21  Bruno Haible  <bruno@clisp.org>
85148         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
85149         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
85151 2007-07-20  Jim Meyering  <jim@meyering.net>
85153         * check-module: Diagnose a self-dependency.
85155 2007-07-19  Bruno Haible  <bruno@clisp.org>
85157         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
85158         empty.
85159         Reported by Eric Blake.
85161 2007-07-18  Bruno Haible  <bruno@clisp.org>
85163         * gnulib-tool: New options --po-base, --po-domain.
85164         (func_usage): Document them.
85165         (pobase, po_domain): New variables.
85166         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
85167         DEFAULT_TEXT_DOMAIN.
85168         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
85169         (func_import): Consider pobase and po_domain. Create a po/ directory.
85170         (func_create_testdir): Set pobase and po_domain to empty.
85171         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
85172         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
85174 2007-07-18  Bruno Haible  <bruno@clisp.org>
85176         * gnulib-tool (func_get_automake_snippet): Synthesize also an
85177         EXTRA_DIST augmentation for files in build-aux/.
85179 2007-07-16  Bruno Haible  <bruno@clisp.org>
85181         * modules/lseek (License): Use the synonymous term "LGPLv2+".
85182         * modules/getdelim (License): Likewise.
85184 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
85186         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
85187         * modules/d-type (License): Likewise.
85188         * modules/extensions (License): Likewise.
85189         * modules/fnmatch (License): Likewise.
85190         * modules/fseeko (License): Likewise.
85191         * modules/getaddrinfo (License): Likewise.
85192         * modules/getline (License): Likewise.
85193         * modules/getlogin_r (License): Likewise.
85194         * modules/getpass (License): Likewise.
85195         * modules/gettimeofday (License): Likewise.
85196         * modules/glob (License): Likewise.
85197         * modules/inet_ntop (License): Likewise.
85198         * modules/malloc (License): Likewise.
85199         * modules/malloca (License): Likewise.
85200         * modules/memmem (License): Likewise.
85201         * modules/mempcpy (License): Likewise.
85202         * modules/memset (License): Likewise.
85203         * modules/minmax (License): Likewise.
85204         * modules/mktime (License): Likewise.
85205         * modules/netinet_in (License): Likewise.
85206         * modules/pathmax (License): Likewise.
85207         * modules/poll (License): Likewise.
85208         * modules/regex (License): Likewise.
85209         * modules/snprintf (License): Likewise.
85210         * modules/stdbool (License): Likewise.
85211         * modules/stdint (License): Likewise.
85212         * modules/stdio (License): Likewise.
85213         * modules/strcase (License): Likewise.
85214         * modules/strcasestr (License): Likewise.
85215         * modules/strdup (License): Likewise.
85216         * modules/string (License): Likewise.
85217         * modules/strndup (License): Likewise.
85218         * modules/strnlen (License): Likewise.
85219         * modules/strpbrk (License): Likewise.
85220         * modules/strptime (License): Likewise.
85221         * modules/strsep (License): Likewise.
85222         * modules/sys_select (License): Likewise.
85223         * modules/sys_socket (License): Likewise.
85224         * modules/sys_stat (License): Likewise.
85225         * modules/sys_time (License): Likewise.
85226         * modules/time (License): Likewise.
85227         * modules/time_r (License): Likewise.
85228         * modules/timegm (License): Likewise.
85229         * modules/unistd (License): Likewise.
85230         * modules/vsnprintf (License): Likewise.
85231         * modules/wctype (License): Likewise.
85233 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
85235         * modules/argz (License): LGPLv2+.
85237 2007-07-15  Karl Berry  <karl@gnu.org>
85239         * doc/gnulib.texi: revise node structure per new fdl.texi.
85241 2007-07-14  Bruno Haible  <bruno@clisp.org>
85243         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
85244         the output file.
85245         * lib/uniname/uninames.h: Regenerated.
85247 2007-07-14  Karl Berry  <karl@gnu.org>
85249         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
85250         omitting sectioning and index commands.
85252 2007-07-13  Bruno Haible  <bruno@clisp.org>
85254         New gnulib-tool option --more-symlinks.
85255         * gnulib-tool (func_usage): Document --more-symlinks.
85256         (do_copyrights): New variable.
85257         Recognize option --more-symlinks.
85258         (func_import): Don't add a copyright notice transform to
85259         sed_transform_lib_file if do_copyrights is empty.
85261 2007-07-13  Bruno Haible  <bruno@clisp.org>
85263         * lib/vasnprintf.c (decimal_point_char): Define also if
85264         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
85265         && !NEED_PRINTF_DIRECTIVE_A.
85266         Reported by Clemens Koller <clemens.koller@anagramm.de> via
85267         Gary V. Vaughan <gary@gnu.org>.
85269 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
85271         * lib/inttypes_.h: Undo previous change, since it was fixed
85272         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
85274 2007-07-13  Bruno Haible  <bruno@clisp.org>
85276         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
85277         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
85279 2007-07-13  Jim Meyering  <jim@meyering.net>
85281         df: Don't fail for Tru64's "file-on-file mount".
85282         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
85283         so we fall through and use statfs instead.  Details here:
85284         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
85285         Reported by Albert Chin.
85287 2007-07-13  Bruno Haible  <bruno@clisp.org>
85289         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
85290         * modules/configmake (License): Likewise.
85291         * modules/gettext (License): Likewise.
85292         * modules/gettext-h (License): Likewise.
85293         * modules/include_next (License): Likewise.
85294         * modules/link-warning (License): Likewise.
85295         * modules/localcharset (License): Likewise.
85296         * modules/localename (License): Likewise.
85297         * modules/lock (License): Likewise.
85298         * modules/relocatable-lib-lgpl (License): Likewise.
85299         * modules/size_max (License): Likewise.
85300         * modules/vasnprintf (License): Likewise.
85301         * modules/wchar (License): Likewise.
85302         * modules/xsize (License): Likewise.
85304 2007-07-13  Bruno Haible  <bruno@clisp.org>
85306         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
85307         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
85309 2007-07-12  Bruno Haible  <bruno@clisp.org>
85311         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
85312         in the modules files.
85314 2007-07-11  Karl Berry  <karl@gnu.org>
85316         * MODULES.html.sh (func_module): use
85317          sed -e '\|^'"${includefile}"'$|d'
85318          instead of /.../d, to avoid errors on $includefile's containing /.
85320 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
85322         * gnulib-tool (func_import): Avoid duplication of --avoid
85323         statements
85324         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
85325         names to `_' in variable names.
85327 2007-07-10  Eric Blake  <ebb9@byu.net>
85329         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
85330         * NEWS: Document this change.
85332 2007-07-08  Bruno Haible  <bruno@clisp.org>
85334         Update to Unicode 5.0.
85335         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
85336         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
85337         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
85338         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
85339         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
85340         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
85341         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
85342         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
85343         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
85344         U+10A3F, U+1D242..U+1D244.
85345         (nonspacing_table_ind): Update.
85346         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
85347         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
85349 2007-07-08  Bruno Haible  <bruno@clisp.org>
85351         Update to Unicode 5.0.
85352         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
85353         code transform. Extend the name index field of unicode_name_to_code and
85354         unicode_code_to_name from 16 to 24 bits.
85355         * lib/uniname/uniname.c (unicode_character_name,
85356         unicode_name_character): Add the range 0x12xxx to the code transform.
85357         * lib/uniname/uninames.h: Regenerated.
85358         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
85360 2007-07-07  Bruno Haible  <bruno@clisp.org>
85362         * modules/wcwidth-tests: New file.
85363         * tests/test-wcwidth.c: New file.
85365         Work around MacOS X wcwidth() bug.
85366         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
85367         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
85368         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
85369         original wcwidth in non-UTF-8 locales.
85370         * modules/wcwidth (Depends-on): Add localcharset, streq,
85371         uniwidth/width.
85372         * doc/functions/wcwidth.texi: Update.
85374 2007-07-07  Bruno Haible  <bruno@clisp.org>
85376         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
85377         (wcwidth): New declaration.
85378         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
85379         macros.
85380         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
85381         here. Prepare for creating <wchar.h> unconditionally.
85382         * modules/wchar (Depends-on): Add link-warning.
85383         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
85384         REPLACE_WCWIDTH, and GL_LINK_WARNING.
85385         * lib/wcwidth.h: Remove file.
85386         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
85387         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
85388         * modules/wcwidth (Files): Remove lib/wcwidth.h.
85389         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
85390         (Include): Replace wcwidth.h with <wchar.h>.
85391         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
85392         * lib/mbchar.h: Don't include wcwidth.h.
85393         * lib/mbswidth.c: Likewise.
85394         * NEWS: Mention the change.
85396 2007-07-07  Bruno Haible  <bruno@clisp.org>
85398         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
85399         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
85400         definition with an external declaration.
85401         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
85402         defined as a function. Remove AC_C_INLINE requirement.
85403         * modules/wcwidth (Files): Add lib/wcwidth.c.
85404         (Makefile.am): Remove redundant statement.
85406 2007-07-07  Bruno Haible  <bruno@clisp.org>
85408         * MODULES.html.sh (Unicode string functions): Add the new modules.
85410         * tests/uniwidth/test-u32-strwidth.c: New file.
85411         * modules/uniwidth/u32-strwidth-tests: New file.
85413         * lib/uniwidth/u32-strwidth.c: New file.
85414         * modules/uniwidth/u32-strwidth: New file.
85416         * tests/uniwidth/test-u16-strwidth.c: New file.
85417         * modules/uniwidth/u16-strwidth-tests: New file.
85419         * lib/uniwidth/u16-strwidth.c: New file.
85420         * modules/uniwidth/u16-strwidth: New file.
85422         * tests/uniwidth/test-u8-strwidth.c: New file.
85423         * modules/uniwidth/u8-strwidth-tests: New file.
85425         * lib/uniwidth/u8-strwidth.c: New file.
85426         * modules/uniwidth/u8-strwidth: New file.
85428         * tests/uniwidth/test-u32-width.c: New file.
85429         * modules/uniwidth/u32-width-tests: New file.
85431         * lib/uniwidth/u32-width.c: New file.
85432         * modules/uniwidth/u32-width: New file.
85434         * tests/uniwidth/test-u16-width.c: New file.
85435         * modules/uniwidth/u16-width-tests: New file.
85437         * lib/uniwidth/u16-width.c: New file.
85438         * modules/uniwidth/u16-width: New file.
85440         * tests/uniwidth/test-u8-width.c: New file.
85441         * modules/uniwidth/u8-width-tests: New file.
85443         * lib/uniwidth/u8-width.c: New file.
85444         * modules/uniwidth/u8-width: New file.
85446         * tests/uniwidth/test-uc_width.c: New file.
85447         * modules/uniwidth/width-tests: New file.
85449         * lib/uniwidth/width.c: New file, from GNU libiconv.
85450         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
85451         * modules/uniwidth/width: New file.
85453         * lib/uniwidth.h: New file, from GNU libiconv.
85454         * modules/uniwidth/base: New file.
85456 2007-07-07  Bruno Haible  <bruno@clisp.org>
85458         * lib/uniname.h: New file, from GNU gettext.
85459         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
85460         * lib/uniname/uninames.h: New file, from GNU gettext.
85461         * lib/uniname/uniname.c: New file, from GNU gettext.
85462         * tests/uniname/test-uninames.sh: New file.
85463         * tests/uniname/test-uninames.c: New file, from GNU gettext.
85464         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
85465         * modules/uniname/base: New file.
85466         * modules/uniname/uniname: New file.
85467         * modules/uniname/uniname-tests: New file.
85468         * MODULES.html.sh (Unicode string functions): Add the new modules.
85470 2007-07-06  Bruno Haible  <bruno@clisp.org>
85472         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
85474 2007-07-06  Bruno Haible  <bruno@clisp.org>
85476         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
85477         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
85478         includes <cygwin/sys_time.h> which includes <sys/select.h> which
85479         include <sys/time.h>.
85480         Reported by Eric Blake.
85482 2007-07-06  Eric Blake  <ebb9@byu.net>
85484         Fix testing canonicalize on cygwin.
85485         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
85486         Revert patch from 2007-06-19.
85487         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
85488         canonicalize module is also in use.
85489         * tests/test-canonicalize.c: New file.
85490         * tests/test-canonicalize.sh: Likewise.
85491         * modules/canonicalize-tests: Likewise.
85493 2007-07-06  Jim Meyering  <jim@meyering.net>
85495         * lib/getugroups.c (getugroups): Detect getgrent failure.
85496         Adjust comment to reflect reality: this function may return -1.
85498 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
85500         * build-aux/bootstrap (TP_URL,get_translations): Update to use
85501         the new TP address.
85502         (usage): Fix typo
85503         (gnulib_mk): New variable.
85505 2007-07-05  Jim Meyering  <jim@meyering.net>
85507         Don't let endgrent clobber errno, no matter how improbable.
85508         * lib/getugroups.c (getugroups): Save and restore errno around
85509         endgrent call.
85511         Close the group DB even when failing with 2^31 or more members.
85512         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
85514 2007-07-04  Jim Meyering  <jim@meyering.net>
85516         * lib/getugroups.h: New file.
85517         * lib/getugroups.c: Include "getugroups.h".
85518         Remove uses of "register" keyword.
85519         Move local variable, "cp", down into scope where used.
85520         Give "username" parameter the "const" attribute.
85521         * modules/getugroups (Files): Add lib/getugroups.h
85523 2007-07-04  Karl Berry  <karl@gnu.org>
85525         * MODULES.html.sh (func_all_modules): Complete rename of
85526         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
85528 2007-07-02  Bruno Haible  <bruno@clisp.org>
85530         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
85531         mode, when inttypes.h comes from gnulib.
85532         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
85534 2007-07-02  Simon Josefsson  <simon@josefsson.org>
85536         * NEWS: Mention lgpl module name change.
85538         * modules/lgpl-2.1: Renamed from lgpl.
85540         * NEWS: Mention gpl module name change.
85542         * modules/gpl-3.0: New file, based on gpl-2.0.
85544         * modules/gpl-2.0: Renamed from gpl.
85546         * modules/gpl: Fix filename, doc/gpl.texi is now found at
85547         doc/gpl-2.0.texi.
85549 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
85551         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
85552         #define __STDC_LIMIT_MACROS temporarily while including
85553         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
85554         Problem reported by Joel E. Denny in
85555         <http://lists.gnu.org/r/bug-gnulib/2007-07/msg00008.html>.
85557 2007-07-01  Bruno Haible  <bruno@clisp.org>
85559         * lib/unistdio.h: New file.
85560         * lib/unistdio/u-asnprintf.h: New file.
85561         * lib/unistdio/u-asprintf.h: New file.
85562         * lib/unistdio/u-printf-args.c: New file.
85563         * lib/unistdio/u-printf-args.h: New file.
85564         * lib/unistdio/u-printf-parse.h: New file.
85565         * lib/unistdio/u-snprintf.h: New file.
85566         * lib/unistdio/u-sprintf.h: New file.
85567         * lib/unistdio/u-vasprintf.h: New file.
85568         * lib/unistdio/u-vsnprintf.h: New file.
85569         * lib/unistdio/u-vsprintf.h: New file.
85570         * lib/unistdio/ulc-asnprintf.c: New file.
85571         * lib/unistdio/ulc-asprintf.c: New file.
85572         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
85573         * lib/unistdio/ulc-printf-parse.c: New file.
85574         * lib/unistdio/ulc-snprintf.c: New file.
85575         * lib/unistdio/ulc-sprintf.c: New file.
85576         * lib/unistdio/ulc-vasnprintf.c: New file.
85577         * lib/unistdio/ulc-vasprintf.c: New file.
85578         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
85579         * lib/unistdio/ulc-vsnprintf.c: New file.
85580         * lib/unistdio/ulc-vsprintf.c: New file.
85581         * lib/unistdio/u8-asnprintf.c: New file.
85582         * lib/unistdio/u8-asprintf.c: New file.
85583         * lib/unistdio/u8-printf-parse.c: New file.
85584         * lib/unistdio/u8-snprintf.c: New file.
85585         * lib/unistdio/u8-sprintf.c: New file.
85586         * lib/unistdio/u8-vasnprintf.c: New file.
85587         * lib/unistdio/u8-vasprintf.c: New file.
85588         * lib/unistdio/u8-vsnprintf.c: New file.
85589         * lib/unistdio/u8-vsprintf.c: New file.
85590         * lib/unistdio/u8-u8-asnprintf.c: New file.
85591         * lib/unistdio/u8-u8-asprintf.c: New file.
85592         * lib/unistdio/u8-u8-snprintf.c: New file.
85593         * lib/unistdio/u8-u8-sprintf.c: New file.
85594         * lib/unistdio/u8-u8-vasnprintf.c: New file.
85595         * lib/unistdio/u8-u8-vasprintf.c: New file.
85596         * lib/unistdio/u8-u8-vsnprintf.c: New file.
85597         * lib/unistdio/u8-u8-vsprintf.c: New file.
85598         * lib/unistdio/u16-asnprintf.c: New file.
85599         * lib/unistdio/u16-asprintf.c: New file.
85600         * lib/unistdio/u16-printf-parse.c: New file.
85601         * lib/unistdio/u16-snprintf.c: New file.
85602         * lib/unistdio/u16-sprintf.c: New file.
85603         * lib/unistdio/u16-vasnprintf.c: New file.
85604         * lib/unistdio/u16-vasprintf.c: New file.
85605         * lib/unistdio/u16-vsnprintf.c: New file.
85606         * lib/unistdio/u16-vsprintf.c: New file.
85607         * lib/unistdio/u16-u16-asnprintf.c: New file.
85608         * lib/unistdio/u16-u16-asprintf.c: New file.
85609         * lib/unistdio/u16-u16-snprintf.c: New file.
85610         * lib/unistdio/u16-u16-sprintf.c: New file.
85611         * lib/unistdio/u16-u16-vasnprintf.c: New file.
85612         * lib/unistdio/u16-u16-vasprintf.c: New file.
85613         * lib/unistdio/u16-u16-vsnprintf.c: New file.
85614         * lib/unistdio/u16-u16-vsprintf.c: New file.
85615         * lib/unistdio/u32-asnprintf.c: New file.
85616         * lib/unistdio/u32-asprintf.c: New file.
85617         * lib/unistdio/u32-printf-parse.c: New file.
85618         * lib/unistdio/u32-snprintf.c: New file.
85619         * lib/unistdio/u32-sprintf.c: New file.
85620         * lib/unistdio/u32-vasnprintf.c: New file.
85621         * lib/unistdio/u32-vasprintf.c: New file.
85622         * lib/unistdio/u32-vsnprintf.c: New file.
85623         * lib/unistdio/u32-vsprintf.c: New file.
85624         * lib/unistdio/u32-u32-asnprintf.c: New file.
85625         * lib/unistdio/u32-u32-asprintf.c: New file.
85626         * lib/unistdio/u32-u32-snprintf.c: New file.
85627         * lib/unistdio/u32-u32-sprintf.c: New file.
85628         * lib/unistdio/u32-u32-vasnprintf.c: New file.
85629         * lib/unistdio/u32-u32-vasprintf.c: New file.
85630         * lib/unistdio/u32-u32-vsnprintf.c: New file.
85631         * lib/unistdio/u32-u32-vsprintf.c: New file.
85632         * tests/unistdio/test-ulc-asnprintf1.c: New file.
85633         * tests/unistdio/test-ulc-asnprintf1.h: New file.
85634         * tests/unistdio/test-ulc-printf1.h: New file.
85635         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
85636         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
85637         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
85638         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
85639         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
85640         * tests/unistdio/test-ulc-vasprintf1.c: New file.
85641         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
85642         * tests/unistdio/test-ulc-vsprintf1.c: New file.
85643         * tests/unistdio/test-u8-asnprintf1.c: New file.
85644         * tests/unistdio/test-u8-asnprintf1.h: New file.
85645         * tests/unistdio/test-u8-printf1.h: New file.
85646         * tests/unistdio/test-u8-vasnprintf1.c: New file.
85647         * tests/unistdio/test-u8-vasnprintf2.c: New file.
85648         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
85649         * tests/unistdio/test-u8-vasnprintf3.c: New file.
85650         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
85651         * tests/unistdio/test-u8-vasprintf1.c: New file.
85652         * tests/unistdio/test-u8-vsnprintf1.c: New file.
85653         * tests/unistdio/test-u8-vsprintf1.c: New file.
85654         * tests/unistdio/test-u16-asnprintf1.c: New file.
85655         * tests/unistdio/test-u16-asnprintf1.h: New file.
85656         * tests/unistdio/test-u16-printf1.h: New file.
85657         * tests/unistdio/test-u16-vasnprintf1.c: New file.
85658         * tests/unistdio/test-u16-vasnprintf2.c: New file.
85659         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
85660         * tests/unistdio/test-u16-vasnprintf3.c: New file.
85661         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
85662         * tests/unistdio/test-u16-vasprintf1.c: New file.
85663         * tests/unistdio/test-u16-vsnprintf1.c: New file.
85664         * tests/unistdio/test-u16-vsprintf1.c: New file.
85665         * tests/unistdio/test-u32-asnprintf1.c: New file.
85666         * tests/unistdio/test-u32-asnprintf1.h: New file.
85667         * tests/unistdio/test-u32-printf1.h: New file.
85668         * tests/unistdio/test-u32-vasnprintf1.c: New file.
85669         * tests/unistdio/test-u32-vasnprintf2.c: New file.
85670         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
85671         * tests/unistdio/test-u32-vasnprintf3.c: New file.
85672         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
85673         * tests/unistdio/test-u32-vasprintf1.c: New file.
85674         * tests/unistdio/test-u32-vsnprintf1.c: New file.
85675         * tests/unistdio/test-u32-vsprintf1.c: New file.
85676         * modules/unistdio/base: New file.
85677         * modules/unistdio/u-printf-args: New file.
85678         * modules/unistdio/ulc-asnprintf: New file.
85679         * modules/unistdio/ulc-asprintf: New file.
85680         * modules/unistdio/ulc-fprintf: New file.
85681         * modules/unistdio/ulc-printf-parse: New file.
85682         * modules/unistdio/ulc-snprintf: New file.
85683         * modules/unistdio/ulc-sprintf: New file.
85684         * modules/unistdio/ulc-vasnprintf: New file.
85685         * modules/unistdio/ulc-vasprintf: New file.
85686         * modules/unistdio/ulc-vfprintf: New file.
85687         * modules/unistdio/ulc-vsnprintf: New file.
85688         * modules/unistdio/ulc-vsprintf: New file.
85689         * modules/unistdio/u8-asnprintf: New file.
85690         * modules/unistdio/u8-asprintf: New file.
85691         * modules/unistdio/u8-printf-parse: New file.
85692         * modules/unistdio/u8-snprintf: New file.
85693         * modules/unistdio/u8-sprintf: New file.
85694         * modules/unistdio/u8-vasnprintf: New file.
85695         * modules/unistdio/u8-vasprintf: New file.
85696         * modules/unistdio/u8-vsnprintf: New file.
85697         * modules/unistdio/u8-vsprintf: New file.
85698         * modules/unistdio/u8-u8-asnprintf: New file.
85699         * modules/unistdio/u8-u8-asprintf: New file.
85700         * modules/unistdio/u8-u8-snprintf: New file.
85701         * modules/unistdio/u8-u8-sprintf: New file.
85702         * modules/unistdio/u8-u8-vasnprintf: New file.
85703         * modules/unistdio/u8-u8-vasprintf: New file.
85704         * modules/unistdio/u8-u8-vsnprintf: New file.
85705         * modules/unistdio/u8-u8-vsprintf: New file.
85706         * modules/unistdio/u16-asnprintf: New file.
85707         * modules/unistdio/u16-asprintf: New file.
85708         * modules/unistdio/u16-printf-parse: New file.
85709         * modules/unistdio/u16-snprintf: New file.
85710         * modules/unistdio/u16-sprintf: New file.
85711         * modules/unistdio/u16-vasnprintf: New file.
85712         * modules/unistdio/u16-vasprintf: New file.
85713         * modules/unistdio/u16-vsnprintf: New file.
85714         * modules/unistdio/u16-vsprintf: New file.
85715         * modules/unistdio/u16-u16-asnprintf: New file.
85716         * modules/unistdio/u16-u16-asprintf: New file.
85717         * modules/unistdio/u16-u16-snprintf: New file.
85718         * modules/unistdio/u16-u16-sprintf: New file.
85719         * modules/unistdio/u16-u16-vasnprintf: New file.
85720         * modules/unistdio/u16-u16-vasprintf: New file.
85721         * modules/unistdio/u16-u16-vsnprintf: New file.
85722         * modules/unistdio/u16-u16-vsprintf: New file.
85723         * modules/unistdio/u32-asnprintf: New file.
85724         * modules/unistdio/u32-asprintf: New file.
85725         * modules/unistdio/u32-printf-parse: New file.
85726         * modules/unistdio/u32-snprintf: New file.
85727         * modules/unistdio/u32-sprintf: New file.
85728         * modules/unistdio/u32-vasnprintf: New file.
85729         * modules/unistdio/u32-vasprintf: New file.
85730         * modules/unistdio/u32-vsnprintf: New file.
85731         * modules/unistdio/u32-vsprintf: New file.
85732         * modules/unistdio/u32-u32-asnprintf: New file.
85733         * modules/unistdio/u32-u32-asprintf: New file.
85734         * modules/unistdio/u32-u32-snprintf: New file.
85735         * modules/unistdio/u32-u32-sprintf: New file.
85736         * modules/unistdio/u32-u32-vasnprintf: New file.
85737         * modules/unistdio/u32-u32-vasprintf: New file.
85738         * modules/unistdio/u32-u32-vsnprintf: New file.
85739         * modules/unistdio/u32-u32-vsprintf: New file.
85740         * modules/unistdio/ulc-asnprintf-tests: New file.
85741         * modules/unistdio/ulc-vasnprintf-tests: New file.
85742         * modules/unistdio/ulc-vasprintf-tests: New file.
85743         * modules/unistdio/ulc-vsnprintf-tests: New file.
85744         * modules/unistdio/ulc-vsprintf-tests: New file.
85745         * modules/unistdio/u8-asnprintf-tests: New file.
85746         * modules/unistdio/u8-vasnprintf-tests: New file.
85747         * modules/unistdio/u8-vasprintf-tests: New file.
85748         * modules/unistdio/u8-vsnprintf-tests: New file.
85749         * modules/unistdio/u8-vsprintf-tests: New file.
85750         * modules/unistdio/u16-asnprintf-tests: New file.
85751         * modules/unistdio/u16-vasnprintf-tests: New file.
85752         * modules/unistdio/u16-vasprintf-tests: New file.
85753         * modules/unistdio/u16-vsnprintf-tests: New file.
85754         * modules/unistdio/u16-vsprintf-tests: New file.
85755         * modules/unistdio/u32-asnprintf-tests: New file.
85756         * modules/unistdio/u32-vasnprintf-tests: New file.
85757         * modules/unistdio/u32-vasprintf-tests: New file.
85758         * modules/unistdio/u32-vsnprintf-tests: New file.
85759         * modules/unistdio/u32-vsprintf-tests: New file.
85760         * MODULES.html.sh (Unicode string functions): Add the new modules.
85762 2007-07-01  Bruno Haible  <bruno@clisp.org>
85764         * lib/sprintf.c (sprintf): Limit the available length estimation,
85765         to avoid address wraparound.
85766         * lib/vsprintf.c (vsprintf): Likewise.
85767         * modules/sprintf-posix (Dependencies): Add stdint.
85768         * modules/vsprintf-posix (Dependencies): Likewise.
85770 2007-07-01  Bruno Haible  <bruno@clisp.org>
85772         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
85773         Windows PATH as well. Conservative double-quoting. Comments.
85775 2007-07-01  Bruno Haible  <bruno@clisp.org>
85776             Eric Blake  <ebb9@byu.net>
85777             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
85779         * gnulib-tool (self_abspathname): Fix algorithm to cope with
85780         empty components in $PATH, denoting '.'.
85782 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
85784         * gnulib-tool: Fix indentation.
85785         (func_create_megatestdir): Likewise.
85786         Report by Bruno Haible.
85788 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
85790         Sync from Automake.
85791         * build-aux/gnupload: Fix shell portability issues with for loops.
85792         Report by Karl Berry.
85794 2007-06-29  Simon Josefsson  <simon@josefsson.org>
85796         * build-aux/maint.mk (POURL): Use translationproject.org.
85798 2007-06-27  Simon Josefsson  <simon@josefsson.org>
85799             Bruno Haible  <bruno@clisp.org>
85801         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
85802         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
85803         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
85804         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
85805         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
85807 2007-06-27  Bruno Haible  <bruno@clisp.org>
85809         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
85810         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
85812 2007-06-26  Karl Berry  <karl@gnu.org>
85814         * MODULES.html.sh: remove xreadlink-with-size.
85816 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
85818         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
85819         method that I hope also handles the double-include problem noted
85820         by Bruno Haible in
85821         <http://lists.gnu.org/r/bug-gnulib/2007-05/msg00186.html>.
85823 2007-06-23  Bruno Haible  <bruno@clisp.org>
85825         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
85826         Don't let the 'mostlyclean' target fail if the last subdirectory could
85827         not be removed.
85828         Reported by Karl Berry.
85830 2007-06-23  Bruno Haible  <bruno@clisp.org>
85832         * gnulib-tool (echo): Add a speedier workaround for ksh.
85833         * tests/test-echo.sh: Likewise.
85835 2007-06-23  Bruno Haible  <bruno@clisp.org>
85837         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
85838         * tests/test-echo.sh: Likewise.
85840 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
85842         * gnulib-tool (IFS): Initialize early, so we don't set it to
85843         empty later.
85844         (self_abspathname): Rewrite algorithm to set it, reindent.
85845         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
85846         (func_create_megatestdir): Merge some sed scripts.
85848 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
85850         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
85851         exposed by Sun Studio 11 cc on Solaris 8.
85853 2007-06-22  Bruno Haible  <bruno@clisp.org>
85855         * gnulib-tool (echo): Ensure the echo primitive does not interpret
85856         backslashes.
85857         * tests/test-echo.sh: New file.
85859 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
85861         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
85862         simplify `sed_replace_build_aux' scripts, they are portable but
85863         echoing them with `echo' is not.
85864         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
85866 2007-06-21  Karl Berry  <karl@gnu.org>
85868         * config/srclist.txt: guess we can't handle the licenses via
85869         srclist at the moment.
85871 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
85873         * MODULES.html.sh: Add include_next.
85874         * modules/include_next: New file.
85876 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
85878         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
85879         INCLUDE_NEXT.
85880         (gl_CHECK_NEXT_HEADERS): New macro.
85881         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
85882         the obsolescent gl_ABSOLUTE_HEADER.
85883         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
85884         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
85885         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
85886         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
85887         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
85888         * m4/math_h.m4 (gl_MATH_H): Likewise.
85889         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
85890         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
85891         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
85892         * m4/stdint.m4 (gl_STDINT_H): Likewise.
85893         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
85894         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
85895         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
85896         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
85897         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
85898         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
85899         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
85900         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
85901         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
85902         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
85903         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
85904         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
85905         * m4/inttypes.m4 (gl_INTTYPES_H): Define
85906         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
85907         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
85908         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
85909         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
85910         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
85911         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
85912         * lib/float_.h: Likewise.
85913         * lib/inttypes_.h: Likewise.
85914         * lib/math_.h: Likewise.
85915         * lib/search_.h: Likewise.
85916         * lib/signal_.h: Likewise.
85917         * lib/stdint_.h: Likewise.
85918         * lib/stdio_.h: Likewise.
85919         * lib/stdlib_.h: Likewise.
85920         * lib/string_.h: Likewise.
85921         * lib/sys_stat_.h: Likewise.
85922         * lib/sys_time_.h: Likewise.
85923         * lib/time_.h: Likewise.
85924         * lib/unistd_.h: Likewise.
85925         * lib/wchar_.h: Likewise.
85926         * lib/wctype_.h: Likewise.
85927         * lib/dirent_.h: Likewise.
85928         * lib/iconv_.h: Likewise.
85929         * lib/locale_.h: Likewise.
85930         * lib/netinet_in_.h: Likewise.
85931         * lib/sys_select_.h: Likewise.
85932         * lib/sys_socket_.h: Likewise.
85933         * lib/sysexits_.h: Likewise.
85934         * modules/fcntl (Depends-on): Depend on include_next, not
85935         absolute_header.
85936         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
85937         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
85938         * modules/fchdir: Likewise.
85939         * modules/float: Likewise.
85940         * modules/iconv_open: Likewise.
85941         * modules/inttypes: Likewise.
85942         * modules/locale: Likewise.
85943         * modules/math: Likewise.
85944         * modules/netinet_in: Likewise.
85945         * modules/search: Likewise.
85946         * modules/signal: Likewise.
85947         * modules/stdint: Likewise.
85948         * modules/stdio: Likewise.
85949         * modules/stdlib: Likewise.
85950         * modules/string: Likewise.
85951         * modules/sys_select: Likewise.
85952         * modules/sys_socket: Likewise.
85953         * modules/sys_stat: Likewise.
85954         * modules/sys_time: Likewise.
85955         * modules/sysexits: Likewise.
85956         * modules/time: Likewise.
85957         * modules/unistd: Likewise.
85958         * modules/wchar: Likewise.
85959         * modules/wctype: Likewise.
85960         * modules/sys_stat: Change maintainer to "all".
85961         * modules/unistd: Likewise.
85963 2007-06-20  Karl Berry  <karl@gnu.org>
85965         * config/srclist.txt: track www changes in license files.
85967 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
85969         * build-aux/bootstrap: Remove stray dot.
85970         Make sure build_aux settings are honored when linking
85971         gnulib_extra_files.
85973 2007-06-19  Eric Blake  <ebb9@byu.net>
85975         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
85976         Allow compilation on cygwin.
85978 2007-06-19  Jim Meyering  <jim@meyering.net>
85980         xreadlink-with-size: Remove module.  No longer used.
85981         Ex-callers now use xreadlink or mreadlink-with-size.
85982         * modules/xreadlink-with-size: Remove module.
85983         * lib/xreadlink-with-size.c: Remove file.
85984         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
85985         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
85986         just before the function definition *is* accurate.
85988         Eliminate one way canonicalize_filename_mode could exit.
85989         * lib/canonicalize.c (canonicalize_filename_mode):
85990         Use mreadlink_with_size, not xreadlink_with_size.
85992 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
85994         Detect porting problems to FreeBSD/arm, which has time_t wider than
85995         long int.  Original problem reported for GNU diff by Xin Li in
85996         <http://lists.gnu.org/r/bug-gnu-utils/2007-06/msg00091.html>.
85997         * modules/getdate (Depends-on): Add intprops, verify.
85998         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
85999         is an integer type no wider than long int.
86001 2007-06-18  Jim Meyering  <jim@meyering.net>
86003         New module: mreadlink-with-size.
86004         * MODULES.html.sh: Add mreadlink-with-size.
86005         * modules/mreadlink-with-size: New module
86006         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
86007         not xreadlink-with-size.
86008         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
86010 2007-06-16  Bruno Haible  <bruno@clisp.org>
86012         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
86013         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
86014         Reported by Gary V. Vaughan <gary@gnu.org>.
86016 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
86018         Revamp lchown so that it lives in unistd.h where it belongs.
86019         * lib/lchown.h: Remove.
86020         * lib/dirchownmod.c: Don't include lib/lchown.h.
86021         * lib/fchownat.c: Likewise.
86022         * lib/openat.c: Likewise.
86023         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
86024         does not follow symlinks.
86025         (EOPNOTSUPP): Define if not defined.
86026         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
86027         is defined to 0.
86028         (lchown): New decl.
86029         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
86030         Do not check for lchown decl.
86031         Set REPLACE_LCHOWN.
86032         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
86033         REPLACE_LCHOWN.
86034         * modules/chown: Make it clear it follows symlinks.
86035         * modules/lchown: Make it clear it doesn't follow symlinks.
86036         (Files): Remove lib/lchown.h
86037         (Depends-on): Add unistd.
86038         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
86039         (Include): Include <unistd.h>, not "lchown.h".
86040         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
86041         REPLACE_LCHOWN.
86043 2007-06-15  Jim Meyering  <jim@meyering.net>
86045         Change license (GPL to LGPL) of fsusage and dependents.
86046         * modules/fsusage (License): Change to LGPL.
86047         * modules/full-read (License): Likewise.
86048         * modules/full-write (License): Likewise.
86049         * modules/safe-read (License): Likewise.
86050         * modules/safe-write (License): Likewise.
86052 2007-06-14  Ben Pfaff  <blp@gnu.org>
86054         Missing part of allocsa -> malloca transition.
86055         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
86056         gl_MALLOCA.
86058 2007-06-12  Bruno Haible  <bruno@clisp.org>
86060         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
86061         to ia64, x86_64, i386.
86062         Reported by Eric Blake.
86064 2007-06-12  Bruno Haible  <bruno@clisp.org>
86066         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
86067         cross-compiling to x86_64.
86069 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
86071         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
86072         glitch reported by Ralf Wildenhues in
86073         <http://lists.gnu.org/r/bug-gnulib/2007-06/msg00114.html>.
86075         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
86076         Vin Shelton.
86078 2007-06-11  Bruno Haible  <bruno@clisp.org>
86080         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
86081         replacement string.
86082         Reported by Eric Blake.
86084 2007-06-10  Bruno Haible  <bruno@clisp.org>
86086         Prepare vasnprintf code for use with Unicode strings.
86087         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
86088         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
86089         TYPE_U32_STRING.
86090         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
86091         a_u32_string variants.
86092         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
86093         * lib/printf-args.c: Don't include config.h and the specification
86094         header if PRINTF_FETCHARGS is already defined.
86095         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
86096         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
86097         TYPE_U16_STRING, TYPE_U32_STRING.
86098         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
86099         u16_directive, u16_directives, u32_directive, u32_directives): New
86100         types.
86101         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
86102         New declarations.
86103         * lib/printf-parse.c: Don't include config.h and the specification
86104         header if PRINTF_PARSE is already defined. Eliminate the set of
86105         parameters for WIDE_CHAR_VERSION; the user of this file must provide
86106         them now. Include c-ctype.h.
86107         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
86108         directive and CHAR_T_ONLY_ASCII.
86109         * lib/vasnprintf.c: Don't include config.h and the specification header
86110         if VASNPRINTF is already defined.
86111         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
86112         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
86113         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
86114         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
86115         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
86116         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
86117         code accordingly.
86118         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
86119         pad_ourselves also in this case, with the 'c' and 's' directives, and
86120         with a different notion of "width".
86121         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
86123 2007-06-10  Bruno Haible  <bruno@clisp.org>
86125         * modules/unistr/u32-mbsnlen: New file.
86126         * lib/unistr/u32-mbsnlen.c: New file.
86128         * modules/unistr/u16-mbsnlen: New file.
86129         * lib/unistr/u16-mbsnlen.c: New file.
86131         * modules/unistr/u8-mbsnlen: New file.
86132         * lib/unistr/u8-mbsnlen.c: New file.
86134         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
86135         declarations.
86137 2007-06-10  Bruno Haible  <bruno@clisp.org>
86139         * lib/string_.h (mbsnlen): New declaration.
86140         * lib/mbsnlen.c: New file.
86141         * m4/mbsnlen.m4: New file.
86142         * modules/mbsnlen: New file.
86143         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
86144         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
86145         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
86147 2007-06-10  Bruno Haible  <bruno@clisp.org>
86149         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
86151 2007-06-10  Bruno Haible  <bruno@clisp.org>
86153         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
86154         * lib/mbuiter.h: Likewise.
86156 2007-06-10  Bruno Haible  <bruno@clisp.org>
86158         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
86159         declaration.
86161 2007-06-10  Karl Berry  <karl@gnu.org>
86163         * config/srclist.txt: remove gettext entries, Bruno prefers
86164         to update individually.
86166 2007-06-10  Bruno Haible  <bruno@clisp.org>
86168         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
86169         'maxlen'. Ensure only length + width bytes are allocated, not
86170         length + 1 + width.
86172 2007-06-09  Bruno Haible  <bruno@clisp.org>
86174         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
86175         (CHAR_T): Remove macro.
86176         (VASNPRINTF): Update.
86178 2007-06-09  Bruno Haible  <bruno@clisp.org>
86180         * MODULES.html.sh (Unicode string functions): Add the new modules.
86182         * modules/uniconv/u32-conv-to-enc: New file.
86183         * lib/uniconv/u32-conv-to-enc.c: New file.
86184         * modules/uniconv/u32-conv-to-enc-tests: New file.
86185         * tests/uniconv/test-u32-conv-to-enc.c: New file.
86187         * modules/uniconv/u16-conv-to-enc: New file.
86188         * lib/uniconv/u16-conv-to-enc.c: New file.
86189         * lib/uniconv/u-conv-to-enc.h: New file.
86190         * modules/uniconv/u16-conv-to-enc-tests: New file.
86191         * tests/uniconv/test-u16-conv-to-enc.c: New file.
86193         * modules/uniconv/u8-conv-to-enc: New file.
86194         * lib/uniconv/u8-conv-to-enc.c: New file.
86195         * modules/uniconv/u8-conv-to-enc-tests: New file.
86196         * tests/uniconv/test-u8-conv-to-enc.c: New file.
86198         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
86199         u32_conv_to_encoding): New declarations.
86201 2007-06-09  Bruno Haible  <bruno@clisp.org>
86203         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
86205 2007-06-09  Bruno Haible  <bruno@clisp.org>
86207         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
86208         * modules/malloca: Renamed from modules/allocsa, updated.
86209         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
86210         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
86211         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
86212         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
86213         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
86214         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
86215         * modules/xmalloca: Renamed from modules/xallocsa, updated.
86216         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
86217         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
86218         * modules/c-strcasestr (Depends-on): Update.
86219         * lib/c-strcasestr.c: Update.
86220         * modules/c-strstr (Depends-on): Update.
86221         * lib/c-strstr.c: Update.
86222         * modules/canonicalize-lgpl (Depends-on): Update.
86223         * lib/canonicalize-lgpl.c: Update.
86224         * modules/clean-temp (Depends-on): Update.
86225         * lib/clean-temp.c: Update.
86226         * modules/csharpcomp (Depends-on): Update.
86227         * lib/csharpcomp.c: Update.
86228         * modules/csharpexec (Depends-on): Update.
86229         * lib/csharpexec.c: Update.
86230         * modules/javacomp (Depends-on): Update.
86231         * lib/javacomp.c: Update.
86232         * modules/javaexec (Depends-on): Update.
86233         * lib/javaexec.c: Update.
86234         * modules/mbscasestr (Depends-on): Update.
86235         * lib/mbscasestr.c: Update.
86236         * modules/mbsstr (Depends-on): Update.
86237         * lib/mbsstr.c: Update.
86238         * modules/setenv (Depends-on): Update.
86239         * lib/setenv.c: Update.
86240         * modules/strcasestr (Depends-on): Update.
86241         * lib/strcasestr.c: Update.
86242         * modules/striconveha (Depends-on): Update.
86243         * lib/striconveha.c: Update.
86244         * modules/relocatable-prog-wrapper (Files): Update.
86245         * lib/relocwrapper.c: Update.
86246         * build-aux/install-reloc: Update.
86247         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
86249 2007-06-08  Bruno Haible  <bruno@clisp.org>
86251         Port to uClibc.
86252         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
86253         * lib/fpurge.c (fpurge): Likewise.
86254         * lib/freading.c (freading): Likewise.
86255         * lib/fseeko.c (rpl_fseeko): Likewise.
86256         * lib/fseterr.c (fseterr): Likewise.
86257         * lib/fwriting.c (fwriting): Likewise.
86258         * tests/test-fflush.c (main): Avoid a failure on uClibc.
86260 2007-06-08  Bruno Haible  <bruno@clisp.org>
86262         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
86263         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
86264         * modules/gettext (Files): Add m4/intlmacosx.m4.
86266 2007-06-07  Bruno Haible  <bruno@clisp.org>
86268         * modules/localename-tests: New file.
86269         * tests/test-localename.c: New file.
86271         New module 'localename'.
86272         * lib/localename.h: New file.
86273         * lib/localename.c: New file, from GNU gettext.
86274         * m4/localename.m4: New file.
86275         * modules/localename: New file.
86277 2007-06-07  Bruno Haible  <bruno@clisp.org>
86279         Work around the lack of <wchar.h> on some builds of uClibc.
86280         * doc/headers/wchar.texi: Update.
86281         * lib/wchar_.h: Include <wchar.h> only if it exists.
86282         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
86283         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
86284         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
86285         doesn't exist.
86286         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
86287         * modules/mbfile (Depends-on): Add wchar.
86288         * modules/mbiter (Depends-on): Likewise.
86289         * modules/mbuiter (Depends-on): Likewise.
86290         Reported by Simon Josefsson.
86292 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
86294         Work around problem reported by Steven M. Schweda in
86295         <http://lists.gnu.org/r/bug-tar/2007-06/msg00002.html>:
86296         Tru64 5.1B with the Compaq compiler environment installed declares
86297         an 'isblank' function but does not define it in the C library.
86298         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
86299         * lib/regex_internal.h (isblank): Likewise.
86300         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
86301         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
86303 2007-06-05  Bruno Haible  <bruno@clisp.org>
86305         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
86306         ia64.
86307         * modules/printf-safe: New file.
86308         * modules/fprintf-posix (Depends-on): Add printf-safe.
86309         * modules/printf-posix (Depends-on): Likewise.
86310         * modules/snprintf-posix (Depends-on): Likewise.
86311         * modules/sprintf-posix (Depends-on): Likewise.
86312         * modules/vasnprintf-posix (Depends-on): Likewise.
86313         * modules/vasprintf-posix (Depends-on): Likewise.
86314         * modules/vfprintf-posix (Depends-on): Likewise.
86315         * modules/vprintf-posix (Depends-on): Likewise.
86316         * modules/vsnprintf-posix (Depends-on): Likewise.
86317         * modules/vsprintf-posix (Depends-on): Likewise.
86318         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
86319         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
86320         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
86321         "no" on i386, x86_64, ia64.
86322         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
86323         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
86324         on i386, x86_64, ia64.
86325         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
86326         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
86327         on i386, x86_64, ia64.
86328         * tests/test-vasnprintf-posix.c: Include float.h.
86329         (LDBL80_WORDS): New macro.
86330         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
86331         on i386, x86_64, ia64.
86332         * tests/test-vasprintf-posix.c: Include float.h.
86333         (LDBL80_WORDS): New macro.
86334         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
86335         on i386, x86_64, ia64.
86336         * tests/test-snprintf-posix.c: Include float.h.
86337         * tests/test-sprintf-posix.c: Likewise.
86338         * tests/test-vsnprintf-posix.c: Likewise.
86339         * tests/test-vsprintf-posix.c: Likewise.
86341 2007-06-05  Bruno Haible  <bruno@clisp.org>
86343         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
86344         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
86345         non-IEEE numbers on i386, x86_64, ia64.
86346         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
86347         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
86348         * tests/test-isnanl.h: Include float.h.
86349         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
86351 2007-06-05  Bruno Haible  <bruno@clisp.org>
86353         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
86354         also the %a / %A. Handle the %a / %A code before this extra handling.
86356 2007-06-05  Bruno Haible  <bruno@clisp.org>
86358         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
86359         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
86361 2007-06-05  Bruno Haible  <bruno@clisp.org>
86363         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
86364         typo in variable name.
86366 2007-06-05  Eric Blake  <ebb9@byu.net>
86368         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
86369         Reported by Simon Josefsson.
86371 2007-06-04  Bruno Haible  <bruno@clisp.org>
86373         Avoid test failures on some PowerPC platforms.
86374         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
86375         Define differently for PowerPC.
86376         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
86377         Reported by Gary V. Vaughan <gary@gnu.org>.
86379 2007-06-02  Bruno Haible  <bruno@clisp.org>
86381         Fix test-stdint failure on FreeBSD/ia64.
86382         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
86383         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
86384         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
86385         * doc/headers/stdint.texi: Update.
86387 2007-06-01  Bruno Haible  <bruno@clisp.org>
86389         * tests/test-binary-io.c (main): Pass a third argument to open().
86390         Reported by Gary V. Vaughan <gary@gnu.org>.
86392 2007-06-01  Bruno Haible  <bruno@clisp.org>
86394         * doc/functions/frexpl.texi: Update for mingw.
86396 2007-06-01  Bruno Haible  <bruno@clisp.org>
86398         * tests/test-lseek.c (main): Disable test of errno for invalid third
86399         argument.
86400         * doc/functions/lseek.texi: Update.
86401         Reported by Gary V. Vaughan <gary@gnu.org>.
86403 2007-05-28  Bruno Haible  <bruno@clisp.org>
86405         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
86407 2007-05-31  Eric Blake  <ebb9@byu.net>
86409         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
86410         cross compiling.
86412 2007-05-30  Eric Blake  <ebb9@byu.net>
86413         and Bruno Haible  <bruno@clisp.org>
86415         Work around mingw test failures exposed by m4-1.4.9b.
86416         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
86417         * tests/test-unistd.c: Disable uid_t and git_t tests for the
86418         moment.
86420 2007-05-30  Bruno Haible  <bruno@clisp.org>
86422         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
86423         assuming that they are closed. Needed on HP-UX 11.
86425 2007-05-29  Bruno Haible  <bruno@clisp.org>
86427         Fix a problem with #include_next.
86428         * lib/dirent_.h: Split the double-inclusion guard.
86429         * lib/fcntl_.h: Likewise.
86430         * lib/float_.h: Likewise.
86431         * lib/iconv_.h: Likewise.
86432         * lib/inttypes_.h: Likewise.
86433         * lib/locale_.h: Likewise.
86434         * lib/math_.h: Likewise.
86435         * lib/netinet_in_.h: Likewise.
86436         * lib/search_.h: Likewise.
86437         * lib/signal_.h: Likewise.
86438         * lib/stdint_.h: Likewise.
86439         * lib/stdio_.h: Likewise.
86440         * lib/stdlib_.h: Likewise.
86441         * lib/string_.h: Likewise.
86442         * lib/sys_select_.h: Likewise.
86443         * lib/sys_socket_.h: Likewise.
86444         * lib/sys_stat_.h: Likewise.
86445         * lib/sys_time_.h: Likewise.
86446         * lib/sysexits_.h: Likewise.
86447         * lib/time_.h: Likewise.
86448         * lib/unistd_.h: Likewise.
86449         * lib/wchar_.h: Likewise.
86450         * lib/wctype_.h: Likewise.
86452 2007-05-29  Bruno Haible  <bruno@clisp.org>
86454         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
86455         for the moment.
86457 2007-05-29  Bruno Haible  <bruno@clisp.org>
86459         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
86460         invocation.
86461         Reported by Eric Blake.
86463 2007-05-29  Bruno Haible  <bruno@clisp.org>
86465         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
86466         compiling case.
86468 2007-05-29  Eric Blake  <ebb9@byu.net>
86469             Bruno Haible  <bruno@clisp.org>
86471         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
86472         cross compiles.
86474 2007-05-28  Eric Blake  <ebb9@byu.net>
86476         * modules/closein-tests (test_closein_LDADD): Support test on
86477         cygwin with libtool.
86479 2007-05-28  Bruno Haible  <bruno@clisp.org>
86481         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
86482         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
86483         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
86484         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
86485         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
86486         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
86487         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
86488         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
86489         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
86491 2007-05-28  Eric Blake  <ebb9@byu.net>
86493         Unconditionally include <config.h> in unit tests.
86494         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
86495         * tests/test-allocsa.c, tests/test-arcfour.c,
86496         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
86497         tests/test-array_list.c, tests/test-array_oset.c,
86498         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
86499         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
86500         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
86501         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
86502         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
86503         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
86504         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
86505         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
86506         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
86507         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
86508         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
86509         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
86510         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
86511         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
86512         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
86513         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
86514         test-md5.c, test-memmem.c, test-printf-posix.c,
86515         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
86516         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
86517         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
86518         test-strcasestr.c, test-striconv.c, test-striconveh.c,
86519         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
86520         test-vasnprintf-posix2.c, test-vasnprintf.c,
86521         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
86522         test-vfprintf-posix.c, test-vprintf-posix.c,
86523         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
86524         test-xvasprintf.c: Likewise.
86526 2007-05-28  Bruno Haible  <bruno@clisp.org>
86528         * gnulib-tool (func_import): Remember the --with-tests command-line
86529         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
86530         Reported by Eric Blake.
86532 2007-05-28  Bruno Haible  <bruno@clisp.org>
86534         * modules/ftell-tests: New file.
86535         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
86536         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
86538         * lib/ftell.c: New file.
86539         * modules/ftell: New file.
86540         * m4/ftell.m4: New file.
86541         * doc/functions/ftell.texi: Update.
86542         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
86543         REPLACE_FTELL.
86544         * lib/stdio_.h (rpl_ftell): New declaration.
86545         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
86546         REPLACE_FTELL.
86548 2007-05-28  Eric Blake  <ebb9@byu.net>
86550         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
86552 2007-05-28  Bruno Haible  <bruno@clisp.org>
86554         * modules/fseek-tests: New file.
86555         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
86556         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
86558         * lib/fseek.c: New file.
86559         * modules/fseek: New file.
86560         * m4/fseek.m4: New file.
86561         * doc/functions/fseek.texi: Update.
86562         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
86563         REPLACE_FSEEK.
86564         * lib/stdio_.h (rpl_fseek): New declaration.
86565         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
86566         REPLACE_FSEEK.
86568 2007-05-28  Bruno Haible  <bruno@clisp.org>
86570         * lib/stdio_.h (fflush): More comments.
86572 2007-05-28  Bruno Haible  <bruno@clisp.org>
86574         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
86575         runtime test.
86577 2007-05-28  Eric Blake  <ebb9@byu.net>
86579         Improve lseek module.
86580         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
86581         * lib/unistd_.h (lseek): Scale back link warning message.
86582         * tests/test-lseek.c: Beef up test.
86583         * tests/test-lseek.sh: Exercise more facets of lseek.
86584         Reported by Bruno Haible.
86586 2007-05-28  Bruno Haible  <bruno@clisp.org>
86588         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
86589         to define.
86591 2007-05-27  Bruno Haible  <bruno@clisp.org>
86593         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
86595 2007-05-27  Bruno Haible  <bruno@clisp.org>
86597         * modules/openmp: New file.
86598         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
86599         Noah Misch.
86601 2007-05-26  Bruno Haible  <bruno@clisp.org>
86603         * modules/chdir-long (Depends-on): Add fchdir.
86604         * modules/chdir-safer (Depends-on): Likewise.
86605         * modules/fts (Depends-on): Likewise.
86606         * modules/fts-lgpl (Depends-on): Likewise.
86607         * modules/openat (Depends-on): Likewise.
86608         * modules/savewd (Depends-on): Likewise.
86610 2007-05-24  Eric Blake  <ebb9@byu.net>
86612         Fix lseek on mingw.
86613         * modules/lseek: New module.
86614         * m4/lseek.m4: New file.
86615         * lib/lseek.c: New file.
86616         * modules/lseek-tests: New file.
86617         * tests/test-lseek.c: New file.
86618         * tests/test-lseek.sh: New file.
86619         * MODULES.html.sh: Document lseek module.
86620         * modules/fflush (Depends-on): Add lseek, fseeko.
86621         * modules/fseeko (Depends-on): Likewise.
86622         * modules/ftello (Depends-on): Likewise.
86623         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
86624         broken.
86625         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
86626         broken.
86627         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
86628         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
86629         * lib/ftello.c (rpl_ftello): Likewise.
86630         * tests/test-fseeko.c (main): Test this.
86631         * tests/test-fseeko.sh: Likewise.
86632         * tests/test-ftello.c (main): Likewise.
86633         * tests/test-ftello.sh: Likewise.
86634         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
86635         implies replacing fseek.
86636         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
86637         HAVE_FTELLO.
86638         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
86639         * modules/unistd (Makefile.am): Likewise.
86640         * lib/unistd_.h (lseek): Declare a replacement.
86641         * doc/functions/lseek.texi (lseek): Document this fix.
86642         * doc/functions/fseek.texi (fseek): Likewise.
86643         * doc/functions/ftell.texi (ftell): Likewise.
86645 2007-05-24  Bruno Haible  <bruno@clisp.org>
86647         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
86648         in the printed representation of a NaN.
86649         * tests/test-vasprintf-posix.c (test_function): Likewise.
86650         * tests/test-snprintf-posix.h (test_function): Likewise.
86651         * tests/test-sprintf-posix.h (test_function): Likewise.
86652         Reported by Eric Blake.
86654 2007-05-23  Eric Blake  <ebb9@byu.net>
86656         Fix fseeko/ftello on cygwin 1.5.24.
86657         * doc/functions/fseeko.texi (fseeko): Document the fix.
86658         * doc/functions/ftello.texi (ftello): Document the fix.
86659         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
86660         * doc/functions/stdout.text (stdout): New file.
86661         * doc/functions/stderr.text (stderr): New file.
86662         * doc/gnulib.texi (Function Substitutes): Use new files.
86663         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
86664         prior to 1.7.0.
86665         * tests/test-ftello.c (main): Likewise for ftello.
86666         * tests/test-fseeko.sh: New file.
86667         * tests/test-ftello.sh: New file.
86668         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
86669         with seekable stdin.
86670         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
86671         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
86672         (gl_REPLACE_FSEEKO): New macro.
86673         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
86674         * modules/fseeko (Files): Distribute fseeko.c.
86675         * modules/ftello (Files): Distribute ftello.c.
86676         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
86677         mode.
86678         * lib/ftello.c (rpl_ftello): New file.
86679         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
86680         fseeko, ftello.
86681         (gl_STDIN_LARGE_OFFSET): New macro.
86682         * modules/stdio (Makefile.am): Perform the replacement.
86683         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
86685 2007-05-23  Bruno Haible  <bruno@clisp.org>
86687         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
86688         GNULIB_POSIXCHECK is defined.
86690 2007-05-21  Bruno Haible  <bruno@clisp.org>
86692         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
86693         Check also the output for NaN arguments. When cross-compiling, guess
86694         no on IRIX.
86695         * lib/vasnprintf.c: Update comments.
86696         * tests/test-vasnprintf-posix.c (strisnan): New function.
86697         (test_function): Use it.
86698         * tests/test-vasprintf-posix.c (strisnan): New function.
86699         (test_function): Use it.
86700         * tests/test-snprintf-posix.h (strisnan): New function.
86701         (test_function): Use it.
86702         * tests/test-sprintf-posix.h (strisnan): New function.
86703         (test_function): Use it.
86704         Reported by Eric Blake.
86706 2007-05-20  Bruno Haible  <bruno@clisp.org>
86708         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
86709         numbers that fails on BeOS.
86710         * doc/functions/frexpl.texi: Update.
86712 2007-05-20  Jim Meyering  <jim@meyering.net>
86714         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
86715         forced upon us by glibc-2.6.
86717 2007-05-20  Bruno Haible  <bruno@clisp.org>
86719         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
86720         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
86721         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
86722         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
86723         NEED_PRINTF_INFINITE.
86724         (is_infinitel): New function.
86725         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
86726         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
86727         gl_PREREQ_VASNPRINTF_INFINITE.
86728         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
86729         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
86730         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
86731         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
86732         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
86733         gl_PREREQ_VASNPRINTF_INFINITE.
86734         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
86735         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
86736         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
86737         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
86738         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
86739         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
86740         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
86741         * doc/functions/fprintf.texi: Update.
86742         * doc/functions/printf.texi: Update.
86743         * doc/functions/snprintf.texi: Update.
86744         * doc/functions/sprintf.texi: Update.
86745         * doc/functions/vfprintf.texi: Update.
86746         * doc/functions/vprintf.texi: Update.
86747         * doc/functions/vsnprintf.texi: Update.
86748         * doc/functions/vsprintf.texi: Update.
86750 2007-05-20  Bruno Haible  <bruno@clisp.org>
86752         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
86753         was not found in libc.
86754         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
86756 2007-05-20  Bruno Haible  <bruno@clisp.org>
86758         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
86759         printed as "-nan" instead of "nan".
86760         * tests/test-vasprintf-posix.c (test_function): Likewise.
86761         * tests/test-snprintf-posix.h (test_function): Likewise.
86762         * tests/test-sprintf-posix.h (test_function): Likewise.
86763         Needed for HP-UX 11.
86765 2007-05-20  Jim Meyering  <jim@meyering.net>
86767         Fix buggy test for the fchownat-deref bug.
86768         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
86769         symlink required for the run-test.  Without it, this test would
86770         always declare that fchownat doesn't work, and client code would
86771         unnecessarily use the replacement function with fixed libc.
86772         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
86773         Reported by Greg Schafer.
86775 2007-05-19  Bruno Haible  <bruno@clisp.org>
86777         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
86778         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
86779         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
86780         Needed for IRIX 6.5 and Solaris 2.5.1.
86782 2007-05-19  Bruno Haible  <bruno@clisp.org>
86784         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
86785         (test_function): Skip tests involving -0.0 on platforms where
86786         -0.0 = 0.0.
86787         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
86788         (test_function): Skip tests involving -0.0 on platforms where
86789         -0.0 = 0.0.
86790         * tests/test-snprintf-posix.h (have_minus_zero): New function.
86791         (test_function): Skip tests involving -0.0 on platforms where
86792         -0.0 = 0.0.
86793         * tests/test-sprintf-posix.h (have_minus_zero): New function.
86794         (test_function): Skip tests involving -0.0 on platforms where
86795         -0.0 = 0.0.
86796         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
86797         tests.
86798         * tests/test-printf-posix.h (test_function): Likewise.
86799         * tests/test-printf-posix.output: Remove all -0.0 related results.
86800         Needed for IRIX 6.5.
86802 2007-05-19  Bruno Haible  <bruno@clisp.org>
86804         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
86805         printed as "nan0x7fffffff" instead of "nan".
86806         * tests/test-vasprintf-posix.c (test_function): Likewise.
86807         * tests/test-snprintf-posix.h (test_function): Likewise.
86808         * tests/test-sprintf-posix.h (test_function): Likewise.
86809         * tests/test-fprintf-posix.h (NaN): Remove macro.
86810         (test_function): Remove all NaN related tests.
86811         * tests/test-printf-posix.h (NaN): Remove macro.
86812         (test_function): Remove all NaN related tests.
86813         * tests/test-printf-posix.output: Remove all NaN related results.
86814         Needed for IRIX 6.5.
86816 2007-05-19  Bruno Haible  <bruno@clisp.org>
86818         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
86819         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
86821 2007-05-19  Bruno Haible  <bruno@clisp.org>
86823         * lib/float_.h: New file.
86824         * m4/float_h.m4: New file.
86825         * modules/float: New file.
86826         * modules/isnanl (Dependencies): Add float.
86827         * modules/isnanl-nolibm (Dependencies): Likewise.
86828         * modules/mathl (Dependencies): Likewise.
86829         * modules/printf-frexpl (Dependencies): Likewise.
86830         * modules/signbit (Dependencies): Likewise.
86831         * modules/vasnprintf (Dependencies): Likewise.
86832         * doc/headers/float.texi: Update.
86834 2007-05-19  Jim Meyering  <jim@meyering.net>
86836         * lib/utimens.c (gl_futimens): Rename from futimens,
86837         now that glibc-2.6 declares futimens.
86838         * lib/utimens.h: Likewise.
86840 2007-05-19  Bruno Haible  <bruno@clisp.org>
86842         Avoid test failures on mingw.
86843         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
86844         * tests/test-printf-posix.sh: Likewise.
86845         * tests/test-vfprintf-posix.sh: Likewise.
86846         * tests/test-vprintf-posix.sh: Likewise.
86848 2007-05-19  Bruno Haible  <bruno@clisp.org>
86850         Fix *printf result for NaN, Inf, -0.0 on mingw.
86851         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
86852         * lib/vasnprintf.c: Include math.h and isnan.h.
86853         (is_infinite_or_zero): New function.
86854         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
86855         values in the %f, %F, %e, %E, %g, %G directives.
86856         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
86857         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
86858         gl_PRINTF_INFINITE and test its result. Invoke
86859         gl_PREREQ_VASNPRINTF_INFINITE.
86860         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
86861         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
86862         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
86863         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
86864         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
86865         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
86866         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
86867         * doc/functions/fprintf.texi: Update.
86868         * doc/functions/printf.texi: Update.
86869         * doc/functions/snprintf.texi: Update.
86870         * doc/functions/sprintf.texi: Update.
86871         * doc/functions/vfprintf.texi: Update.
86872         * doc/functions/vprintf.texi: Update.
86873         * doc/functions/vsnprintf.texi: Update.
86874         * doc/functions/vsprintf.texi: Update.
86876 2007-05-19  Bruno Haible  <bruno@clisp.org>
86878         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
86879         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
86880         Instead of multiplying with 10^k, set extra_zeroes to k.
86881         (scale10_round_long_double): Remove function.
86883 2007-05-18  Bruno Haible  <bruno@clisp.org>
86885         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
86886         introduced on 2007-05-06.
86888 2007-05-18  Bruno Haible  <bruno@clisp.org>
86890         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
86891         %g directives.
86892         * tests/test-vasprintf-posix.c (test_function): Likewise.
86893         * tests/test-snprintf-posix.h (test_function): Likewise.
86894         * tests/test-sprintf-posix.h (test_function): Likewise.
86896 2007-05-18  Bruno Haible  <bruno@clisp.org>
86898         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
86899         (strmatch): New function.
86900         (test_function): Test the %f directive on numbers of various exponents.
86901         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
86902         (strmatch): New function.
86903         (test_function): Test the %f directive on numbers of various exponents.
86904         * tests/test-snprintf-posix.h (strmatch): New function.
86905         (test_function): Test the %f directive on numbers of various exponents.
86906         * tests/test-sprintf-posix.h (strmatch): New function.
86907         (test_function): Test the %f directive on numbers of various exponents.
86908         * tests/test-snprintf-posix.c (SIZEOF): New macro.
86909         * tests/test-sprintf-posix.c (SIZEOF): New macro.
86910         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
86911         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
86913 2007-05-18  Bruno Haible  <bruno@clisp.org>
86915         Add support for 'long double' number output.
86916         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
86917         * lib/vasnprintf.c: Include math.h and float+.h.
86918         (mp_limb_t): New type.
86919         (GMP_LIMB_BITS): New macro.
86920         (mp_twolimb_t): New type.
86921         (GMP_TWOLIMB_BITS): New macro.
86922         (mpn_t): New type.
86923         (multiply, divide, convert_to_decimal, decode_long_double,
86924         scale10_round_long_double, scale10_round_decimal_long_double,
86925         floorlog10l): New functions.
86926         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
86927         for the %f, %F, %e, %E, %g, %G directives.
86928         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
86929         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
86930         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
86931         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
86932         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
86933         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
86934         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
86935         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
86936         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
86937         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
86938         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
86939         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
86940         * modules/snprintf-posix (Depends-on): Likewise.
86941         * modules/sprintf-posix (Depends-on): Likewise.
86942         * modules/vasnprintf-posix (Depends-on): Likewise.
86943         * modules/vasprintf-posix (Depends-on): Likewise.
86944         * modules/vfprintf-posix (Depends-on): Likewise.
86945         * modules/vsnprintf-posix (Depends-on): Likewise.
86946         * modules/vsprintf-posix (Depends-on): Likewise.
86947         * modules/vasnprintf (Files): Add lib/float+.h.
86948         * doc/functions/fprintf.texi: Update.
86949         * doc/functions/printf.texi: Update.
86950         * doc/functions/snprintf.texi: Update.
86951         * doc/functions/sprintf.texi: Update.
86952         * doc/functions/vfprintf.texi: Update.
86953         * doc/functions/vprintf.texi: Update.
86954         * doc/functions/vsnprintf.texi: Update.
86955         * doc/functions/vsprintf.texi: Update.
86957 2007-05-18  Bruno Haible  <bruno@clisp.org>
86959         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
86961 2007-05-18  Bruno Haible  <bruno@clisp.org>
86963         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
86964         for printing 64-bit integers. Needed for mingw.
86966 2007-05-18  Bruno Haible  <bruno@clisp.org>
86968         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
86969         gl_FUNC_FREXPL_WORKS.
86970         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
86972 2007-05-18  Bruno Haible  <bruno@clisp.org>
86974         * modules/frexpl-nolibm-tests: New file.
86976         * modules/frexpl-nolibm: New file.
86977         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
86979 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
86981         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
86982         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
86983         GCC 4.2, which otherwise issues a lot of warnings.
86984         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
86985         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
86986         Likewise.
86987         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
86988         * modules/iconv_open (iconv.h): Likewise.
86989         * modules/locale (locale.h): Likewise.
86990         * modules/netinet_in (netinet/in.h): Likewise.
86991         * modules/sys_select (sys_select.h): Likewise.
86992         * modules/sys_socket (sys/socket.h): Likewise.
86993         * modules/sys_stat (sys/stat.h): Likewise.
86994         * modules/sysexits (sysexits.h): Likewise.
86995         * modules/unistd (unistd.h): Likewise.
86997 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
86999         * modules/closein-tests (Makefile.am): Distribute
87000         `test-closein.sh'.
87002 2007-05-17  Bruno Haible  <bruno@clisp.org>
87004         * tests/test-printf-posix.output: Renamed from
87005         tests/test-fprintf-posix.out.
87006         * modules/fprintf-posix-tests: Update.
87007         * modules/printf-posix-tests: Update.
87008         * modules/vfprintf-posix-tests: Update.
87009         * modules/vprintf-posix-tests: Update.
87010         * tests/test-fprintf-posix.sh: Update.
87011         * tests/test-printf-posix.sh: Update.
87012         * tests/test-vfprintf-posix.sh: Update.
87013         * tests/test-vprintf-posix.sh: Update.
87014         Reported by Ralf Wildenhues.
87016 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
87018         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
87019         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
87020         GCC 4.2, which otherwise issues a lot of warnings.
87021         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
87022         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
87023         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
87024         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
87025         it should no longer be needed.
87026         * lib/string_.h: Likewise.
87027         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
87028         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
87029         * modules/inttypes (inttypes.h): Likewise.
87030         * modules/math (math.h): Likewise.
87031         * modules/search (search.h): Likewise.
87032         * modules/signal (signal.h): Likewise.
87033         * modules/stdint (stdint.h): Likewise.
87034         * modules/stdio (stdio.h): Likewise.
87035         * modules/stdlib (stdlib.h): Likewise.
87036         * modules/string (string.h): Likewise.
87037         * modules/sys_time (sys/time.h): Likewise.
87038         * modules/time (time.h): Likewise.
87039         * modules/wchar (wchar.h): Likewise.
87040         * modules/wctype (wtype.h): Likewise.
87042 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
87044         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
87046 2007-05-13  Bruno Haible  <bruno@clisp.org>
87048         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
87049         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
87050         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
87051         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
87052         (gl_PREREQ_STRTOK_R): Don't require it here.
87054 2007-05-13  Bruno Haible  <bruno@clisp.org>
87056         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
87057         when used in C++ mode.
87059 2007-05-12  Bruno Haible  <bruno@clisp.org>
87061         * lib/linebuffer.h: Tweak doc.
87062         * lib/linebuffer.c: Likewise.
87064 2007-05-12  James Youngman  <jay@gnu.org>
87066         * lib/linebuffer.c (readlinebuffer_delim): New function,
87067         like readlinebuffer, but use a caller-specified delimiter.
87068         (readlinebuffer): Just call readlinebuffer_delim with '\n'
87069         as the delimiter.
87070         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
87072 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
87074         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
87075         * modules/openat (Files): Remove openat-die.c.
87076         (Depends-on): Add openat-die.
87077         * modules/openat-die: New module.
87079 2007-05-06  Bruno Haible  <bruno@clisp.org>
87081         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
87082         Update with info about Cygwin.
87083         * doc/functions/fprintf.texi: Update.
87084         * doc/functions/printf.texi: Update.
87085         * doc/functions/snprintf.texi: Update.
87086         * doc/functions/sprintf.texi: Update.
87087         * doc/functions/vfprintf.texi: Update.
87088         * doc/functions/vprintf.texi: Update.
87089         * doc/functions/vsnprintf.texi: Update.
87090         * doc/functions/vsprintf.texi: Update.
87091         Reported by Eric Blake.
87093 2007-05-06  Bruno Haible  <bruno@clisp.org>
87095         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
87096         padding ourselves for the floating-point directives.
87097         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
87098         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
87099         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
87100         gl_PRINTF_FLAG_ZERO and test its result. Invoke
87101         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
87102         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
87103         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
87104         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
87105         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
87106         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
87107         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
87108         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
87109         * tests/test-snprintf-posix.h (test_function): Also check the width
87110         and some flags in the %f directive.
87111         * tests/test-sprintf-posix.h (test_function): Likewise.
87112         * tests/test-vasnprintf-posix.c (test_function): Likewise.
87113         * tests/test-vasprintf-posix.c (test_function): Likewise.
87114         * doc/functions/fprintf.texi: Update.
87115         * doc/functions/printf.texi: Update.
87116         * doc/functions/snprintf.texi: Update.
87117         * doc/functions/sprintf.texi: Update.
87118         * doc/functions/vfprintf.texi: Update.
87119         * doc/functions/vprintf.texi: Update.
87120         * doc/functions/vsnprintf.texi: Update.
87121         * doc/functions/vsprintf.texi: Update.
87123 2007-05-06  Bruno Haible  <bruno@clisp.org>
87125         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
87126         pass the ' flag character to sprintf or snprintf.
87127         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
87128         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
87129         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
87130         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
87131         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
87132         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
87133         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
87134         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
87135         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
87136         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
87137         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
87138         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
87139         * tests/test-snprintf-posix.h (test_function): Also check the grouping
87140         flag.
87141         * tests/test-sprintf-posix.h (test_function): Likewise.
87142         * tests/test-vasnprintf-posix.c (test_function): Likewise.
87143         * tests/test-vasprintf-posix.c (test_function): Likewise.
87144         * doc/functions/fprintf.texi: Update.
87145         * doc/functions/printf.texi: Update.
87146         * doc/functions/snprintf.texi: Update.
87147         * doc/functions/sprintf.texi: Update.
87148         * doc/functions/vfprintf.texi: Update.
87149         * doc/functions/vprintf.texi: Update.
87150         * doc/functions/vsnprintf.texi: Update.
87151         * doc/functions/vsprintf.texi: Update.
87153 2007-05-01  Bruno Haible  <bruno@clisp.org>
87155         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
87157 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
87159         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
87160         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
87162 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
87164         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
87165         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
87166         <http://lists.gnu.org/r/bug-gnulib/2007-05/msg00021.html>.
87168 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
87170         * lib/argp-help.c (struct hol_entry): New member `ord'.
87171         (HOL_ENTRY_PTRCMP): Use ord for comparison
87172         (hol_sort): Initialize ord.
87174 2007-05-01  Bruno Haible  <bruno@clisp.org>
87176         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
87177         Reported by Eric Blake.
87178         * doc/gnulib.texi (Function Substitutes): Update.
87180 2007-05-01  Bruno Haible  <bruno@clisp.org>
87182         * doc/functions.texi: Remove file, now redundant through
87183         doc/functions/*.texi.
87185 2007-05-01  Bruno Haible  <bruno@clisp.org>
87187         * modules/argp (Depends-on): Add sleep.
87189 2007-05-01  Bruno Haible  <bruno@clisp.org>
87191         * modules/sleep-tests: New file.
87192         * tests/test-sleep.c: New file.
87194         * modules/sleep: New file.
87195         * lib/sleep.c: New file.
87196         * m4/sleep.m4: New file.
87197         * lib/unistd_.h (sleep): New declaration.
87198         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
87199         HAVE_SLEEP.
87200         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
87201         * doc/functions/sleep.texi: Document the sleep module.
87203 2007-05-01  Bruno Haible  <bruno@clisp.org>
87205         * lib/sigprocmask.h: Remove file.
87206         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
87207         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
87208         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
87209         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
87210         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
87211         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
87212         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
87213         HAVE_SIGSET_T as a shell variable.
87214         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
87215         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
87216         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
87217         (Depends-on): Add signal. Remove verify.
87218         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
87219         (Include): Mention <signal.h> instead of sigprocmask.h.
87220         * NEWS: Mention the change.
87221         * lib/fatal-signal.c: Don't include sigprocmask.h.
87223 2007-05-01  Bruno Haible  <bruno@clisp.org>
87225         * modules/signal: New file.
87226         * lib/signal_.h: New file.
87227         * m4/signal_h.m4: New file.
87229 2007-05-01  Bruno Haible  <bruno@clisp.org>
87231         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
87232         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
87233         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
87234         HAVE_WCTYPE_CTMP_BUG into wctype.h.
87236 2007-05-01  Bruno Haible  <bruno@clisp.org>
87238         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
87239         configure time.
87240         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
87241         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
87242         * modules/sys_stat (Makefile.am): Substitute their values into
87243         sys/stat.h.
87245 2007-05-01  Bruno Haible  <bruno@clisp.org>
87247         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
87248         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
87249         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
87251 2007-05-01  Bruno Haible  <bruno@clisp.org>
87253         * doc/header/assert.texi: Undo last change: don't mention the gnulib
87254         'assert' module here.
87256 2007-05-01  Bruno Haible  <bruno@clisp.org>
87258         * doc/functions/*.texi: New files.
87259         * doc/functions/google-ranking.txt: New file.
87260         * doc/gnulib.texi (Function Substitutes): New chapter.
87261         (ctime, inet_ntoa): Remove sections.
87262         * doc/ctime.texi: Remove file.
87263         * doc/inet_ntoa.texi: Remove file.
87264         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
87265         dependencies.
87266         (%.info): New rule, specifying a --reference-limit.
87268 2007-05-01  Bruno Haible  <bruno@clisp.org>
87270         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
87272 2007-05-01  Bruno Haible  <bruno@clisp.org>
87274         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
87275         the portability of 'mkdir' to mingw systems.
87277 2007-05-01  Bruno Haible  <bruno@clisp.org>
87279         * doc/headers/google-ranking.txt: New file.
87281 2007-04-30  Eric Blake  <ebb9@byu.net>
87283         Prefer fseeko to fseek.
87284         * modules/getpass (Depends-on): Add fseeko.
87285         * lib/getpass.c (getpass): Use fseeko, not fseek.
87287 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
87289         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
87290         assumes the sorting is stable, while most qsort implementations
87291         are not.  Use argument addresses to ensure they never compare as
87292         equal.
87294         * tests/test-argp-2.sh (usage-indent test): Fix output
87295         (func_compare): Restore diff options
87296         * tests/test-argp.c: Restore #include "progname.h"
87298 2007-04-29  Bruno Haible  <bruno@clisp.org>
87300         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
87301         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
87302         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
87303         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
87304         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
87305         (configure.ac): Define CHECK_SNPRINTF_POSIX.
87306         (TESTS, check_PROGRAMS): Add test-snprintf.
87307         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
87308         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
87309         (TESTS, check_PROGRAMS): Add test-vsnprintf.
87310         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
87311         assertions that fail on HP-UX, OSF/1, or IRIX.
87312         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
87314 2007-04-29  Bruno Haible  <bruno@clisp.org>
87316         * MODULES.html.sh (posix_functions): Remove 'contents'.
87318 2007-04-29  Karl Berry  <karl@gnu.org>
87320         * config/srclist.txt (gendocs_template_min): new entry.
87322 2007-04-29  Bruno Haible  <bruno@clisp.org>
87324         Work around fpurge bug on BSD systems.
87325         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
87326         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
87327         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
87328         fpurge to rpl_fpurge if the system already has this function.
87329         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
87330         the case where the system already has this function. Correct invariants
87331         on BSD systems.
87332         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
87333         BSD systems.
87335 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
87337         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
87338         proposed by Sven Verdoolaege.
87340         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
87341         options.
87342         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
87343         (usage and help tests): Update
87345 2007-04-29  Bruno Haible  <bruno@clisp.org>
87347         * tests/test-fflush.c (main): Use a file of size 17, not 10.
87348         Print more information in case of failure. Disable a test on BeOS.
87350 2007-04-29  Bruno Haible  <bruno@clisp.org>
87352         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
87353         This helps debugging on systems on which no gdb is available.
87355 2007-04-29  Bruno Haible  <bruno@clisp.org>
87357         * lib/freading.h: Improve comments.
87358         * lib/fwriting.h: Likewise.
87359         * tests/test-freading.c (main): Don't check freading immediately after
87360         repositioning. Needed for glibc.
87362 2007-04-29  Bruno Haible  <bruno@clisp.org>
87364         * lib/freading.c (freading): Trivial simplification.
87366 2007-04-28  Bruno Haible  <bruno@clisp.org>
87368         * tests/test-fwriting.c (main): Also test the interaction between
87369         fflush and fwriting.
87370         * modules/fwriting-tests (Depends-on): Add fflush.
87372         * tests/test-freading.c (main): Also test the interaction between
87373         fflush and freading.
87374         * modules/freading-tests (Depends-on): Add fflush.
87376 2007-04-28  Bruno Haible  <bruno@clisp.org>
87378         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
87379         fseeko and ftello.
87380         Suggested by Eric Blake.
87382 2007-04-28  Jim Meyering  <jim@meyering.net>
87384         Avoid false-negative in gl_STDINT_H's C99 conformance test.
87385         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
87386         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
87388 2007-04-27  Eric Blake  <ebb9@byu.net>
87390         * doc/headers/assert.texi (assert.h): Document assert module use.
87392 2007-04-27  Bruno Haible  <bruno@clisp.org>
87394         * doc/headers/*.texi: New files.
87395         * doc/gnulib.texi (Header File Substitutes): New chapter.
87396         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
87397         dependencies.
87398         (standards.info ,standards.html, standards.dvi): Update dependencies.
87399         (mostlyclean, clean): New targets.
87401 2007-04-27  Bruno Haible  <bruno@clisp.org>
87403         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
87404         * modules/sysexits (Files, Makefile.am): Update.
87406         * lib/sys_socket_.h: Renamed from lib/socket_.h.
87407         * modules/sys_socket (Files, Makefile.am): Update.
87409         * lib/sys_stat_.h: Renamed from lib/stat_.h.
87410         * modules/sys_stat (Files, Makefile.am): Update.
87412 2007-04-27  Eric Blake  <ebb9@byu.net>
87414         * lib/freading.h: Improve comments.
87415         * lib/fwriting.h: Likewise.
87416         * lib/fflush.c: Likewise.
87418         Fix closein for mingw.
87419         * modules/closein-tests: Add tests for closein.
87420         * tests/test-closein.c: New file.
87421         * tests/test-closein.sh: Likewise.
87422         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
87423         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
87425 2007-04-27  Bruno Haible  <bruno@clisp.org>
87427         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
87428         version is < 6.
87429         * lib/math_.h [__DECC]: Likewise.
87430         * lib/stdio_.h [__DECC]: Likewise.
87431         * lib/stdlib_.h [__DECC]: Likewise.
87432         * lib/string_.h [__DECC]: Likewise.
87433         * lib/time_.h [__DECC]: Likewise.
87434         * lib/wchar_.h [__DECC]: Likewise.
87435         * lib/wctype_.h [__DECC]: Likewise.
87437 2007-04-27  Bruno Haible  <bruno@clisp.org>
87439         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
87441 2007-04-27  Bruno Haible  <bruno@clisp.org>
87443         * lib/fflush.c: Add comments.
87444         * modules/fpurge-tests (Depends-on): Add fflush.
87445         * modules/freadable-tests (Depends-on): Likewise.
87446         * modules/fwritable-tests (Depends-on): Likewise.
87448 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
87450         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
87451         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
87452         Report by Bruno Haible <bruno@clisp.org>.
87454 2007-04-26  Eric Blake  <ebb9@byu.net>
87456         Fix fflush on mingw.
87457         * modules/fflush (Depends-on): Add freading.
87458         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
87459         but unread data.
87461 2007-04-26  Eric Blake  <ebb9@byu.net>
87462         and Bruno Haible  <bruno@clisp.org>
87464         Implement freading and fwriting.
87465         * lib/freading.c: New file.
87466         * lib/freading.h: Likewise.
87467         * m4/freading.m4: Likewise.
87468         * modules/freading: Likewise.
87469         * modules/freading-tests: Likewise.
87470         * tests/test-freading.c: Likewise.
87471         * lib/fwriting.c: New file.
87472         * lib/fwriting.h: Likewise.
87473         * m4/fwriting.m4: Likewise.
87474         * modules/fwriting: Likewise.
87475         * modules/fwriting-tests: Likewise.
87476         * tests/test-fwriting.c: Likewise.
87477         * MODULES.html.sh (File stream based Input/Output): Mention them.
87479 2007-04-26  Bruno Haible  <bruno@clisp.org>
87481         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
87482         'long' when we assume it.
87483         Suggested by Eric Blake.
87485 2007-04-26  Bruno Haible  <bruno@clisp.org>
87487         Ensure fseeko, ftello are declared on glibc systems.
87488         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
87489         * modules/fseeko (configure.ac-early): Likewise.
87490         * modules/ftello (configure.ac-early): Likewise.
87491         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
87492         AC_FUNC_FSEEKO for this.
87493         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
87494         (gl_CHECK_FSEEKO): Remove macro.
87496 2007-04-26  Bruno Haible  <bruno@clisp.org>
87498         * tests/test-fflush.c (main): Also check the ftell result after
87499         fflush and fseek/fseeko.
87500         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
87501         file descriptor position cache in the stream.
87502         * lib/fseeko.c (rpl_fseeko): Likewise.
87504 2007-04-26  Bruno Haible  <bruno@clisp.org>
87506         * modules/fflush-tests (Depends-on): Add fseeko.
87508 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
87509             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
87511         * lib/argz_.h: ensure error_t definition is obtained in same
87512         mechanism system argz.h would have.
87513         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
87514         argz facilities are known bad.  Err on the side of caution if
87515         cross-compiling.
87517 2007-04-25  Eric Blake  <ebb9@byu.net>
87519         * lib/fpurge.c (includes): Use stdlib.h for free.
87520         * tests/test-fflush.c (main): Also test fflush-fseeko.
87522 2007-04-25  Bruno Haible  <bruno@clisp.org>
87524         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
87525         * lib/fseeko.c: New file.
87526         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
87527         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
87528         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
87529         gl_FUNC_FSEEKO.
87530         (gl_FUNC_FSEEKO): Invoke it.
87531         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
87532         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
87533         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
87535 2007-04-25  Bruno Haible  <bruno@clisp.org>
87537         * modules/fflush (Depends-on): Add ftello.
87539 2007-04-25  Bruno Haible  <bruno@clisp.org>
87541         * modules/ftello-tests: New file.
87542         * tests/test-ftello.c: New file.
87544         * modules/ftello: New file.
87545         * m4/ftello.m4: New file.
87546         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
87547         HAVE_FTELLO.
87548         * lib/stdio_.h (ftello): New declaration.
87549         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
87550         HAVE_FTELLO.
87552 2007-04-25  Bruno Haible  <bruno@clisp.org>
87554         * modules/fseeko-tests: New file.
87555         * tests/test-fseeko.c: New file.
87557         * modules/fseeko: New file.
87558         * m4/fseeko.m4: New file.
87559         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
87560         HAVE_FSEEKO.
87561         * lib/stdio_.h (fseeko): New declaration.
87562         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
87563         HAVE_FSEEKO.
87565 2007-04-25  Bruno Haible  <bruno@clisp.org>
87567         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
87569 2007-04-25  Bruno Haible  <bruno@clisp.org>
87571         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
87572         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
87573         * tests/test-unistd.c: Likewise.
87574         * tests/test-fcntl.c: Likewise.
87576 2007-04-23  Eric Blake  <ebb9@byu.net>
87578         * lib/fflush.c: Fix missing include.
87579         Reported by Bruno Haible.
87581 2007-04-23  Bruno Haible  <bruno@clisp.org>
87583         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
87584         Reported by Eric Blake.
87586 2007-04-23  Bruno Haible  <bruno@clisp.org>
87588         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
87590 2007-04-23  Bruno Haible  <bruno@clisp.org>
87592         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
87594 2007-04-23  Bruno Haible  <bruno@clisp.org>
87596         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
87597         Needed on HP-UX 11.
87599 2007-04-16  Eric Blake  <ebb9@byu.net>
87601         Make fflush rely on fpurge.
87602         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
87603         open coding all variants.
87604         * modules/fflush (Depends-on): Add fpurge and unistd.
87605         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
87606         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
87608         Fix --with-tests compilation on cygwin.
87609         * modules/argmatch-tests (Makefile.am): List gnulib library first
87610         in LDADD.
87611         * modules/argp-tests (Makefile.am): Likewise.
87612         * modules/array-list-tests (Makefile.am): Likewise.
87613         * modules/array-oset-tests (Makefile.am): Likewise.
87614         * modules/avltree-list-tests (Makefile.am): Likewise.
87615         * modules/avltree-oset-tests (Makefile.am): Likewise.
87616         * modules/avltreehash-list-tests (Makefile.am): Likewise.
87617         * modules/carray-list-tests (Makefile.am): Likewise.
87618         * modules/dirname-tests (Makefile.am): Likewise.
87619         * modules/frexp-tests (Makefile.am): Likewise.
87620         * modules/isnanl-tests (Makefile.am): Likewise.
87621         * modules/linked-list-tests (Makefile.am): Likewise.
87622         * modules/linkedhash-list-tests (Makefile.am): Likewise.
87623         * modules/lock-tests (Makefile.am): Likewise.
87624         * modules/rbtree-list-tests (Makefile.am): Likewise.
87625         * modules/rbtree-oset-tests (Makefile.am): Likewise.
87626         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
87627         * modules/tls-tests (Makefile.am): Likewise.
87628         * modules/tsearch-tests (Makefile.am): Likewise.
87629         * modules/xvasprintf-tests (Makefile.am): Likewise.
87631         Fix fpurge for cygwin.
87632         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
87633         value.
87634         * modules/fpurge-tests (Depends-on): Clean up trash.
87636 2007-04-16  Simon Josefsson  <simon@josefsson.org>
87638         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
87640         * m4/autobuild.m4: Re-indent.
87642 2007-04-13  Bruno Haible  <bruno@clisp.org>
87644         * modules/fpurge-tests: New file.
87645         * tests/test-fpurge.c: New file.
87647         * modules/fpurge: New file.
87648         * lib/fpurge.h: New file.
87649         * lib/fpurge.c: New file.
87650         * m4/fpurge.m4: New file.
87652 2007-04-13  Bruno Haible  <bruno@clisp.org>
87654         * modules/fbufmode-tests: New file.
87655         * tests/test-fbufmode.c: New file.
87657         * modules/fbufmode: New file.
87658         * lib/fbufmode.h: New file.
87659         * lib/fbufmode.c: New file.
87660         * m4/fbufmode.m4: New file.
87662 2007-04-13  Bruno Haible  <bruno@clisp.org>
87664         * modules/fwritable-tests: New file.
87665         * tests/test-fwritable.c: New file.
87667         * modules/fwritable: New file.
87668         * lib/fwritable.h: New file.
87669         * lib/fwritable.c: New file.
87670         * m4/fwritable.m4: New file.
87672 2007-04-13  Bruno Haible  <bruno@clisp.org>
87674         * modules/freadable-tests: New file.
87675         * tests/test-freadable.c: New file.
87677         * modules/freadable: New file.
87678         * lib/freadable.h: New file.
87679         * lib/freadable.c: New file.
87680         * m4/freadable.m4: New file.
87682 2007-04-13  Bruno Haible  <bruno@clisp.org>
87684         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
87685         MOSTLYCLEANFILES.
87687 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
87689         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
87690         gzip bootstrap.conf to avoid dragging in i18n machinery.
87691         (gnulib_tool_option): Use it.
87693 2007-04-13  Bruno Haible  <bruno@clisp.org>
87695         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
87696         %F directives.
87697         * tests/test-vasprintf-posix.c (test_function): Likewise.
87698         * tests/test-snprintf-posix.h (test_function): Likewise.
87699         * tests/test-sprintf-posix.h (test_function): Likewise.
87700         * tests/test-fprintf-posix.h (test_function): Likewise.
87701         * tests/test-printf-posix.h (test_function): Likewise.
87702         * tests/test-fprintf-posix.out: Likewise.
87704 2007-04-13  Bruno Haible  <bruno@clisp.org>
87706         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
87707         * modules/tls-tests (configure.ac): Likewise.
87708         Reported by Arto C. Nirkko <anirkko@insel.ch>.
87710 2007-04-13  Bruno Haible  <bruno@clisp.org>
87712         * lib/tls.c (glthread_tls_get): Fix return type.
87713         Patch by Arto C. Nirkko <anirkko@insel.ch>.
87715 2007-04-12  Eric Blake  <ebb9@byu.net>
87717         * modules/gettime (Depends-on): Remove gettime.
87718         Reported by Dmitry V. Levin.
87720 2007-04-12  Bruno Haible  <bruno@clisp.org>
87722         * modules/fflush (Include): Mention <stdio.h>.
87723         * modules/strtoimax (Include): Mention <inttypes.h>.
87724         * modules/strtoumax (Include): Likewise.
87726 2007-04-12  Eric Blake  <ebb9@byu.net>
87728         * .cvsignore: New file.
87729         * .gitignore: Likewise.
87731 2007-04-12  Bruno Haible  <bruno@clisp.org>
87733         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
87734         not before, since $(LDADD) often contains libgnu.a.
87735         * modules/striconv-tests (test_striconv_LDADD): Likewise.
87736         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
87737         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
87738         Needed on Cygwin.
87740 2007-04-12  Eric Blake  <ebb9@byu.net>
87742         Work around glibc's failure to flush stdin on fclose.
87743         * lib/closein.c (close_stdin): Flush stdin before closing.
87745         Work around glibc's failure to reset seekable stdin on exit.
87746         * modules/closein: New module.
87747         * lib/closein.c: New file.
87748         * lib/closein.h: Likewise.
87749         * m4/closein.m4: Likewise.
87750         * MODULES.html.sh (File stream based Input/Output): Document it.
87752 2007-04-12  Simon Josefsson  <simon@josefsson.org>
87754         * gnulib-tool: Rename generated 'autobuild' script to
87755         'do-autobuild' in --create-megatestdir output.
87757         * doc/gnulib.texi (Build robot for gnulib): Fix.
87759 2007-04-12  Simon Josefsson  <simon@josefsson.org>
87761         * modules/sysexits (Depends-on): Add absolute-header.
87763 2007-04-12  Eric Blake  <ebb9@byu.net>
87765         No need to preserve errno on success.
87766         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
87767         Reported by Bruno Haible.
87769 2007-04-12  Simon Josefsson  <simon@josefsson.org>
87771         * MODULES.html.sh (Support for maintaining and releasing
87772         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
87774 2007-04-12  Simon Josefsson  <simon@josefsson.org>
87776         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
87778 2007-04-12  Simon Josefsson  <simon@josefsson.org>
87780         * modules/autobuild: New module.
87782         * m4/autobuild.m4: New file.
87784 2007-04-11  Bruno Haible  <bruno@clisp.org>
87786         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
87787         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
87788         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
87789         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
87790         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
87791         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
87792         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
87793         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
87794         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
87795         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
87796         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
87797         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
87798         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
87799         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
87800         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
87801         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
87802         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
87803         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
87804         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
87805         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
87806         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
87807         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
87808         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
87809         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
87810         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
87811         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
87812         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
87813         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
87814         Reported by Eric Blake.
87816 2007-04-11  Bruno Haible  <bruno@clisp.org>
87818         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
87820 2007-04-10  Bruno Haible  <bruno@clisp.org>
87822         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
87823         for NaN and Infinity. Needed on FreeBSD 6.1.
87824         * tests/test-vasnprintf-posix.c (test_function): Undo last change
87825         regarding results for "%010a" of Infinity and NaN.
87826         * tests/test-vasprintf-posix.c (test_function): Likewise.
87827         * tests/test-snprintf-posix.h (test_function): Likewise.
87828         * tests/test-sprintf-posix.h (test_function): Likewise.
87829         * tests/test-fprintf-posix.h (test_function): Likewise.
87830         * tests/test-printf-posix.h (test_function): Likewise.
87831         * tests/test-fprintf-posix.out: Likewise.
87833 2007-04-10  Bruno Haible  <bruno@clisp.org>
87835         * modules/locale-tests: New file.
87836         * tests/test-locale.c: New file.
87838         * modules/locale: New file.
87839         * lib/locale_.h: New file.
87840         * m4/locale_h.m4: New file.
87842 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
87843             Bruno Haible  <bruno@clisp.org>
87845         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
87846         be determined, test for availability of the copysignf, copysign,
87847         copysignl functions.
87848         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
87849         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
87850         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
87852 2007-04-09  Eric Blake  <ebb9@byu.net>
87854         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
87855         * modules/stdio (Makefile.am): Support fflush.
87856         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
87857         * modules/fflush: New file.
87858         * lib/fflush.c: Likewise.
87859         * m4/fflush.m4: Likewise.
87860         * modules/fflush-tests: New test.
87861         * tests/test-fflush.c: Likewise.
87862         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
87864 2007-04-06  Bruno Haible  <bruno@clisp.org>
87866         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
87867         (VASNPRINTF): Use signbit for faster determination whether to print a
87868         minus sign.
87869         * modules/vasnprintf (Files): Remove lib/float+.h.
87870         * modules/fprintf-posix (Depends-on): Add signbit.
87871         * modules/snprintf-posix (Depends-on): Likewise.
87872         * modules/sprintf-posix (Depends-on): Likewise.
87873         * modules/vasnprintf-posix (Depends-on): Likewise.
87874         * modules/vasprintf-posix (Depends-on): Likewise.
87875         * modules/vfprintf-posix (Depends-on): Likewise.
87876         * modules/vsnprintf-posix (Depends-on): Likewise.
87877         * modules/vsprintf-posix (Depends-on): Likewise.
87879 2007-04-06  Bruno Haible  <bruno@clisp.org>
87881         * tests/test-frexp.c (main): Test also the sign bit of zero results.
87882         * tests/test-frexpl.c (main): Likewise.
87883         * tests/test-ldexpl.c (main): Likewise.
87884         * modules/frexp-tests (Depends-on): Add signbit.
87885         * modules/frexpl-tests (Depdends-on): Likewise.
87886         * modules/ldexpl-tests (Depdends-on): Likewise.
87888 2007-04-06  Bruno Haible  <bruno@clisp.org>
87890         * modules/signbit-tests: New file.
87891         * tests/test-signbit.c: New file.
87893         * modules/signbit: New file.
87894         * lib/signbitf.c: New file.
87895         * lib/signbitd.c: New file.
87896         * lib/signbitl.c: New file.
87897         * m4/signbit.m4: New file.
87898         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
87899         (signbit): New macro.
87900         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
87901         REPLACE_SIGNBIT.
87902         * modules/math (Makefile.am): Substitute also GNULIB_SIGNBIT and
87903         REPLACE_FREXPL into math.h.
87905 2007-04-06  Bruno Haible  <bruno@clisp.org>
87907         * modules/isnanf-nolibm-tests: New file.
87908         * tests/test-isnanf.c: New file.
87910         * modules/isnanf-nolibm: New file.
87911         * lib/isnanf.h: New file.
87912         * lib/isnanf.c: New file.
87913         * lib/isnan.c: Consider the USE_FLOAT macro.
87914         * m4/isnanf.m4: New file.
87916 2007-04-06  Bruno Haible  <bruno@clisp.org>
87918         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
87919         (Link): New section.
87921         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
87923 2007-04-06  Bruno Haible  <bruno@clisp.org>
87925         Assume the 'long double' type.
87926         * m4/longdouble.m4: Remove file.
87927         * config/srclist.txt: Don't mention longdouble.m4.
87928         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
87929         * lib/float+.h: Likewise.
87930         * lib/frexp.c: Likewise.
87931         * lib/printf-args.h: Likewise.
87932         * lib/printf-args.c: Likewise.
87933         * lib/printf-frexp.c: Likewise.
87934         * lib/printf-parse.c: Likewise.
87935         * lib/vasnprintf.c: Likewise.
87936         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
87937         * m4/intl.m4: Likewise.
87938         * m4/isnanl.m4: Likewise.
87939         * m4/printf.m4: Likewise.
87940         * m4/printf-frexpl.m4: Likewise.
87941         * m4/vasnprintf.m4: Likewise.
87942         * modules/allocsa (Files): Remove m4/longdouble.m4.
87943         * modules/gettext (Files): Likewise.
87944         * modules/relocatable-prog-wrapper (Files): Likewise.
87945         * modules/vasnprintf (Files): Likewise.
87946         * modules/isnanl (Files): Likewise.
87947         (Include): Simplify.
87948         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
87949         (Include): Simplify.
87950         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
87951         (Include): Simplify.
87952         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
87953         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
87954         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
87955         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
87956         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
87957         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
87958         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
87959         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
87960         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
87961         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
87962         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
87963         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
87964         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
87965         * tests/test-isnanl.c: Likewise.
87966         * tests/test-snprintf-posix.h: Likewise.
87967         * tests/test-sprintf-posix.h: Likewise.
87968         * tests/test-vasnprintf-posix.c: Likewise.
87969         * tests/test-vasnprintf-posix2.c: Likewise.
87970         * tests/test-vasprintf-posix.c: Likewise.
87972 2007-04-06  Bruno Haible  <bruno@clisp.org>
87974         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
87975         * lib/math_.h [__DECC]: Include the overridden include file through
87976         #include_next, outside the double-inclusion guard.
87977         * lib/stdio_.h [__DECC]: Likewise.
87978         * lib/stdlib_.h [__DECC]: Likewise.
87979         * lib/string_.h [__DECC]: Likewise.
87980         * lib/time_.h [__DECC]: Likewise.
87981         * lib/wchar_.h [__DECC]: Likewise.
87982         * lib/wctype_.h [__DECC]: Likewise.
87983         * lib/inttypes_.h [__DECC]: Likewise.
87984         Reported by Albert Chin <china@thewrittenword.com> in
87985         <http://lists.gnu.org/r/bug-gnulib/2007-04/msg00088.html>.
87987 2007-04-04  Eric Blake  <ebb9@byu.net>
87989         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
87990         1.5.x.
87992 2007-04-04  Bruno Haible  <bruno@clisp.org>
87994         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
87995         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
87997 2007-04-04  Bruno Haible  <bruno@clisp.org>
87999         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
88000         results for "%010a" of Infinity and NaN.
88001         * tests/test-vasprintf-posix.c (test_function): Likewise.
88002         * tests/test-snprintf-posix.h (test_function): Likewise.
88003         * tests/test-sprintf-posix.h (test_function): Likewise.
88004         * tests/test-fprintf-posix.h (test_function): Remove these tests.
88005         * tests/test-printf-posix.h (test_function): Likewise.
88006         * tests/test-fprintf-posix.out: Update.
88007         Needed for FreeBSD 6.1.
88009 2007-04-04  Bruno Haible  <bruno@clisp.org>
88011         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
88012         directly used by the gnulib modules nor by gnulib-tool.
88014 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
88016         * DEPENDENCIES: Give overall description of version dependency
88017         desirability.  Use more-typical names for apps.
88018         Add shell, coreutils, diffutils, grep, tar, gzip.
88020 2007-04-04  Simon Josefsson  <simon@josefsson.org>
88022         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
88024 2007-04-04  Karl Berry  <karl@gnu.org>
88026         * MODULES.html.sh (func_module): missing '.
88028 2007-04-03  Bruno Haible  <bruno@clisp.org>
88030         * modules/argmatch-tests (Makefile.am): New variable
88031         test_argmatch_LDADD.
88032         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
88033         * modules/array-list-tests (Makefile.am): New variable
88034         test_array_list_LDADD.
88035         * modules/array-oset-tests (Makefile.am): New variable
88036         test_array_oset_LDADD.
88037         * modules/avltree-list-tests (Makefile.am): New variable
88038         test_avltree_list_LDADD.
88039         * modules/avltree-oset-tests (Makefile.am): New variable
88040         test_avltree_oset_LDADD.
88041         * modules/avltreehash-list-tests (Makefile.am): New variable
88042         test_avltreehash_list_LDADD.
88043         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
88044         test_canonicalize_lgpl_LDADD.
88045         * modules/carray-list-tests (Makefile.am): New variable
88046         test_carray_list_LDADD.
88047         * modules/dirname-tests (Makefile.am): New variable
88048         test_dirname_LDADD.
88049         * modules/linked-list-tests (Makefile.am): New variable
88050         test_linked_list_LDADD.
88051         * modules/linkedhash-list-tests (Makefile.am): New variable
88052         test_linkedhash_list_LDADD.
88053         * modules/rbtree-list-tests (Makefile.am): New variable
88054         test_rbtree_list_LDADD.
88055         * modules/rbtree-oset-tests (Makefile.am): New variable
88056         test_rbtree_oset_LDADD.
88057         * modules/rbtreehash-list-tests (Makefile.am): New variable
88058         test_rbtreehash_list_LDADD.
88059         * modules/xvasprintf-tests (Makefile.am): New variable
88060         test_xvasprintf_LDADD.
88061         Reported by Eric Blake.
88063 2007-04-03  Eric Blake  <ebb9@byu.net>
88065         * DEPENDENCIES: Weaken m4 requirements.
88067 2007-04-03  Bruno Haible  <bruno@clisp.org>
88069         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
88070         * modules/isnanl-tests (configure.ac): Likewise.
88072 2007-04-03  Ben Pfaff  <blp@gnu.org>
88074         * modules/iconv_open: Add $(srcdir)/ to source directory
88075         references in Makefile fragments that call gperf, to fix VPATH
88076         builds.
88078 2007-04-03  Bruno Haible  <bruno@clisp.org>
88080         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
88081         * lib/ldexpl.c: Undo last change.
88083 2007-04-03  Bruno Haible  <bruno@clisp.org>
88085         * modules/printf-frexpl (Depends-on): Undo last change.
88086         (Files): Add m4/ldexpl.m4.
88088 2007-04-03  Bruno Haible  <bruno@clisp.org>
88090         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
88091         * modules/isnanl (Link): New section.
88093         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
88094         * modules/frexp (Link): New section.
88096         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
88097         * modules/frexpl (Link): New section.
88099         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
88100         * modules/ldexpl (Link): New section.
88102 2007-04-03  Bruno Haible  <bruno@clisp.org>
88104         * modules/TEMPLATE-EXTENDED: New file.
88105         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
88107 2007-04-03  Bruno Haible  <bruno@clisp.org>
88109         * DEPENDENCIES: New file.
88110         Suggested by Simon Josefsson.
88112 2007-04-03  Bruno Haible  <bruno@clisp.org>
88114         * doc/gnulib.texi: Escape @.
88116 2007-04-03  James Youngman  <jay@gnu.org>
88117         and Paul Eggert  <eggert@cs.ucla.edu>
88119         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
88120         birthtime on all systems that have birthtime, not just those which
88121         use st_birthtimensec rather than st_birthtim.  Putting zero in
88122         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
88123         that the birth time is not available for files on an NFS mount.
88125 2007-04-03  Simon Josefsson  <simon@josefsson.org>
88127         * modules/memxor: Move back from crypto/, suggested by Bruno.
88128         * modules/crypto/hmac-sha1: Fix memxor dependency.
88130         * modules/crypto/gc: Moved from ../.
88132 2007-04-02  Eric Blake  <ebb9@byu.net>
88134         * lib/ldexpl.c (includes): Avoid libm.
88136         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
88138 2007-04-02  Bruno Haible  <bruno@clisp.org>
88140         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
88141         on IRIX.
88143 2007-04-02  Bruno Haible  <bruno@clisp.org>
88145         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
88146         x86 or x86_64 platforms running MacOS X.
88147         Reported by Ryan Schmidt <@ryandesign.com>.
88149 2007-04-02  Bruno Haible  <bruno@clisp.org>
88151         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
88152         i386.
88154 2007-04-01  Simon Josefsson  <simon@josefsson.org>
88156         * modules/crypto/arcfour: Moved from ../.
88157         * modules/crypto/arcfour-tests: Moved from ../.
88158         * modules/crypto/arctwo: Moved from ../.
88159         * modules/crypto/arctwo-tests: Moved from ../.
88160         * modules/crypto/des: Moved from ../.
88161         * modules/crypto/des-tests: Moved from ../.
88162         * modules/crypto/gc-arcfour: Moved from ../.
88163         * modules/crypto/gc-arcfour-tests: Moved from ../.
88164         * modules/crypto/gc-arctwo: Moved from ../.
88165         * modules/crypto/gc-arctwo-tests: Moved from ../.
88166         * modules/crypto/gc-des: Moved from ../.
88167         * modules/crypto/gc-des-tests: Moved from ../.
88168         * modules/crypto/gc-hmac-md5: Moved from ../.
88169         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
88170         * modules/crypto/gc-hmac-sha1: Moved from ../.
88171         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
88172         * modules/crypto/gc-md2: Moved from ../.
88173         * modules/crypto/gc-md2-tests: Moved from ../.
88174         * modules/crypto/gc-md4: Moved from ../.
88175         * modules/crypto/gc-md4-tests: Moved from ../.
88176         * modules/crypto/gc-md5: Moved from ../.
88177         * modules/crypto/gc-md5-tests: Moved from ../.
88178         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
88179         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
88180         * modules/crypto/gc-random: Moved from ../.
88181         * modules/crypto/gc-rijndael: Moved from ../.
88182         * modules/crypto/gc-rijndael-tests: Moved from ../.
88183         * modules/crypto/gc-sha1: Moved from ../.
88184         * modules/crypto/gc-sha1-tests: Moved from ../.
88185         * modules/crypto/gc-tests: Moved from ../.
88186         * modules/crypto/hmac-md5: Moved from ../.
88187         * modules/crypto/hmac-md5-tests: Moved from ../.
88188         * modules/crypto/hmac-sha1: Moved from ../.
88189         * modules/crypto/hmac-sha1-tests: Moved from ../.
88190         * modules/crypto/md2: Moved from ../.
88191         * modules/crypto/md2-tests: Moved from ../.
88192         * modules/crypto/md4: Moved from ../.
88193         * modules/crypto/md4-tests: Moved from ../.
88194         * modules/crypto/md5: Moved from ../.
88195         * modules/crypto/md5-tests: Moved from ../.
88196         * modules/crypto/memxor: Moved from ../.
88197         * modules/crypto/rijndael: Moved from ../.
88198         * modules/crypto/rijndael-tests: Moved from ../.
88199         * modules/crypto/sha1: Moved from ../.
88201 2007-03-30  James Youngman  <jay@gnu.org>
88203         * tests/test-stat-time.c (prepare_test): use chmod() rather than
88204         rename() to change the ctime of a file (because ctime is unaffected
88205         by rename on jfs2 on AIX 5.1).
88206         (main): Start by doing cleanup, in case a previous run failed leaving
88207         test files behind.
88209 2007-03-31  Bruno Haible  <bruno@clisp.org>
88211         Support old proprietary implementations of iconv.
88212         * modules/iconv_open: New file.
88213         * lib/iconv_.h: New file.
88214         * m4/iconv_h.m4: New file.
88215         * lib/iconv_open.c: New file.
88216         * lib/iconv_open-aix.gperf: New file.
88217         * lib/iconv_open-hpux.gperf: New file.
88218         * lib/iconv_open-irix.gperf: New file.
88219         * lib/iconv_open-osf.gperf: New file.
88220         * m4/iconv_open.m4: New file.
88221         * modules/linebreak (Depends-on): Add iconv_open.
88222         * modules/striconv (Depends-on): Likewise.
88223         * modules/striconveh (Depends-on): Likewise.
88224         * modules/unicodeio (Depends-on): Likewise.
88225         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
88226         (iconv_t)(-1).
88227         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
88228         conversion if cd is (iconv_t)(-1).
88229         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
88230         is not possible.
88232 2007-03-31  Bruno Haible  <bruno@clisp.org>
88234         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
88235         work on Solaris either. Protect also second use of "autodetect_jp".
88237 2007-03-31  Bruno Haible  <bruno@clisp.org>
88239         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
88240         the function is not present.
88242 2007-03-31  Bruno Haible  <bruno@clisp.org>
88244         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
88245         the function is not present.
88247 2007-03-31  Bruno Haible  <bruno@clisp.org>
88249         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
88250         a bug in HP-UX iconv_open().
88252 2007-03-31  Bruno Haible  <bruno@clisp.org>
88254         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
88255         (Mathematics <math.h>): New section, add fpieee.
88256         (Input/output <stdio.h>): Add fseterr.
88257         (Mathematics <math.h>): New section, add printf-frexp.
88258         (Container data structures): Add sublist.
88259         (Core language properties): Add fpucw, inline.
88260         (Functions for greatest-width integer types <inttypes.h>): Add
88261         imaxabs, imaxdiv, inttypes.
88262         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
88263         isnanl-nolibm, ldexp.
88264         (Mathematics <math.h>): New section, add printf-frexpl.
88265         (Support for systems lacking POSIX:2001): Add fprintf-posix,
88266         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
88267         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
88268         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
88269         (Unicode string functions): Add unistr/u*-mbtoucr.
88270         (Java): Add javacomp-script, javaexec-script.
88271         (C#): Add csharpcomp-script, csharpexec-script.
88272         (Support for building libraries and executables): Add havelib,
88273         relocatable-*.
88274         (Support for maintaining and releasing projects): Renamed from
88275         'Support for maintaining and release projects'. Add announce-gen.
88277 2007-03-31  Bruno Haible  <bruno@clisp.org>
88279         * README: Talk primarily about git.
88280         (git and CVS): Renamed from CVS.
88281         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
88282         gnulib is available through git.
88283         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
88285 2007-03-30  Bruno Haible  <bruno@clisp.org>
88287         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
88288         * lib/poll_.h: Likewise.
88289         * lib/stat_.h: Likewise.
88290         * lib/sys_time_.h: Likewise.
88291         * lib/sysexit_.h: Likewise.
88292         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
88293         * lib/stdbool_.h: Likewise.
88294         * lib/byteswap_.h: Add double-inclusion guard.
88296 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
88298         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
88300 2007-03-30  Karl Berry  <karl@gnu.org>
88302         * config/srclist-update: double space after USA in the license
88303         substitution, since that's how it's usually (?) written.
88305 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
88307         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
88308         reported by Bruno Haible.
88310 2007-03-29  Bruno Haible  <bruno@clisp.org>
88312         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
88313         a bug in AIX iconv().
88315 2007-03-29  Bruno Haible  <bruno@clisp.org>
88317         * modules/ldexpl-tests: New file.
88318         * tests/test-ldexpl.c: New file.
88320 2007-03-29  Bruno Haible  <bruno@clisp.org>
88322         * lib/ldexpl.c: Include fpucw.h.
88323         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
88324         multiplication.
88325         * modules/ldexpl (Depends-on): Add fpucw.
88327 2007-03-29  Bruno Haible  <bruno@clisp.org>
88329         * modules/ldexpl: New file.
88330         * m4/ldexpl.m4: New file.
88331         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
88332         set.
88333         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
88334         REPLACE_LDEXPL.
88335         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
88336         REPLACE_LDEXPL.
88337         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
88338         gl_FUNC_LDEXPL_WORKS.
88339         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
88340         * modules/mathl (Files): Remove lib/ldexpl.c.
88341         (Depends-on): Add ldexpl.
88343 2007-03-29  Bruno Haible  <bruno@clisp.org>
88345         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
88347 2007-03-29  Bruno Haible  <bruno@clisp.org>
88349         * tests/test-striconveh.c (main): Don't assume that a direct conversion
88350         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
88351         and possibly also HP-UX.
88352         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
88353         work on AIX, IRIX, HP-UX, OSF/1.
88354         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
88355         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
88356         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
88357         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
88358         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
88359         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
88361 2007-03-29  Bruno Haible  <bruno@clisp.org>
88363         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
88365 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
88367         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
88368         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
88370 2007-03-29  Eric Blake  <ebb9@byu.net>
88372         * lib/acl-internal.h: Remove redundant include.
88373         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
88374         Cygwin when a file is locked.
88376 2007-03-29  Bruno Haible  <bruno@clisp.org>
88378         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
88379         file.
88380         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
88382 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
88384         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
88385         try to remove a parent directory if the child couldn't be removed
88386         (except for the first rmdir, which could fail because the child
88387         doesn't exist).  Problem reported by Jeff Blaine in
88388         <http://lists.gnu.org/r/bug-tar/2007-03/msg00014.html>.
88390 2007-03-28  Bruno Haible  <bruno@clisp.org>
88392         * lib/striconveh.c (utf8conv_carefully): New function.
88393         (mem_cd_iconveh_internal): Invoke it.
88395 2007-03-28  Bruno Haible  <bruno@clisp.org>
88397         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
88398         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
88399         input.
88400         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
88401         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
88402         unistr/u8-uctomb.
88404 2007-03-28  Bruno Haible  <bruno@clisp.org>
88406         * modules/unistr/u8-mbtoucr: New file.
88407         * lib/unistr/u8-mbtoucr.c: New file.
88408         * modules/unistr/u16-mbtoucr: New file.
88409         * lib/unistr/u16-mbtoucr.c: New file.
88410         * modules/unistr/u16-mbtoucr: New file.
88411         * lib/unistr/u16-mbtoucr.c: New file.
88412         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
88414 2007-03-27  Simon Josefsson  <simon@josefsson.org>
88415             Bruno Haible  <bruno@clisp.org>
88417         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
88418         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
88419         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
88421         * m4/stdio_h.m4: Add stubs for vasprintf too.
88423         * modules/stdio: Support vasprintf in sed command.
88425         * modules/vasprintf: Depend on stdio for prototypes.  Remove
88426         vasprintf.h.  Add stdio module indicator.
88428         * lib/stdio_.h: Declare asprintf and vasprintf, based on
88429         vasprintf.h.
88431         * lib/vasprintf.h: File removed.
88433         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
88434         * lib/vasprintf.c: Ditto.
88435         * lib/xvasprintf.c: Ditto.
88436         * tests/test-vasprintf-posix.c: Ditto.
88437         * tests/test-vasprintf.c: Ditto.
88439 2007-03-27  Bruno Haible  <bruno@clisp.org>
88441         Make vasnprintf multithread-safe.
88442         * lib/vasnprintf.c (decimal_point_char): New function.
88443         (VASNPRINTF): Use it.
88444         Suggested by Simon Josefsson.
88446 2007-03-27  Eric Blake  <ebb9@byu.net>
88448         Support sub-second birthtime on cygwin.
88449         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
88450         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
88451         (get_stat_birthtime): Also work with st_birthtim.
88453 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
88455         * lib/stat-time.h (USE_BIRTHTIME): Remove.
88456         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
88457         (get_stat_birthtime_ns): Do not try to use "spare" fields.
88458         (get_stat_birthtime_ns): Simplify compile-time tests.
88459         (get_stat_birthtime): Change the API to look like
88460         get_stat_mtime etc., except return a negative tv_nsec on error.
88461         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
88462         Don't check for "spare" fields.
88463         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
88464         or for struct stat.st_birthtime, as these tests aren't used.
88465         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
88467 2007-03-27  Bruno Haible  <bruno@clisp.org>
88469         * lib/stat-time.h: Include <sys/stat.h>.
88471 2007-03-27  James Youngman  <jay@gnu.org>
88473         * lib/stat-time.h (get_stat_birthtime): New function for
88474           retrieving st_birthtime as provided by UFS2 (hence *BSD).
88475         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
88476           and its variants.
88477         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
88478         * modules/stat-time-test: New file.
88479         * tests/test-stat-time.c: New test, devised by Bruno Haible.
88481 2007-03-26  Bruno Haible  <bruno@clisp.org>
88483         Better support of signalling NaNs.
88484         * lib/atanl.c: Include isnanl.h.
88485         (atanl): Perform test for NaN at the beginning of the function and
88486         through a call to isnanl.
88487         * lib/cosl.c: Include isnanl.h.
88488         (cosl): Perform test for NaN at the beginning of the function and
88489         through a call to isnanl.
88490         * lib/ldexpl.c: Include isnanl.h.
88491         (ldexpl): Perform test for NaN through a call to isnanl.
88492         * lib/logl.c: Include isnanl.h.
88493         (logl): Perform test for NaN at the beginning of the function and
88494         through a call to isnanl.
88495         * lib/sinl.c: Include isnanl.h.
88496         (sinl): Perform test for NaN at the beginning of the function and
88497         through a call to isnanl.
88498         * lib/sqrtl.c: Include isnanl.h.
88499         (sqrtl): Perform test for NaN at the beginning of the function and
88500         through a call to isnanl.
88501         * lib/tanl.c: Include isnanl.h.
88502         (tanl): Perform test for NaN at the beginning of the function and
88503         through a call to isnanl.
88504         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
88505         * modules/mathl (Depends-on): Add isnanl.
88507 2007-03-26  Eric Blake  <ebb9@byu.net>
88509         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
88510         regression in logic sense of previous patch.
88512 2007-03-26  Bruno Haible  <bruno@clisp.org>
88514         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
88515         unportable shell command "if ! ...".
88516         Reported by Ralf Wildenhues.
88518 2007-03-25  Bruno Haible  <bruno@clisp.org>
88520         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
88521         <sysexits.h> file, and only add EX_CONFIG.
88522         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
88523         absolute file name and whether it is sufficient. Substitute also
88524         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
88525         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
88526         ABSOLUTE_SYSEXITS_H into sysexits.h.
88528 2007-03-25  Bruno Haible  <bruno@clisp.org>
88530         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
88531         hints is NULL.
88533 2007-03-25  Bruno Haible  <bruno@clisp.org>
88535         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
88536         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
88538 2007-03-25  Bruno Haible  <bruno@clisp.org>
88540         * lib/vasnprintf.c: Include langinfo.h.
88541         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
88542         multithread-safe.
88543         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
88544         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
88545         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
88546         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
88547         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
88548         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
88549         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
88550         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
88551         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
88552         Reported by Simon Josefsson.
88554 2007-03-25  Bruno Haible  <bruno@clisp.org>
88556         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
88557         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
88558         * modules/vasnprintf (Depends-on): Add stdint.
88560 2007-03-25  Bruno Haible  <bruno@clisp.org>
88562         * modules/fpieee: New file.
88563         * m4/fpieee.m4: New file.
88564         * modules/isnan-nolibm (Depends-on): Add fpieee.
88565         * modules/isnanl-nolibm (Depends-on): Add fpieee.
88566         * modules/isnanl (Depends-on): Add fpieee.
88568 2007-03-25  Bruno Haible  <bruno@clisp.org>
88570         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
88572 2007-03-25  Bruno Haible  <bruno@clisp.org>
88574         Avoid test failures on IRIX 6.5.
88575         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
88576         (main): Use it.
88577         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
88578         macros.
88579         (main): Use them.
88581 2007-03-25  Bruno Haible  <bruno@clisp.org>
88583         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
88584         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
88585         exists but doesn't work.
88586         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
88587         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
88588         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
88589         * modules/math (Makefile.am): Substitute also REPLACE_FREXPL into
88590         math.h.
88592 2007-03-25  Bruno Haible  <bruno@clisp.org>
88594         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
88595         returns inf. Needed on IRIX 6.5.
88597 2007-03-25  Bruno Haible  <bruno@clisp.org>
88599         * tests/test-frexpl.c: Include isnanl-nolibm.h.
88600         (main): Use isnanl instead of x != x idiom.
88601         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
88603         * tests/test-frexp.c: Include isnan.h.
88604         (main): Use isnan instead of x != x idiom.
88605         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
88607 2007-03-25  Bruno Haible  <bruno@clisp.org>
88609         * tests/test-frexp.c (NaN): New function/macro.
88610         (main): Use it instead of 0.0 / 0.0.
88611         * tests/test-isnan.c (NaN): New function/macro.
88612         (main): Use it instead of 0.0 / 0.0.
88613         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
88614         (test_function): Use it instead of 0.0 / 0.0.
88615         * tests/test-vasprintf-posix.c (NaN): New function/macro.
88616         (test_function): Use it instead of 0.0 / 0.0.
88617         * tests/test-snprintf-posix.h (NaN): New function/macro.
88618         (test_function): Use it instead of 0.0 / 0.0.
88619         * tests/test-sprintf-posix.h (NaN): New function/macro.
88620         (test_function): Use it instead of 0.0 / 0.0.
88621         * tests/test-fprintf-posix.h (NaN): New function/macro.
88622         (test_function): Use it instead of 0.0 / 0.0.
88623         * tests/test-printf-posix.h (NaN): New function/macro.
88624         (test_function): Use it instead of 0.0 / 0.0.
88626         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
88628 2007-03-25  Bruno Haible  <bruno@clisp.org>
88630         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
88632 2007-03-25  Bruno Haible  <bruno@clisp.org>
88634         * lib/regexec.c (merge_state_with_log): Make static.
88636 2007-03-25  Bruno Haible  <bruno@clisp.org>
88638         * lib/trigl.c (kernel_rem_pio2): Make static.
88640 2007-03-25  Bruno Haible  <bruno@clisp.org>
88642         * lib/sincosl.c (sincosl_table): Make static.
88644 2007-03-25  Bruno Haible  <bruno@clisp.org>
88646         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
88647         if the compiler does not support C99.
88649 2007-03-25  Bruno Haible  <bruno@clisp.org>
88651         * modules/time (Makefile.am): Ensure all rule action lines start with a
88652         tab.
88654 2007-03-24  Bruno Haible  <bruno@clisp.org>
88656         * modules/tsearch-tests: New file.
88657         * tests/test-tsearch.sh: New file.
88658         * tests/test-tsearch.c: New file, mostly copied from glibc.
88660         * modules/search-tests: New file.
88661         * tests/test-search.c: New file.
88663         * modules/search: New file.
88664         * lib/search_.h: New file, incorporating lib/tsearch.h.
88665         * m4/search_h.m4: New file.
88666         * lib/tsearch.h: Remove file.
88667         * lib/tsearch.c: Include search.h instead of tsearch.h.
88668         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
88669         HAVE_TSEARCH.
88670         * modules/tsearch (Files): Remove lib/tsearch.h.
88671         (Depends-on): Add search.
88672         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
88673         (Include): Change tsearch.h into search.h.
88675 2007-03-24  Bruno Haible  <bruno@clisp.org>
88677         * modules/fpucw: New file.
88678         * lib/fpucw.h: New file.
88679         * lib/frexp.c: Include fpucw.h.
88680         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
88681         (FUNC): Use them.
88682         * lib/printf-frexp.c: Include fpucw.h.
88683         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
88684         (FUNC): Use them.
88685         * lib/vasnprintf.c: Include fpucw.h.
88686         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
88687         'long double' calculations.
88688         * tests/test-frexpl.c: Include fpucw.h.
88689         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
88690         * tests/test-printf-frexpl.c: Include fpucw.h.
88691         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
88692         * modules/frexpl (Depends-on): Add fpucw.
88693         * modules/printf-frexpl (Depends-on): Likewise.
88694         * modules/fprintf-posix (Depends-on): Likewise.
88695         * modules/snprintf-posix (Depends-on): Likewise.
88696         * modules/sprintf-posix (Depends-on): Likewise.
88697         * modules/vasnprintf-posix (Depends-on): Likewise.
88698         * modules/vasprintf-posix (Depends-on): Likewise.
88699         * modules/vfprintf-posix (Depends-on): Likewise.
88700         * modules/vsnprintf-posix (Depends-on): Likewise.
88701         * modules/vsprintf-posix (Depends-on): Likewise.
88702         * modules/frexpl-tests (Depends-on): Likewise.
88703         * modules/printf-frexpl-tests (Depends-on): Likewise.
88705 2007-03-24  Bruno Haible  <bruno@clisp.org>
88707         * lib/float+.h: New file.
88708         * lib/isnan.c: Include float+.h.
88709         (SIZE): New macro.
88710         (FUNC): Compare only SIZE bytes of the value.
88711         * lib/vasnprintf.c: Include float+.h.
88712         (VASNPRINTF): When comparing against +0.0L or +0.0, compare only
88713         SIZEOF_LDBL or SIZEOF_DBL bytes.
88714         * modules/isnan-nolibm (Files): Add lib/float+.h.
88715         * modules/isnanl-nolibm (Files): Add lib/float+.h.
88716         * modules/isnanl (Files): Add lib/float+.h.
88717         * modules/vasnprintf (Files): Add lib/float+.h.
88719 2007-03-24  Bruno Haible  <bruno@clisp.org>
88721         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
88722         include isnanl-nolibm.h.
88724 2007-03-24  Bruno Haible  <bruno@clisp.org>
88726         * tests/test-read-file.c (main): Don't produce spurious output for
88727         expected situations. Make the test fail if it encountered unexpected
88728         results.
88730 2007-03-24  Bruno Haible  <bruno@clisp.org>
88732         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
88733         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
88735 2007-03-24  Bruno Haible  <bruno@clisp.org>
88737         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
88739 2007-03-24  Bruno Haible  <bruno@clisp.org>
88741         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
88742         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
88744         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
88745         * modules/utf8-ucs4: Turn into a symbolic link to module
88746         unistr/u8-mbtouc.
88748         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
88749         utf8-ucs4-unsafe.
88750         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
88751         unistr/u8-mbtouc-unsafe.
88753         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
88754         * modules/utf16-ucs4: Turn into a symbolic link to module
88755         unistr/u16-mbtouc.
88757         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
88758         utf16-ucs4-unsafe.
88759         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
88760         unistr/u16-mbtouc-unsafe.
88762         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
88763         * modules/ucs4-utf8: Turn into a symbolic link to module
88764         unistr/u8-ubtomb.
88766         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
88767         * modules/ucs4-utf16: Turn into a symbolic link to module
88768         unistr/u16-ubtomb.
88770 2007-03-24  Bruno Haible  <bruno@clisp.org>
88772         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
88773         Enable the function only if HAVE_INLINE.
88774         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
88775         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
88776         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
88777         Enable the function only if HAVE_INLINE.
88778         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
88779         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
88780         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
88781         Enable the function only if HAVE_INLINE.
88782         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
88783         Enable the function only if HAVE_INLINE.
88784         * modules/utf8-ucs4: Update.
88785         * modules/utf8-ucs4-unsafe: Update.
88786         * modules/utf16-ucs4: Update.
88787         * modules/utf16-ucs4-unsafe: Update.
88788         * modules/ucs4-utf8: Update.
88789         * modules/ucs4-utf16: Update.
88791 2007-03-24  Bruno Haible  <bruno@clisp.org>
88793         * lib/utf8-ucs4.h: Remove file.
88794         * lib/utf8-ucs4-unsafe.h: Remove file.
88795         * lib/utf16-ucs4.h: Remove file.
88796         * lib/utf16-ucs4-unsafe.h: Remove file.
88797         * lib/ucs4-utf8.h: Remove file.
88798         * lib/ucs4-utf16.h: Remove file.
88799         * lib/unistr.h: Include their previous contents.
88800         * m4/utf-ucs4.m4: Remove file.
88801         * m4/ucs4-utf.m4: Remove file.
88802         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
88803         (Depends-on): Add unistr/base.
88804         (configure.ac): Remove gl_UTF_UCS4.
88805         (Makefile.am): Update.
88806         (Include): Change to unistr.h.
88807         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
88808         (Depends-on): Add unistr/base.
88809         (configure.ac): Remove gl_UTF_UCS4.
88810         (Makefile.am): Update.
88811         (Include): Change to unistr.h.
88812         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
88813         (Depends-on): Add unistr/base.
88814         (configure.ac): Remove gl_UTF_UCS4.
88815         (Makefile.am): Update.
88816         (Include): Change to unistr.h.
88817         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
88818         (Depends-on): Add unistr/base.
88819         (configure.ac): Remove gl_UTF_UCS4.
88820         (Makefile.am): Update.
88821         (Include): Change to unistr.h.
88822         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
88823         (Depends-on): Add unistr/base.
88824         (configure.ac): Remove gl_UCS4_UTF.
88825         (Makefile.am): Update.
88826         (Include): Change to unistr.h.
88827         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
88828         (Depends-on): Add unistr/base.
88829         (configure.ac): Remove gl_UCS4_UTF.
88830         (Makefile.am): Update.
88831         (Include): Change to unistr.h.
88832         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
88833         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
88834         utf8-ucs4-unsafe.h.
88835         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
88836         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
88837         utf16-ucs4-unsafe.h.
88838         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
88839         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
88840         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
88841         * lib/unistr/u8-strchr.c: Likewise.
88842         * lib/unistr/u8-strrchr.c: Likewise.
88843         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
88844         * lib/unistr/u16-strchr.c: Likewise.
88845         * lib/unistr/u16-strrchr.c: Likewise.
88846         * lib/striconveh.c: Update.
88847         * lib/linebreak.c: Update.
88849 2007-03-24  Bruno Haible  <bruno@clisp.org>
88851         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
88852         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
88854 2007-03-22  Bruno Haible  <bruno@clisp.org>
88856         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
88858 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
88860         * MODULES.html.sh (File system functions): New module write-any-file.
88861         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
88862         * m4/write-any-file.m4: New files.
88864 2007-03-23  Eric Blake  <ebb9@byu.net>
88866         * gnulib-tool: Rearrange space-tab sequences, since some editors
88867         like to eat them.
88869 2007-03-23  Eric Blake  <ebb9@byu.net>
88871         * lib/version-etc.c (version_etc_va): Update license wording to
88872         be more concise.  Recommended by Richard Stallman.
88874 2007-03-22  Bruno Haible  <bruno@clisp.org>
88876         * lib/poll.c (MSG_PEEK): New fallback definition.
88878 2007-03-22  Bruno Haible  <bruno@clisp.org>
88880         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
88881         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
88882         (main): Update.
88883         Fixes a compilation error on BeOS.
88885 2007-03-22  Bruno Haible  <bruno@clisp.org>
88887         * modules/frexpl-tests: New file.
88888         * tests/test-frexpl.c: New file.
88890         * modules/frexpl: New file.
88891         * m4/frexpl.m4: New file.
88892         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
88893         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
88894         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
88895         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
88896         (Depends-on): Add frexpl. Remove isnanl-nolibm.
88897         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
88899 2007-03-22  Bruno Haible  <bruno@clisp.org>
88901         * lib/frexpl.c: Share code with lib/frexp.c.
88902         * modules/mathl (Files): Add lib/frexp.c.
88903         (Depends-on): Add isnanl-nolibm.
88905 2007-03-22  Bruno Haible  <bruno@clisp.org>
88907         * modules/printf-frexp (Files): Add m4/frexp.m4.
88908         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
88909         only if the found frexp function actually works.
88911 2007-03-22  Bruno Haible  <bruno@clisp.org>
88913         * lib/frexp.c: Remove older implementation that uses divisions.
88915 2007-03-21  Bruno Haible  <bruno@clisp.org>
88917         * modules/frexp-tests: New file.
88918         * tests/test-frexp.c: New file.
88920         * modules/frexp: New file.
88921         * lib/frexp.c: New file.
88922         * m4/frexp.m4: New file.
88923         * lib/math_.h (frexp): New declaration.
88924         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
88925         REPLACE_FREXP.
88926         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
88928 2007-03-21  Bruno Haible  <bruno@clisp.org>
88930         * modules/isnanl-tests: New file.
88931         * tests/test-isnanl.c: New file.
88933         * modules/isnanl: New file.
88934         * lib/isnanl.h: New file.
88935         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
88936         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
88937         gl_FUNC_ISNANL_WORKS.
88938         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
88939         New macros.
88941 2007-03-21  Bruno Haible  <bruno@clisp.org>
88943         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
88944         lib/isnanl.h.
88945         (Include): Update.
88946         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
88947         * lib/vasnprintf.c: Update.
88948         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
88949         tests/test-isnanl.h, remove tests/test-isnanl.c.
88950         (Makefile.am): Update.
88951         * tests/test-isnanl-nolibm.c: New file.
88952         * tests/test-isnanl.h: New file.
88953         * tests/test-isnanl.c: Remove file.
88955 2007-03-21  Jim Meyering  <jim@meyering.net>
88957         When trying to open ".", treat ESTALE like EACCES.
88958         * lib/savewd.c (savewd_save): Resort to forking not just upon
88959         failure with EACCES, but also when errno is ESTALE.
88961 2007-03-20  Bruno Haible  <bruno@clisp.org>
88963         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
88964         Needed on AIX 5.1. Reported by Matthew Woehlke.
88966 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
88968         Suggestions by Bruno Haible:
88969         * lib/acl-internal.h: Include "gettext.h" rather than rolling
88970         our own.
88971         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
88972         * modules/acl (Depends-on): Add gettext.
88974 2007-03-19  Bruno Haible  <bruno@clisp.org>
88976         * modules/iconvme: Remove file.
88977         * lib/iconvme.h: Remove file.
88978         * lib/iconvme.c: Remove file.
88979         * m4/iconvme.m4: Remove file.
88981 2007-03-19  Bruno Haible  <bruno@clisp.org>
88983         * doc/relocatable-maint.texi: Break long shell script line.
88984         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
88986 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
88988         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
88989         handle file_has_acl.
88990         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
88991         * lib/acl.c: Move header inclusions and related macro defns into
88992         lib/acl-internal.h.
88993         (S_ISLNK): Remove defn, since that's now done for us.
88994         (file_has_acl): Move to lib/file-has-acl.c.
88995         Call acl_trivial if available.  This is the crucial part of the fix.
88996         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
88997         shared within the library.  Rewrite a bit, partly to make it compatible
88998         with the GNU coding style.
88999         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
89000         Remove unnecessary double-quotes.
89001         Don't test for acl_to_text; the build will catch that.
89002         Replace acl_entries if it doesn't exist and it is needed.
89003         Check for -lsec and acl_trivial (as used on Solaris 10).
89004         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
89005         lib/file-has-acl.c.
89006         (Depends-on): Add sys_stat, for S_ISLNK.
89008 2007-03-19  Ben Pfaff  <blp@gnu.org>
89010         * doc/gnulib.texi: Fix typos.
89011         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
89013 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
89015         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
89016         If size is zero here, buf must be zero.
89018 2007-03-19  Simon Josefsson  <simon@josefsson.org>
89020         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
89021         <bruno@clisp.org>.
89023 2007-03-18  Bruno Haible  <bruno@clisp.org>
89025         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
89026         Suggested by Eric Blake.
89028 2007-03-18  Ben Pfaff  <blp@gnu.org>
89030         * doc/relocatable.texi: Recommend using as prefix a directory
89031         that does not exist and will never be created.  Based on
89032         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
89033         and others.
89035 2007-03-17  Bruno Haible  <bruno@clisp.org>
89037         * lib/fchownat.c: Include lchown.h.
89039 2007-03-17  Bruno Haible  <bruno@clisp.org>
89041         Fix endless loop when the given allocated size was > INT_MAX.
89042         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
89043         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
89044         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
89045         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
89046         * lib/sprintf.c (sprintf): Likewise.
89048 2007-03-17  Bruno Haible  <bruno@clisp.org>
89050         * tests/test-argp-2.sh (func_compare): Output a context diff.
89052 2007-03-17  Bruno Haible  <bruno@clisp.org>
89054         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
89055         locale's decimal-point character.
89057 2007-03-17  Bruno Haible  <bruno@clisp.org>
89059         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
89060         before comparing it. Needed because on some platforms (e.g. x86) a
89061         'long double' occupies less bytes than sizeof (long double).
89063 2007-03-17  Bruno Haible  <bruno@clisp.org>
89065         * tests/test-crc.c (main): Make printf statements 64-bit clean.
89066         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
89067         * tests/test-getaddrinfo.c (simple): Likewise.
89068         * tests/test-read-file.c (main): Likewise.
89070 2007-03-17  Bruno Haible  <bruno@clisp.org>
89072         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
89074 2007-03-17  Bruno Haible  <bruno@clisp.org>
89076         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
89077         unused variable.
89079 2007-03-17  Bruno Haible  <bruno@clisp.org>
89081         * tests/test-c-strcasecmp.c: Include c-strcase.h.
89082         * tests/test-c-strncasecmp.c: Likewise.
89084 2007-03-17  Bruno Haible  <bruno@clisp.org>
89086         * modules/stdlib (Depends-on): Add unistd.
89087         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
89088         Needed for MacOS X 10.3.
89090 2007-03-17  Bruno Haible  <bruno@clisp.org>
89092         * lib/unistr/u-strdup.h: Include <stdlib.h>.
89094 2007-03-17  Bruno Haible  <bruno@clisp.org>
89096         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
89098 2007-03-17  Bruno Haible  <bruno@clisp.org>
89100         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
89101         to reflect files copied from gnulib (with or without modifications).
89102         Suggested by Jim Meyering.
89104 2007-03-17  Eric Blake  <ebb9@byu.net>
89106         * NEWS: Document stdlib change from 2007-02-18.
89108 2007-03-17  Jim Meyering  <jim@meyering.net>
89110         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
89111         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
89112         someone uses a name containing shell meta-characters.
89113         Reported by Alfred M. Szmidt.
89115         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
89117 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
89119         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
89120         and copy gettext configuration files only if configure.ac contains
89121         a use of AM_GNU_GETTEXT_VERSION.
89123 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
89125         * build-aux/bootstrap (gnulib_name): New variable.
89126         (gnulib_tool_options): Use it.
89128 2007-03-13  Simon Josefsson  <simon@josefsson.org>
89130         * tests/test-des.c: Use new namespace.
89132 2007-03-15  Bruno Haible  <bruno@clisp.org>
89134         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
89135         Reported by James Youngman <jay@gnu.org>.
89137 2007-03-15  Bruno Haible  <bruno@clisp.org>
89139         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
89140         declared prototype. Needed with cc on OSF/1 5.1.
89142 2007-03-15  Bruno Haible  <bruno@clisp.org>
89144         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
89145         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
89146         (struct gl_list_implementation): Add dispose_fn argument to the
89147         'create_empty', 'create' methods.
89148         (struct gl_list_impl_base): Add field 'dispose_fn'.
89149         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
89150         argument.
89151         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
89152         dispose_fn argument.
89153         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
89154         dispose_fn on the dropped values.
89155         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
89156         dispose_fn argument.
89157         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
89158         dropped values.
89159         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
89160         (gl_tree_remove_node): Call dispose_fn on the dropped value.
89161         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
89162         (gl_tree_remove_node): Call dispose_fn on the dropped value.
89163         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
89164         argument.
89165         (gl_tree_list_free): Call dispose_fn on the dropped values.
89166         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
89167         the dropped values.
89168         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
89169         Add dispose_fn argument.
89170         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
89171         Call dispose_fn on the dropped values.
89172         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
89173         Add dispose_fn argument.
89174         (gl_sublist_create): Initialize the 'dispose_fn' field.
89175         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
89176         * tests/test-array_list.c (main): Update.
89177         * tests/test-carray_list.c (main): Update.
89178         * tests/test-avltree_list.c (main): Update.
89179         * tests/test-rbtree_list.c (main): Update.
89180         * tests/test-avltreehash_list.c (main): Update.
89181         * tests/test-rbtreehash_list.c (main): Update.
89182         * tests/test-linked_list.c (main): Update.
89183         * tests/test-linkedhash_list.c (main): Update.
89184         * tests/test-array_oset.c (main): Update.
89186 2007-03-15  Bruno Haible  <bruno@clisp.org>
89188         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
89189         (gl_oset_create_empty): Add dispose_fn argument.
89190         (struct gl_oset_implementation): Add dispose_fn argument to
89191         'create_empty' method.
89192         (struct gl_oset_impl_base): Add dispose_fn field.
89193         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
89194         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
89195         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
89196         values.
89197         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
89198         (gl_tree_oset_free): Call dispose_fn on the dropped values.
89199         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
89200         dropped value.
89201         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
89202         dropped value.
89203         * tests/test-array_oset.c (main): Update.
89204         * tests/test-avltree_oset.c (main): Update.
89205         * tests/test-rbtree_oset.c (main): Update.
89206         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
89208 2007-03-13  Bruno Haible  <bruno@clisp.org>
89210         * tests/test-stdbool.c (i): Update after last patch.
89212 2007-03-12  Bruno Haible  <bruno@clisp.org>
89214         * lib/quotearg.c: Include <wctype.h> early, before the definition of
89215         the iswprint macro. Needed on Solaris 2.5.1.
89217 2007-03-12  Bruno Haible  <bruno@clisp.org>
89219         * tests/test-printf-frexp.c (main): Declare x as volatile.
89221 2007-03-12  Simon Josefsson  <simon@josefsson.org>
89223         * doc/gnulib.texi (Build robot for gnulib): New section.
89225 2007-03-12  Jim Meyering  <jim@meyering.net>
89227         * build-aux/bootstrap: New file.
89228         * build-aux/bootstrap.conf: New file, from coreutils.
89230 2007-03-11  Bruno Haible  <bruno@clisp.org>
89232         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
89234 2007-03-12  Simon Josefsson  <simon@josefsson.org>
89236         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
89237         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
89238         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
89240 2007-03-11  Bruno Haible  <bruno@clisp.org>
89242         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
89243         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
89245 2007-03-11  Bruno Haible  <bruno@clisp.org>
89247         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
89248         formula. Needed for SunPRO C 5.0.
89250 2007-03-11  Bruno Haible  <bruno@clisp.org>
89252         * modules/long-options (Depends-on): Add getopt.
89254 2007-03-11  Bruno Haible  <bruno@clisp.org>
89256         * modules/modechange (Depends-on): Add stdbool.
89258 2007-03-11  Bruno Haible  <bruno@clisp.org>
89260         * modules/i-ring (Depends-on): Add stdbool.
89262 2007-03-11  Bruno Haible  <bruno@clisp.org>
89264         * modules/gc-des (Depends-on): Add stdbool.
89266 2007-03-11  Bruno Haible  <bruno@clisp.org>
89268         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
89270 2007-03-11  Bruno Haible  <bruno@clisp.org>
89272         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
89274 2007-03-11  Bruno Haible  <bruno@clisp.org>
89276         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
89278 2007-03-11  Bruno Haible  <bruno@clisp.org>
89280         * lib/vasnprintf.c (sprintf): Undefine.
89282 2007-03-11  Bruno Haible  <bruno@clisp.org>
89284         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
89285         initializers in SunPRO C and Compaq C compilers.
89287 2007-03-11  Bruno Haible  <bruno@clisp.org>
89289         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
89290         decrementing code ANSI C compliant.
89292 2007-03-11  Bruno Haible  <bruno@clisp.org>
89294         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
89295         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
89297 2007-03-11  Bruno Haible  <bruno@clisp.org>
89299         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
89300         <stdbool.h> substitute doesn't pass.
89302 2007-03-11  Bruno Haible  <bruno@clisp.org>
89304         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
89306 2007-03-11  Bruno Haible  <bruno@clisp.org>
89308         * gnulib-tool (func_create_megatestdir): Create also an autobuild
89309         script, for submission to autobuild.josefsson.org.
89311 2007-03-10  Bruno Haible  <bruno@clisp.org>
89313         * modules/canonicalize-lgpl-tests: New file.
89314         * tests/test-canonicalize-lgpl.sh: New file.
89315         * tests/test-canonicalize-lgpl.c: New file.
89317         * modules/c-strcase-tests: New file.
89318         * tests/test-c-strcase.sh: New file.
89319         * tests/test-c-strcasecmp.c: New file.
89320         * tests/test-c-strncasecmp.c: New file.
89322         * modules/atexit-tests: New file.
89323         * tests/test-atexit.sh: New file.
89324         * tests/test-atexit.c: New file.
89326 2007-03-10  Bruno Haible  <bruno@clisp.org>
89328         * tests/test-binary-io.sh: Use temporary filenames that are not so
89329         likely to clash with those of other tests (in a parallel make).
89330         * tests/test-binary-io.c: Likewise.
89332 2007-03-10  Bruno Haible  <bruno@clisp.org>
89334         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
89335         fallback; use #error instead.
89336         Suggested by Simon Josefsson.
89338 2007-03-10  Bruno Haible  <bruno@clisp.org>
89340         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
89341         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
89342         first and the last.
89344 2007-03-10  Bruno Haible  <bruno@clisp.org>
89346         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
89348 2007-03-10  Bruno Haible  <bruno@clisp.org>
89350         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
89351         "make distcheck".
89352         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
89353         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
89354         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
89356 2007-03-10  Bruno Haible  <bruno@clisp.org>
89358         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
89359         variable.
89360         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
89361         variable.
89363 2007-03-09  Eric Blake  <ebb9@byu.net>
89364         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
89366         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
89367         types are not being provided by gnulib.
89368         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
89369         types are supported.
89371 2007-03-10  Bruno Haible  <bruno@clisp.org>
89373         * lib/stdio_.h (__attribute__): New macro.
89374         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
89375         vsprintf): Specify __attribute__ __format__ for GCC.
89376         Suggested by Eric Blake.
89378 2007-03-09  Bruno Haible  <bruno@clisp.org>
89380         * modules/printf-posix-tests: New file.
89381         * tests/test-printf-posix.sh: New file.
89382         * tests/test-printf-posix.c: New file.
89384         * modules/printf-posix: New file.
89385         * lib/printf.c: New file.
89386         * m4/printf-posix-rpl.m4: New file.
89387         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
89388         REPLACE_PRINTF.
89389         * lib/stdio_.h (printf): New declaration.
89390         (format, __format__, ____printf____, ____scanf____, ____strftime____,
89391         ____strfmon____): New macros.
89392         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
89393         REPLACE_PRINTF.
89395 2007-03-09  Bruno Haible  <bruno@clisp.org>
89397         * tests/test-vasnprintf-posix2.sh: New file.
89398         * tests/test-vasnprintf-posix2.c: New file.
89399         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
89400         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
89401         (Makefile.am): Activate test-vasnprintf-posix2.sh.
89403         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
89404         a locale dependent decimal point, rather than always '.'.
89406 2007-03-09  Eric Blake  <ebb9@byu.net>
89408         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
89409         spite of platforms like Tandem/NSK that define it to -1.
89411 2007-03-08  Bruno Haible  <bruno@clisp.org>
89413         * modules/vprintf-posix-tests: New file.
89414         * tests/test-vprintf-posix.sh: New file.
89415         * tests/test-vprintf-posix.c: New file.
89416         * tests/test-printf-posix.h: New file.
89418         * modules/vprintf-posix: New file.
89419         * lib/vprintf.c: New file.
89420         * m4/vprintf-posix.m4: New file.
89421         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
89422         REPLACE_VPRINTF.
89423         * lib/stdio_.h (vprintf): New declaration.
89424         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
89425         REPLACE_VPRINTF.
89427 2007-03-08  Bruno Haible  <bruno@clisp.org>
89429         * modules/fprintf-posix-tests: New file.
89430         * tests/test-fprintf-posix.sh: New file.
89431         * tests/test-fprintf-posix.c: New file.
89433         * modules/fprintf-posix: New file.
89434         * lib/fprintf.c: New file.
89435         * m4/fprintf-posix.m4: New file.
89436         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
89437         REPLACE_FPRINTF.
89438         * lib/stdio_.h (fprintf): New declaration.
89439         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
89440         REPLACE_FPRINTF.
89442 2007-03-08  Bruno Haible  <bruno@clisp.org>
89444         * modules/vfprintf-posix-tests: New file.
89445         * tests/test-vfprintf-posix.sh: New file.
89446         * tests/test-vfprintf-posix.c: New file.
89447         * tests/test-fprintf-posix.h: New file.
89448         * tests/test-fprintf-posix.out: New file.
89450         * modules/vfprintf-posix: New file.
89451         * lib/vfprintf.c: New file.
89452         * m4/vfprintf-posix.m4: New file.
89453         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
89454         REPLACE_VFPRINTF.
89455         * lib/stdio_.h (vfprintf): New declaration.
89456         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
89457         REPLACE_VFPRINTF.
89459 2007-03-08  Bruno Haible  <bruno@clisp.org>
89461         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
89463 2007-03-08  Bruno Haible  <bruno@clisp.org>
89465         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
89466         instead of 'expr' invocations.
89467         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
89468         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
89469         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
89470         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
89471         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
89472         Suggested by Paul Eggert.
89474 2007-03-08  Bruno Haible  <bruno@clisp.org>
89476         * modules/fseterr-tests: New file.
89477         * tests/test-fseterr.c: New file.
89479         * modules/fseterr: New file.
89480         * lib/fseterr.h: New file.
89481         * lib/fseterr.c: New file.
89483 2007-03-08  Bruno Haible  <bruno@clisp.org>
89485         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
89486         * lib/getopt_.h: Likewise.
89487         * lib/mbswidth.h: Likewise.
89488         * lib/setenv.h: Likewise.
89489         * lib/vasnprintf.h: Likewise.
89490         * lib/vasprintf.h: Likewise.
89491         * lib/verror.h: Likewise.
89492         * lib/xsetenv.h: Likewise.
89493         * lib/xvasprintf.h: Likewise.
89495 2007-03-08  Jim Meyering  <jim@meyering.net>
89497         * users.txt: Add parted.
89499         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
89501 2007-03-07  Bruno Haible  <bruno@clisp.org>
89503         * m4/printf.m4: Make the shell script snippets copy&pastable.
89505 2007-03-02  Bruno Haible  <bruno@clisp.org>
89507         * lib/netinet_in_.h: New file.
89508         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
89509         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
89510         * modules/netinet_in (Files): Add lib/netinet_in_.h.
89511         (Depends-on): Add absolute-header.
89512         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
89513         into netinet/in.h.
89515 2007-03-03  Bruno Haible  <bruno@clisp.org>
89517         * lib/sys_select_.h: New file.
89518         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
89519         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
89520         * modules/sys_select (Files): Add lib/sys_select_.h.
89521         (Depends-on): Add absolute-header.
89522         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
89523         into sys/select.h.
89525 2007-03-02  Bruno Haible  <bruno@clisp.org>
89527         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
89528         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
89529         values.
89530         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
89531         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
89532         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
89533         * modules/sys_socket (Depends-on): Add absolute-header.
89534         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
89535         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
89536         (Include): Remove requirement of inclusion of <sys/types.h>.
89538 2007-03-02  Bruno Haible  <bruno@clisp.org>
89540         * lib/byteswap_.h (bswap_32): Fix formula.
89542 2007-03-06  Bruno Haible  <bruno@clisp.org>
89544         * modules/sprintf-posix-tests: New file.
89545         * tests/test-sprintf-posix.c: New file.
89547         * modules/sprintf-posix: New file.
89548         * lib/sprintf.c: New file.
89549         * m4/sprintf-posix.m4: New file.
89550         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
89551         REPLACE_SPRINTF.
89552         * lib/stdio_.h (sprintf): New declaration.
89553         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
89554         REPLACE_SPRINTF.
89556 2007-03-06  Bruno Haible  <bruno@clisp.org>
89558         * modules/vsprintf-posix-tests: New file.
89559         * tests/test-vsprintf-posix.c: New file.
89560         * tests/test-sprintf-posix.h: New file.
89562         * modules/vsprintf-posix: New file.
89563         * lib/vsprintf.c: New file.
89564         * m4/vsprintf-posix.m4: New file.
89565         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
89566         REPLACE_VSPRINTF.
89567         * lib/stdio_.h (vsprintf): New declaration.
89568         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
89569         REPLACE_VSPRINTF.
89571 2007-03-06  Bruno Haible  <bruno@clisp.org>
89573         * modules/vsnprintf (Depend-on): Remove minmax.
89575 2007-03-06  Bruno Haible  <bruno@clisp.org>
89577         * modules/snprintf-posix-tests: New file.
89578         * tests/test-snprintf-posix.c: New file.
89580         * modules/snprintf-posix: New file.
89581         * m4/snprintf-posix.m4: New file.
89582         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
89583         gl_FUNC_SNPRINTF.
89584         (gl_FUNC_SNPRINTF): Invoke it.
89585         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
89586         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
89587         is set.
89588         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
89590 2007-03-06  Bruno Haible  <bruno@clisp.org>
89592         * modules/vsnprintf-posix-tests: New file.
89593         * tests/test-vsnprintf-posix.c: New file.
89594         * tests/test-snprintf-posix.h: New file.
89596         * modules/vsnprintf-posix: New file.
89597         * m4/vsnprintf-posix.m4: New file.
89598         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
89599         gl_FUNC_VSNPRINTF.
89600         (gl_FUNC_VSNPRINTF): Invoke it.
89601         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
89602         * lib/stdio_.h (vsnprintf): Define as a replacement if
89603         REPLACE_VSNPRINTF is set.
89604         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
89606 2007-03-06  Bruno Haible  <bruno@clisp.org>
89608         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
89609         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
89611 2007-03-06  Bruno Haible  <bruno@clisp.org>
89613         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
89614         (asinl): Declare also if HAVE_DECL_ASINL is set.
89615         (atanl): Declare also if HAVE_DECL_ATANL is set.
89616         (ceill): Declare also if HAVE_DECL_CEILL is set.
89617         (cosl): Declare also if HAVE_DECL_COSL is set.
89618         (expl): Declare also if HAVE_DECL_EXPL is set.
89619         (floorl): Declare also if HAVE_DECL_FLOORL is set.
89620         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
89621         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
89622         (logl): Declare also if HAVE_DECL_LOGL is set.
89623         (sinl): Declare also if HAVE_DECL_SINL is set.
89624         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
89625         (tanl): Declare also if HAVE_DECL_TANL is set.
89626         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
89627         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
89628         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
89629         declaration of frexpl, ldexpl.
89630         * modules/printf-frexpl (Depends-on): Add math.
89631         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
89633 2007-03-05  Bruno Haible  <bruno@clisp.org>
89635         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
89636         frexpl and ldexpl are declared.
89637         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
89639 2007-03-05  Bruno Haible  <bruno@clisp.org>
89641         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
89642         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
89644 2007-03-05  Bruno Haible  <bruno@clisp.org>
89646         * lib/stdio_.h: Include <stddef.h>.
89648 2007-03-05  Bruno Haible  <bruno@clisp.org>
89650         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
89652 2007-03-05  Bruno Haible  <bruno@clisp.org>
89654         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
89655         NetBSD 4, from Ralf Wildenhues.
89657 2007-03-04  Bruno Haible  <bruno@clisp.org>
89659         * lib/vasprintf.h: Update #if logic for the case when the functions
89660         exist but are overridden.
89662 2007-03-04  Bruno Haible  <bruno@clisp.org>
89664         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
89665         implementations: glibc-2.4 and MacOS X 10.3.
89666         * tests/test-vasnprintf-posix.c (test_function): Test also the case
89667         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
89668         * tests/test-vasprintf-posix.c (test_function): Likewise.
89670 2007-03-04  Bruno Haible  <bruno@clisp.org>
89672         * modules/vasprintf-posix-tests: New file.
89673         * tests/test-vasprintf-posix.c: New file.
89675         * modules/vasprintf-posix: New file.
89676         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
89677         defined.
89678         * m4/vasprintf-posix.m4: New file.
89679         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
89680         gl_FUNC_VASPRINTF.
89681         (gl_FUNC_VASPRINTF): Invoke it.
89682         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
89683         here.
89684         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
89686 2007-03-04  Bruno Haible  <bruno@clisp.org>
89688         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
89689         REPLACE_GETTIMEOFDAY.
89690         * modules/sys_time (Makefile.am): Likewise.
89691         * m4/sys_time_h.m4: Likewise.
89692         * m4/gettimeofday.m4: Likewise.
89694 2007-03-04  Bruno Haible  <bruno@clisp.org>
89696         * modules/vasnprintf-posix-tests: New file.
89697         * tests/test-vasnprintf-posix.c: New file.
89699         * modules/vasnprintf-posix: New file.
89700         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
89701         printf-frexpl.h.
89702         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
89703         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
89704         REPLACE_VASNPRINTF is defined.
89705         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
89706         gl_FUNC_VASNPRINTF.
89707         (gl_FUNC_VASNPRINTF): Invoke it.
89708         * m4/vasnprintf-posix.m4: New file.
89709         * m4/printf.m4: New file.
89711 2007-03-04  Bruno Haible  <bruno@clisp.org>
89713         Compile progreloc.c only if --enable-relocatable is specified.
89714         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
89715         if --enable-relocatable was specified.
89716         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
89717         lib_SOURCES.
89719 2007-03-04  Jim Meyering  <jim@meyering.net>
89721         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
89722         Use it consistently, rather than enumerating errno constants.
89724 2007-03-04  Bruno Haible  <bruno@clisp.org>
89726         * modules/xvasprintf-tests: New file.
89727         * tests/test-xvasprintf.c: New file.
89729         * modules/vasprintf-tests: New file.
89730         * tests/test-vasprintf.c: New file.
89732         * modules/vasnprintf-tests: New file.
89733         * tests/test-vasnprintf.c: New file.
89735         * modules/vsnprintf-tests: New file.
89736         * tests/test-vsnprintf.c: New file.
89738         * modules/snprintf-tests: New file.
89739         * tests/test-snprintf.c: New file.
89741 2007-03-04  Bruno Haible  <bruno@clisp.org>
89743         Compile relocatable.c only if --enable-relocatable is specified.
89744         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
89745         gl_RELOCATABLE_LIBRARY.
89746         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
89747         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
89748         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
89749         gl_RELOCATABLE_LIBRARY.
89750         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
89751         (Makefile.am): Remove lib_SOURCES.
89752         * modules/relocatable-lib-lgpl (configure.ac): Invoke
89753         gl_RELOCATABLE_LIBRARY.
89754         (Makefile.am): Remove lib_SOURCES.
89755         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
89756         always.
89757         * modules/relocatable-prog-wrapper (configure.ac): Invoke
89758         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
89760 2007-03-04  Bruno Haible  <bruno@clisp.org>
89762         * modules/argmatch-tests: New file.
89763         * tests/test-argmatch.c: New file.
89765         * tests/test-allocsa.c (main): Halve the number of loop runs.
89767         * modules/alloca-opt-tests: New file.
89768         * tests/test-alloca-opt.c: New file.
89770 2007-03-04  Jim Meyering  <jim@meyering.net>
89772         Work around difference between Linux ACLs and Solaris 10 ZFS.
89773         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
89774         for EINVAL.
89776 2007-03-03  Bruno Haible  <bruno@clisp.org>
89778         * modules/relocatable-prog (Depends-on): Add back progreloc's
89779         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
89781 2007-03-03  Bruno Haible  <bruno@clisp.org>
89783         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
89784         * modules/relocatable-lib: New file.
89786 2007-03-03  Bruno Haible  <bruno@clisp.org>
89788         * modules/relocatable-prog: Renamed from modules/relocatable.
89789         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
89791 2007-03-03  Bruno Haible  <bruno@clisp.org>
89793         * modules/relocatable-script (Files): Add doc/relocatable.texi,
89794         m4/relocatable-lib.m4.
89795         (Depends-on): Remove 'relocatable'.
89796         (configure.ac): Add gl_RELOCATABLE_NOP.
89798 2007-03-03  Bruno Haible  <bruno@clisp.org>
89800         * modules/relocatable-prog-wrapper: New file.
89801         * modules/relocatable (Depends-on): Add it. Remove all other
89802         dependencies except progname.
89803         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
89805         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
89806         (gl_FUNC_STRERROR): Nop.
89807         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
89809         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
89810         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
89812         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
89813         (gl_FUNC_READLINK): Update.
89815         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
89817 2007-03-03  Bruno Haible  <bruno@clisp.org>
89819         * lib/xreadlink.c: Include <unistd.h> unconditionally.
89820         * modules/xreadlink (Depends-on): Add unistd.
89821         * modules/xreadlink-with-size (Depends-on): Likewise.
89823 2007-03-03  Bruno Haible  <bruno@clisp.org>
89825         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
89826         extracted from gt_FUNC_SETENV.
89827         (gt_FUNC_SETENV): Remove macro.
89828         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
89829         remove gt_FUNC_SETENV.
89831 2007-03-03  Bruno Haible  <bruno@clisp.org>
89833         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
89834         ENABLE_RELOCATABLE here.
89835         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
89837 2007-03-03  Bruno Haible  <bruno@clisp.org>
89839         * modules/rbtreehash-list-tests (Depends-on): Add progname.
89840         * tests/test-rbtreehash_list.c: Include progname.h.
89841         (main): Call set_program_name.
89843         * modules/rbtree-oset-tests (Depends-on): Add progname.
89844         * tests/test-rbtree_oset.c: Include progname.h.
89845         (main): Call set_program_name.
89847         * modules/rbtree-list-tests (Depends-on): Add progname.
89848         * tests/test-rbtree_list.c: Include progname.h.
89849         (main): Call set_program_name.
89851         * modules/linked-list-tests (Depends-on): Add progname.
89852         * tests/test-linked_list.c: Include progname.h.
89853         (main): Call set_program_name.
89855 2007-03-03  Bruno Haible  <bruno@clisp.org>
89857         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
89858         All uses of __restrict changed to _Restrict_.
89859         * lib/glob_.h (__restrict): Remove macro.
89861 2007-03-02  Bruno Haible  <bruno@clisp.org>
89863         * modules/gettext (configure.ac): Require gettext infrastructure
89864         from version 0.16.1.
89866 2007-03-02  Bruno Haible  <bruno@clisp.org>
89868         * modules/linkedhash-list-tests (Depends-on): Add progname.
89869         * tests/test-linkedhash_list.c: Include progname.h.
89870         (main): Call set_program_name.
89872         * modules/carray-list-tests (Depends-on): Add progname.
89873         * tests/test-carray_list.c: Include progname.h.
89874         (main): Call set_program_name.
89876         * modules/avltreehash-list-tests (Depends-on): Add progname.
89877         * tests/test-avltreehash_list.c: Include progname.h.
89878         (main): Call set_program_name.
89880         * modules/avltree-oset-tests (Depends-on): Add progname.
89881         * tests/test-avltree_oset.c: Include progname.h.
89882         (main): Call set_program_name.
89884         * modules/avltree-list-tests (Depends-on): Add progname.
89885         * tests/test-avltree_list.c: Include progname.h.
89886         (main): Call set_program_name.
89888         * modules/array-oset-tests (Depends-on): Add progname.
89889         * tests/test-array_oset.c: Include progname.h.
89890         (main): Call set_program_name.
89892         * modules/array-list-tests (Depends-on): Add progname.
89893         * tests/test-array_list.c: Include progname.h.
89894         (main): Call set_program_name.
89896         * modules/argp-tests (Depends-on): Add progname.
89897         * tests/test-argp.c: Include argp.h first. Include progname.h.
89898         (main): Call set_program_name.
89900 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
89902         * doc/gnulib-tool.texi (Initial import): Reword description of
89903         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
89904         limited effect even if defined after the first system include.
89906 2007-03-01  Bruno Haible  <bruno@clisp.org>
89908         * build-aux/config.libpath: Update to libtool-1.5.22.
89909         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
89911 2007-03-01  Bruno Haible  <bruno@clisp.org>
89913         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
89914         foo_CFLAGS.
89915         Reported by Ralf Wildenhues.
89917 2007-03-01  Bruno Haible  <bruno@clisp.org>
89919         * build-aux/install-reloc: Remove object files left over by some
89920         compilers.
89921         Reported by Ralf Wildenhues.
89923 2007-03-01  Bruno Haible  <bruno@clisp.org>
89925         * build-aux/install-reloc: Break long lines.
89927 2007-03-01  Bruno Haible  <bruno@clisp.org>
89929         * doc/relocatable.texi: Document that it may not work on OpenBSD.
89930         Reported by Ralf Wildenhues.
89932 2007-03-01  Bruno Haible  <bruno@clisp.org>
89934         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
89935         include ordering constraints.
89937 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
89939         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
89940         <http://lists.gnu.org/r/bug-gnulib/2007-02/msg00136.html>.
89941         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
89942         as another example.
89943         * lib/time_.h: Fix misspelling.
89944         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
89945         Require gl_HEADER_TIME_H_DEFAULTS.
89946         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
89947         * m4/time_r.m4 (gl_TIME_R): Likewise.
89948         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
89950 2007-03-01  Bruno Haible  <bruno@clisp.org>
89952         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
89953         * m4/utimens.m4 (gl_UTIMENS): Likewise.
89955 2007-03-01  Jim Meyering  <jim@meyering.net>
89957         * modules/xreadlink (Maintainer): Add my name.
89958         * modules/xreadlink-with-size (Depends-on): Alphabetize.
89960 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
89961             Bruno Haible  <bruno@clisp.org>
89963         * build-aux/install-reloc: Compile also c-ctype.c.
89964         * build-aux/relocatable.sh.in: New file.
89965         * doc/relocatable.texi: New file.
89966         * doc/relocatable-maint.texi: New file.
89967         * doc/gnulib.texi: Include relocatable-maint.texi.
89968         * lib/progreloc.c: Include unistd.h unconditionally.
89969         * lib/relocwrapper.c: Include unistd.h unconditionally.
89970         Include c-ctype.h.
89971         (add_dotbin): Use c_tolower.
89972         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
89973         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
89974         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
89975         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
89976         to m4/relocatable-lib.m4.
89977         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
89978         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
89979         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
89980         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
89981         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
89982         * modules/relocatable: New file.
89983         * modules/relocatable-lib: New file.
89984         * modules/relocatable-script: New file.
89986 2007-02-28  Bruno Haible  <bruno@clisp.org>
89988         Import --enable-relocatable infrastructure.
89989         * build-aux/config.libpath: New file, from GNU gettext.
89990         * build-aux/install-reloc: New file, from GNU gettext.
89991         * build-aux/reloc-ldflags: New file, from GNU gettext.
89992         * lib/relocatable.h: New file, from GNU gettext.
89993         * lib/relocatable.c: New file, from GNU gettext.
89994         * lib/relocwrapper.c: New file, from GNU gettext.
89995         * m4/relocatable.m4: New file, from GNU gettext.
89997 2007-02-28  Bruno Haible  <bruno@clisp.org>
89999         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
90001         * modules/xreadlink: New file, from GNU gettext with modifications.
90002         * lib/xreadlink.c: New file, from GNU gettext.
90003         * lib/xreadlink.h: Add comments.
90004         (xreadlink): New declaration.
90006         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
90007         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
90008         lib/xreadlink-with-size.c.
90009         (configure.ac): Remove gl_XREADLINK invocation.
90010         (Makefile.am): Augment lib_SOURCES.
90011         * m4/xreadlink.m4: Remove file.
90012         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
90013         (xreadlink_with_size): Renamed from xreadink.
90014         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
90015         * modules/canonicalize (Depends-on): Replace xreadlink with
90016         xreadlink-with-size.
90017         * lib/canonicalize.c (canonicalize_filename_mode): Update.
90019 2007-02-25  Jim Meyering  <jim@meyering.net>
90021         * build-aux/announce-gen: When complaining about excess arguments,
90022         list them.
90024 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
90026         * README: Document signed integer overflow situation more
90027         accurately.
90029 2007-02-25  Bruno Haible  <bruno@clisp.org>
90031         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
90032         'a' or 'A' conversion.
90034 2007-02-25  Bruno Haible  <bruno@clisp.org>
90036         * modules/filename: Renamed from modules/pathname.
90037         (Files): Replace lib/pathname.h with lib/filename.h. Replace
90038         lib/concatpath.c with lib/concat-filename.c.
90039         (Makefile.am): Update.
90040         (Include): Replace pathname.h with filename.h.
90041         * lib/filename.h: Renamed from lib/pathname.h.
90042         (concatenated_filename): Renamed from concatenated_pathname.
90043         * lib/concat-filename.c: Renamed from lib/concatpath.c.
90044         (concatenated_filename): Renamed from concatenated_pathname.
90045         * lib/findprog.c: Include filename.h instead of pathname.h.
90046         (find_in_path): Update.
90047         * lib/javacomp.c: Include filename.h instead of pathname.h.
90048         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
90049         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
90050         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
90051         is_oldgcj_14_13_usable, is_javac_usable): Update.
90052         * lib/javaexec.c: Include filename.h instead of pathname.h.
90053         (execute_java_class): Update.
90054         * modules/findprog: Update.
90055         * modules/javacomp: Update.
90056         * modules/javaexec: Update.
90057         * MODULES.html.sh (File system functions): Add 'filename', remove
90058         'pathname'.
90060 2007-02-25  Bruno Haible  <bruno@clisp.org>
90062         * modules/printf-frexpl-tests: New file.
90063         * tests/test-printf-frexpl.c: New file.
90065         * modules/printf-frexpl: New file.
90066         * lib/printf-frexpl.h: New file.
90067         * lib/printf-frexpl.c: New file.
90068         * m4/printf-frexpl.m4: New file.
90070 2007-02-25  Bruno Haible  <bruno@clisp.org>
90072         * modules/printf-frexp-tests: New file.
90073         * tests/test-printf-frexp.c: New file.
90075         * modules/printf-frexp: New file.
90076         * lib/printf-frexp.h: New file.
90077         * lib/printf-frexp.c: New file.
90078         * m4/printf-frexp.m4: New file.
90080 2007-02-25  Bruno Haible  <bruno@clisp.org>
90082         Assume automake >= 1.10 for the tests.
90083         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
90084         * modules/arctwo-tests: Likewise.
90085         * modules/argp-tests: Likewise.
90086         * modules/avltree-list-tests: Likewise.
90087         * modules/avltree-oset-tests: Likewise.
90088         * modules/avltreehash-list-tests: Likewise.
90089         * modules/carray-list-tests: Likewise.
90090         * modules/crc-tests: Likewise.
90091         * modules/des-tests: Likewise.
90092         * modules/gc-arcfour-tests: Likewise.
90093         * modules/gc-arctwo-tests: Likewise.
90094         * modules/gc-des-tests: Likewise.
90095         * modules/gc-hmac-md5-tests: Likewise.
90096         * modules/gc-hmac-sha1-tests: Likewise.
90097         * modules/gc-md2-tests: Likewise.
90098         * modules/gc-md4-tests: Likewise.
90099         * modules/gc-md5-tests: Likewise.
90100         * modules/gc-pbkdf2-sha1-tests: Likewise.
90101         * modules/gc-rijndael-tests: Likewise.
90102         * modules/gc-sha1-tests: Likewise.
90103         * modules/gc-tests: Likewise.
90104         * modules/getaddrinfo-tests: Likewise.
90105         * modules/hmac-md5-tests: Likewise.
90106         * modules/hmac-sha1-tests: Likewise.
90107         * modules/linked-list-tests: Likewise.
90108         * modules/linkedhash-list-tests: Likewise.
90109         * modules/lock-tests: Likewise.
90110         * modules/md2-tests: Likewise.
90111         * modules/md4-tests: Likewise.
90112         * modules/md5-tests: Likewise.
90113         * modules/rbtree-list-tests: Likewise.
90114         * modules/rbtree-oset-tests: Likewise.
90115         * modules/rbtreehash-list-tests: Likewise.
90116         * modules/read-file-tests: Likewise.
90117         * modules/rijndael-tests: Likewise.
90118         * modules/stdint-tests: Likewise.
90119         * modules/tls-tests: Likewise.
90121 2007-02-24  Bruno Haible  <bruno@clisp.org>
90123         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
90124         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
90125         function; instead check whether isnan with a double argument links.
90126         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
90127         function; instead check whether isnan with a 'long double' argument
90128         links.
90129         Reported by Eric Blake <ebb9@byu.net>.
90131 2007-02-24  Bruno Haible  <bruno@clisp.org>
90133         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
90134         defined.
90135         * lib/isnanl.c: Remove all code. Just include isnan.c.
90136         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
90138 2007-02-25  Jim Meyering  <jim@meyering.net>
90140         Avoid conflicting types for 'unsetenv' on FreeBSD.
90141         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
90142         conflicting with FreeBSD's (5.0 and 6.1) function declaration
90143         in stdlib.h.
90145 2007-02-24  Bruno Haible  <bruno@clisp.org>
90147         * modules/isnanl-nolibm-tests: New file.
90148         * tests/test-isnanl.c: New file.
90150         * modules/isnanl-nolibm: New file.
90151         * lib/isnanl.h: New file.
90152         * lib/isnanl.c: New file.
90153         * m4/isnanl.m4: New file.
90155 2007-02-24  Bruno Haible  <bruno@clisp.org>
90157         * modules/isnan-nolibm-tests: New file.
90158         * tests/test-isnan.c: New file.
90160         * modules/isnan-nolibm: New file.
90161         * lib/isnan.h: New file.
90162         * lib/isnan.c: New file.
90163         * m4/isnan.m4: New file.
90165 2007-02-24  Bruno Haible  <bruno@clisp.org>
90167         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
90168         assume that an exponent fits in 20 bits.
90170 2007-02-24  Jim Meyering  <jim@meyering.net>
90172         * m4/regex.m4: Update the description of the configure-time option,
90173         --without-included-regex, to state accurately what the defaults are,
90174         and perhaps to give people an idea why using this option is risky.
90176 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
90178         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
90179         loops on small arguments.  This attempts to avoid the problem
90180         Bruno Haible reported for AIX 4.3.2 in
90181         <http://lists.gnu.org/r/bug-gnulib/2007-02/msg00309.html>.
90183 2007-02-23  Bruno Haible  <bruno@clisp.org>
90185         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
90186         Needed for help2man.
90188 2007-02-23  Karl Berry  <karl@gnu.org>
90190         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
90191         exists, foo.h should be cvs-ignored, not committed.
90193 2007-02-23  Eric Blake  <ebb9@byu.net>
90195         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
90196         * lib/stat-time.h (includes): Likewise.
90197         * lib/utimecmp.c (includes): Likewise.
90198         * lib/utimens.h (includes): Likewise.
90199         * lib/getdate.y (includes): Also include "timespec.h" for use
90200         internal to the module.
90201         * modules/utimens (Depends-on): Revert yesterday's patch.
90202         * modules/nanosleep (Depends-on): Add missing dependency.
90204 2007-02-22  Bruno Haible  <bruno@clisp.org>
90206         * lib/glob.c: Don't include getlogin_r.h.
90208 2007-02-22  Jim Meyering  <jim@meyering.net>
90210         * modules/utimens (Depends-on): Add timespec, required for
90211         utimens.h's inclusion of timespec.h.
90213 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
90215         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
90216         long unreadable paths in GNU/Linux.  Problem reported by Andreas
90217         Schwab in
90218         <http://lists.gnu.org/r/bug-gnulib/2007-02/msg00261.html>.
90219         I'll try to think of a better way to fix the Solaris problem.
90221         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
90222         like glibc; on Solaris 10, it fails with errno == EINVAL.
90223         POSIX says the behavior is unspecified if the first argument is NULL,
90224         so play it safe and never pass NULL to the system getcwd.
90226 2007-02-21  Jim Meyering  <jim@meyering.net>
90228         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
90229         of gettimeofday.  It would conflict with the one now always
90230         provided via sys_time_.h.  Reported by Matthew Woehlke, as
90231         an IRIX 6.5 build failure.
90233 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
90235         Minor fixups to port to Solaris 10 with Sun C 5.8.
90236         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
90237         * modules/getcwd (Depends-on): Add dirfd.
90238         * lib/putenv.c (putenv): #undef it.
90239         (rpl_putenv): New decl.
90240         (malloc, free): Include <stdlib.h> rather than prototyping separately.
90242 2007-02-20  Bruno Haible  <bruno@clisp.org>
90244         * modules/stdio-tests: New file.
90245         * tests/test-stdio.c: New file.
90247         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
90248         (Depends-on): Add stdio.
90249         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
90250         (Include): Use <stdio.h> instead of vsnprintf.h.
90251         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
90252         HAVE_DECL_VSNPRINTF.
90253         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
90255         * modules/snprintf (Files): Remove lib/snprintf.h.
90256         (Depends-on): Add stdio.
90257         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
90258         (Include): Use <stdio.h> instead of snprintf.h.
90259         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
90260         HAVE_DECL_SNPRINTF.
90261         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
90262         * lib/getaddrinfo.c: Likewise.
90264         * modules/stdio: New file.
90265         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
90266         * lib/snprintf.h: Remove file.
90267         * lib/vsnprintf.h: Remove file.
90268         * lib/.cppi-disable: Remove snprintf.h.
90269         * m4/stdio_h.m4: New file.
90270         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
90272 2007-02-20  Jim Meyering  <jim@meyering.net>
90274         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
90275         used by e.g., mingw.  From Bruno Haible.
90277 2007-02-19  Bruno Haible  <bruno@clisp.org>
90279         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
90280         warnings.
90281         Reported by Ben Pfaff <blp@cs.stanford.edu>.
90283 2007-02-19  Bruno Haible  <bruno@clisp.org>
90285         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
90286         from mingw users.
90288 2007-02-19  Bruno Haible  <bruno@clisp.org>
90290         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
90291         warnings.
90292         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
90294 2007-02-19  Jim Meyering  <jim@meyering.net>
90296         Don't use FD after a successful "fdopendir (fd)".
90297         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
90298         Reset it by calling dirfd on the just-obtained DIR*.
90300         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
90301         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
90303 2007-02-18  Bruno Haible  <bruno@clisp.org>
90305         * lib/readlink.c: Include <unistd.h>.
90306         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
90307         HAVE_READLINK.
90308         * modules/readlink (Depends-on): Add unistd.
90309         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
90310         (Include): Add <unistd.h>.
90312         * lib/getlogin_r.h: Remove file.
90313         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
90314         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
90315         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
90316         HAVE_DECL_GETLOGIN_R.
90317         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
90318         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
90319         (Include): Use <unistd.h> instead of getlogin_r.h.
90321         * lib/getcwd.h: Remove file.
90322         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
90323         * lib/xgetcwd.c: Likewise.
90324         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
90325         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
90326         * modules/getcwd (Files): Remove lib/getcwd.h.
90327         (Depends-on): Add unistd.
90328         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
90329         (Include): Use <unistd.h> instad of getcwd.h.
90331         * lib/ftruncate.c: Include <unistd.h> first.
90332         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
90333         Set HAVE_FTRUNCATE.
90334         * modules/ftruncate (Depends-on): Add unistd.
90335         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
90337         * lib/fchdir.c: Include <unistd.h> first.
90338         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
90339         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
90340         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
90341         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
90342         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
90344         * lib/dup2.c: Include <unistd.h> first.
90345         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
90346         HAVE_DUP2.
90347         * modules/dup2 (Depends-on): Add unistd.
90348         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
90350         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
90351         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
90352         REPLACE_CHOWN. Don't define chown as a macro here.
90353         * modules/chown (Depends-on): Add unistd.
90354         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
90356         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
90357         Add definition for GL_LINK_WARNING.
90358         (chown, dup2): New declarations.
90359         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
90360         link warning.
90361         (ftruncate): New declaration.
90362         (getcwd): New declaration, taken from old getcwd.h.
90363         (getlogin_r): New declaration, taken from old getlogin_r.h.
90364         (readlink): New declaration.
90365         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
90366         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
90367         (gl_PREREQ_UNISTD): Remove macro.
90368         (gl_UNISTD_MODULE_INDICATOR): New macro.
90369         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
90370         many new variables. Don't set UNISTD_H.
90371         * modules/unistd (Description): Change.
90372         (Depends-on): Add link-warning.
90373         (configure.ac): Update.
90374         (Makefile.am): Create unistd.h always. Substitute many new variables
90375         into it.
90377 2007-02-18  Bruno Haible  <bruno@clisp.org>
90379         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
90380         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
90381         HAVE_GETSUBOPT.
90382         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
90383         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
90384         * lib/getsubopt.h: Remove file.
90385         * modules/getsubopt (Files): Remove lib/getsubopt.h.
90386         (Depends-on): Add stdlib.
90387         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
90388         (Includes): Use <stdlib.h> instead of getsubopt.h.
90389         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
90390         Set HAVE_GETSUBOPT.
90391         * lib/getsubopt.c: Don't include getsubopt.h.
90393 2007-02-18  Bruno Haible  <bruno@clisp.org>
90395         * modules/fchdir (Depends-on): Add dup2.
90397 2007-02-18  Bruno Haible  <bruno@clisp.org>
90399         * lib/stdlib_.h: Handle glibc's special invocation convention
90400         specially.
90402 2007-02-18  Bruno Haible  <bruno@clisp.org>
90404         * modules/stdlib-tests: New file.
90405         * tests/test-stdlib.c: New file.
90407         * modules/mkstemp (Files): Remove lib/mkstemp.h.
90408         (Depends-on): Add stdlib.
90409         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
90410         (Includes): Use <stdlib.h> instead of mkstemp.h.
90411         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
90412         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
90413         * lib/mkstemp.c: Don't include mkstemp.h.
90414         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
90415         * lib/stdlib--.h: Don't include mkstemp.h.
90417         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
90418         (Depends-on): Add stdlib.
90419         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
90420         (Includes): Use <stdlib.h> instead of mkdtemp.h.
90421         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
90422         HAVE_MKDTEMP.
90423         * lib/mkdtemp.c: Don't include mkdtemp.h.
90424         * lib/clean-temp.c: Don't include mkdtemp.h.
90426         * modules/exit (Files): Remove lib/exit.h.
90427         (Depends-on): Add stdlib.
90428         (Makefile.am): Remove lib_SOURCES.
90429         (Include): Use <stdlib.h> instead of exit.h.
90430         * lib/argmatch.c: Don't include exit.h.
90431         * lib/execute.c: Likewise.
90432         * lib/pagealign_alloc.c: Likewise.
90433         * lib/pipe.c: Likewise.
90434         * lib/wait-process.c: Likewise.
90435         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
90436         * lib/exitfail.c: Likewise.
90437         * lib/savewd.c: Likewise.
90438         * lib/xsetenv.c: Likewise.
90440         * modules/stdlib: New file.
90441         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
90442         and extra comments about mkstemp().
90443         * lib/exit.h: Remove file.
90444         * lib/mkdtemp.h: Remove file.
90445         * lib/mkstemp.h: Remove file.
90446         * m4/stdlib_h.m4: New file.
90447         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
90449 2007-02-18  Bruno Haible  <bruno@clisp.org>
90451         * modules/math-tests: New file.
90452         * tests/test-math.c: New file.
90454         * modules/math: New file.
90455         * modules/mathl (Files): Remove lib/mathl.h.
90456         (Depends-on): Add math.
90457         (Makefile.am): Don't mention mathl.h.
90458         (Include): Use <math.h> instead of mathl.h.
90459         * lib/math_.h: New file.
90460         * lib/mathl.h: Remove file.
90461         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
90462         mathl.h.
90463         * lib/asinl.c: Likewise.
90464         * lib/atanl.c: Likewise.
90465         * lib/ceill.c: Likewise.
90466         * lib/cosl.c: Likewise.
90467         * lib/expl.c: Likewise.
90468         * lib/floorl.c: Likewise.
90469         * lib/frexpl.c: Likewise.
90470         * lib/ldexpl.c: Likewise.
90471         * lib/logl.c: Likewise.
90472         * lib/sincosl.c: Likewise.
90473         * lib/sinl.c: Likewise.
90474         * lib/sqrtl.c: Likewise.
90475         * lib/tanl.c: Likewise.
90476         * lib/trigl.c: Likewise.
90477         * m4/math_h.m4: New file.
90478         * MODULES.html.sh (Mathematics): Add math.
90480 2007-02-17  Bruno Haible  <bruno@clisp.org>
90482         * modules/wctype-tests: New file.
90483         * tests/test-wctype.c: New file.
90485         * modules/wchar-tests: New file.
90486         * tests/test-wchar.c: New file.
90488         * modules/unistd-tests: New file.
90489         * tests/test-unistd.c: New file.
90491         * modules/time-tests: New file.
90492         * tests/test-time.c: New file.
90494         * modules/sysexits-tests: New file.
90495         * tests/test-sysexits.c: New file.
90497         * modules/sys_time-tests: New file.
90498         * tests/test-sys_time.c: New file.
90500         * modules/sys_stat-tests: New file.
90501         * tests/test-sys_stat.c: New file.
90503         * modules/sys_socket-tests: New file.
90504         * tests/test-sys_socket.c: New file.
90506         * modules/sys_select-tests: New file.
90507         * tests/test-sys_select.c: New file.
90509         * modules/string-tests: New file.
90510         * tests/test-string.c: New file.
90512         * modules/stdbool-tests: New file.
90513         * tests/test-stdbool.c: New file.
90515         * modules/netinet_in-tests: New file.
90516         * tests/test-netinet_in.c: New file.
90518         * modules/inttypes-tests: New file.
90519         * tests/test-inttypes.c: New file.
90521         * modules/fcntl-tests: New file.
90522         * tests/test-fcntl.c: New file.
90524         * modules/byteswap-tests: New file.
90525         * tests/test-byteswap.c: New file.
90527         * modules/arpa_inet-tests: New file.
90528         * tests/test-arpa_inet.c: New file.
90530 2007-02-17  Bruno Haible  <bruno@clisp.org>
90532         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
90533         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
90534         if the corresponding module is not enabled. Emit link warnings if
90535         the function is used nevertheless.
90536         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
90537         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
90538         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
90539         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
90540         * modules/inttypes (Depends-on): Add link-warning.
90541         (Makefile.am): Copy the contents of build-aux/link-warning.h into
90542         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
90543         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
90544         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
90545         * modules/imaxdiv (configure.ac): Likewise.
90546         * modules/strtoimax (configure.ac): Likewise.
90547         * modules/strtoumax (configure.ac): Likewise.
90549 2007-02-17  Bruno Haible  <bruno@clisp.org>
90551         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
90552         gl_STRING_MODULE_INDICATOR_DEFAULTS.
90553         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
90554         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
90556 2007-02-17  Bruno Haible  <bruno@clisp.org>
90558         * modules/link-warning: New file.
90559         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
90560         * lib/string_.h (GL_LINK_WARNING): Remove definition.
90561         * modules/string (Depends-on): Add link-warning.
90562         (Makefile.am): Copy the contents of build-aux/link-warning.h into
90563         string.h.
90564         * MODULES.html.sh (Support for building libraries and executables): Add
90565         link-warning.
90567 2007-02-17  Bruno Haible  <bruno@clisp.org>
90569         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
90570         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
90571         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
90572         long lines.
90574 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
90575             Bruno Haible  <bruno@clisp.org>
90577         * modules/tmpfile: New file.
90578         * lib/tmpfile.c: New file.
90579         * m4/tmpfile.m4: New file.
90580         * MODULES.html.sh (func_all_modules): New section "Input/output".
90582 2007-02-15  Bruno Haible  <bruno@clisp.org>
90584         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
90585         (supports_delete_on_close): New function.
90586         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
90588 2007-02-14  Bruno Haible  <bruno@clisp.org>
90590         * modules/mbspcasecmp-tests: New file.
90591         * tests/test-mbspcasecmp.sh: New file.
90592         * tests/test-mbspcasecmp.c: New file.
90594         New module mbspcasecmp.
90595         * modules/mbspcasecmp: New file.
90596         * lib/mbspcasecmp.c: New file.
90597         * lib/string_.h (strncasecmp): Change warning message.
90598         (mbspcasecmp): New declaration.
90599         * m4/mbspcasecmp.m4: New file.
90600         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
90601         GNULIB_MBSPCASECMP.
90602         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
90603         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
90605 2007-02-14  Bruno Haible  <bruno@clisp.org>
90607         * modules/mbsncasecmp-tests: New file.
90608         * tests/test-mbsncasecmp.sh: New file.
90609         * tests/test-mbsncasecmp.c: New file.
90611         New module mbsncasecmp.
90612         * modules/mbsncasecmp: New file.
90613         * lib/mbsncasecmp.c: New file.
90614         * lib/string_.h (mbsncasecmp): New declaration.
90615         * m4/mbsncasecmp.m4: New file.
90616         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
90617         GNULIB_MBSNCASECMP.
90618         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
90619         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
90621 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
90623         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
90624         Verify that it doesn't overlap with our flags.
90625         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
90626         do not have the desired effect in multibyte locales; instead, use
90627         mbscasecmp.
90628         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
90629         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
90630         we don't require GNU fnmatch ourselves (if our users require it, they
90631         should do so explicitly).
90633         Fix regex code so it doesn't rely on strcasecmp.
90634         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
90635         Otherwise, include gnulib's langinfo.h.
90636         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
90637         undesirable behavior in non-C locales.  Instead, rely on localecharset.
90638         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
90639         * modules/regex (FILES): Remove m4/codeset.m4.
90640         (Depends-on): Add localcharset.  Remove strcase.
90642 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
90644         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
90645         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
90647 2007-02-13  Bruno Haible  <bruno@clisp.org>
90649         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
90650         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
90652 2007-02-12  Bruno Haible  <bruno@clisp.org>
90654         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
90655         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
90656         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
90657         time warning rather than a link error.
90659 2007-02-12  Bruno Haible  <bruno@clisp.org>
90661         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
90662         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
90663         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
90665 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
90667         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
90668         args, not 2.
90670 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
90672         New module 'time', so that apps can include <time.h> as per
90673         POSIX and GNU instead of separate include files like time_r.h
90674         and timegm.h.  This implementation tries out a simpler approach
90675         for replacing decls in standard include files (as compared to
90676         the string module), somewhat as an experiment.
90678         * config/srclist.txt: Comment out mktime.c for now.
90679         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
90680         since it doesn't apply any more.  Use generic wording instead.
90681         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
90682         'time'.
90683         * lib/time_.h, m4/time_h.m4, modules/time: New files.
90684         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
90685         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
90686         Don't include <sys/types.h>; no longer needed since we assume C89.
90687         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
90688         * lib/strftime.c: Likewise.
90689         * lib/time_r.c: Likewise.
90690         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
90691         * lib/nanosleep.c: Include <time.h> first, to check interface.
90692         * lib/strptime.c: Likewise.
90693         * lib/time_r.c: Likewise.
90694         * lib/timegm.c: Likewise.
90695         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
90696         needed.
90697         * lib/timegm.c: Don't include timegm.h; no longer needed.
90698         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
90699         time.h now handles any problems in that area.
90700         (struct timespec, nanosleep): Remove; time.h now arranges for these.
90701         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
90702         that time.h defines struct timespec.
90703         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
90704         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
90705         handles that.
90706         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
90707         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
90708         needed.  Set REPLACE_LOCALTIME.
90709         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
90710         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
90711         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
90712         nanosleep; time_h.m4 now does that.  Don't require
90713         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
90714         module handles this now.
90715         * modules/getdate (Depends-on): Remove timespec.  Add time.
90716         * modules/nanosleep (Depends-on): Likewise.
90717         * modules/stat-time (Depends-on): Likewise.
90718         * modules/nanosleep (Include): Include time.h, not timespec.h.
90719         * modules/strptime (Files): Remove lib/strptime.h.
90720         (Depends-on): Add extensions, time.
90721         (Include): Include time.h, not strptime.h.
90722         * modules/time_r (Files): Remove lib/time_r.h.
90723         (Depends-on): Add time.
90724         (Include): Include time.h, not time_r.h.
90725         * modules/timegm: Likewise.
90726         * modules/timespec (Description): Now does timespec-related decls
90727         of our own, instead of struct timespec itself.
90728         (Depends-on): Add time; remove extensions.
90729         (Maintainer): Add self.
90730         * modules/utimecmp (Depends-on): Add time; remove timespec.
90731         * modules/utimens (Depends-on): Likewise.
90732         * modules/xnanosleep (Depends-on): Likewise.
90734 2007-02-11  Bruno Haible  <bruno@clisp.org>
90736         * lib/c-strstr.c: Include allocsa.h.
90737         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
90738         * lib/c-strcasestr.c: Include allocsa.h.
90739         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
90740         * lib/strcasestr.c: Include allocsa.h.
90741         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
90742         * lib/mbsstr.c: Include allocsa.h.
90743         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
90744         allocsa/freesa instead of malloc/free.
90745         * lib/mbscasestr.c: Include allocsa.h.
90746         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
90747         allocsa/freesa instead of malloc/free.
90748         * modules/c-strstr (Depends-on): Add allocsa.
90749         * modules/c-strcasestr (Depends-on): Likewise.
90750         * modules/strcasestr (Depends-on): Likewise.
90751         * modules/mbsstr (Depends-on): Likewise.
90752         * modules/mbscasestr (Depends-on): Likewise.
90754 2007-02-11  Bruno Haible  <bruno@clisp.org>
90756         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
90758         * modules/mbsspn-tests: New file.
90759         * tests/test-mbsspn.sh: New file.
90760         * tests/test-mbsspn.c: New file.
90762 2007-02-11  Bruno Haible  <bruno@clisp.org>
90764         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
90766         * modules/mbspbrk-tests: New file.
90767         * tests/test-mbspbrk.sh: New file.
90768         * tests/test-mbspbrk.c: New file.
90770 2007-02-11  Bruno Haible  <bruno@clisp.org>
90772         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
90773         unneeded cast.
90775         * modules/mbscspn-tests: New file.
90776         * tests/test-mbscspn.sh: New file.
90777         * tests/test-mbscspn.c: New file.
90779 2007-02-11  Bruno Haible  <bruno@clisp.org>
90781         * modules/mbscasecmp-tests: New file.
90782         * tests/test-mbscasecmp.sh: New file.
90783         * tests/test-mbscasecmp.c: New file.
90785 2007-02-11  Bruno Haible  <bruno@clisp.org>
90787         Ensure O(n) worst-case complexity of mbscasestr.
90788         * lib/mbscasestr.c: Include stdbool.h.
90789         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
90790         functions.
90791         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
90792         the bookkeeping indicates that it's worth it.
90793         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
90795         * modules/mbscasestr-tests: New file.
90796         * tests/test-mbscasestr1.c: New file.
90797         * tests/test-mbscasestr2.sh: New file.
90798         * tests/test-mbscasestr2.c: New file.
90799         * tests/test-mbscasestr3.sh: New file.
90800         * tests/test-mbscasestr3.c: New file.
90801         * tests/test-mbscasestr4.sh: New file.
90802         * tests/test-mbscasestr4.c: New file.
90803         * m4/locale-tr.m4: New file.
90805 2007-02-11  Bruno Haible  <bruno@clisp.org>
90807         Ensure O(n) worst-case complexity of mbsstr.
90808         * lib/mbsstr.c: Include stdbool.h.
90809         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
90810         functions.
90811         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
90812         bookkeeping indicates that it's worth it.
90813         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
90815         * modules/mbsstr-tests: New file.
90816         * tests/test-mbsstr1.c: New file.
90817         * tests/test-mbsstr2.sh: New file.
90818         * tests/test-mbsstr2.c: New file.
90819         * tests/test-mbsstr3.sh: New file.
90820         * tests/test-mbsstr3.c: New file.
90821         * m4/locale-fr.m4: New file.
90823 2007-02-11  Bruno Haible  <bruno@clisp.org>
90825         * lib/mbsrchr.c (mbsrchr): Fix bug.
90827         * modules/mbsrchr-tests: New file.
90828         * tests/test-mbsrchr.sh: New file.
90829         * tests/test-mbsrchr.c: New file.
90831 2007-02-11  Bruno Haible  <bruno@clisp.org>
90833         * lib/mbschr.c (mbschr): Fix bug.
90835         * modules/mbschr-tests: New file.
90836         * tests/test-mbschr.sh: New file.
90837         * tests/test-mbschr.c: New file.
90838         * m4/locale-zh.m4: New file.
90840 2007-02-11  Bruno Haible  <bruno@clisp.org>
90842         Support for copying multibyte string iterators.
90843         * lib/mbiter.h: Include <string.h>.
90844         (mbiter_multi_copy): New function.
90845         (mbi_copy): New macro.
90846         * lib/mbuiter.h: Include <string.h>.
90847         (mbuiter_multi_copy): New function.
90848         (mbui_copy): New macro.
90850 2007-02-11  Bruno Haible  <bruno@clisp.org>
90852         New module mbslen.
90853         * modules/mbslen: New file.
90854         * lib/mbslen.c: New file.
90855         * lib/string_.h (mbslen): New declaration.
90856         * m4/mbslen.m4: New file.
90857         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
90858         GNULIB_MBSLEN.
90859         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
90860         * MODULES.html.sh (Internationalization functions): Add mbslen.
90862 2007-02-11  Bruno Haible  <bruno@clisp.org>
90864         Ensure O(n) worst-case complexity of strcasestr substitute.
90865         * lib/strcasestr.c: Include stdbool.h.
90866         (knuth_morris_pratt): New function.
90867         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
90868         bookkeeping indicates that it's worth it.
90869         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
90871         * modules/strcasestr-tests: New file.
90872         * tests/test-strcasestr.c: New file.
90874 2007-02-11  Bruno Haible  <bruno@clisp.org>
90876         Ensure O(n) worst-case complexity of c_strcasestr.
90877         * lib/c-strcasestr.c: Include stdbool.h, string.h.
90878         (knuth_morris_pratt): New function.
90879         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
90880         the bookkeeping indicates that it's worth it.
90881         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
90883         * modules/c-strcasestr-tests: New file.
90884         * tests/test-c-strcasestr.c: New file.
90886 2007-02-11  Bruno Haible  <bruno@clisp.org>
90888         Ensure O(n) worst-case complexity of c_strstr.
90889         * lib/c-strstr.c: Include stdbool.h, string.h.
90890         (knuth_morris_pratt): New function.
90891         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
90892         bookkeeping indicates that it's worth it.
90893         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
90895         * lib/c-strstr.c: Complete rewrite for maintainability.
90897         * modules/c-strstr-tests: New file.
90898         * tests/test-c-strstr.c: New file.
90900 2007-02-11  Bruno Haible  <bruno@clisp.org>
90902         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
90903         5.2.1 and earlier, whereby \055 was treated just like the range
90904         delimiter '-'.
90905         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
90907 2007-02-08  Bruno Haible  <bruno@clisp.org>
90909         * modules/regex (Depends-on): Add stdbool.
90910         Reported by Dalibor Topic <robilad@kaffe.org>.
90912 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
90914         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
90915         Prefer returning from main to exiting from it.
90916         Remove unnecessary parens after sizeof.
90918 2007-02-05  Bruno Haible  <bruno@clisp.org>
90920         New module mbssep.
90921         * modules/mbssep: New file.
90922         * lib/mbssep.c: New file.
90923         * lib/string_.h (strsep): Add a conditional link warning.
90924         (mbssep): New declaration.
90925         * m4/mbssep.m4: New file.
90926         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
90927         GNULIB_MBSSEP.
90928         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
90929         * MODULES.html.sh (Internationalization functions): Add mbssep.
90931 2007-02-05  Bruno Haible  <bruno@clisp.org>
90933         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
90934         Optimize search in case of 1 delimiter.
90936 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
90938         * lib/acl.h: Include sys/types.h before sys/acl.h.
90940 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
90942         Merge upstream fix for glibc bugzilla #3957:
90944         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
90946         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
90947         bit for RE_HAT_LISTS_NOT_NEWLINE.
90948         (build_charclass_op): Remove bogus comment.
90950 2007-02-05  Simon Josefsson  <simon@josefsson.org>
90952         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
90954 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
90956         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
90957         * lib/memmem.c [!defined _LIBC]: Include config.h.
90959 2007-02-04  Bruno Haible  <bruno@clisp.org>
90961         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
90962         warning message.
90964 2007-02-04  Bruno Haible  <bruno@clisp.org>
90966         New module mbstok_r.
90967         * modules/mbstok_r: New file.
90968         * lib/mbstok_r.c: New file.
90969         * lib/string_.h (strtok_r): Change argument names to match the
90970         comments. Add a conditional link warning.
90971         (mbstok_r): New declaration.
90972         * m4/mbstok_r.m4: New file.
90973         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
90974         GNULIB_MBSTOK_R.
90975         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
90976         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
90978 2007-02-04  Bruno Haible  <bruno@clisp.org>
90980         New module mbsspn.
90981         * modules/mbsspn: New file.
90982         * lib/mbsspn.c: New file.
90983         * lib/string_.h (strspn): Add a conditional link warning.
90984         (mbsspn): New declaration.
90985         * m4/mbsspn.m4: New file.
90986         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
90987         GNULIB_MBSSPN.
90988         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
90989         * MODULES.html.sh (Internationalization functions): Add mbsspn.
90991 2007-02-04  Bruno Haible  <bruno@clisp.org>
90993         New module mbspbrk.
90994         * modules/mbspbrk: New file.
90995         * lib/mbspbrk.c: New file.
90996         * lib/string_.h (strpbrk): Add a conditional link warning.
90997         (mbspbrk): New declaration.
90998         * m4/mbspbrk.m4: New file.
90999         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
91000         GNULIB_MBSPBRK.
91001         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
91002         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
91004 2007-02-04  Bruno Haible  <bruno@clisp.org>
91006         New module mbscspn.
91007         * modules/mbscspn: New file.
91008         * lib/mbscspn.c: New file.
91009         * lib/string_.h (strcspn): Add a conditional link warning.
91010         (mbscspn): New declaration.
91011         * m4/mbscspn.m4: New file.
91012         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
91013         GNULIB_MBSCSPN.
91014         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
91015         * MODULES.html.sh (Internationalization functions): Add mbscspn.
91017 2007-02-04  Bruno Haible  <bruno@clisp.org>
91019         New module mbscasestr, reduced goal of strcasestr.
91020         * modules/mbscasestr: New file.
91021         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
91022         (mbscasestr): Renamed from strcasestr.
91023         * lib/strcasestr.c: Don't include mbuiter.h.
91024         (strcasestr): Remove support for multibyte locales.
91025         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
91026         Change the conditional link warning.
91027         (mbscasestr): New declaration.
91028         * m4/mbscasestr.m4: New file.
91029         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
91030         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
91031         REPLACE_STRCASESTR.
91032         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
91033         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
91034         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
91035         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
91036         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
91037         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
91038         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
91039         (Depends-on): Remove mbuiter.
91040         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
91042 2007-02-04  Bruno Haible  <bruno@clisp.org>
91044         Simplify handling of strncasecmp.
91045         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
91046         the conditional link warning.
91047         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
91048         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
91049         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
91050         * modules/strcase (configure.ac): Don't invoke
91051         gl_STRING_MODULE_INDICATOR.
91052         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
91054 2007-02-04  Bruno Haible  <bruno@clisp.org>
91056         New module mbscasecmp, reduced goal of strcasecmp.
91057         * modules/mbscasecmp: New file.
91058         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
91059         (mbscasecmp): Renamed from strcasecmp.
91060         * lib/strcasecmp.c: Don't include mbuiter.h.
91061         (strcasecmp): Remove support for multibyte locales.
91062         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
91063         Change the conditional link warning.
91064         (mbscasecmp): New declaration.
91065         * m4/mbscasecmp.m4: New file.
91066         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
91067         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
91068         REPLACE_STRCASECMP.
91069         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
91070         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
91071         GNULIB_MBSCASECMP.
91072         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
91073         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
91074         * modules/strcase (Files): Remove m4/mbrtowc.m4.
91075         (Depends-on): Remove mbuiter.
91076         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
91078 2007-02-04  Bruno Haible  <bruno@clisp.org>
91080         New module mbsstr. Remove module strstr.
91081         * modules/mbsstr: New file.
91082         * modules/strstr: Remove file.
91083         * lib/mbsstr.c: Renamed from lib/strstr.c.
91084         (mbsstr): Renamed from strstr.
91085         * lib/string_.h (strstr): Remove declaration. Change the conditional
91086         link warning.
91087         (mbsstr): New declaration.
91088         * m4/mbsstr.m4: New file.
91089         * m4/strstr.m4: Remove file.
91090         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
91091         REPLACE_STRSTR.
91092         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
91093         Don't initialize GNULIB_STRSTR.
91094         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
91095         substitute GNULIB_STRSTR and REPLACE_STRSTR.
91096         * MODULES.html.sh (Internationalization functions): Add mbsstr.
91097         (Support for systems lacking ANSI C 89): Remove strstr.
91099 2007-02-04  Bruno Haible  <bruno@clisp.org>
91101         New module mbsrchr.
91102         * modules/mbsrchr: New file.
91103         * lib/mbsrchr.c: New file.
91104         * lib/string_.h (strrchr): Add a conditional link warning.
91105         (mbsrchr): New declaration.
91106         * m4/mbsrchr.m4: New file.
91107         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
91108         GNULIB_MBSRCHR.
91109         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
91110         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
91112 2007-02-04  Bruno Haible  <bruno@clisp.org>
91114         New module mbschr.
91115         * modules/mbschr: New file.
91116         * lib/mbschr.c: New file.
91117         * lib/string_.h (strchr): Add a conditional link warning.
91118         (mbschr): New declaration.
91119         * m4/mbschr.m4: New file.
91120         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
91121         GNULIB_MBSCHR.
91122         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
91123         * MODULES.html.sh (Internationalization functions): Add mbschr.
91125 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
91127         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
91129         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
91131 2007-02-04  Bruno Haible  <bruno@clisp.org>
91133         New module description section 'configure.ac-early'.
91134         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
91135         (func_get_autoconf_early_snippet): New function.
91136         (func_import, func_create_testdir): Use it. Remove special cases for
91137         modules 'extensions' and 'lock'.
91138         * modules/extensions (configure.ac-early): Require
91139         gl_USE_SYSTEM_EXTENSIONS.
91140         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
91142 2007-02-04  Bruno Haible  <bruno@clisp.org>
91144         Make use of gcj-4.3's -fsource and -ftarget option.
91145         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
91146         and if so try the options -fsource and -ftarget.
91147         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
91148         source_version, ftarget_option, target_version arguments.
91149         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
91150         (is_envjavac_oldgcj_14_14_usable): Renamed from
91151         is_envjavac_gcj_14_14_usable.
91152         (is_envjavac_oldgcj_14_13_usable): Renamed from
91153         is_envjavac_gcj_14_13_usable.
91154         (is_gcj_present): Update.
91155         (is_gcj_43, is_gcj43_usable): New functions.
91156         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
91157         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
91158         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
91159         try the options -fsource and -ftarget.
91161 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
91163         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
91164         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
91165         larger value.
91167 2007-02-03  Jim Meyering  <jim@meyering.net>
91169         Give tools a better chance to allocate space for very large buffers.
91170         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
91172         Make pwd and readlink work also when run with an unreadable parent dir
91173         on systems with openat support.
91174         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
91175         provided getcwd function, even when we have openat support.
91176         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
91178 2007-02-02  Bruno Haible  <bruno@clisp.org>
91180         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
91181         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
91182         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
91183         portability problems if one of these functions is only used on specific
91184         platforms.
91185         Reported by Paul Eggert.
91187 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
91189         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
91190         is causing more trouble than it's curing.
91191         * lib/regex_internal.h (__mempcpy): Remove.
91192         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
91193         (and make the code a tad smaller to boot).
91194         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
91196 2007-02-02  Jim Meyering  <jim@meyering.net>
91198         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
91199         section, not in the Makefile.am: one.
91201 2007-02-02  Eric Blake  <ebb9@byu.net>
91203         * lib/strchrnul.c: Always include config.h first.
91205         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
91206         gnulib strstr is not necessary here.
91208 2007-02-02  Simon Josefsson  <simon@josefsson.org>
91210         * m4/socklen.m4: Fix typo.
91212 2007-02-02  Eric Blake  <ebb9@byu.net>
91214         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
91215         * modules/netinet_in (Makefile.am): Likewise.
91217 2007-02-01  Bruno Haible  <bruno@clisp.org>
91219         * lib/string_.h (GL_LINK_WARNING): New macro.
91220         (strcasecmp, strstr, strcasestr): If provided by the system,
91221         conditionally define as a macro that leads to a warning instead of to
91222         an error.
91223         (strncasecmp): Conditionally define as a macro that leads to a warning.
91225 2007-02-01  Karl Berry  <karl@gnu.org>
91227         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
91229 2007-02-01  Bruno Haible  <bruno@clisp.org>
91231         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
91232         renamings.
91234 2007-02-01  Eric Blake  <ebb9@byu.net>
91236         * modules/regex (Depends-on): Revert dependence on mempcpy.
91237         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
91238         module's definition of mempcpy.
91239         Reported by Paul Eggert.
91241 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
91243         * lib/string_.h: If the gnulib module XYZ is not present, undefine
91244         the symbol XYZ before redefining it.  This fixes a problem with
91245         programs that don't use XYZ, when compiled on systems that define
91246         XYZ to something else.
91248 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
91250         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
91251         occurs when "mkdir -m foo" creates a setgid directory that is (1)
91252         writeable to group or other and (2) is intended to have a special
91253         mode bit that is set or cleared.  In such a case, the directory
91254         should be neither group- nor other-writeable until the special
91255         mode bits are right.
91257 2007-01-31  Eric Blake  <ebb9@byu.net>
91259         * modules/mountlist (Depends-on): Add strstr.
91261         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
91262         bug.
91263         * modules/string (Makefile.am): Remove redundant replacement.
91264         * modules/regex (Depends-on): Add mempcpy.
91266 2007-01-31  Bruno Haible  <bruno@clisp.org>
91268         New module description field 'Link'.
91269         * gnulib-tool (func_usage): Document --extract-link-directive.
91270         (sed_extract_prog): Recognize 'Link' directive.
91271         (func_get_link_directive): New function.
91272         (func_import): Show summary of link directives.
91273         Handle --extract-link-directive option.
91274         * modules/acl (Link): New section.
91275         * modules/clock-time (Link): New section.
91276         * modules/euidaccess (Link): New section.
91277         * modules/gettext (Link): New section.
91278         * modules/iconv (Link): New section.
91279         * modules/lock (Link): New section.
91280         * modules/nanosleep (Link): New section.
91281         * modules/readline (Link): New section.
91283 2007-01-27  Bruno Haible  <bruno@clisp.org>
91285         Enforce the use of gnulib modules for unportable <string.h> functions.
91286         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
91287         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
91288         (gl_HEADER_STRING_H_BODY): Require it.
91289         * lib/string_.h: If the gnulib module XYZ is not present, redefine
91290         the symbol XYZ to one that gives a link error.
91291         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
91292         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
91293         * modules/mempcpy (configure.ac): Likewise.
91294         * modules/memrchr (configure.ac): Likewise.
91295         * modules/stpcpy (configure.ac): Likewise.
91296         * modules/stpncpy (configure.ac): Likewise.
91297         * modules/strcase (configure.ac): Likewise.
91298         * modules/strcasestr (configure.ac): Likewise.
91299         * modules/strchrnul (configure.ac): Likewise.
91300         * modules/strdup (configure.ac): Likewise.
91301         * modules/strndup (configure.ac): Likewise.
91302         * modules/strnlen (configure.ac): Likewise.
91303         * modules/strpbrk (configure.ac): Likewise.
91304         * modules/strsep (configure.ac): Likewise.
91305         * modules/strstr (configure.ac): Likewise.
91306         * modules/strtok_r (configure.ac): Likewise.
91308 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
91310         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
91312 2007-01-30  Jim Meyering  <jim@meyering.net>
91314         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
91316 2007-01-29  Bruno Haible  <bruno@clisp.org>
91318         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
91319         * lib/execute.c: Likewise.
91320         * lib/pipe.c: Likewise.
91321         * lib/printf-args.h: Likewise.
91322         * lib/printf-args.c: Likewise.
91323         * lib/printf-parse.c: Likewise.
91324         * lib/vasnprintf.c: Likewise.
91326 2007-01-29  Eric Blake  <ebb9@byu.net>
91328         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
91329         declaration.
91331 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
91333         * lib/strptime.h (strptime): Use 'restrict' for args where
91334         POSIX requires this.
91335         * lib/strptime.c (strptime): Likewise.
91336         Change license notice from LGPL to GPL, since gnulib-tool will
91337         change this as needed.
91338         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
91339         defined.
91340         Include "strptime.h" first, to check interface.
91341         Do not #undef _LIBC and _NL_CURRENT.
91342         Do not include <stdlib.h>; no longer needed.
91343         Include "time_r.h" and declare ptime_locale_status
91344         only if _LIBC is not defined.
91345         (__P): Remove unused macro.
91346         (match_string): Bring back glibc version, but use it only if _LIBC
91347         is defined.
91348         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
91349         Remove unnecessary assertion and abort() call.
91350         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
91351         * m4/strptime.m4: Fix serial number comment.
91352         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
91353         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
91354         (Depends-on): Add time_r.
91356 2007-01-29  Bruno Haible  <bruno@clisp.org>
91358         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
91359         strptime.
91360         * modules/strptime (Depends-on): Add stdbool.
91361         * lib/strptime.h: Include <time.h> always. Add comments.
91363 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
91365         * modules/strptime: New file.
91366         * lib/strptime.h: New file.
91367         * lib/strptime.c: New file.
91368         * m4/strptime.m4: New file.
91370 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
91372         * MODULES.html.sh: New module mpsort.
91373         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
91375         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
91376         a circularity problem with HP-UX ia64 reported by Bob Proulx in
91377         <http://lists.gnu.org/r/bug-gnulib/2007-01/msg00394.html>.
91378         All uses changed.
91379         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
91380         All uses changed.
91381         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
91382         to _Restrict_.
91383         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
91384         the parameter matches the prototype.
91386 2007-01-28  Jim Meyering  <jim@meyering.net>
91388         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
91389         sys/time.h here, reverting that part of the previous patch:
91390         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
91392 2007-01-28  Bruno Haible  <bruno@clisp.org>
91394         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
91395         value of $(SYS_TIME_H).
91396         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
91397         remove it conditionally, too. [added by Jim Meyering]
91398         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
91399         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
91400         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
91401         GETTIMEOFDAY_REPLACEMENT to 1.
91403 2007-01-28  Bruno Haible  <bruno@clisp.org>
91405         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
91406         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
91407         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
91408         Set UNISTD_H instead of UNISTD_H2.
91409         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
91411 2007-01-28  Bruno Haible  <bruno@clisp.org>
91413         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
91414         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
91416 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
91418         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
91419         (func_create_testdir): Ensure C locale for `grep' and `tr'
91420         character ranges.
91421         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
91422         ACLOCAL_AMFLAGS parsing state machine.
91424 2007-01-27  Bruno Haible  <bruno@clisp.org>
91426         * modules/unistr/base: Update.
91428 2007-01-27  Bruno Haible  <bruno@clisp.org>
91430         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
91431         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
91432         * modules/unistr/u32-mbtouc-unsafe: Renamed from
91433         modules/unistr/u32-mbtouc.
91434         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
91435         * lib/unistr.h: Update.
91436         * lib/linebreak.c: Update.
91437         * modules/unistr/u32-mbtouc: Renamed from
91438         modules/unistr/u32-mbtouc-safe.
91439         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
91440         * lib/unistr.h: Update.
91441         * lib/unistr/u32-to-u8.c: Update.
91442         * lib/unistr/u32-to-u16.c: Update.
91444 2007-01-27  Bruno Haible  <bruno@clisp.org>
91446         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
91447         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
91448         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
91449         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
91450         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
91451         * modules/unistr/u16-mbtouc-unsafe: Renamed from
91452         modules/unistr/u16-mbtouc.
91453         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
91454         * lib/unistr.h: Update.
91455         * lib/linebreak.c: Update.
91456         * modules/linebreak: Update.
91457         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
91458         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
91459         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
91460         * modules/unistr/u16-mbtouc: Renamed from
91461         modules/unistr/u16-mbtouc-safe.
91462         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
91463         * lib/unistr.h: Update.
91464         * lib/unistr/u16-to-u8.c: Update.
91465         * modules/unistr/u16-to-u8: Update.
91466         * lib/unistr/u16-to-u32.c: Update.
91467         * modules/unistr/u16-to-u32: Update.
91469 2007-01-27  Bruno Haible  <bruno@clisp.org>
91471         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
91472         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
91473         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
91474         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
91475         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
91476         * modules/unistr/u8-mbtouc-unsafe: Renamed from
91477         modules/unistr/u8-mbtouc.
91478         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
91479         * lib/unistr.h: Update.
91480         * lib/striconveh.c: Update.
91481         * modules/striconveh: Update.
91482         * lib/linebreak.c: Update.
91483         * modules/linebreak: Update.
91484         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
91485         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
91486         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
91487         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
91488         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
91489         * lib/unistr.h: Update.
91490         * lib/striconveh.c: Update.
91491         * modules/striconveh: Update.
91492         * lib/unistr/u8-to-u16.c: Update.
91493         * modules/unistr/u8-to-u16: Update.
91494         * lib/unistr/u8-to-u32.c: Update.
91495         * modules/unistr/u8-to-u32: Update.
91497 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
91499         Sync from Libtool.
91500         * lib/argz.c: Do not include strings.h nor memory.h, include
91501         string.h unconditionally.  Patch by Simon Josefsson.
91503 2007-01-27  Bruno Haible  <bruno@clisp.org>
91505         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
91506         from gl_HEADER_STRING_H_BODY.
91507         (gl_HEADER_STRING_H_BODY): Require it.
91508         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
91509         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
91510         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
91511         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
91512         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
91513         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
91514         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
91515         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
91516         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
91517         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
91518         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
91519         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
91520         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
91521         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
91522         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
91524 2007-01-27  Bruno Haible  <bruno@clisp.org>
91526         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
91527         check_PROGRAMS into noinst_PROGRAMS.
91528         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
91529         check_PROGRAMS in this case.
91530         (func_import): Set for_test to false.
91531         (func_create_testdir): Set for_test to true.
91533 2007-01-27  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
91534             Bruno Haible  <bruno@clisp.org>
91536         * modules/strcasestr (Files): Remove lib/strcasestr.h.
91537         (Depends-on): Add string.
91538         (Includes): Use <string.h> instead of strcasestr.h.
91539         * modules/string (Makefile.am): Also substitute the value of
91540         REPLACE_STRCASESTR.
91541         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
91542         assume strcasestr is declared in <string.h> not <strings.h>. Also
91543         set REPLACE_STRCASESTR.
91544         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
91545         REPLACE_STRCASESTR.
91546         * lib/strcasestr.h: Remove file.
91547         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
91548         * lib/string_.h (strcasestr): New declaration.
91550 2007-01-27  Bruno Haible  <bruno@clisp.org>
91552         * lib/string_.h: Use 'extern'.
91554 2007-01-27  Jim Meyering  <jim@meyering.net>
91556         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
91557         of set-but-not-used local, "q".
91559         * lib/mempcpy.c: Include <config.h> before <string.h>.
91560         This fixes a compilation error on HP-UX, due to the system's
91561         "restrict"-using mempcpy prototype.
91563 2007-01-26  Bruno Haible  <bruno@clisp.org>
91565         Small optimization.
91566         * lib/javacomp.c: Include c-strstr.h.
91567          (is_envjavac_gcj): Use c_strstr instead of strstr.
91568         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
91570 2007-01-26  Bruno Haible  <bruno@clisp.org>
91572         * MODULES.html.sh (Unicode string functions): Add the new modules.
91574         * modules/uniconv/u32-strconv-to-locale: New file.
91575         * lib/uniconv/u32-strconv-to-locale.c: New file.
91577         * modules/uniconv/u16-strconv-to-locale: New file.
91578         * lib/uniconv/u16-strconv-to-locale.c: New file.
91580         * modules/uniconv/u8-strconv-to-locale: New file.
91581         * lib/uniconv/u8-strconv-to-locale.c: New file.
91583         * modules/uniconv/u32-strconv-from-locale: New file.
91584         * lib/uniconv/u32-strconv-from-locale.c: New file.
91586         * modules/uniconv/u16-strconv-from-locale: New file.
91587         * lib/uniconv/u16-strconv-from-locale.c: New file.
91589         * modules/uniconv/u8-strconv-from-locale: New file.
91590         * lib/uniconv/u8-strconv-from-locale.c: New file.
91592         * modules/uniconv/u32-strconv-to-enc: New file.
91593         * lib/uniconv/u32-strconv-to-enc.c: New file.
91594         * modules/uniconv/u32-strconv-to-enc-tests: New file.
91595         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
91597         * modules/uniconv/u16-strconv-to-enc: New file.
91598         * lib/uniconv/u16-strconv-to-enc.c: New file.
91599         * lib/uniconv/u-strconv-to-enc.h: New file.
91600         * modules/uniconv/u16-strconv-to-enc-tests: New file.
91601         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
91603         * modules/uniconv/u8-strconv-to-enc: New file.
91604         * lib/uniconv/u8-strconv-to-enc.c: New file.
91605         * modules/uniconv/u8-strconv-to-enc-tests: New file.
91606         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
91608         * modules/uniconv/u32-strconv-from-enc: New file.
91609         * lib/uniconv/u32-strconv-from-enc.c: New file.
91610         * modules/uniconv/u32-strconv-from-enc-tests: New file.
91611         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
91613         * modules/uniconv/u16-strconv-from-enc: New file.
91614         * lib/uniconv/u16-strconv-from-enc.c: New file.
91615         * modules/uniconv/u16-strconv-from-enc-tests: New file.
91616         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
91618         * modules/uniconv/u8-strconv-from-enc: New file.
91619         * lib/uniconv/u8-strconv-from-enc.c: New file.
91620         * lib/uniconv/u-strconv-from-enc.h: New file.
91621         * modules/uniconv/u8-strconv-from-enc-tests: New file.
91622         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
91624         * modules/uniconv/u32-conv-from-enc: New file.
91625         * lib/uniconv/u32-conv-from-enc.c: New file.
91626         * modules/uniconv/u32-conv-from-enc-tests: New file.
91627         * tests/uniconv/test-u32-conv-from-enc.c: New file.
91629         * modules/uniconv/u16-conv-from-enc: New file.
91630         * lib/uniconv/u16-conv-from-enc.c: New file.
91631         * lib/uniconv/u-conv-from-enc.h: New file.
91632         * modules/uniconv/u16-conv-from-enc-tests: New file.
91633         * tests/uniconv/test-u16-conv-from-enc.c: New file.
91635         * modules/uniconv/u8-conv-from-enc: New file.
91636         * lib/uniconv/u8-conv-from-enc.c: New file.
91637         * modules/uniconv/u8-conv-from-enc-tests: New file.
91638         * tests/uniconv/test-u8-conv-from-enc.c: New file.
91640         * modules/uniconv/base: New file.
91641         * lib/uniconv.h: New file.
91643 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
91645         * doc/gnulib-tool.texi (Initial import): Update to match current
91646         behavior with strdup module.
91647         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
91648         * lib/memmem.h: Remove; all uses removed.  This is now done
91649         by <string.h>.
91650         * lib/mempcpy.h: Likewise.
91651         * lib/memrchr.h: Likewise.
91652         * lib/stpcpy.h: Likewise.
91653         * lib/stpncpy.h: Likewise.
91654         * lib/strcase.h: Likewise.
91655         * lib/strchrnul.h: Likewise.
91656         * lib/strdup.h: Likewise.
91657         * lib/strndup.h: Likewise.
91658         * lib/strnlen.h: Likewise.
91659         * lib/strpbrk.h: Likewise.
91660         * lib/strsep.h: Likewise.
91661         * lib/strstr.h: Likewise.
91662         * lib/strtok_r.h: Likewise.
91663         * lib/string_.h: New file.
91664         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
91665         Rely on <string.h> instead.
91666         * lib/canon-host.c: Likewise.
91667         * lib/chdir-long.c: Likewise.
91668         * lib/concatpath.c: Likewise.
91669         * lib/exclude.c: Likewise.
91670         * lib/fchdir.c: Likewise.
91671         * lib/getaddrinfo.c: Likewise.
91672         * lib/getcwd.c: Likewise.
91673         * lib/getsubopt.c: Likewise.
91674         * lib/glob.c: Likewise.
91675         * lib/hard-locale.c: Likewise.
91676         * lib/iconvme.c: Likewise.
91677         * lib/javacomp.c: Likewise.
91678         * lib/mempcpy.c: Likewise.
91679         * lib/memrchr.c: Likewise.
91680         * lib/regex_internal.h: Likewise.
91681         * lib/stpncpy.c: Likewise.
91682         * lib/strcasecmp.c: Likewise.
91683         * lib/strchrnul.c: Likewise.
91684         * lib/strdup.c: Likewise.
91685         * lib/striconv.c: Likewise.
91686         * lib/striconveh.c: Likewise.
91687         * lib/striconveha.c: Likewise.
91688         * lib/strncasecmp.c: Likewise.
91689         * lib/strndup.c: Likewise.
91690         * lib/strnlen.c: Likewise.
91691         * lib/strsep.c: Likewise.
91692         * lib/strstr.c: Likewise.
91693         * lib/strtok_r.c: Likewise.
91694         * lib/userspec.c: Likewise.
91695         * lib/w32spawn.h: Likewise.
91696         * lib/xstrndup.c: Likewise.
91697         * lib/mountlist.c (strstr): Remove decl.
91698         * m4/string_h.m4: New file.
91699         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
91700         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
91701         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
91702         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
91703         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
91704         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
91705         Set REPLACE_STRCASECMP if necessary.
91706         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
91707         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
91708         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
91709         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
91710         HAVE_DECL_STRDUP if necessary.
91711         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
91712         since gl_FUNC_STRNDUP does that now.
91713         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
91714         Check for decl here...
91715         (gl_PREREQ_STRNLEN): ... not here.
91716         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
91717         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
91718         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
91719         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
91720         necessary.
91721         * modules/string: New file.
91722         * modules/memmem (Files): Remove special-purpose include file.
91723         (Depends-on): Add string.
91724         (Include): Include <string.h>, not the removed file.
91725         * modules/mempcpy: Likewise.
91726         * modules/memrchr: Likewise.
91727         * modules/stpcpy: Likewise.
91728         * modules/stpncpy: Likewise.
91729         * modules/strcase: Likewise.
91730         * modules/strchrnul: Likewise.
91731         * modules/strdup: Likewise.
91732         * modules/strndup: Likewise.
91733         * modules/strnlen: Likewise.
91734         * modules/strpbrk: Likewise.
91735         * modules/strsep: Likewise.
91736         * modules/strstr: Likewise.
91737         * modules/strtok_r: Likewise.
91738         * tests/test-dirname.c: Don't include "strdup.h", since
91739         <string.h> now suffices.
91740         * tests/test-memmem.c: Don't include "memmem.h", since
91741         <string.h> now suffices.
91743 2007-01-25  Bruno Haible  <bruno@clisp.org>
91745         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
91746         *resultp is 0.
91748         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
91749         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
91750         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
91751         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
91753         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
91754         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
91755         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
91756         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
91757         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
91758         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
91760 2007-01-24  Bruno Haible  <bruno@clisp.org>
91762         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
91763         <http://lists.gnu.org/r/bug-gnulib/2006-10/msg00279.html>.
91764         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
91765         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
91766         gl_FUNC_FTS_CORE.
91767         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
91768         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
91769         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
91770         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
91771         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
91772         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
91773         gl_FUNC_FCHOWNAT.
91774         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
91775         gl_FUNC_STRFTIME.
91776         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
91777         Reported by Ralf Wildenhues.
91779 2007-01-24  Bruno Haible  <bruno@clisp.org>
91781         Drop AC_REQUIRE calls that are redundant with the module dependencies.
91782         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
91783         gl_GETADDRINFO.
91784         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
91785         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
91786         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
91788 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
91790         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
91791         Don't use 'exit'; just return from 'main'.
91792         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
91794         * lib/fnmatch_.h: Readjust white space and comments to match
91795         glibc, to avoid spurious diffs.
91797 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
91799         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
91800         2004-12-01 change by Jakub Jelinek, since this code won't compile
91801         if !LIBC.  Problem reported by Bob Proulx.
91803 2007-01-23  Bruno Haible  <bruno@clisp.org>
91805         * lib/striconveh.c: Include c-strcaseeq.h.
91806         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
91807         * modules/striconveh (Depends-on): Add c-strcaseeq.
91809 2007-01-23  Bruno Haible  <bruno@clisp.org>
91811         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
91813         * modules/c-strcaseeq: New file.
91814         * lib/c-strcaseeq.h: New file.
91816         * modules/streq: New file.
91817         * lib/streq.h: New file.
91819 2007-01-23  Bruno Haible  <bruno@clisp.org>
91821         * modules/striconveha-tests: New file.
91822         * tests/test-striconveha.c: New file.
91824         * lib/striconveha.h: Include <stdbool.h>.
91825         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
91826         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
91827         (mem_iconveha_notranslit): Renamed from mem_iconveha.
91828         (mem_iconveha): New function.
91829         (str_iconveha_notranslit): Renamed from str_iconveha.
91830         (str_iconveha): New function.
91831         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
91832         c-strcase.
91834 2007-01-23  Bruno Haible  <bruno@clisp.org>
91836         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
91837         encodings without forgiving before trying any encoding with handler.
91838         (str_iconveha): Try all encodings without forgiving before trying any
91839         encoding with handler.
91841 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
91843         Import the following changes from libc.
91845         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
91847         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
91849         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
91851         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
91852         normal_bracket label.
91854         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
91856         [BZ #361]
91857         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
91858         to normal_bracket after fetching the next character.
91860 2007-01-22  Bruno Haible  <bruno@clisp.org>
91862         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
91863         argument.
91864         * lib/striconveh.c (iconv_carefully_1): New function.
91865         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
91866         argument.
91867         (str_cd_iconveh): Update.
91868         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
91869         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
91870         * tests/test-striconveh.c (MAGIC): New macro.
91871         (new_offsets): New function.
91872         (main): Test call with and without offsets.
91874 2007-01-22  Bruno Haible  <bruno@clisp.org>
91876         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
91877         * modules/sys_select (Makefile.am): Likewise.
91878         * modules/sys_socket (Makefile.am): Likewise.
91879         * modules/sys_time (Makefile.am): Likewise.
91881 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
91883         * modules/gettimeofday (License): Change from GPL to LGPL, since
91884         gettimeofday is a library function.
91886 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
91888         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
91890 2007-01-21  Bruno Haible  <bruno@clisp.org>
91892         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
91894 2007-01-21  Bruno Haible  <bruno@clisp.org>
91896         * modules/striconveha: New file.
91897         * lib/striconveha.h: New file.
91898         * lib/striconveha.c: New file.
91899         * MODULES.html.sh (Internationalization functions): Add striconveha.
91900         * lib/striconv.c (str_iconv): Optimize the case of an empty input
91901         string.
91902         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
91904 2007-01-21  Bruno Haible  <bruno@clisp.org>
91906         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
91907         * lib/striconveh.c (str_iconveh): Likewise.
91909 2007-01-21  Bruno Haible  <bruno@clisp.org>
91911         * lib/striconveh.h (mem_iconveh): New declaration.
91912         * lib/striconveh.c (mem_iconveh): New function.
91913         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
91915 2007-01-21  Bruno Haible  <bruno@clisp.org>
91917         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
91919         * lib/striconveh.h (mem_cd_iconveh): Change specification.
91920         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
91921         original result buffer.
91922         (str_cd_iconveh): Update.
91923         * tests/test-striconveh.c (main): Update.
91925         * lib/striconv.h (mem_cd_iconv): Change specification.
91926         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
91927         result buffer.
91928         (str_cd_iconv): Update.
91929         * tests/test-striconv.c (main): Update.
91931 2007-01-21  Bruno Haible  <bruno@clisp.org>
91933         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
91935 2007-01-20  Jim Meyering  <jim@meyering.net>
91937         * lib/userspec.c (parse_with_separator): If a user or group string
91938         starts with "+", skip the corresponding name-to-ID look-up, since
91939         such a look-up must fail: user and group names may not include "+".
91941 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
91943         * lib/poll.c: Include sys/time.h and time.h unconditionally,
91944         since we now assume the sys_time module.
91945         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
91946         check for sys/time.h; no longer needed.
91947         * modules/poll (Depends-on): Depend on sys_time.
91949 2007-01-18  Bruno Haible  <bruno@clisp.org>
91951         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
91952         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
91954         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
91955         gettimeofday.
91957         * tests/test-gettimeofday.c: Include <time.h>.
91958         (dummy): Remove variable.
91960         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
91961         gl_HEADER_SYS_TIME_H.
91962         (gl_HEADER_SYS_TIME_H): New macro.
91964         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
91965         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
91966         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
91967         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
91968         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
91969         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
91970         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
91971         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
91972         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
91973         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
91974         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
91976         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
91977         last change; it caused a compilation error when cross-compiling to
91978         Cygwin.
91980 2007-01-18  Jim Meyering  <jim@meyering.net>
91982         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
91983         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
91984         than the race-prone "test -d sys || mkdir sys".
91985         (configure.ac): Use AC_PROG_MKDIR_P.
91986         * modules/sys_select: Likewise.
91987         * modules/sys_socket: Likewise.
91988         * modules/sys_time: Likewise.
91990 2007-01-18  Eric Blake  <ebb9@byu.net>
91992         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
91993         replace gettimeofday.
91994         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
91995         name, to avoid infinite recursion.
91997 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
91999         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
92000         module sys_time.
92001         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
92002         assume timespec.h defines struct timeval.
92003         * lib/settime.c: Likewise.
92004         * lib/utimens.c: Likewise.
92005         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
92006         since we now assume the gettimeofday module.
92007         * lib/tempname.c (__gen_tempname): Likewise.
92008         * lib/gettimeofday.h: Remove.
92009         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
92010         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
92011         Include <time.h>, for 'time()'.
92012         (localtime_buffer_addr): Also use this workaround if
92013         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
92014         to simplify the uses.  All uses changed.
92015         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
92016         that #undef is inside {}, and 'const' follows type name consistently.
92017         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
92018         (gettimeofday): Do not use the maximum possible value for
92019         tv->tv_usec, since that might break usages other than ls.c.
92020         Instead, we'll leave ls.c alone.  This undoes today's patch
92021         by Bruno.  Add a compile-time warning for 1s-clock resolution;
92022         we've never observed the problem but might as well keep the
92023         canary.
92024         * lib/nanosleep.c: Include timespec.h first, for interface check.
92025         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
92026         now assume the sys_time module.
92027         * lib/tempname.c: Likewise.
92028         * lib/timespec.h: Likewise.
92029         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
92030         needed.
92031         * lib/strftime.c: Likewise.
92032         * lib/timespec.h: Likewise.
92033         * lib/posixtm.c: Include posixtm.h first, for interface check.
92034         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
92035         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
92036         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
92037         * lib/sys_time_.h: New file.
92038         * lib/timespec.h (struct timespec): Use long int, not long.
92039         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
92040         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
92041         Remove obsolescent call to AC_HEADER_TIME.
92042         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
92043         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
92044         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
92045         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
92046         Likewise.
92047         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
92048         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
92049         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
92050         into the sys_time module.  Check for gettimeofday just once.
92051         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
92052         for gettimeofday signature to just check the signature.  Merely
92053         compile it, since linking doesn't test signature.  Improve test for
92054         whether gettimeofday.o is actually needed.
92055         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
92056         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
92057         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
92058         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
92059         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
92060         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
92061         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
92062         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
92063         than worrying about sys/time.h.
92064         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
92065         Don't bother worrying about TIME_WITH_SYS_TIME.
92066         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
92067         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
92068         * m4/sys_time_h.m4: New file.
92069         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
92070         Don't include sys/time.h.  Return from main rather than exiting.
92071         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
92072         all uses changed.
92073         * modules/gethrxtime (Depends-on): Add sys_time.
92074         * modules/gettime (Depends-on): Likewise.
92075         * modules/gettimeofday (Depends-on): Likewise.
92076         * modules/nanosleep (Depends-on): Likewise.
92077         * modules/settime (Depends-on): Likewise.
92078         * modules/tempname (Depends-on): Likewise.
92079         * modules/utimens (Depends-on): Likewise.
92080         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
92081         (Include): Change back to <sys/time.h>.
92082         (Maintainer): Add self.
92083         * modules/sys_time: New file.
92084         * modules/tempname (Depends-on): Add gettimeofday.
92085         * tests/test-gettimeofday.c: Include <sys/time.h>
92086         rather than gettimeofday.h.
92088 2007-01-17  Bruno Haible  <bruno@clisp.org>
92090         * gnulib-tool (func_get_license): Revert last patch. Instead, let
92091         the license default to GPL.
92092         (func_create_testdir): Don't complain if a module is LGPL and its
92093         tests module depends on GPLed modules.
92095 2007-01-17  Bruno Haible  <bruno@clisp.org>
92097         * lib/gettimeofday.c (gettimeofday): Add code for the case
92098         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
92099         maximum possible value for tv->tv_usec, rather than the minimum one.
92101 2005-10-08  Martin Lambers  <marlam@marlam.de>
92102 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
92103 2007-01-16  Bruno Haible  <bruno@clisp.org>
92105         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
92106         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
92107         gl_FUNC_GETTIMEOFDAY.
92108         (Include): Add gettimeofday.h.
92109         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
92110         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
92111         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
92112         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
92113         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
92114         * lib/gettimeofday.h: New file.
92115         * lib/gettimeofday.c: Include <sys/timeb.h>.
92116         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
92117         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
92118         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
92119         fall back on time().
92121         * tests/test-gettimeofday.c: New file.
92122         * modules/gettimeofday-tests: New file.
92124 2007-01-16  Eric Blake  <ebb9@byu.net>
92126         * modules/fnmatch (Depends-on): Depend on wchar.
92127         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
92128         * m4/fnmatch.m4: Likewise.
92129         * modules/mbchar (Makefile.am): Assume <wchar.h>.
92130         * m4/mbchar.m4: Likewise.
92131         * modules/mbswidth (Depends-on): Depend on wchar.
92132         * lib/mbswidth.c: Assume <wchar.h>.
92133         * m4/mbswidth.m4: Likewise.
92134         * modules/quotearg (Depends-on): Depend on wchar.
92135         * lib/quotearg.c: Assume <wchar.h>.
92136         * m4/quotearg.m4: Likewise.
92137         * modules/regex (Depends-on): Depend on wchar.
92138         * lib/regex_internal.h: Assume <wchar.h>.
92139         * m4/regex.m4: Likewise.
92140         * modules/stdint (Depends-on): Depend on wchar.
92141         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
92142         * m4/stdint.m4: Likewise.
92143         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
92144         * modules/strftime (Depends-on): Depend on wchar.
92145         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
92146         * modules/strtol (Depends-on): Depend on wchar.
92147         * lib/strtol.c: Assume <wchar.h>.
92148         * modules/wcwidth (Depends-on): Depend on wchar.
92149         * lib/wcwidth.h: Assume <wchar.h>.
92150         * m4/wcwidth.m4: Likewise.
92152 2007-01-16  Bruno Haible  <bruno@clisp.org>
92154         * modules/csharpexec-script: New, created from...
92155         * modules/csharpexec: ... this.
92157 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
92159         * modules/javaexec-script: New, created from...
92160         * modules/javaexec: ... this.
92162 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
92164         * modules/poll (Dependencies): Add sys_select.
92166 2007-01-15  Jim Meyering  <jim@meyering.net>
92168         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
92169         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
92170         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
92171         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
92173 2007-01-15  Bruno Haible  <bruno@clisp.org>
92175         * modules/striconveh: New file.
92176         * lib/striconveh.h: New file.
92177         * lib/striconveh.c: New file.
92178         * MODULES.html.sh (Internationalization functions): Add striconveh.
92180         * modules/striconveh-tests: New file.
92181         * tests/test-striconveh.c: New file.
92183 2007-01-15  Bruno Haible  <bruno@clisp.org>
92185         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
92186         not from GNU libiconv or GNU libc.
92188 2007-01-15  Bruno Haible  <bruno@clisp.org>
92190         * doc/gnulib-intro.texi (Copyright): Explain the different license
92191         terms for module descriptions, autoconf macros, tests, documentation.
92193 2007-01-14  Bruno Haible  <bruno@clisp.org>
92195         * modules/striconv-tests: New file.
92196         * tests/test-striconv.c: New file.
92198 2007-01-14  Bruno Haible  <bruno@clisp.org>
92200         * modules/iconv-tests: New file.
92201         * tests/test-iconv.c: New file.
92203 2007-01-14  Bruno Haible  <bruno@clisp.org>
92205         * gnulib-tool (func_get_license): For test modules, use the license of
92206         the main module.
92208 2007-01-14  Bruno Haible  <bruno@clisp.org>
92210         * modules/iconv (Include): Clarify that <iconv.h> can only be included
92211         if iconv is found to exist.
92213 2007-01-14  Bruno Haible  <bruno@clisp.org>
92215         * modules/c-ctype-tests: New file.
92216         * tests/test-c-ctype.c: New file.
92218 2007-01-14  Bruno Haible  <bruno@clisp.org>
92220         * modules/binary-io-tests: New file.
92221         * tests/test-binary-io.sh: New file.
92222         * tests/test-binary-io.c: New file.
92224 2007-01-14  Bruno Haible  <bruno@clisp.org>
92226         * modules/array-oset-tests: New file.
92227         * tests/test-array_oset.c: New file.
92229 2007-01-14  Bruno Haible  <bruno@clisp.org>
92231         * modules/array-list-tests: New file.
92232         * tests/test-array_list.c: New file.
92234 2007-01-14  Bruno Haible  <bruno@clisp.org>
92236         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
92237         and make.
92238         Reported by Simon Josefsson in
92239         <http://lists.gnu.org/r/bug-gnulib/2007-01/msg00139.html>
92241 2007-01-14  Bruno Haible  <bruno@clisp.org>
92243         * modules/allocsa-tests: New file.
92244         * tests/test-allocsa.c: New file.
92246 2007-01-14  Bruno Haible  <bruno@clisp.org>
92248         * modules/fchdir (Depends-on): Add absolute-header.
92249         * modules/unistd (Depends-on): Likewise.
92251 2006-12-30  Bruno Haible  <bruno@clisp.org>
92253         * modules/fchdir: New file.
92254         * modules/unistd (Files): Add lib/unistd_.h.
92255         (Makefile.am): Generate unistd.h from unistd_.h.
92256         * lib/fchdir.c: New file.
92257         * lib/dirent_.h: New file.
92258         * lib/unistd_.h: New file.
92259         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
92260         * m4/fchdir.m4: New file.
92261         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
92262         (gl_HEADER_UNISTD): Invoke it.
92263         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
92264         function.
92265         * lib/backupfile.c (opendir, closedir): Undefine.
92266         * lib/chown.c (open, close): Undefine.
92267         * lib/clean-temp.c (open, close): Undefine.
92268         * lib/copy-file.c (open, close): Undefine.
92269         * lib/execute.c (open, close): Undefine.
92270         * lib/fsusage.c (open, close): Undefine.
92271         * lib/gc-gnulib.c (open, close): Undefine.
92272         * lib/getcwd.c (opendir, closedir): Undefine.
92273         * lib/glob.c (opendir, closedir): Undefine.
92274         * lib/javacomp.c (open, close): Undefine.
92275         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
92276         * lib/openat-proc.c (open, close): Undefine.
92277         * lib/pagealign_alloc.c (open, close): Undefine.
92278         * lib/pipe.c (open, close): Undefine.
92279         * lib/progreloc.c (open, close): Undefine.
92280         * lib/savedir.c (opendir, closedir): Undefine.
92281         * lib/utime.c (open, close): Undefine.
92282         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
92284 2007-01-10  Bruno Haible  <bruno@clisp.org>
92286         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
92288 2007-01-12  Eric Blake  <ebb9@byu.net>
92290         Provide a robust <wchar.h>.  Further simplifications are now
92291         possible in other modules, but not included here.
92292         * modules/wchar: New module.
92293         * m4/wchar.m4: New file.
92294         * lib/wchar_.h: Likewise.
92295         * modules/mbchar (Depends-on): Depend on wchar, as the first use
92296         of the new module.
92297         * MODULES.html.sh (Extended multibyte and wide character utilities):
92298         New section.
92300 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
92302         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
92303         to a reasonable default for memory allocation.
92304         (xreadlink): Don't allocate a huge buffer, to work around a buggy
92305         file system that reports garbage st_size values for symlinks.
92306         Problem reported by Liyang Hu.
92308 2007-01-11  Simon Josefsson  <simon@josefsson.org>
92310         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
92311         Emacs .#* auto-save files).
92313 2007-01-11  Bruno Haible  <bruno@clisp.org>
92315         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
92316         directory.
92318 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
92320         Use @...@ consistently in lib/wctype_.h.
92321         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
92322         on it being set to 1 or 0.
92323         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
92324         go back to AC_SUBSTing it.
92325         * modules/wctype (Makefile.am): Undo previous change.
92327 2007-01-10  Eric Blake  <ebb9@byu.net>
92329         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
92330         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
92331         * modules/wctype (Makefile.am): Likewise.
92332         Reported by Chris McGuire.
92334 2007-01-10  Jim Meyering  <jim@meyering.net>
92336         fts.c: a small readability/maintainability improvement
92337         * lib/fts.c (fts_read): Make this code slightly more readable and
92338         maintainable by hoisting the "sp->fts_cur = p" assignments to
92339         immediately follow the statements that set P.  Derived from
92340         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
92342 2007-01-10  Eric Blake  <ebb9@byu.net>
92344         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
92345         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
92346         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
92347         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
92348         Reported by Chris McGuire.
92350 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
92352         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
92353         in sed script.
92355 2007-01-09  Bruno Haible  <bruno@clisp.org>
92357         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
92358         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
92359         variables.
92360         (func_module): Use them.
92362 2007-01-09  Bruno Haible  <bruno@clisp.org>
92364         * modules/unistr/base: New file.
92365         * lib/unistr.h: New file.
92367         * modules/unistr/u8-to-u16: New file.
92368         * lib/unistr/u8-to-u16.c: New file.
92370         * modules/unistr/u8-to-u32: New file.
92371         * lib/unistr/u8-to-u32.c: New file.
92373         * modules/unistr/u16-to-u8: New file.
92374         * lib/unistr/u16-to-u8.c: New file.
92376         * modules/unistr/u16-to-u32: New file.
92377         * lib/unistr/u16-to-u32.c: New file.
92379         * modules/unistr/u32-to-u8: New file.
92380         * lib/unistr/u32-to-u8.c: New file.
92382         * modules/unistr/u32-to-u16: New file.
92383         * lib/unistr/u32-to-u16.c: New file.
92385         * modules/unistr/u8-check: New file.
92386         * modules/unistr/u16-check: New file.
92387         * modules/unistr/u32-check: New file.
92388         * lib/unistr/u8-check.c: New file.
92389         * lib/unistr/u16-check.c: New file.
92390         * lib/unistr/u32-check.c: New file.
92392         * modules/unistr/u8-chr: New file.
92393         * modules/unistr/u16-chr: New file.
92394         * modules/unistr/u32-chr: New file.
92395         * lib/unistr/u8-chr.c: New file.
92396         * lib/unistr/u16-chr.c: New file.
92397         * lib/unistr/u32-chr.c: New file.
92399         * modules/unistr/u8-cmp: New file.
92400         * modules/unistr/u16-cmp: New file.
92401         * modules/unistr/u32-cmp: New file.
92402         * lib/unistr/u8-cmp.c: New file.
92403         * lib/unistr/u16-cmp.c: New file.
92404         * lib/unistr/u32-cmp.c: New file.
92406         * modules/unistr/u8-cpy: New file.
92407         * modules/unistr/u16-cpy: New file.
92408         * modules/unistr/u32-cpy: New file.
92409         * lib/unistr/u8-cpy.c: New file.
92410         * lib/unistr/u16-cpy.c: New file.
92411         * lib/unistr/u32-cpy.c: New file.
92412         * lib/unistr/u-cpy.h: New file.
92414         * modules/unistr/u8-cpy-alloc: New file.
92415         * modules/unistr/u16-cpy-alloc: New file.
92416         * modules/unistr/u32-cpy-alloc: New file.
92417         * lib/unistr/u8-cpy-alloc.c: New file.
92418         * lib/unistr/u16-cpy-alloc.c: New file.
92419         * lib/unistr/u32-cpy-alloc.c: New file.
92420         * lib/unistr/u-cpy-alloc.h: New file.
92422         * modules/unistr/u8-endswith: New file.
92423         * modules/unistr/u16-endswith: New file.
92424         * modules/unistr/u32-endswith: New file.
92425         * lib/unistr/u8-endswith.c: New file.
92426         * lib/unistr/u16-endswith.c: New file.
92427         * lib/unistr/u32-endswith.c: New file.
92428         * lib/unistr/u-endswith.h: New file.
92430         * modules/unistr/u8-mblen: New file.
92431         * modules/unistr/u16-mblen: New file.
92432         * modules/unistr/u32-mblen: New file.
92433         * lib/unistr/u8-mblen.c: New file.
92434         * lib/unistr/u16-mblen.c: New file.
92435         * lib/unistr/u32-mblen.c: New file.
92437         * modules/unistr/u8-mbtouc: New file.
92438         * modules/unistr/u16-mbtouc: New file.
92439         * modules/unistr/u32-mbtouc: New file.
92440         * lib/unistr/u8-mbtouc.c: New file.
92441         * lib/unistr/u16-mbtouc.c: New file.
92442         * lib/unistr/u32-mbtouc.c: New file.
92444         * modules/unistr/u8-mbtouc-safe: New file.
92445         * modules/unistr/u16-mbtouc-safe: New file.
92446         * modules/unistr/u32-mbtouc-safe: New file.
92447         * lib/unistr/u8-mbtouc-safe.c: New file.
92448         * lib/unistr/u16-mbtouc-safe.c: New file.
92449         * lib/unistr/u32-mbtouc-safe.c: New file.
92451         * modules/unistr/u8-move: New file.
92452         * modules/unistr/u16-move: New file.
92453         * modules/unistr/u32-move: New file.
92454         * lib/unistr/u8-move.c: New file.
92455         * lib/unistr/u16-move.c: New file.
92456         * lib/unistr/u32-move.c: New file.
92457         * lib/unistr/u-move.h: New file.
92459         * modules/unistr/u8-next: New file.
92460         * modules/unistr/u16-next: New file.
92461         * modules/unistr/u32-next: New file.
92462         * lib/unistr/u8-next.c: New file.
92463         * lib/unistr/u16-next.c: New file.
92464         * lib/unistr/u32-next.c: New file.
92466         * modules/unistr/u8-prev: New file.
92467         * modules/unistr/u16-prev: New file.
92468         * modules/unistr/u32-prev: New file.
92469         * lib/unistr/u8-prev.c: New file.
92470         * lib/unistr/u16-prev.c: New file.
92471         * lib/unistr/u32-prev.c: New file.
92473         * modules/unistr/u8-set: New file.
92474         * modules/unistr/u16-set: New file.
92475         * modules/unistr/u32-set: New file.
92476         * lib/unistr/u8-set.c: New file.
92477         * lib/unistr/u16-set.c: New file.
92478         * lib/unistr/u32-set.c: New file.
92479         * lib/unistr/u-set.h: New file.
92481         * modules/unistr/u8-startswith: New file.
92482         * modules/unistr/u16-startswith: New file.
92483         * modules/unistr/u32-startswith: New file.
92484         * lib/unistr/u8-startswith.c: New file.
92485         * lib/unistr/u16-startswith.c: New file.
92486         * lib/unistr/u32-startswith.c: New file.
92487         * lib/unistr/u-startswith.h: New file.
92489         * modules/unistr/u8-stpcpy: New file.
92490         * modules/unistr/u16-stpcpy: New file.
92491         * modules/unistr/u32-stpcpy: New file.
92492         * lib/unistr/u8-stpcpy.c: New file.
92493         * lib/unistr/u16-stpcpy.c: New file.
92494         * lib/unistr/u32-stpcpy.c: New file.
92495         * lib/unistr/u-stpcpy.h: New file.
92497         * modules/unistr/u8-stpncpy: New file.
92498         * modules/unistr/u16-stpncpy: New file.
92499         * modules/unistr/u32-stpncpy: New file.
92500         * lib/unistr/u8-stpncpy.c: New file.
92501         * lib/unistr/u16-stpncpy.c: New file.
92502         * lib/unistr/u32-stpncpy.c: New file.
92503         * lib/unistr/u-stpncpy.h: New file.
92505         * modules/unistr/u8-strcat: New file.
92506         * modules/unistr/u16-strcat: New file.
92507         * modules/unistr/u32-strcat: New file.
92508         * lib/unistr/u8-strcat.c: New file.
92509         * lib/unistr/u16-strcat.c: New file.
92510         * lib/unistr/u32-strcat.c: New file.
92511         * lib/unistr/u-strcat.h: New file.
92513         * modules/unistr/u8-strchr: New file.
92514         * modules/unistr/u16-strchr: New file.
92515         * modules/unistr/u32-strchr: New file.
92516         * lib/unistr/u8-strchr.c: New file.
92517         * lib/unistr/u16-strchr.c: New file.
92518         * lib/unistr/u32-strchr.c: New file.
92520         * modules/unistr/u8-strcmp: New file.
92521         * modules/unistr/u16-strcmp: New file.
92522         * modules/unistr/u32-strcmp: New file.
92523         * lib/unistr/u8-strcmp.c: New file.
92524         * lib/unistr/u16-strcmp.c: New file.
92525         * lib/unistr/u32-strcmp.c: New file.
92527         * modules/unistr/u8-strcpy: New file.
92528         * modules/unistr/u16-strcpy: New file.
92529         * modules/unistr/u32-strcpy: New file.
92530         * lib/unistr/u8-strcpy.c: New file.
92531         * lib/unistr/u16-strcpy.c: New file.
92532         * lib/unistr/u32-strcpy.c: New file.
92533         * lib/unistr/u-strcpy.h: New file.
92535         * modules/unistr/u8-strcspn: New file.
92536         * modules/unistr/u16-strcspn: New file.
92537         * modules/unistr/u32-strcspn: New file.
92538         * lib/unistr/u8-strcspn.c: New file.
92539         * lib/unistr/u16-strcspn.c: New file.
92540         * lib/unistr/u32-strcspn.c: New file.
92541         * lib/unistr/u-strcspn.h: New file.
92543         * modules/unistr/u8-strdup: New file.
92544         * modules/unistr/u16-strdup: New file.
92545         * modules/unistr/u32-strdup: New file.
92546         * lib/unistr/u8-strdup.c: New file.
92547         * lib/unistr/u16-strdup.c: New file.
92548         * lib/unistr/u32-strdup.c: New file.
92549         * lib/unistr/u-strdup.h: New file.
92551         * modules/unistr/u8-strlen: New file.
92552         * modules/unistr/u16-strlen: New file.
92553         * modules/unistr/u32-strlen: New file.
92554         * lib/unistr/u8-strlen.c: New file.
92555         * lib/unistr/u16-strlen.c: New file.
92556         * lib/unistr/u32-strlen.c: New file.
92557         * lib/unistr/u-strlen.h: New file.
92559         * modules/unistr/u8-strmblen: New file.
92560         * modules/unistr/u16-strmblen: New file.
92561         * modules/unistr/u32-strmblen: New file.
92562         * lib/unistr/u8-strmblen.c: New file.
92563         * lib/unistr/u16-strmblen.c: New file.
92564         * lib/unistr/u32-strmblen.c: New file.
92566         * modules/unistr/u8-strmbtouc: New file.
92567         * modules/unistr/u16-strmbtouc: New file.
92568         * modules/unistr/u32-strmbtouc: New file.
92569         * lib/unistr/u8-strmbtouc.c: New file.
92570         * lib/unistr/u16-strmbtouc.c: New file.
92571         * lib/unistr/u32-strmbtouc.c: New file.
92573         * modules/unistr/u8-strncat: New file.
92574         * modules/unistr/u16-strncat: New file.
92575         * modules/unistr/u32-strncat: New file.
92576         * lib/unistr/u8-strncat.c: New file.
92577         * lib/unistr/u16-strncat.c: New file.
92578         * lib/unistr/u32-strncat.c: New file.
92579         * lib/unistr/u-strncat.h: New file.
92581         * modules/unistr/u8-strncmp: New file.
92582         * modules/unistr/u16-strncmp: New file.
92583         * modules/unistr/u32-strncmp: New file.
92584         * lib/unistr/u8-strncmp.c: New file.
92585         * lib/unistr/u16-strncmp.c: New file.
92586         * lib/unistr/u32-strncmp.c: New file.
92588         * modules/unistr/u8-strncpy: New file.
92589         * modules/unistr/u16-strncpy: New file.
92590         * modules/unistr/u32-strncpy: New file.
92591         * lib/unistr/u8-strncpy.c: New file.
92592         * lib/unistr/u16-strncpy.c: New file.
92593         * lib/unistr/u32-strncpy.c: New file.
92594         * lib/unistr/u-strncpy.h: New file.
92596         * modules/unistr/u8-strnlen: New file.
92597         * modules/unistr/u16-strnlen: New file.
92598         * modules/unistr/u32-strnlen: New file.
92599         * lib/unistr/u8-strnlen.c: New file.
92600         * lib/unistr/u16-strnlen.c: New file.
92601         * lib/unistr/u32-strnlen.c: New file.
92602         * lib/unistr/u-strnlen.h: New file.
92604         * modules/unistr/u8-strpbrk: New file.
92605         * modules/unistr/u16-strpbrk: New file.
92606         * modules/unistr/u32-strpbrk: New file.
92607         * lib/unistr/u8-strpbrk.c: New file.
92608         * lib/unistr/u16-strpbrk.c: New file.
92609         * lib/unistr/u32-strpbrk.c: New file.
92610         * lib/unistr/u-strpbrk.h: New file.
92612         * modules/unistr/u8-strrchr: New file.
92613         * modules/unistr/u16-strrchr: New file.
92614         * modules/unistr/u32-strrchr: New file.
92615         * lib/unistr/u8-strrchr.c: New file.
92616         * lib/unistr/u16-strrchr.c: New file.
92617         * lib/unistr/u32-strrchr.c: New file.
92619         * modules/unistr/u8-strspn: New file.
92620         * modules/unistr/u16-strspn: New file.
92621         * modules/unistr/u32-strspn: New file.
92622         * lib/unistr/u8-strspn.c: New file.
92623         * lib/unistr/u16-strspn.c: New file.
92624         * lib/unistr/u32-strspn.c: New file.
92625         * lib/unistr/u-strspn.h: New file.
92627         * modules/unistr/u8-strstr: New file.
92628         * modules/unistr/u16-strstr: New file.
92629         * modules/unistr/u32-strstr: New file.
92630         * lib/unistr/u8-strstr.c: New file.
92631         * lib/unistr/u16-strstr.c: New file.
92632         * lib/unistr/u32-strstr.c: New file.
92633         * lib/unistr/u-strstr.h: New file.
92635         * modules/unistr/u8-strtok: New file.
92636         * modules/unistr/u16-strtok: New file.
92637         * modules/unistr/u32-strtok: New file.
92638         * lib/unistr/u8-strtok.c: New file.
92639         * lib/unistr/u16-strtok.c: New file.
92640         * lib/unistr/u32-strtok.c: New file.
92641         * lib/unistr/u-strtok.h: New file.
92643         * modules/unistr/u8-uctomb: New file.
92644         * modules/unistr/u16-uctomb: New file.
92645         * modules/unistr/u32-uctomb: New file.
92646         * lib/unistr/u8-uctomb.c: New file.
92647         * lib/unistr/u16-uctomb.c: New file.
92648         * lib/unistr/u32-uctomb.c: New file.
92650         * MODULES.html.sh (Unicode string functions): Add the new modules.
92652 2007-01-08  Bruno Haible  <bruno@clisp.org>
92654         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
92655         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
92656         subdirectories.
92658 2007-01-08  Karl Berry  <karl@gnu.org>
92660         * doc/error.texi: mention that main() fns must set program_name
92661         when progname is used.
92663 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
92665         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
92666         WCTYPE_H is empty, for the benefit of builds from non-distclean
92667         directories.  Problem reported by Eric Blake in
92668         <http://lists.gnu.org/r/bug-gnulib/2007-01/msg00157.html>.
92670 2007-01-08  Bruno Haible  <bruno@clisp.org>
92672         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
92673         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
92674         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
92675         PROVIDE_CANONICALIZE_FILENAME_MODE.
92676         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
92678 2007-01-08  Bruno Haible  <bruno@clisp.org>
92680         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
92681         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
92682         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
92683         * lib/fts.c: Likewise.
92684         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
92686 2006-12-25  Bruno Haible  <bruno@clisp.org>
92688         * modules/utf8-ucs4-safe: New file.
92689         * lib/utf8-ucs4-safe.h: New file.
92690         * lib/unistr/utf8-ucs4-safe.c: New file.
92692         * modules/utf16-ucs4-safe: New file.
92693         * lib/utf16-ucs4-safe.h: New file.
92694         * lib/unistr/utf16-ucs4-safe.c: New file.
92696         * MODULES.html.sh (Unicode string functions): Add the new modules.
92698 2007-01-08  Bruno Haible  <bruno@clisp.org>
92700         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
92701         (Depends-on): Add unitypes.
92702         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
92703         (u8_mbtouc_aux): Move out to separate file.
92704         (u8_mbtouc): Use ucs4_t, uint8_t types.
92705         * lib/unistr/utf8-ucs4.c: New file.
92707         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
92708         (Depends-on): Add unitypes.
92709         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
92710         (u16_mbtouc_aux): Move out to separate file.
92711         (u16_mbtouc): Use ucs4_t, uint16_t types.
92712         * lib/unistr/utf16-ucs4.c: New file.
92714         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
92715         (Depends-on): Add unitypes.
92716         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
92717         (u8_uctomb_aux): Move out to separate file.
92718         (u8_uctomb): Use ucs4_t, uint8_t types.
92719         * lib/unistr/ucs4-utf8.c: New file.
92721         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
92722         (Depends-on): Add unitypes.
92723         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
92724         (u16_uctomb_aux): Move out to separate file.
92725         (u16_uctomb): Use ucs4_t, uint16_t types.
92726         * lib/unistr/ucs4-utf16.c: New file.
92728 2006-12-25  Bruno Haible  <bruno@clisp.org>
92730         * modules/unitypes: New file.
92731         * lib/unitypes.h: New file.
92732         * MODULES.html.sh (func_all_modules): New section "Unicode string
92733         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
92734         this section. Add unitypes.
92736 2007-01-08  Bruno Haible  <bruno@clisp.org>
92738         Avoid variable names that conflict with those from libtool.
92739         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
92740         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
92741         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
92742         library_names_spec to acl_library_names_spec, hardcode_* to
92743         acl_hardcode_*.
92744         Reported by Ralf Wildenhues.
92746 2007-01-08  Bruno Haible  <bruno@clisp.org>
92748         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
92749         definition.
92750         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
92751         definition.
92752         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
92753         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
92754         definition.
92755         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
92756         definition.
92757         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
92758         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
92759         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
92760         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
92761         definition.
92762         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
92763         definition.
92764         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
92765         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
92766         GC_USE_<algorithm>.
92767         * lib/gc-libgcrypt.c: Likewise.
92768         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
92769         * modules/gc-arctwo (configure.ac): Likewise.
92770         * modules/gc-des (configure.ac): Likewise.
92771         * modules/gc-hmac-md5 (configure.ac): Likewise.
92772         * modules/gc-hmac-sha1 (configure.ac): Likewise.
92773         * modules/gc-md2 (configure.ac): Likewise.
92774         * modules/gc-md4 (configure.ac): Likewise.
92775         * modules/gc-md5 (configure.ac): Likewise.
92776         * modules/gc-random (configure.ac): Likewise.
92777         * modules/gc-rijndael (configure.ac): Likewise.
92778         * modules/gc-sha1 (configure.ac): Likewise.
92780 2007-01-08  Bruno Haible  <bruno@clisp.org>
92782         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
92783         macro definition.
92784         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
92785         definition.
92786         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
92787         definition.
92788         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
92789         * modules/fcntl-safer (configure.ac): Likewise.
92790         * modules/fopen-safer (configure.ac): Likewise.
92791         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
92792         GNULIB_FWRITEERROR macro definition.
92794 2007-01-08  Bruno Haible  <bruno@clisp.org>
92796         * m4/gnulib-common.m4: New file.
92797         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
92798         (func_get_filelist): Add m4/gnulib-common.m4.
92800 2007-01-08  Bruno Haible  <bruno@clisp.org>
92802         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
92803         command.
92805 2007-01-08  Jim Meyering  <jim@meyering.net>
92807         Use a more robust test for a "can't happen" condition.
92808         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
92809         narrowed the st_size value.  Presuming the "can't happen" condition
92810         is true, that narrowing could conceivably convert an invalid st_size
92811         value into a valid one.  Instead, use a change based on Matthew
92812         Woehlke's original patch.
92814         Slight readability improvement: use an assert-like macro
92815         in place of literal "abort ()" uses.
92816         * lib/fts.c (fts_assert): Define.
92817         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
92818         Use this macro instead of a bare 'abort'.
92820 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
92822         Don't worry about using IRIX 5.3's wctype.h broken definitions;
92823         simply work around them.
92824         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
92825         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
92826         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
92827         declaring.
92828         Don't bother to define as macros, since the standard doesn't require it.
92829         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
92830         longer worry about IRIX 5.3.
92831         (HAVE_WCTYPE_CTMP_BUG): Remove.
92833 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
92835         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
92836         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
92837         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
92838         Problems reported by Georg Schwarz for IRIX 5.3.
92840         * gnulib-tool (autoconf_minversion): Take the maximum version number
92841         found, not the minimum.  Problem reported by James Youngman.
92843 2007-01-03  Karl Berry  <karl@gnu.org>
92845         * doc/error.texi: new file, explaining interaction with progname.
92846         * doc/gnulib.texi: include it.  Update copyright.
92848 2007-01-03  Simon Josefsson  <simon@josefsson.org>
92850         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
92851         AC_CANONICAL_HOST, to improve autobuild outputs.
92853 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
92854             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
92856         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
92857         sockets, server sockets, and other file descriptors.  Count errors
92858         to compute the return value.  Reorder the code a bit to be easier
92859         to follow.  Don't set event bits that were not requested (except
92860         POLLERR and POLLHUP).
92862 2007-01-01  Bruno Haible  <bruno@clisp.org>
92864         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
92866 2007-01-03  Jim Meyering  <jim@meyering.net>
92868         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
92870 2007-01-02  Bruno Haible  <bruno@clisp.org>
92872         * modules/settime (Include): Require timespec.h.
92873         * modules/nanosleep (Include): Likewise.
92875 2007-01-01  Bruno Haible  <bruno@clisp.org>
92877         * gnulib-tool (func_emit_copyright_notice): Bump year.
92878         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
92880 2007-01-01  Bruno Haible  <bruno@clisp.org>
92882         Improve support for OpenBSD.
92883         * build-aux/config.rpath (libname_spec): Export.
92884         (library_names_spec): New variable. Export.
92885         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
92886         library_names_spec from the config.rpath output. Locate shared library
92887         through the name pattern in library_names_spec.
92889 2007-01-01  Eric Blake  <ebb9@byu.net>
92891         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
92893 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
92895         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
92896         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
92897         assume the C locale, and avoid an "eval" that could cause trouble.
92898         Problem with SORT reported by Bob Proulx.
92900         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
92901         Define.  Trivial patch from Henning Nielsen Lund, originally
92902         sent to bug-grep@gnu.org today.
92904 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
92906         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
92907         struct stat.  Problem reported by Henning Nielsen Lund.
92908         * lib/acl.c: Include acl.h first, to check interface.  Don't
92909         bother to include sys/types.h and sys/stat.h again.
92911 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
92913         Import the following change from libc; problem reported by
92914         Sven Verdoolaege.
92916         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
92918         [BZ #1373]
92919         * lib/argp.h: Remove __NTH for __argp_usage inline function.
92921 2006-12-28  Jim Meyering  <jim@meyering.net>
92923         * build-aux/announce-gen: Do not assume that the package
92924         builds any of tar.gz, tar.bz2, and .xdelta files.
92925         Suggestion from Simon Josefsson.
92927 2006-12-28  Simon Josefsson  <simon@josefsson.org>
92929         * modules/announce-gen: New file.
92931 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
92933         * lib/mbchar.h: Just include <wctype.h>; the wctype module
92934         handles its gotchas now.
92935         * lib/mbswidth.c: Likewise.
92936         * lib/wcwidth.h: Likewise.
92937         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
92938         and iswcntrl; the wctype module does this stuff now.
92939         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
92940         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
92941         * modules/mbchar (Depends-on): Add wctype.
92942         * modules/mbswidth (Depends-on): Likewise.
92943         * modules/wcwidth (Depends-on): Likewise.
92945 2006-12-27  Eric Blake  <ebb9@byu.net>
92947         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
92948         module uses more than what <wctype.h> is required to provide.
92950 2006-12-26  Eric Blake  <ebb9@byu.net>
92952         * gnulib-tool (sed_extract_prog): Avoid space-tab.
92954 2006-12-26  Eric Blake  <ebb9@byu.net>
92956         * modules/absolute-header: New module.
92957         * modules/fcntl (Depends-on): Depend on it.
92958         * modules/inttypes (Depends-on): Likewise.
92959         * modules/stdint (Depends-on): Likewise.
92960         * modules/sys_stat (Depends-on): Likewise.
92961         * modules/wctype (Depends-on): Likewise.
92962         * MODULES.html.sh (Support for building libraries and
92963         executables): Document it.
92965 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
92967         * gnulib-tool (SED): Remove, undoing previous change.
92968         The problem was that it broke coreutils on Solaris, because
92969         "sed --posix" leaked into a makefile.
92970         (sed): New alias, if 'alias' and GNU sed.
92972 2006-12-24  Jim Meyering  <jim@meyering.net>
92974         Work around an fchownat bug in glibc-2.4:
92975         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
92976         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
92977         in spite of the -P option.
92978         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
92979         New macros.
92980         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
92981         * modules/openat (Files): Add lib/fchownat.c.
92982         * lib/openat.c (fchownat): Don't define here.  Move to...
92983         * lib/fchownat.c: ...this new file.
92985 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
92987         Fix bug reported by Bruno Haible in
92988         <http://lists.gnu.org/r/bug-gnulib/2006-12/msg00228.html>
92989         where quotearg.c didn't compile on Mac OS X 10.2 because it
92990         lacks <wchar.h> and wint_t.
92991         * lib/wctype_.h (__wctype_wint_t): New type.
92992         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
92993         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
92994         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
92995         Arg is now of type __wctype_wint_t, not wint_t.
92996         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
92997         substitute HAVE_WINT_T.
92998         * modules/wctype (Files): Add m4/wint_t.m4.
92999         (wctype.h): Substitute HAVE_WINT_T.
93001 2006-12-23  Bruno Haible  <bruno@clisp.org>
93003         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
93005 2006-12-23  Bruno Haible  <bruno@clisp.org>
93007         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
93008         S_ISLNK.
93009         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
93010         mingw.
93012 2006-12-22  Bruno Haible  <bruno@clisp.org>
93014         * lib/copy-file.c: Include acl.h.
93015         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
93016         Close the file descriptors only after being done with copy_acl.
93017         * modules/copy-file (Depends-on): Add acl.
93019 2006-12-22  Bruno Haible  <bruno@clisp.org>
93021         * gnulib-tool (SED): New variable.
93022         Use $SED instead of sed everywhere.
93024 2006-12-22  Bruno Haible  <bruno@clisp.org>
93026         * modules/no-c++: New file.
93027         * m4/no-c++.m4: New file.
93028         * MODULES.html.sh (Support for building libraries and executables):
93029         Add no-c++.
93031 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
93033         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
93034         Include <limits.h>, and use its INT_MAX to rewrite the
93035         j loop so that it does not overflow 'int'.  Problem reported by
93036         Ralf Wildenhues in
93037         <http://lists.gnu.org/r/bug-gnulib/2006-12/msg00084.html>.
93038         Play it safe by shifting left by 1 rather than multiplying by 2,
93039         as GCC is less likely to optimize this away when the value
93040         is signed (when it assumes overflow leads to undefined behavior).
93041         Also, don't assume time_t uses two's complement.
93043 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
93045         * MODULES.html.sh: New module wctype.
93046         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
93047         * lib/fnmatch.c: Don't bother to include <wchar.h> before
93048         <wctype.h>, since the new wctype module should fix this.
93049         * lib/quotearg.c: Include <wctype.h> unconditionally, since
93050         the wctype module should arrange for it.
93051         * lib/regex_internal.h: Likewise.
93052         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
93053         since the wctype module should handle this now.
93054         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
93055         * modules/fnmatch (Depends-on): Add wctype.
93056         * modules/quotearg (Depends-on): Likewise.
93057         * modules/regex (Depends-on): Likewise.
93059 2006-12-19  Bruno Haible  <bruno@clisp.org>
93061         * lib/strdup.h [C++]: Wrap definitions in extern "C".
93062         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
93064 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
93066         * modules/savewd (Depends-on): Fix dependency on fcntl.
93068 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
93070         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
93071         conforms to C99, rather than relying on the user's environment
93072         setting of STDINT_H.
93074 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
93075         and Eric Blake  <ebb9@byu.net>
93077         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
93078         This is more consistent with the other defines here.
93079         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
93080         Port to z/OS.  Problem reported by Paul Gilmartin.
93081         Change local vars to use gl_ prefix rather than ac_.
93082         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
93083         with other defines.
93084         * modules/double-slash-root: New module.
93085         * modules/dirname (Files): Remove m4/double-slash-root.m4.
93086         (Depends-on): Add double-slash-root.
93087         * MODULES.html.sh (File system functions): Mention new module.
93089 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
93091         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
93092         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
93093         This is for the benefit of gzip, which doesn't do i18n.
93095 2006-12-12  Jim Meyering  <jim@meyering.net>
93097         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
93098         Reported by Andreas Schwab <schwab@suse.de>.
93100 2006-12-12  Bruno Haible  <bruno@clisp.org>
93102         Merge these changes.
93103         2006-09-05  Bruno Haible  <bruno@clisp.org>
93104         * lib/iconvme.c (iconv_string): No need to save and restore errno when
93105         iconv_alloc succeeded.
93106         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
93107         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
93108         test for " && dest " at the end - dest is always != NULL there. Call
93109         iconv with 4xNULL arguments initially, to reset the state. Call iconv
93110         with 2xNULL arguments, also to flush the state storage. Handle the
93111         IRIX iconv behaviour. Realloc the final result, to throw away unused
93112         memory.
93114 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
93116         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
93117         and fchmodat unconditionally, since glibc 2.4 has them.
93118         Problem reported by Arkadiusz Miskiewicz.
93120 2006-12-10  Bruno Haible  <bruno@clisp.org>
93122         * gnulib-tool (func_import): Show the include files only for those
93123         modules that are copied and specified.
93124         Reported by Karl Berry.
93126 2006-12-08  Jim Meyering  <jim@meyering.net>
93128         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
93129         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
93131         * build-aux/announce-gen: Add two new options, both optional:
93132         --bootstrap-tools=TOOL_LIST
93133               a comma-separated list of tools, e.g.,
93134               autoconf,automake,bison,gnulib
93135         --gnulib-snapshot-date=DATE
93136               if gnulib is in the bootstrap tool list,
93137               then report this as the snapshot date.
93138               If not specified, use the current date/time.
93139               If you specify a date here, be sure it's UTC.
93141 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
93143         * tests/test-argp-2.sh: Fix test to match actual output.
93144         (func_compare): Fix sed script to be portable.
93146 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
93148         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
93149         workaround for this case.  It is not autoconfigured now; offhand
93150         it's hard to see how to autoconfigure it.
93152 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
93154         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
93155         a directory that is about to be chowned.  Such a directory's
93156         initial file permissions should permit the owner only and this
93157         should not be changed until after the chown, since the group and
93158         other bits would be incorrect if they granted permission before
93159         the chown.
93161         Fix porting problem for iswctype reported by Georg Schwarz in:
93162         http://lists.gnu.org/r/bug-coreutils/2006-12/msg00017.html
93163         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
93164         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
93165         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
93166         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
93168 2006-12-03  Jim Meyering  <jim@meyering.net>
93170         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
93171         p->fts_statp may not yet be defined.
93172         (fts_read): Instead, set it in the caller, once p->fts_statp is
93173         sure to be defined, and corresponds to a top-level directory.
93174         This bug made du -x fail.  Here's the coreutils test case:
93175         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
93176         Reported by Mike Frysinger.
93178 2006-12-01  Jim Meyering  <jim@meyering.net>
93180         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
93181         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
93182         Reported by Simon Josefsson.
93184 2006-11-30  Jim Meyering  <jim@meyering.net>
93186         * m4/warning.m4: Use the all-permissive copyright notice
93187         recommended by RMS (rather than LGPL).
93188         * m4/vararrays.m4: Likewise.
93189         * m4/flexmember.m4: Likewise.
93191 2006-11-29  Bruno Haible  <bruno@clisp.org>
93193         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
93194         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
93195         using +=.
93196         Reported by Simon Josefsson <simon@josefsson.org>.
93198 2006-11-28  James Youngman  <jay@gnu.org>
93200         * README: Advise users that they might find the bug-gnulib@gnu.org
93201         and autotools-announce@gnu.org mailing lists useful.
93203 2006-11-28  Bruno Haible  <bruno@clisp.org>
93205         * m4/ptrdiff_max.m4: Remove file.
93207 2006-11-21  Bruno Haible  <bruno@clisp.org>
93209         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
93210         _AC_COMPUTE_INT.
93211         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
93212         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
93213         _AC_COMPUTE_INT.
93214         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
93215         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
93216         _AC_COMPUTE_INT.
93217         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
93219 2006-11-28  Jim Meyering  <jim@meyering.net>
93221         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
93222         warning from "gcc -Wshadow" about shadowing the builtin.
93224 2006-11-27  Bruno Haible  <bruno@clisp.org>
93226         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
93227         _AC_COMPUTE_INT.
93228         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
93230 2006-11-27  Bruno Haible  <bruno@clisp.org>
93231             Paul Eggert  <eggert@cs.ucla.edu>
93233         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
93235 2006-11-26  Bruno Haible  <bruno@clisp.org>
93237         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
93238         noinst_LTLIBRARIES.
93240 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
93241             Bruno Haible  <bruno@clisp.org>
93243         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
93244         if compiling with "gcc -ansi".
93246 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
93248         Fix some incompatibilities with gcc -ansi -pedantic.
93249         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
93250         if compiling pedantically with GCC, unless it's C99 or later.
93251         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
93252         it mishandles gcc -ansi -pedantic as well.
93253         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
93254         if gcc -pedantic.
93255         * lib/regexec.c (check_node_accept_bytes): Don't use auto
93256         initializers for struct if -pedantic, unless it's C99 or later.
93258 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
93260         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
93261         Don't close an fd more than once. Identical atimes indicate
93262         success, not failure.
93264 2006-11-22  Robinson Mittmann  <bob@hoplon.com>  (tiny change)
93266         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
93268 2006-11-23  Jim Meyering  <jim@meyering.net>
93270         * build-aux/announce-gen: New file.  From coreutils.
93272 2006-11-22  Jim Meyering  <jim@meyering.net>
93274         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
93275         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
93276         (fts_read): Use a temporary to narrow the overused st_size member
93277         before using it in a switch statement.  Reported by Matthew Woehlke.
93279         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
93280         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
93282 2006-11-20  Bruno Haible  <bruno@clisp.org>
93284         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
93285         changequote instead of pairs of brackets.
93286         Reported by Andreas Schwab <schwab@suse.de>.
93288 2006-11-21  Jim Meyering  <jim@meyering.net>
93290         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
93291         so as to remain compatible with older compilers.
93292         Patch from Michael Deutschmann.
93294 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
93296         * MODULES.html.sh (File system functions): Add openat.
93298         * lib/openat.h (rpl_fstatat): New macro, if
93299         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
93300         (fstatat): Define to rpl_fstatat under the same conditions,
93301         unless COMPILING_FSTATAT.
93302         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
93303         seems to have the bug.
93304         * lib/fstatat.c: New file.
93305         * modules/openat (Files): Add it.
93307 2006-11-20  Bruno Haible  <bruno@clisp.org>
93309         * Makefile: New file.
93311 2006-11-20  Jim Meyering  <jim@meyering.net>
93313         The beginnings of syntax-related checks for gnulib.
93314         * lib/Makefile: New file.
93315         * lib/t-idcache: New script.  Ensure that the two halves of
93316         idcache.c stay in sync.
93318         * lib/idcache.c: Adjust comments in user- and group- portions to
93319         be more accurate, and to be consistent with one another.
93321 2006-11-20  Jim Meyering  <jim@meyering.net>
93323         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
93324         continue using the flexible array member (thus, this module performs
93325         half as many malloc calls), with the addition that...
93326         (getgroup, getuser): Consistently record a non-match via an empty
93327         "name" string, and map an empty string match to a NULL return value.
93328         * modules/idcache (Depends-on): Re-add flexmember.
93330         * lib/idcache.c (getuser): Remove all uses of the register keyword.
93331         (getuidbyname, getgroup, getgidbyname): Likewise.
93333         Use cleaner syntax: NULL rather than 0.
93334         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
93336 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
93338         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
93339         It mishandled the case where the group was missing.
93340         Problem reported by Greg Schafer.
93341         * modules/idcache: Likewise.
93343 2006-11-18  Jim Meyering  <jim@meyering.net>
93345         * check-module (%exempt_header): Add exception for some
93346         conditionally-included headers.
93348         * modules/i-ring (Depends-on): Add verify.
93349         (License): Change to LGPL.
93351 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
93353         * modules/getaddrinfo (Depends-on): Remove inttostr; add snprintf.
93354         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
93355         and inttostr.h.  Use snprintf rather than uinttostr, so that
93356         LGPLed code doesn't depend on GPLed.
93358 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
93360         * modules/inline (License): Change from GPL to LGPL.
93362 2006-11-17  Jim Meyering  <jim@meyering.net>
93364         * modules/d-type (License): Switch to LGPL.
93366 2006-11-15  Bruno Haible  <bruno@clisp.org>
93368         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
93370 2006-11-15  Eric Blake  <ebb9@byu.net>
93372         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
93373         the module dependency.
93375 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
93376             Bruno Haible  <bruno@clisp.org>
93378         * gnulib-tool (func_create_testdir): Add license consistency check.
93380 2006-11-15  Eric Blake  <ebb9@byu.net>
93382         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
93383         random "(cached)" in configure output.
93385 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
93387         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
93388         test for conforming inttypes.h is both announced and cached.
93390         * MODULES.html.sh (seen_modules, seen_files): New variables.
93391         (func_module): Rewrite to use a few less gnulib-tool and sed
93392         invocations.  Avoid a couple of quadratic algorithms for ...
93393         (missed_modules, missed_files): ... these, with ...
93394         (func_append, func_tmpdir): ... these new functions, from
93395         gnulib-tool.  Analogously, install traps for cleanup.
93397         * tests/test-gc.c (main): Remove unused variables.
93398         * tests/test-read-file.c: Include stdlib.h, for 'free'.
93400 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
93402         * modules/inttostr (License): Change to LGPL.
93404 2006-11-14  Eric Blake  <ebb9@byu.net>
93406         * modules/tempname (License): Change to LGPL.
93408 2006-11-14  Eric Blake  <ebb9@byu.net>
93410         * doc/functions.texi (Function Portability): *printf functions on
93411         Cygwin now understand all POSIX size specifiers.
93413 2006-11-14  Bruno Haible  <bruno@clisp.org>
93415         * modules/c-ctype (License): Change to LGPL.
93417 2006-11-12  Bruno Haible  <bruno@clisp.org>
93419         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
93420         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
93421         for GNOME libraries, for which the include files are installed in
93422         subdirectories of $prefix/include.
93424 2006-11-12  Bruno Haible  <bruno@clisp.org>
93426         * m4/lib-link.m4: Require at least autoconf-2.54.
93427         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
93428         name to underscores for the --with option.
93430 2006-11-13  Bruno Haible  <bruno@clisp.org>
93432         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
93433         the tests directory.
93434         Reported by Ralf Wildenhues.
93436 2006-11-13  Bruno Haible  <bruno@clisp.org>
93438         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
93439         (func_emit_initmacro_end): Undo the override here.
93440         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
93441         Works around the famous automake error in coreutils.
93443 2006-11-13  Eric Blake  <ebb9@byu.net>
93445         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
93446         element, not its node.
93448 2006-11-12  Bruno Haible  <bruno@clisp.org>
93450         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
93451         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
93453 2006-11-12  Bruno Haible  <bruno@clisp.org>
93455         * gnulib-tool: New option --local-symlink.
93456         (func_usage): Document it.
93457         (lsymbolic): New variable.
93458         (func_import, func_create_testdir): If --symlink was not specified,
93459         test whether --local-symlink was specified and the file comes from
93460         the local_gnulib_dir.
93462 2006-11-12  Bruno Haible  <bruno@clisp.org>
93464         * gnulib-tool (func_ln): New function.
93465         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
93467 2006-11-12  Bruno Haible  <bruno@clisp.org>
93469         Finish support for source files in subdirectories.
93470         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
93471         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
93472         AUTOMAKE_OPTIONS.
93473         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
93475 2006-11-12  Bruno Haible  <bruno@clisp.org>
93477         * gnulib-tool (func_get_automake_snippet): Synthesize also an
93478         EXTRA_lib_SOURCES augmentation.
93479         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
93481 2006-11-12  Jim Meyering  <jim@meyering.net>
93483         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
93484         file descriptors.  This also averts a failure on systems with
93485         native openat support when a traversed directory lacks "x" access.
93486         * lib/fts_.h: Include "i-ring.h"
93487         (struct FTS) [fts_fd_ring]: New member.
93488         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
93489         (FCHDIR): Add parentheses.
93490         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
93491         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
93492         When descending, rather than simply closing the previous
93493         fts_cwd_fd value, push that file descriptor onto the ring.
93494         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
93495         (fts_open): Initialize the new fd_ring member.
93496         (fts_close): Clear the ring.
93497         (fts_safe_changedir): When possible, use our new fd_ring to skip
93498         the diropen and fstat and dev/ino comparison that would normally
93499         accompany a virtual `chdir ("..")'.
93501         * modules/fts (Depends-on): Add i-ring.
93502         * modules/i-ring: New module.
93503         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
93504         * m4/i-ring.m4: New file.
93506 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
93508         * gnulib-tool (func_create_testdir): Fix replacement of
93509         `build-aux' in configure.ac.  Run autotools in gltests
93510         subdirectory.
93511         (func_create_testdir, func_create_megatestdir, test): There is
93512         no need for '--force' in most autotool invocations in a new
93513         tree.  Actually fail the whole test if any of the tools, or the
93514         configure or make stages fail.
93516         Sync from Automake.
93517         * build-aux/gnupload: Revert last change.  Add pointer to upload
93518         instructions of the GNU Maintenance Instructions.
93519         Suggestion by Karl Berry.
93521 2006-11-10  Jim Meyering  <jim@meyering.net>
93523         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
93525 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
93527         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
93528         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
93529         (bind_textdomain_codeset) [! ENABLE_NLS]:
93530         Evaluate all the arguments.  That way, callers get compatible behavior
93531         if the arguments have side effects.  Also, it avoids some GCC
93532         diagnostics in some cases; Joel E. Denny reported problems when Bison
93533         was configured with --enable-gcc-warnigs.
93535 2006-11-10  Jim Meyering  <jim@meyering.net>
93537         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
93538         relevant options in CFLAGS (like -O, -fno-inline) are taken into
93539         account.
93541 2006-11-10  Jim Meyering  <jim@meyering.net>
93543         * modules/inline: New file/module.
93544         * modules/xalloc (Files): Remove m4/inline.m4.
93545         (Depends-on): Add inline, instead.
93546         * modules/oset: Likewise.
93547         * modules/list: Likewise.
93549 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
93551         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
93552         Problem reported by Matthew Woehlke.
93554 2006-11-09  Bruno Haible  <bruno@clisp.org>
93556         * lib/tempname.c (gen_tempname): Remove variant that invokes
93557         __gen_tempname.
93558         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
93559         __gen_tempname.
93561 2006-11-08  Bruno Haible  <bruno@clisp.org>
93563         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
93564         to 'yes' instead of 'cross-compiling'.
93566 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
93568         * lib/quotearg.h (quotearg_free): New decl.
93569         * lib/quotearg.c (quotearg_free): New function.
93570         (slot0, nslots, slotvec0, slotvec):
93571         Now file-scope so that quotearg_free can get at them.
93573 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
93575         Sync from Automake.
93576         * build-aux/gnupload: Add missing 'gnu' to example URL.
93577         Report by Karl Berry.
93579 2006-11-08  Bruno Haible  <bruno@clisp.org>
93581         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
93582         Suggested by Paul Eggert.
93584 2006-11-08  Jim Meyering  <jim@meyering.net>
93586         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
93587         It's already included if !_LIBC.
93588         (fts_safe_changedir): Add a comment.
93590 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
93592         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
93593         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
93594         Matthew Woehlke.
93596         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
93597         definitions up, to avoid colliding with change below.
93598         (static_inline) [HAVE_INLINE]: New macro.
93599         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
93600         Provide extern decls when !HAVE_INLINE.  Do not define unless
93601         static_inline is defined, either by us or by xmalloc.c.  Use
93602         static_inline rather than static inline.
93603         (XCALLOC): Optimize sizeof(T) = 1 case.
93604         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
93606 2006-11-07  Bruno Haible  <bruno@clisp.org>
93608         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
93609         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
93610         AC_C_INLINE.
93611         * modules/xalloc (Files): Add m4/inline.m4.
93613 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
93615         * README: Fix typo.
93616         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
93617         (Miscellanous Notes): ...from this.
93619 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
93621         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
93622         Mention that offsetof should be used instead of sizeof.
93623         From Bruno Haible.
93625 2006-11-07  Bruno Haible  <bruno@clisp.org>
93627         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
93629 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
93631         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
93632         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
93633         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
93634         (gl_tree_add_before, gl_tree_add_after):
93635         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
93636         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
93637         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
93638         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
93639         (gl_linked_add_after, gl_linked_add_at): Likewise.
93640         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
93641         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
93642         (gl_tree_add_before, gl_tree_add_after): Likewise.
93643         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
93644         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
93645         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
93647 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
93649         * lib/gl_oset.h: Use C comment style, not C++ comment style.
93651 2006-11-06  Bruno Haible  <bruno@clisp.org>
93653         * m4/inline.m4: New file.
93654         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
93655         * modules/list (Files): Add m4/inline.m4.
93656         * modules/oset (Files): Likewise.
93658 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
93660         * lib/idcache.c: Include <stddef.h>, for offsetof.
93661         (struct userid.name): Change from char * to a flexible array member.
93662         All uses changed.
93663         * modules/idcache (Depends-on): Add flexmember.
93665         * MODULES.html.sh (Core language properties): New module flexmember.
93666         * modules/flexmember, m4/flexmember.m4: New files.
93668         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
93669         inline functions that are identical with the old xnmalloc_inline,
93670         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
93671         that we can avoid some unnecessary integer multiplications and
93672         divisions in the common case where the element size is known at
93673         compile time.
93674         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
93675         needed.
93676         (xnboundedmalloc): Remove.
93677         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
93678         arguments, for consistency with rest of this header.
93679         (xcharalloc): Rewrite using XNMALLOC.
93680         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
93681         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
93682         versions have been moved to lib/xalloc.h and renamed to be the
93683         non-*_inline versions.
93684         (xmalloc, xrealloc): Implement without reference to the xnmalloc
93685         and xnrealloc functions, since those functions are now inline and
93686         now call us.
93687         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
93688         renaming described above.
93689         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
93690         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
93691         captures the dependency in AC_C_INLINE.
93693         New module canonicalize-lgpl, proposed by Charles Wilson in
93694         <http://lists.gnu.org/r/bug-gnulib/2006-11/msg00020.html>
93695         with a few small changes afterwards.
93696         * MODULES.html.sh (File system functions): New module
93697         canonicalize-lgpl.
93698         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
93699         and canonicalize_file_name.
93700         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
93701         * modules/canonicalize-lgpl: New files.
93703 2006-11-05  Bruno Haible  <bruno@clisp.org>
93705         * gnulib-tool (func_import, func_create_testdir): Create directories
93706         also for files in subdirectories of lib/.
93708 2006-11-05  Bruno Haible  <bruno@clisp.org>
93710         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
93711         ANSI C compliant.
93713 2006-11-03  Bruno Haible  <bruno@clisp.org>
93715         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
93716         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
93717         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
93718         (xnboundedmalloc): New inline function.
93719         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
93720         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
93721         xmalloc.
93722         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
93723         xmalloc.
93724         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
93725         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
93726         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
93727         xmalloc.
93728         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
93729         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
93730         xmalloc.
93731         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
93732         gl_tree_add_after): Use XMALLOC instead of xmalloc.
93733         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
93734         xmalloc.
93735         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
93736         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
93737         gl_tree_add_after): Use XMALLOC instead of xmalloc.
93738         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
93739         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
93740         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
93741         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
93743 2006-11-03  Bruno Haible  <bruno@clisp.org>
93745         * lib/c-ctype.h [C++]: Define functions without name mangling.
93746         * lib/fwriteerror.h [C++]: Likewise.
93747         * lib/gcd.h [C++]: Likewise.
93748         * lib/linebreak.h [C++]: Likewise.
93750 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
93752         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
93753         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
93754         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
93755         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
93756         Check for functions and headers just once.
93757         Check for declaration of canonicalize_file_name.
93758         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
93760 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
93762         * gnulib-tool (func_import): Fix typo in actioncmd.
93764 2006-11-02  Bruno Haible  <bruno@clisp.org>
93766         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
93767         newline sequence in the Makefile.am snippet as a space, like "make"
93768         does.
93769         Reported by Roger Persson <perrog@gmail.com>.
93771 2006-11-01  Bruno Haible  <bruno@clisp.org>
93773         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
93774         already declared in <string.h>.
93775         * lib/strcase.h (strncasecmp): Don't declare it if yes.
93777 2006-11-01  Bruno Haible  <bruno@clisp.org>
93779         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
93780         * lib/strcase.h: Include <string.h>.
93781         (strcasecmp): Define to rpl_strcasecmp here.
93783 2006-11-01  Bruno Haible  <bruno@clisp.org>
93785         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
93787 2006-11-01  Eric Blake  <ebb9@byu.net>
93789         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
93791         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
93793 2006-10-29  Bruno Haible  <bruno@clisp.org>
93795         Make it compile in C++ mode.
93796         * lib/full-write.c (full_rw): Add a cast.
93798 2006-11-01  Bruno Haible  <bruno@clisp.org>
93800         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
93801         be POSIX compliant.
93802         Reported by Roger Persson <perrog@gmail.com>.
93804 2006-11-01  Eric Blake  <ebb9@byu.net>
93806         * lib/getopt_.h: Fix comments.
93808 2006-10-31  Eric Blake  <ebb9@byu.net>
93810         * modules/tmpdir (Depends-on): Add sys_stat.
93811         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
93812         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
93813         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
93814         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
93815         tempname.
93817 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
93819         Avoid some C++ diagnostics reported by Bruno Haible.
93820         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
93821         xmalloc.
93822         (quotearg_alloc): Use xcharalloc rather than xmalloc.
93823         (struct slotvec): Move to top level.
93824         (quotearg_n_options): Rewrite to avoid xmalloc.
93825         * lib/xalloc.h (xcharalloc): New function.
93826         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
93827         [defined __cplusplus]: Add function template that provides result
93828         type propagation.  This part of the change is from Bruno Haible.
93830 2006-10-29  Bruno Haible  <bruno@clisp.org>
93832         Make it compile in C++ mode.
93833         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
93834         * lib/strnlen1.c (strnlen1): Cast memchr result.
93835         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
93836         * lib/clean-temp.c (string_equals, string_hash): Add casts.
93837         (create_temp_dir): Rename local variable 'template'.
93838         (compile_csharp_using_sscli): Add cast.
93839         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
93840         * lib/findprog.c (find_in_path): Likewise.
93841         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
93842         * lib/wait-process.c (register_slave_subprocess): Likewise.
93844 2006-10-22  Bruno Haible  <bruno@clisp.org>
93846         * modules/tsearch: New file.
93847         * lib/tsearch.h: New file.
93848         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
93849         * m4/tsearch.m4: New file.
93850         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
93852 2006-10-29  Eric Blake  <ebb9@byu.net>
93854         * lib/arcfour.c: Assume config.h.
93855         * lib/arctwo.c: Likewise.
93856         * lib/base64.c: Likewise.
93857         * lib/check-version.c: Likewise.
93858         * lib/crc.c: Likewise.
93859         * lib/des.c: Likewise.
93860         * lib/gc-gnulib.c: Likewise.
93861         * lib/gc-libgcrypt.c: Likewise.
93862         * lib/gc-pbkdf2-sha1.c: Likewise.
93863         * lib/getaddrinfo.c: Likewise.
93864         * lib/getdelim.c: Likewise.
93865         * lib/getline.c: Likewise.
93866         * lib/hmac-md5.c: Likewise.
93867         * lib/hmac-sha1.c: Likewise.
93868         * lib/iconvme.c: Likewise.
93869         * lib/md2.c: Likewise.
93870         * lib/md4.c: Likewise.
93871         * lib/memxor.c: Likewise.
93872         * lib/read-file.c: Likewise.
93873         * lib/readline.c: Likewise.
93874         * lib/rijndael-alg-fst.c: Likewise.
93875         * lib/rijndael-api-fst.c: Likewise.
93876         * lib/xgetdomainname.c: Likewise.
93878 2006-10-28  Eric Blake  <ebb9@byu.net>
93880         * lib/xstrndup.c: Assume config.h.
93882 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
93884         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
93885         stat-macros.h is now for our own macros, whereas stat_h is for
93886         macros in the <sys/stat.h> name space.
93887         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
93888         (STAT_MACROS_H): Remove.
93889         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
93890         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
93891         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
93892         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
93893         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
93894         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
93895         Move these macros to ...
93896         * lib/stat_.h: here.  Don't include stat-macros.h.
93897         * lib/canonicalize.c: Don't include stat-macros.h.
93898         * lib/chown.c: Likewise.
93899         * lib/euidaccess.c: Likewise.
93900         * lib/file-type.c: Likewise.
93901         * lib/filemode.c: Likewise.
93902         * lib/glob.c: Likewise.
93903         * lib/isapipe.c: Likewise.
93904         * lib/lchown.c: Likewise.
93905         * lib/lstat.c: Likewise.
93906         * lib/mkdir-p.c: Likewise.
93907         * lib/rmdir.c: Likewise.
93908         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
93909         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
93910         unless mkdir isn't declared, to speed up 'configure'.
93911         Always create sys/stat.h, since it's unlikely any real sys/stat.h
93912         would define all the S_* symbols.
93913         * modules/canonicalize (Depends-on):
93914         Depend on sys_stat, not stat-macros.
93915         * modules/chown: Likewise.
93916         * modules/euidaccess: Likewise.
93917         * modules/filemode: Likewise.
93918         * modules/file-type: Likewise.
93919         * modules/glob: Likewise.
93920         * modules/isapipe: Likewise.
93921         * modules/lchown: Likewise.
93922         * modules/lstat: Likewise.
93923         * modules/mkancesdirs: Likewise.
93924         * modules/rmdir: Likewise.
93925         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
93926         * modules/modechange: Likewise.
93927         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
93928         (configure.ac): Remove gl_STAT_MACROS.
93929         * modules/sys_stat (Depends-on): Remove stat-macros.
93931 2006-10-27  Bruno Haible  <bruno@clisp.org>
93933         * m4/signed.m4: Remove file.
93934         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
93935         invocation.
93936         * modules/vasnprintf (Files): Remove m4/signed.m4.
93938 2006-10-27  Bruno Haible  <bruno@clisp.org>
93940         Update to GNU gettext 0.16.
93941         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
93942         m4/inttypes-h.m4, m4/signed.m4.
93943         * m4/gettext.m4: Update to GNU gettext 0.16.
93944         * m4/intl.m4: New file, from GNU gettext.
93945         * m4/intldir.m4: New file, from GNU gettext.
93946         * config/srclist.txt: Update
93948 2006-10-27  Eric Blake  <ebb9@byu.net>
93950         * MODULES.html.sh: Document tempname.
93951         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
93952         dependencies.
93953         (Files): Move lib/tempname.c...
93954         * modules/tempname: ...to this new module.
93955         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
93956         (gl_PREREQ_TEMPNAME): Move...
93957         * m4/tempname.m4: ...to this new file.
93958         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
93959         * modules/sys_stat (Depends-on): Add stat-macros.
93960         * lib/stat_.h (includes): Pick up stat macros.
93961         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
93962         if stat macros are broken.
93963         * lib/tempname.c (includes): No need to include "stat-macros.h".
93964         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
93965         (direxists, __path_search) [!_LIBC]: Don't compile these in
93966         gnulib; the tmpdir module covers that.
93967         * lib/tempname.h: New file.
93969 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
93971         * COPYING: Explain how gnulib-tool converts licence headers.
93972         Almost all wording by Eric Blake.
93974 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
93976         * lib/mbchar.h (is_basic_table): Make read-only.
93977         * lib/mbchar.c (is_basic_table): Likewise.
93978         Reported by John Darrington.
93980 2006-10-25  Bruno Haible  <bruno@clisp.org>
93982         * lib/progname.h (set_program_name): Undefine before defining.
93984 2006-10-25  Bruno Haible  <bruno@clisp.org>
93986         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
93987         false for non-gcc C++ compilers.
93988         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
93990 2006-10-24  Bruno Haible  <bruno@clisp.org>
93992         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
93993         iconv implementations like Irix iconv.
93995 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
93997         * modules/vararrays: New file.
93998         * m4/vararrays.m4: New file, taken from diffutils.
93999         * MODULES.html.sh: New module vararrays.
94001 2006-10-24  Karl Berry  <karl@gnu.org>
94003         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
94004         Don't call GNU Unix.
94006 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
94008         * users.txt: Add Libtool.
94010         Sync from Libtool:
94012         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
94014         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
94015         to gnulib's policy of including config.h unconditionally.
94017 2006-10-24  Bruno Haible  <bruno@clisp.org>
94019         * modules/wcwidth (Files): Add m4/wint_t.m4.
94020         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
94021         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
94023 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
94025         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
94026         to pacify GCC with some -W flags enabled.  Problem reported by
94027         Bruno Haible.
94029 2006-10-24  Jim Meyering  <jim@meyering.net>
94031         * MODULES.html.sh: Remove uinttostr.  It's not a module.
94032         Reported by Karl Berry.
94034 2006-10-23  Bruno Haible  <bruno@clisp.org>
94036         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
94038 2006-10-24  Bruno Haible  <bruno@clisp.org>
94040         * lib/gl_list.h: Use C comment style, not C++ comment style.
94042 2006-10-23  Eric Blake  <ebb9@byu.net>
94044         * lib/getaddrinfo.c (includes): Add missing include.
94046 2006-10-23  Bruno Haible  <bruno@clisp.org>
94047             Paul Eggert  <eggert@cs.ucla.edu>
94049         Ability to rename obstack_free.
94050         * lib/obstack.h (__obstack_free): New macro. Declare instead of
94051         obstack_free.
94052         (obstack_free): Invoke the __obstack_free macro.
94053         * lib/obstack.c (obstack_free): Use __obstack_free macro.
94055 2006-10-23  Bruno Haible  <bruno@clisp.org>
94056             Paul Eggert  <eggert@cs.ucla.edu>
94058         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
94059         __argc, __argv from the declaration. (They are defined as macros on
94060         mingw.)
94062 2006-10-22  Bruno Haible  <bruno@clisp.org>
94064         * doc/gnulib-intro.texi: New file.
94065         * doc/gnulib.texi: Include it.
94067 2006-10-21  Bruno Haible  <bruno@clisp.org>
94069         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
94070         "Introduction", "Miscellanous Notes", "Particular Modules".
94072 2006-10-21  Bruno Haible  <bruno@clisp.org>
94074         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
94075         Change mostlyclean-local rule to avoid sh syntax error from bash
94076         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
94078 2006-10-23  Jim Meyering  <jim@meyering.net>
94080         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
94081         in place of snprintf.
94083         * modules/inttostr (Files): Add lib/uinttostr.c.
94084         * lib/uinttostr.c (inttostr): New file/function.
94085         * lib/inttostr.h (uinttostr): Declare.
94086         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
94087         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
94088         Add uinttostr.
94089         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
94091 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
94093         * lib/canonicalize.c (ELOOP): Define if not already defined.
94094         Problem reported by Bruno Haible in
94095         <http://lists.gnu.org/r/bug-gnulib/2006-10/msg00282.html>.
94097 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
94099         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
94100         Problem reported by Perry Smith and Ville Laurikari.
94102         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
94103         uses.
94105 2006-10-19  Bruno Haible  <bruno@clisp.org>
94107         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
94108         for mingw.
94110 2006-10-19  Bruno Haible  <bruno@clisp.org>
94112         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
94113         Needed for mingw.
94115 2006-10-19  Bruno Haible  <bruno@clisp.org>
94117         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
94119 2006-10-19  Bruno Haible  <bruno@clisp.org>
94121         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
94122         it.
94124 2006-10-19  Bruno Haible  <bruno@clisp.org>
94126         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
94127         invocation.
94129 2006-10-19  Bruno Haible  <bruno@clisp.org>
94131         * gnulib-tool (func_create_testdir): Don't include ftruncate and
94132         mountlist by default.
94134 2006-10-16  Bruno Haible  <bruno@clisp.org>
94136         * lib/c-strstr.c: Include c-strstr.h.
94138 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
94140         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
94141         in a slash.
94143 2006-10-18  Bruno Haible  <bruno@clisp.org>
94145         * lib/lock.h [C++]: Wrap definitions in extern "C".
94147 2006-10-18  Bruno Haible  <bruno@clisp.org>
94149         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
94150         gl_LIBOBJS list.
94152 2006-10-18  Bruno Haible  <bruno@clisp.org>
94154         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
94156 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
94158         * lib/xstrtol.h: Include gettext.h.
94159         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
94160         Problem reported by Eric Blake.
94161         * modules/xstrtol (Depends-on): Add gettext-h.
94163 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
94165         * lib/strftime.c (advance): New macro.
94166         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
94167         incomplete type, so you can't add 0 to it.  Problem and patch
94168         reported by Eelco Dolstra for dietlibc.
94170 2006-10-18  Jim Meyering  <jim@meyering.net>
94172         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
94173         type for a local, and rename it: s/up/user_proc/.
94175 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
94177         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
94178         READ_UTMP_USER_PROCESS.
94179         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
94181 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
94183         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
94184         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
94186 2006-10-17  Eric Blake  <ebb9@byu.net>
94188         * lib/sigprocmask.c (sigprocmask): Fix typo.
94190         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
94192         * modules/clean-temp (Makefile.am): Don't add to make output...
94193         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
94194         config.h.
94196 2006-10-17  Bruno Haible  <bruno@clisp.org>
94198         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
94199         differently if DEFAULT_TEXT_DOMAIN is set.
94201 2006-10-16  Bruno Haible  <bruno@clisp.org>
94203         * lib/clean-temp.c: Include fwriteerror.h.
94205 2006-10-16  Bruno Haible  <bruno@clisp.org>
94207         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
94209 2006-10-16  Bruno Haible  <bruno@clisp.org>
94211         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
94212         * lib/sigprocmask.h: Include <sys/types.h>.
94213         (sigset_t): Use the system's definition if present.
94215 2006-10-17  Eric Blake  <ebb9@byu.net>
94217         * lib/xvasprintf.c (includes): Assume config.h.
94218         * lib/xasprintf.c (includes): Likewise.
94220 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
94222         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
94223         at least as wide as intmax_t.
94225 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
94227         (Imported from Automake.)
94228         * build-aux/gnupload: Update to version 1.1 of directive file.
94230 2006-10-16  Eric Blake  <ebb9@byu.net>
94232         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
94233         match Automake 1.10a.
94235 2006-10-14  Bruno Haible  <bruno@clisp.org>
94237         * modules/sigprocmask: New file.
94238         * lib/sigprocmask.h: New file.
94239         * lib/sigprocmask.c: New file.
94240         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
94241         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
94242         request sigprocmask.o.
94243         (gl_PREREQ_SIGPROCMASK): New macro.
94244         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
94245         (Depends-on): Add sigprocmask.
94246         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
94247         gt_SIGNALBLOCKING. Test for 'raise' only once.
94248         * lib/fatal-signal.c: Include sigprocmask.h.
94249         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
94250         unblock_fatal_signals): Define always.
94251         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
94252         sigprocmask.
94254 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
94256         Sync from Automake.
94257         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
94258         which incorrectly sets the mode of an existing destination
94259         directory.  In some cases the unpatched install-sh could do the
94260         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
94261         system.  We hope this is rare in practice, but it's clearly worth
94262         fixing.  Problem reported by Alex Unleashed in
94263         <http://lists.gnu.org/r/bug-autoconf/2006-10/msg00012.html>.
94264         Also, don't bother to check for -m bugs unless we're using -m;
94265         suggested by Stepan Kasal.
94267 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
94269         Sync from Automake.
94270         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
94271         `-c' flag, so they appear at the same position as in %FASTDEP%
94272         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
94273         which ignores unknown options only after the first non-option.
94274         Bug report against M4 by Nelson H. F. Beebe.
94276 2006-10-13  Jim Meyering  <jim@meyering.net>
94278         Fix a bug in yesterday's change.
94279         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
94280         p->fts_statp->st_dev would be used uninitialized.
94281         Ensures that we always call fts_stat on the very first entry.
94282         Miklos Szeredi reported that find -xdev stopped working.
94284 2006-10-12  Bruno Haible  <bruno@clisp.org>
94286         * gnulib-tool (func_get_automake_snippet): Append an automatically
94287         computed EXTRA_DIST augmentation.
94288         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
94289         * modules/alloca-opt (Makefile.am): Likewise.
94290         * modules/allocsa (Makefile.am): Likewise.
94291         * modules/arcfour (Makefile.am): Likewise.
94292         * modules/arctwo (Makefile.am): Likewise.
94293         * modules/argmatch (Makefile.am): Likewise.
94294         * modules/argz (Makefile.am): Likewise.
94295         * modules/atexit (Makefile.am): Likewise.
94296         * modules/backupfile (Makefile.am): Likewise.
94297         * modules/byteswap (Makefile.am): Likewise.
94298         * modules/c-strtod (Makefile.am): Likewise.
94299         * modules/c-strtold (Makefile.am): Likewise.
94300         * modules/calloc (Makefile.am): Likewise.
94301         * modules/canon-host (Makefile.am): Likewise.
94302         * modules/canonicalize (Makefile.am): Likewise.
94303         * modules/chdir-long (Makefile.am): Likewise.
94304         * modules/chdir-safer (Makefile.am): Likewise.
94305         * modules/check-version (Makefile.am): Likewise.
94306         * modules/chown (Makefile.am): Likewise.
94307         * modules/cloexec (Makefile.am): Likewise.
94308         * modules/close-stream (Makefile.am): Likewise.
94309         * modules/closeout (Makefile.am): Likewise.
94310         * modules/crc (Makefile.am): Likewise.
94311         * modules/csharpexec (Makefile.am): Likewise.
94312         * modules/cycle-check (Makefile.am): Likewise.
94313         * modules/des (Makefile.am): Likewise.
94314         * modules/dev-ino (Makefile.am): Likewise.
94315         * modules/dirfd (Makefile.am): Likewise.
94316         * modules/dirname (Makefile.am): Likewise.
94317         * modules/dup2 (Makefile.am): Likewise.
94318         * modules/eealloc (Makefile.am): Likewise.
94319         * modules/error (Makefile.am): Likewise.
94320         * modules/euidaccess (Makefile.am): Likewise.
94321         * modules/exclude (Makefile.am): Likewise.
94322         * modules/exitfail (Makefile.am): Likewise.
94323         * modules/fcntl-safer (Makefile.am): Likewise.
94324         * modules/fcntl (Makefile.am): Likewise.
94325         * modules/file-type (Makefile.am): Likewise.
94326         * modules/fileblocks (Makefile.am): Likewise.
94327         * modules/filemode (Makefile.am): Likewise.
94328         * modules/filenamecat (Makefile.am): Likewise.
94329         * modules/fnmatch (Makefile.am): Likewise.
94330         * modules/fopen-safer (Makefile.am): Likewise.
94331         * modules/fpending (Makefile.am): Likewise.
94332         * modules/fprintftime (Makefile.am): Likewise.
94333         * modules/free (Makefile.am): Likewise.
94334         * modules/fsusage (Makefile.am): Likewise.
94335         * modules/ftruncate (Makefile.am): Likewise.
94336         * modules/fts (Makefile.am): Likewise.
94337         * modules/gc-arcfour (Makefile.am): Likewise.
94338         * modules/gc-des (Makefile.am): Likewise.
94339         * modules/gc-hmac-md5 (Makefile.am): Likewise.
94340         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
94341         * modules/gc-md4 (Makefile.am): Likewise.
94342         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
94343         * modules/gc-sha1 (Makefile.am): Likewise.
94344         * modules/gc (Makefile.am): Likewise.
94345         * modules/getaddrinfo (Makefile.am): Likewise.
94346         * modules/getcwd (Makefile.am): Likewise.
94347         * modules/getdelim (Makefile.am): Likewise.
94348         * modules/getdomainname (Makefile.am): Likewise.
94349         * modules/getgroups (Makefile.am): Likewise.
94350         * modules/gethostname (Makefile.am): Likewise.
94351         * modules/gethrxtime (Makefile.am): Likewise.
94352         * modules/getline (Makefile.am): Likewise.
94353         * modules/getloadavg (Makefile.am): Likewise.
94354         * modules/getlogin_r (Makefile.am): Likewise.
94355         * modules/getndelim2 (Makefile.am): Likewise.
94356         * modules/getopt (Makefile.am): Likewise.
94357         * modules/getpagesize (Makefile.am): Likewise.
94358         * modules/getpass-gnu (Makefile.am): Likewise.
94359         * modules/getpass (Makefile.am): Likewise.
94360         * modules/getsubopt (Makefile.am): Likewise.
94361         * modules/gettime (Makefile.am): Likewise.
94362         * modules/gettimeofday (Makefile.am): Likewise.
94363         * modules/getugroups (Makefile.am): Likewise.
94364         * modules/getusershell (Makefile.am): Likewise.
94365         * modules/glob (Makefile.am): Likewise.
94366         * modules/group-member (Makefile.am): Likewise.
94367         * modules/hard-locale (Makefile.am): Likewise.
94368         * modules/hash (Makefile.am): Likewise.
94369         * modules/hmac-md5 (Makefile.am): Likewise.
94370         * modules/hmac-sha1 (Makefile.am): Likewise.
94371         * modules/human (Makefile.am): Likewise.
94372         * modules/idcache (Makefile.am): Likewise.
94373         * modules/imaxabs (Makefile.am): Likewise.
94374         * modules/imaxdiv (Makefile.am): Likewise.
94375         * modules/inet_ntop (Makefile.am): Likewise.
94376         * modules/inet_pton (Makefile.am): Likewise.
94377         * modules/intprops (Makefile.am): Likewise.
94378         * modules/inttostr (Makefile.am): Likewise.
94379         * modules/inttypes (Makefile.am): Likewise.
94380         * modules/isapipe (Makefile.am): Likewise.
94381         * modules/javaversion (Makefile.am): Likewise.
94382         * modules/lchmod (Makefile.am): Likewise.
94383         * modules/lchown (Makefile.am): Likewise.
94384         * modules/localcharset (Makefile.am): Likewise.
94385         * modules/long-options (Makefile.am): Likewise.
94386         * modules/lstat (Makefile.am): Likewise.
94387         * modules/malloc (Makefile.am): Likewise.
94388         * modules/mathl (Makefile.am): Likewise.
94389         * modules/mbchar (Makefile.am): Likewise.
94390         * modules/md2 (Makefile.am): Likewise.
94391         * modules/md4 (Makefile.am): Likewise.
94392         * modules/md5 (Makefile.am): Likewise.
94393         * modules/memcasecmp (Makefile.am): Likewise.
94394         * modules/memchr (Makefile.am): Likewise.
94395         * modules/memcmp (Makefile.am): Likewise.
94396         * modules/memcoll (Makefile.am): Likewise.
94397         * modules/memcpy (Makefile.am): Likewise.
94398         * modules/memmem (Makefile.am): Likewise.
94399         * modules/memmove (Makefile.am): Likewise.
94400         * modules/mempcpy (Makefile.am): Likewise.
94401         * modules/memrchr (Makefile.am): Likewise.
94402         * modules/memset (Makefile.am): Likewise.
94403         * modules/memxor (Makefile.am): Likewise.
94404         * modules/mkancesdirs (Makefile.am): Likewise.
94405         * modules/mkdir-p (Makefile.am): Likewise.
94406         * modules/mkdir (Makefile.am): Likewise.
94407         * modules/mkdtemp (Makefile.am): Likewise.
94408         * modules/mkstemp (Makefile.am): Likewise.
94409         * modules/mktime (Makefile.am): Likewise.
94410         * modules/modechange (Makefile.am): Likewise.
94411         * modules/mountlist (Makefile.am): Likewise.
94412         * modules/nanosleep (Makefile.am): Likewise.
94413         * modules/obstack (Makefile.am): Likewise.
94414         * modules/openat (Makefile.am): Likewise.
94415         * modules/pagealign_alloc (Makefile.am): Likewise.
94416         * modules/pathmax (Makefile.am): Likewise.
94417         * modules/physmem (Makefile.am): Likewise.
94418         * modules/poll (Makefile.am): Likewise.
94419         * modules/posixtm (Makefile.am): Likewise.
94420         * modules/posixver (Makefile.am): Likewise.
94421         * modules/putenv (Makefile.am): Likewise.
94422         * modules/quote (Makefile.am): Likewise.
94423         * modules/quotearg (Makefile.am): Likewise.
94424         * modules/raise (Makefile.am): Likewise.
94425         * modules/read-file (Makefile.am): Likewise.
94426         * modules/readline (Makefile.am): Likewise.
94427         * modules/readlink (Makefile.am): Likewise.
94428         * modules/readtokens (Makefile.am): Likewise.
94429         * modules/readutmp (Makefile.am): Likewise.
94430         * modules/realloc (Makefile.am): Likewise.
94431         * modules/regex (Makefile.am): Likewise.
94432         * modules/rename-dest-slash (Makefile.am): Likewise.
94433         * modules/rename (Makefile.am): Likewise.
94434         * modules/rijndael (Makefile.am): Likewise.
94435         * modules/rmdir (Makefile.am): Likewise.
94436         * modules/rpmatch (Makefile.am): Likewise.
94437         * modules/safe-read (Makefile.am): Likewise.
94438         * modules/safe-write (Makefile.am): Likewise.
94439         * modules/same-inode (Makefile.am): Likewise.
94440         * modules/same (Makefile.am): Likewise.
94441         * modules/save-cwd (Makefile.am): Likewise.
94442         * modules/savedir (Makefile.am): Likewise.
94443         * modules/setenv (Makefile.am): Likewise.
94444         * modules/settime (Makefile.am): Likewise.
94445         * modules/sha1 (Makefile.am): Likewise.
94446         * modules/sig2str (Makefile.am): Likewise.
94447         * modules/snprintf (Makefile.am): Likewise.
94448         * modules/stat-macros (Makefile.am): Likewise.
94449         * modules/stat-time (Makefile.am): Likewise.
94450         * modules/stdbool (Makefile.am): Likewise.
94451         * modules/stdint (Makefile.am): Likewise.
94452         * modules/stdlib-safer (Makefile.am): Likewise.
94453         * modules/stpcpy (Makefile.am): Likewise.
94454         * modules/stpncpy (Makefile.am): Likewise.
94455         * modules/strcase (Makefile.am): Likewise.
94456         * modules/strcasestr (Makefile.am): Likewise.
94457         * modules/strchrnul (Makefile.am): Likewise.
94458         * modules/strcspn (Makefile.am): Likewise.
94459         * modules/strdup (Makefile.am): Likewise.
94460         * modules/strerror (Makefile.am): Likewise.
94461         * modules/strftime (Makefile.am): Likewise.
94462         * modules/strndup (Makefile.am): Likewise.
94463         * modules/strnlen (Makefile.am): Likewise.
94464         * modules/strpbrk (Makefile.am): Likewise.
94465         * modules/strsep (Makefile.am): Likewise.
94466         * modules/strstr (Makefile.am): Likewise.
94467         * modules/strtod (Makefile.am): Likewise.
94468         * modules/strtoimax (Makefile.am): Likewise.
94469         * modules/strtok_r (Makefile.am): Likewise.
94470         * modules/strtol (Makefile.am): Likewise.
94471         * modules/strtoll (Makefile.am): Likewise.
94472         * modules/strtoul (Makefile.am): Likewise.
94473         * modules/strtoull (Makefile.am): Likewise.
94474         * modules/strtoumax (Makefile.am): Likewise.
94475         * modules/strverscmp (Makefile.am): Likewise.
94476         * modules/sys_socket (Makefile.am): Likewise.
94477         * modules/sys_stat (Makefile.am): Likewise.
94478         * modules/sysexits (Makefile.am): Likewise.
94479         * modules/time_r (Makefile.am): Likewise.
94480         * modules/timegm (Makefile.am): Likewise.
94481         * modules/timespec (Makefile.am): Likewise.
94482         * modules/tmpfile-safer (Makefile.am): Likewise.
94483         * modules/trim (Makefile.am): Likewise.
94484         * modules/unistd-safer (Makefile.am): Likewise.
94485         * modules/unlinkdir (Makefile.am): Likewise.
94486         * modules/unlocked-io (Makefile.am): Likewise.
94487         * modules/userspec (Makefile.am): Likewise.
94488         * modules/utime (Makefile.am): Likewise.
94489         * modules/utimecmp (Makefile.am): Likewise.
94490         * modules/utimens (Makefile.am): Likewise.
94491         * modules/vasnprintf (Makefile.am): Likewise.
94492         * modules/vasprintf (Makefile.am): Likewise.
94493         * modules/vsnprintf (Makefile.am): Likewise.
94494         * modules/xalloc (Makefile.am): Likewise.
94495         * modules/xgetcwd (Makefile.am): Likewise.
94496         * modules/xnanosleep (Makefile.am): Likewise.
94497         * modules/xreadlink (Makefile.am): Likewise.
94498         * modules/xstrtod (Makefile.am): Likewise.
94499         * modules/xstrtol (Makefile.am): Likewise.
94500         * modules/xstrtold (Makefile.am): Likewise.
94501         * modules/yesno (Makefile.am): Likewise.
94502         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
94504 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
94506         * modules/error (Makefile.am): Distribute files through
94507         EXTRA_DIST, not lib_SOURCES.
94509 2006-10-12  Eric Blake  <ebb9@byu.net>
94511         * modules/error (Makefile.am): Distribute files in /lib.
94512         * modules/obstack (Makefile.am): Likewise.
94514 2006-10-12  Bruno Haible  <bruno@clisp.org>
94516         * modules/acl (Makefile.am): Distribute all files in lib/ through
94517         EXTRA_DIST.
94518         * modules/arcfour (Makefile.am): Likewise.
94519         * modules/arctwo (Makefile.am): Likewise.
94520         * modules/argmatch (Makefile.am): Likewise.
94521         * modules/argz (Makefile.am): Likewise.
94522         * modules/atexit (Makefile.am): Likewise.
94523         * modules/backupfile (Makefile.am): Likewise.
94524         * modules/c-strtod (Makefile.am): Likewise.
94525         * modules/c-strtold (Makefile.am): Likewise.
94526         * modules/calloc (Makefile.am): Likewise.
94527         * modules/canon-host (Makefile.am): Likewise.
94528         * modules/canonicalize (Makefile.am): Likewise.
94529         * modules/chdir-long (Makefile.am): Likewise.
94530         * modules/chdir-safer (Makefile.am): Likewise.
94531         * modules/check-version (Makefile.am): Likewise.
94532         * modules/chown (Makefile.am): Likewise.
94533         * modules/cloexec (Makefile.am): Likewise.
94534         * modules/close-stream (Makefile.am): Likewise.
94535         * modules/closeout (Makefile.am): Likewise.
94536         * modules/crc (Makefile.am): Likewise.
94537         * modules/cycle-check (Makefile.am): Likewise.
94538         * modules/des (Makefile.am): Likewise.
94539         * modules/dirfd (Makefile.am): Likewise.
94540         * modules/dirname (Makefile.am): Likewise.
94541         * modules/dup2 (Makefile.am): Likewise.
94542         * modules/euidaccess (Makefile.am): Likewise.
94543         * modules/exclude (Makefile.am): Likewise.
94544         * modules/exitfail (Makefile.am): Likewise.
94545         * modules/fcntl-safer (Makefile.am): Likewise.
94546         * modules/file-type (Makefile.am): Likewise.
94547         * modules/fileblocks (Makefile.am): Likewise.
94548         * modules/filemode (Makefile.am): Likewise.
94549         * modules/filenamecat (Makefile.am): Likewise.
94550         * modules/fnmatch (Makefile.am): Likewise.
94551         * modules/fopen-safer (Makefile.am): Likewise.
94552         * modules/fpending (Makefile.am): Likewise.
94553         * modules/fprintftime (Makefile.am): Likewise.
94554         * modules/free (Makefile.am): Likewise.
94555         * modules/fsusage (Makefile.am): Likewise.
94556         * modules/ftruncate (Makefile.am): Likewise.
94557         * modules/fts (Makefile.am): Likewise.
94558         * modules/gc (Makefile.am): Likewise.
94559         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
94560         * modules/getaddrinfo (Makefile.am): Likewise.
94561         * modules/getcwd (Makefile.am): Likewise.
94562         * modules/getdelim (Makefile.am): Likewise.
94563         * modules/getdomainname (Makefile.am): Likewise.
94564         * modules/getgroups (Makefile.am): Likewise.
94565         * modules/gethostname (Makefile.am): Likewise.
94566         * modules/gethrxtime (Makefile.am): Likewise.
94567         * modules/getline (Makefile.am): Likewise.
94568         * modules/getloadavg (Makefile.am): Likewise.
94569         * modules/getlogin_r (Makefile.am): Likewise.
94570         * modules/getopt (Makefile.am): Likewise.
94571         * modules/getpass (Makefile.am): Likewise.
94572         * modules/getpass-gnu (Makefile.am): Likewise.
94573         * modules/getsubopt (Makefile.am): Likewise.
94574         * modules/gettime (Makefile.am): Likewise.
94575         * modules/gettimeofday (Makefile.am): Likewise.
94576         * modules/getugroups (Makefile.am): Likewise.
94577         * modules/getusershell (Makefile.am): Likewise.
94578         * modules/glob (Makefile.am): Likewise.
94579         * modules/group-member (Makefile.am): Likewise.
94580         * modules/hard-locale (Makefile.am): Likewise.
94581         * modules/hash (Makefile.am): Likewise.
94582         * modules/hmac-md5 (Makefile.am): Likewise.
94583         * modules/hmac-sha1 (Makefile.am): Likewise.
94584         * modules/human (Makefile.am): Likewise.
94585         * modules/idcache (Makefile.am): Likewise.
94586         * modules/imaxabs (Makefile.am): Likewise.
94587         * modules/imaxdiv (Makefile.am): Likewise.
94588         * modules/inet_ntop (Makefile.am): Likewise.
94589         * modules/inet_pton (Makefile.am): Likewise.
94590         * modules/inttostr (Makefile.am): Likewise.
94591         * modules/isapipe (Makefile.am): Likewise.
94592         * modules/lchown (Makefile.am): Likewise.
94593         * modules/long-options (Makefile.am): Likewise.
94594         * modules/lstat (Makefile.am): Likewise.
94595         * modules/malloc (Makefile.am): Likewise.
94596         * modules/mathl (Makefile.am): Likewise.
94597         * modules/mbchar (Makefile.am): Likewise.
94598         * modules/md2 (Makefile.am): Likewise.
94599         * modules/md4 (Makefile.am): Likewise.
94600         * modules/md5 (Makefile.am): Likewise.
94601         * modules/memcasecmp (Makefile.am): Likewise.
94602         * modules/memchr (Makefile.am): Likewise.
94603         * modules/memcmp (Makefile.am): Likewise.
94604         * modules/memcoll (Makefile.am): Likewise.
94605         * modules/memcpy (Makefile.am): Likewise.
94606         * modules/memmem (Makefile.am): Likewise.
94607         * modules/memmove (Makefile.am): Likewise.
94608         * modules/mempcpy (Makefile.am): Likewise.
94609         * modules/memrchr (Makefile.am): Likewise.
94610         * modules/memset (Makefile.am): Likewise.
94611         * modules/memxor (Makefile.am): Likewise.
94612         * modules/mkancesdirs (Makefile.am): Likewise.
94613         * modules/mkdir (Makefile.am): Likewise.
94614         * modules/mkdir-p (Makefile.am): Likewise.
94615         * modules/mkdtemp (Makefile.am): Likewise.
94616         * modules/mkstemp (Makefile.am): Likewise.
94617         * modules/mktime (Makefile.am): Likewise.
94618         * modules/modechange (Makefile.am): Likewise.
94619         * modules/mountlist (Makefile.am): Likewise.
94620         * modules/nanosleep (Makefile.am): Likewise.
94621         * modules/openat (Makefile.am): Likewise.
94622         * modules/pagealign_alloc (Makefile.am): Likewise.
94623         * modules/physmem (Makefile.am): Likewise.
94624         * modules/poll (Makefile.am): Likewise.
94625         * modules/posixtm (Makefile.am): Likewise.
94626         * modules/posixver (Makefile.am): Likewise.
94627         * modules/putenv (Makefile.am): Likewise.
94628         * modules/quote (Makefile.am): Likewise.
94629         * modules/quotearg (Makefile.am): Likewise.
94630         * modules/raise (Makefile.am): Likewise.
94631         * modules/read-file (Makefile.am): Likewise.
94632         * modules/readline (Makefile.am): Likewise.
94633         * modules/readlink (Makefile.am): Likewise.
94634         * modules/readtokens (Makefile.am): Likewise.
94635         * modules/readutmp (Makefile.am): Likewise.
94636         * modules/realloc (Makefile.am): Likewise.
94637         * modules/regex (Makefile.am): Likewise.
94638         * modules/rename (Makefile.am): Likewise.
94639         * modules/rename-dest-slash (Makefile.am): Likewise.
94640         * modules/rijndael (Makefile.am): Likewise.
94641         * modules/rmdir (Makefile.am): Likewise.
94642         * modules/rpmatch (Makefile.am): Likewise.
94643         * modules/safe-read (Makefile.am): Likewise.
94644         * modules/safe-write (Makefile.am): Likewise.
94645         * modules/same (Makefile.am): Likewise.
94646         * modules/save-cwd (Makefile.am): Likewise.
94647         * modules/savedir (Makefile.am): Likewise.
94648         * modules/setenv (Makefile.am): Likewise.
94649         * modules/settime (Makefile.am): Likewise.
94650         * modules/sha1 (Makefile.am): Likewise.
94651         * modules/sig2str (Makefile.am): Likewise.
94652         * modules/snprintf (Makefile.am): Likewise.
94653         * modules/stdlib-safer (Makefile.am): Likewise.
94654         * modules/stpcpy (Makefile.am): Likewise.
94655         * modules/stpncpy (Makefile.am): Likewise.
94656         * modules/strcase (Makefile.am): Likewise.
94657         * modules/strcasestr (Makefile.am): Likewise.
94658         * modules/strchrnul (Makefile.am): Likewise.
94659         * modules/strcspn (Makefile.am): Likewise.
94660         * modules/strdup (Makefile.am): Likewise.
94661         * modules/strerror (Makefile.am): Likewise.
94662         * modules/strftime (Makefile.am): Likewise.
94663         * modules/strndup (Makefile.am): Likewise.
94664         * modules/strnlen (Makefile.am): Likewise.
94665         * modules/strpbrk (Makefile.am): Likewise.
94666         * modules/strsep (Makefile.am): Likewise.
94667         * modules/strstr (Makefile.am): Likewise.
94668         * modules/strtod (Makefile.am): Likewise.
94669         * modules/strtoimax (Makefile.am): Likewise.
94670         * modules/strtok_r (Makefile.am): Likewise.
94671         * modules/strtol (Makefile.am): Likewise.
94672         * modules/strtoll (Makefile.am): Likewise.
94673         * modules/strtoul (Makefile.am): Likewise.
94674         * modules/strtoull (Makefile.am): Likewise.
94675         * modules/strtoumax (Makefile.am): Likewise.
94676         * modules/strverscmp (Makefile.am): Likewise.
94677         * modules/time_r (Makefile.am): Likewise.
94678         * modules/timegm (Makefile.am): Likewise.
94679         * modules/tmpfile-safer (Makefile.am): Likewise.
94680         * modules/unistd-safer (Makefile.am): Likewise.
94681         * modules/unlinkdir (Makefile.am): Likewise.
94682         * modules/userspec (Makefile.am): Likewise.
94683         * modules/utime (Makefile.am): Likewise.
94684         * modules/utimecmp (Makefile.am): Likewise.
94685         * modules/utimens (Makefile.am): Likewise.
94686         * modules/vasnprintf (Makefile.am): Likewise.
94687         * modules/vasprintf (Makefile.am): Likewise.
94688         * modules/vsnprintf (Makefile.am): Likewise.
94689         * modules/xalloc (Makefile.am): Likewise.
94690         * modules/xgetcwd (Makefile.am): Likewise.
94691         * modules/xnanosleep (Makefile.am): Likewise.
94692         * modules/xreadlink (Makefile.am): Likewise.
94693         * modules/xstrtod (Makefile.am): Likewise.
94694         * modules/xstrtol (Makefile.am): Likewise.
94695         * modules/xstrtold (Makefile.am): Likewise.
94696         * modules/yesno (Makefile.am): Likewise.
94698 2006-10-12  Jim Meyering  <jim@meyering.net>
94700         * m4/getloadavg.m4: Revert the change below.
94702         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
94703         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
94704         fail with a symlink, which is what coreutils' ./bootstrap now
94705         creates by default.
94707 2006-10-12  Bruno Haible  <bruno@clisp.org>
94709         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
94710         mingw.
94711         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
94712         MSVC and mingw explicitly.
94714 2006-10-11  Simon Josefsson  <jas@extundo.com>
94715             Bruno Haible  <bruno@clisp.org>
94717         Add support for multiple gnulib-tool invocations in the scope of a
94718         single configure.ac file.
94719         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
94720         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
94721         with the same contents as the _LIBADD variable.
94722         (func_emit_initmacro_start, func_emit_initmacro_end,
94723         func_emit_initmacro_done): New functions.
94724         (func_import, func_create_testdir): Invoke them. Allow the identifiers
94725         gl_LIBOBJS and gl_LTLIBOBJS.
94727 2006-10-11  Bruno Haible  <bruno@clisp.org>
94729         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
94730         (func_create_testdir): Don't create po/Makefile.am, don't invoke
94731         autoreconf. Instead, invoke autopoint explicitly but move back the
94732         *.m4 files from gnulib.
94734 2006-10-11  Bruno Haible  <bruno@clisp.org>
94736         * gnulib-tool (func_usage): Make module names after --create-testdir
94737         optional.
94738         (func_create_testdir): If no module was specified, use nearly all
94739         modules.
94741 2006-10-12  Jim Meyering  <jim@meyering.net>
94743         Big performance improvement for fts-based tools that use FTS_NOSTAT.
94744         Avoid spurious inode-mismatch problems on non-POSIX file systems.
94745         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
94746         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
94747         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
94748         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
94749         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
94750         (fts_set_stat_required): New function.
94751         (fts_open): Defer the calls to fts_stat, if possible or requested.
94752         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
94753         into fts_stat itself.
94754         (fts_read): Perform any required (deferred) fts_stat call.
94755         (fts_build): Likewise, for the directory we're about to open and read.
94756         In the readdir loop, carefully decide whether each entry will require
94757         an eventual call to fts_stat, using dirent.d_type info if available.
94758         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
94759         a command line argument into this function.  Update all callers.
94760         Map a return value of FTS_DOT to FTS_D for a command line argument.
94761         * modules/fts (Depends-on): Add d-type.  Alphabetize.
94762         Thanks to Miklos Szeredi for his tenacity and for the initial
94763         bug report about "find" failing on a FUSE-based file system.
94765         * lib/fts.c (fts_open): Use consistent indentation.
94767 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
94769         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
94770         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
94771         reported by Jim Meyering.  All uses of cache variables renamed
94772         to match Autoconf's.
94773         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
94774         the other one.
94776         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
94777         Fix misspelling in diagnostic.
94779 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
94781         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
94782         defined.  Problem reported by Matthew Woehlke.
94784         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
94785         Add support for Tandem NonStop R series.
94786         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
94787         Use new macro.
94789         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
94790         (has_trailing_slash): Omit size arg; all callers changed.
94791         Omit 'inline', since it doesn't help performance and we'd
94792         need to configure it.
94793         Don't count //, ///, etc. as having a trailing slash.
94794         As a side effect, this removes a C99ism reported by Matthew Woehlke.
94795         (rpl_rename_dest_slash): On failure, use rename's errno rather
94796         than (in some cases) an incorrect or junk errno.
94797         Simplify code by removing need to compute length; this does
94798         cause it to make two passes instead of one over the file name,
94799         but it's worth it.
94801         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
94802         change, since Autoconf's version may no longer be appropriate now
94803         that we are using CVS Autoconf's version.  Add support for Tandem.
94805 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
94806             Bruno Haible  <bruno@clisp.org>
94808         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
94809         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
94810         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
94811         gl_AC_TYPE_LONG_LONG.
94813         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
94814         instead of HAVE_LONG_LONG.
94815         * lib/printf-args.c (printf_fetchargs): Likewise.
94816         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
94817         * lib/vasnprintf.c (VASNPRINTF): Likewise.
94818         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
94819         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
94820         gl_AC_TYPE_LONG_LONG.
94822 2006-10-11  Bruno Haible  <bruno@clisp.org>
94824         * m4/longlong.m4: Add comments.
94825         * m4/ulonglong.m4: Likewise.
94827 2006-10-10  Bruno Haible  <bruno@clisp.org>
94829         Make it possible to #define stpcpy, strdup to aliases.
94830         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
94831         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
94833 2006-10-10  Bruno Haible  <bruno@clisp.org>
94835         Make it possible to #define gcd to an alias.
94836         * lib/gcd.c: Include config.h.
94838 2006-10-10  Bruno Haible  <bruno@clisp.org>
94840         Make it possible to #define c_isascii to an alias.
94841         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
94842         defined. Undefine the macros before defining them, to avoid gcc
94843         warnings.
94844         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
94845         define NO_C_CTYPE_MACROS early.
94847 2006-10-10  Bruno Haible  <bruno@clisp.org>
94849         Make it possible to #define set_program_name to an alias.
94850         * lib/progname.c: Don't undefine set_program_name; instead, undefine
94851         ENABLE_RELOCATABLE early.
94853 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
94855         Port to Tandem NSK OSS, which has 64-bit signed int but at most
94856         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
94857         http://lists.gnu.org/r/bug-coreutils/2006-10/msg00062.html
94858         More generally, don't assume that 64-bit signed int is available
94859         if unsigned int is, and vice versa.
94860         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
94861         unsigned symbols, not on their signed counterparts.
94862         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
94863         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
94864         (UINT64_C, UINTMAX_C):
94865         Likewise.
94866         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
94867         unsigned counterparts.
94868         (Have_long_long, Unsigned): New macros.
94869         (Int): Renamed from INT.
94870         (strtoimax): Use the new macros.
94871         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
94872         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
94873         * modules/inttypes (inttypes.h): Substitute
94874         HAVE_UNSIGNED_LONG_LONG_INT.
94875         * modules/stdint (stdint.h): Likewise.
94876         (Files): Add m4/ulonglong.m4.
94878 2006-10-10  Bruno Haible  <bruno@clisp.org>
94880         Fix a gcc -Wshadow warning.
94881         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
94882         to 'bucket'.
94883         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
94884         gl_linked_indexof_from_to): Likewise.
94885         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
94886         Likewise.
94887         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
94888         Likewise.
94889         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
94890         Reported by Eric Blake.
94892 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
94894         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
94895         for NetBSD.  Problem reported by Bruno Haible.
94897 2006-10-09  Jim Meyering  <jim@meyering.net>
94899         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
94900         Patch from Bruno Haible.
94902 2006-10-09  Jim Meyering  <jim@meyering.net>
94904         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
94905         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
94906         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
94908 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
94910         Don't include <config.h> twice; this doesn't work in some cases,
94911         e.g., when config.h has "#define intmax_t long long int" and
94912         we include <config.h>, <inttypes.h>, <config.h> in that order.
94913         Problem reported by Matthew Woehlke in:
94914         http://lists.gnu.org/r/bug-coreutils/2006-10/msg00073.html
94915         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
94916         * lib/fts-cycle.c: Don't include config.h.
94917         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
94918         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
94919         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
94920         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
94921         inttypes.h.
94922         * lib/xstrtoumax.c: Likewise.
94923         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
94924         __strtol and the like, so that this module is more like its siblings.
94925         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
94926         Remove; no longer needed now that we assume gnulib inttypes.h.
94928 2006-10-08  Bruno Haible  <bruno@clisp.org>
94930         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
94931         option.
94933 2006-10-07  Jim Meyering  <jim@meyering.net>
94935         * modules/inttypes (inttypes.h): Revert what seems to have been
94936         an inadvertent part of today's change: use "|", not "/" in the
94937         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
94939 2006-10-07  Bruno Haible  <bruno@clisp.org>
94941         * modules/sublist: New file.
94943 2006-10-07  Bruno Haible  <bruno@clisp.org>
94945         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
94946         * modules/argz (argz.h): Likewise.
94947         * modules/arpa_inet (arpa/inet.h): Likewise.
94948         * modules/byteswap (byteswap.h): Likewise.
94949         * modules/configmake (configmake.h): Likewise.
94950         * modules/fcntl (fcntl.h): Likewise.
94951         * modules/fnmatch (fnmatch.h): Likewise.
94952         * modules/getopt (getopt.h): Likewise.
94953         * modules/glob (glob.h): Likewise.
94954         * modules/inttypes (inttypes.h): Likewise.
94955         * modules/netinet_in (netinet/in.h): Likewise.
94956         * modules/poll (poll.h): Likewise.
94957         * modules/stdbool (stdbool.h): Likewise.
94958         * modules/stdint (stdint.h): Likewise.
94959         * modules/sys_select (sys/select.h): Likewise.
94960         * modules/sys_socket (sys/socket.h): Likewise.
94961         * modules/sys_stat (sys/stat.h): Likewise.
94962         * modules/sysexits (sysexits.h): Likewise.
94963         * modules/unistd (unistd.h): Likewise.
94964         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
94965         Add a "DO NOT EDIT" comment to the generated file.
94966         (func_import): Likewise for gnulib-comp.m4.
94968 2006-10-07  Bruno Haible  <bruno@clisp.org>
94970         * lib/gl_sublist.h: New file.
94971         * lib/gl_sublist.c: New file.
94973 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
94975         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
94976         name (relative to the original working directory) and the file
94977         name component (relative to the temporary working directory).  All
94978         callers changed.
94979         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
94980         * lib/mkdir-p.c (make_dir_parents): Likewise.
94981         * lib/mkdir-p.h (make_dir_parents): Likewise.
94983 2006-10-06  Eric Blake  <ebb9@byu.net>
94985         Define several macros for use by the clean-temp module.
94986         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
94987         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
94988         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
94990         * lib/clean-temp.h (close_stream_temp): New declaration.
94991         * lib/clean-temp.c (includes): Pull in headers according to what
94992         other modules are in use.
94993         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
94995 2006-10-06  Bruno Haible  <bruno@clisp.org>
94997         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
94998         instead of fopen, fwriteerror.
95000 2006-10-06  Bruno Haible  <bruno@clisp.org>
95002         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
95003         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
95004         int.
95005         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
95006         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
95007         Return an error indicator.
95008         Suggested by Eric Blake.
95010 2006-10-06  Bruno Haible  <bruno@clisp.org>
95012         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
95013         Reported by Eric Blake.
95015 2006-10-06  Bruno Haible  <bruno@clisp.org>
95017         * modules/closeout (Description): Mention stderr too.
95019 2006-10-06  Bruno Haible  <bruno@clisp.org>
95020         and Paul Eggert  <eggert@cs.ucla.edu>
95022         * lib/closeout.c (close_stdout): Also close stderr.
95023         * lib/closeout.h: Update comment.
95025 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
95027         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
95028         <http://lists.gnu.org/r/bug-coreutils/2006-10/msg00063.html>.
95029         * lib/dirchownmod.c: Include lchown.h.
95030         * lib/lchown.c: Don't include files that lchown.h now includes.
95031         Don't declare chown, since lchown.h now does that.
95032         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
95033         (lchown): Define to rpl_chown if lchown is declared but
95034         does not exist.  Declare using a prototype if lchown is not
95035         declared.  Add a copyright notice.
95036         * lib/mkstemp.h: Include <unistd.h>.
95037         * lib/openat.c: Include lchown.h.
95039         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
95040         we now test for that separately.
95041         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
95042         rather than O_NOFOLLOW, when testing whether it's possible to
95043         avoid a race condition reliably.
95044         * lib/savewd.c (savewd_chdir): Likewise.
95046         Remove macros that are no longer needed now that stdint.h is
95047         reliable.
95048         * lib/fsusage.c (UINTMAX_MAX): Remove.
95049         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
95050         * lib/utimecmp.c (SIZE_MAX): Remove.
95052         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
95054         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
95055         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
95056         O_NOATIME works.
95058 2006-10-05  Bruno Haible  <bruno@clisp.org>
95060         * lib/gl_list.h (gl_sortedlist_search_from_to,
95061         gl_sortedlist_indexof_from_to): New declarations.
95062         (gl_list_implementation): New fields sortedlist_search_from_to,
95063         sortedlist_indexof_from_to.
95064         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
95065         inline functions.
95066         * lib/gl_list.c (gl_sortedlist_search_from_to,
95067         gl_sortedlist_indexof_from_to): New functions.
95068         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
95069         function.
95070         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
95071         (gl_array_sortedlist_search_from_to): New function.
95072         (gl_array_list_implementation): Update.
95073         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
95074         function.
95075         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
95076         (gl_carray_sortedlist_search_from_to): New function.
95077         (gl_carray_list_implementation): Update.
95078         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
95079         gl_linked_sortedlist_indexof_from_to): New functions.
95080         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
95081         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
95082         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
95083         gl_tree_sortedlist_indexof_from_to): New functions.
95084         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
95085         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
95086         Update.
95087         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
95088         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
95089         Update.
95091 2006-10-05  Bruno Haible  <bruno@clisp.org>
95093         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
95094         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
95095         (struct gl_list_implementation): Add fields search_from_to,
95096         indexof_from_to. Remove fields search, indexof.
95097         (gl_list_search): Use the search_from_to method.
95098         (gl_list_search_from, gl_list_search_from_to): New functions.
95099         (gl_list_indexof): Use the indexof_from_to method.
95100         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
95101         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
95102         (gl_list_search_from, gl_list_search_from_to): New functions.
95103         (gl_list_indexof): Use the indexof_from_to method.
95104         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
95105         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
95106         gl_array_indexof. Add start_index, end_index arguments.
95107         (gl_array_search_from_to): Renamed from gl_array_search. Add
95108         start_index, end_index arguments.
95109         (gl_array_remove, gl_array_list_implementation): Update.
95110         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
95111         gl_carray_indexof. Add start_index, end_index arguments.
95112         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
95113         start_index, end_index arguments.
95114         (gl_carray_remove, gl_carray_list_implementation): Update.
95115         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
95116         gl_linked_search. Add start_index, end_index arguments.
95117         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
95118         start_index, end_index arguments.
95119         (gl_linked_remove): Update.
95120         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
95121         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
95122         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
95123         field to 'size_t'.
95124         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
95125         gl_tree_search. Add start_index, end_index arguments.
95126         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
95127         start_index, end_index arguments.
95128         (gl_tree_remove): Update.
95129         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
95130         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
95131         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
95132         function.
95133         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
95134         gl_tree_search. Add start_index, end_index arguments.
95135         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
95136         start_index, end_index arguments.
95137         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
95138         Update.
95139         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
95141 2006-10-05  Bruno Haible  <bruno@clisp.org>
95143         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
95145         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
95146         fwriteerror_temp): New declarations.
95147         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
95148         (descriptors): New variable.
95149         (cleanup): First, close the descriptors.
95150         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
95151         fclose_temp, fwriteerror_temp): New functions.
95153 2006-10-04  Jim Meyering  <jim@meyering.net>
95155         * lib/fts.c (fts_open): Tiny comment change.
95157 2006-10-04  Bruno Haible  <bruno@clisp.org>
95159         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
95160         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
95161         gl_LOCK_BODY.
95162         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
95163         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
95164         gl_LOCK_EARLY_BODY.
95165         (gl_LOCK): Require gl_LOCK_BODY.
95167 2006-10-04  Bruno Haible  <bruno@clisp.org>
95169         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
95170         (gl_oset_search_atleast): New declaration.
95171         (struct gl_oset_implementation): Add field 'search_atleast'.
95172         (gl_oset_search_atleast): New inline function.
95173         * lib/gl_oset.c (gl_oset_search_atleast): New function.
95174         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
95175         (gl_array_oset_implementation): Update.
95176         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
95177         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
95178         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
95180 2006-10-04  Bruno Haible  <bruno@clisp.org>
95182         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
95184 2006-10-03  Bruno Haible  <bruno@clisp.org>
95186         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
95187         from gl_avltreehash_list_implementation.
95189 2006-10-03  Bruno Haible  <bruno@clisp.org>
95191         * lib/gl_oset.c (gl_oset_add): Fix return type.
95193 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
95195         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
95197 2006-10-02  Eric Blake  <ebb9@byu.net>
95199         * modules/strnlen (Depends-on): Add extensions.
95201 2006-10-02  Eric Blake  <ebb9@byu.net>
95203         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
95204         definition in 2.60+.
95206 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
95208         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
95209         checks.
95211 2006-10-02  Bruno Haible  <bruno@clisp.org>
95213         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
95214         to the AUTOMAKE_OPTIONS.
95215         Reported by Jim Meyering.
95217 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
95219         Work around bug in Solaris 10 /proc file system:
95220         /proc/self/fd/NNN/.. isn't the parent directory of
95221         the directory whose file descriptor is NNN.  This needs to
95222         be worked around at run time, not compile time, since a
95223         program might be built on Solaris 8, where things work, and
95224         run on Solaris 10.
95225         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
95226         to use the following interface instead:
95227         (OPENAT_BUFFER_SIZE): New macro.
95228         (openat_proc_name): New function.
95229         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
95230         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
95231         Likewise.
95232         * lib/openat-proc.c: New file.
95233         * modules/openat (Files): Add lib/openat-proc.c.
95234         (Depends-on): Add same-inode, stdbool.
95235         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
95237 2006-09-29  Bruno Haible  <bruno@clisp.org>
95239         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
95240         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
95241         argument. Set stdout_closed before testing for ferror, not after.
95242         (fwriteerror, fwriteerror_no_ebadf): New functions.
95244 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
95246         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
95248 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
95250         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
95251         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
95253 2006-09-28  Jim Meyering  <jim@meyering.net>
95255         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
95256         Include <unistd.h>.
95258 2006-09-28  Bruno Haible  <bruno@clisp.org>
95260         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
95261         * modules/linkedhash-list (Depends-on): Likewise.
95262         * modules/rbtreehash-list (Depends-on): Likewise.
95264 2006-09-28  Bruno Haible  <bruno@clisp.org>
95266         * lib/strndup.h: Simplify the redefinition of strndup.
95267         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
95268         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
95270 2006-09-28  Bruno Haible  <bruno@clisp.org>
95272         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
95273         * lib/gl_linkedhash_list.c: Likewise.
95274         * lib/gl_rbtreehash_list.c: Likewise.
95276 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
95278         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
95279         getaddrinfo.
95281         * lib/__fpending.h: Don't include <stdio_ext.h> unless
95282         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
95283         it causes <stdio_ext.h> to cause a compile-time error.
95284         Problem reported by Nelson H. F. Beebe.
95285         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
95286         of HAVE_DECL___PENDING.
95288         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
95289         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
95290         declaration.
95292 2006-09-27  Jim Meyering  <jim@meyering.net>
95294         This file could end up with a definition for a function
95295         named __strndup, rather than rpl_strndup on a system with
95296         incomplete weak_alias support.
95297         * lib/strndup.c (strndup): Rename from __strndup.
95298         Remove #defines that used to map __strndup to strndup.
95299         Don't use K&R prototypes.
95300         Remove LIBC-related code, since this file is not sync'd with glibc.
95301         * lib/strndup.h: Revamp, accordingly.
95302         * m4/strndup.m4: Modernize.
95304 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
95306         * modules/savewd (Depends-on): Add 'raise'.
95307         * lib/savewd.c: Include <signal.h>, for 'raise'.
95309 2006-09-26  Jim Meyering  <jim@meyering.net>
95311         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
95312         when we detect Darwin 8.7.0's acl_get_file bug.
95313         Rearrange to perform the new (below) run-test while $LIBS
95314         contains any acl-related library.  Set USE_ACL at the end.
95315         (gl_ACL_GET_FILE): New function.
95317 2006-09-26  Eric Blake  <ebb9@byu.net>
95319         * lib/verror.c: Include <config.h> unconditionally.
95321 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
95323         * modules/clock-time (Maintainer): Add self.
95324         * modules/getlogin_r (Depends-on): Add extensions.
95326 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
95328         * modules/clock-time: New module.
95329         * modules/nanosleep (Depends-on): Add clock-time.
95330         * modules/gethrxtime (Depends-on): Likewise.
95331         * modules/gettime (Depends-on): Likewise.
95332         * modules/settime (Depends-on): Likewise.
95334         * modules/fts-lgpl: Depend on openat.
95335         * modules/mkancesdirs: Depend on savewd.
95336         * modules/mkdir-p: Likewise.
95338 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
95340         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
95342         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
95343         `gl_have_arbitrary_file_name_length_limit' to
95344         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
95345         actually works between configure runs.
95347 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
95348             Bruno Haible  <bruno@clisp.org>
95350         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
95352 2006-09-25  Jim Meyering  <jim@meyering.net>
95354         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
95355         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
95357 2006-09-25  Eric Blake  <ebb9@byu.net>
95359         * gnulib-tool (func_import, func_create_testdir): Fix typos in
95360         exec's in 2006-09-18 patch when shuffling fds.
95362 2006-09-25  Bruno Haible  <bruno@clisp.org>
95364         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
95365         Reported by Jim Meyering.
95367 2006-09-24  Jim Meyering  <jim@meyering.net>
95369         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
95370         compare a pointer against a literal "0".  That caused failures with
95371         at least HP-UX's hpcc.
95373 2006-09-22  Simon Josefsson  <jas@extundo.com>
95375         * modules/gc-sha1:
95376         * modules/gc-md4:
95377         * modules/gc-hmac-sha1:
95378         * modules/gc-hmac-md5:
95379         * modules/gc-des:
95380         * modules/gc-arcfour: Distribute more files.
95382 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
95384         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
95385         (gl_linked_iterator_from_to): Initialize struct completely.
95386         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
95387         (gl_tree_iterator_from_to): Likewise
95388         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
95389         * lib/gl_array_list.c [lint] (gl_array_iterator)
95390         (gl_array_iterator_from_to): Likewise.
95391         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
95392         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
95393         (gl_carray_iterator_from_to): Likewise.
95395         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
95396         * lib/md4.c (md4_process_block): Remove unused variable.
95397         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
95398         parentheses for clarity.
95400 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
95402         * modules/bison-i18n (Depends-on): Add gettext.
95404 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
95406         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
95407         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
95408         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
95409         also add missing comma that caused broken test.
95410         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
95411         stdlib.h, for `abort'.
95412         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
95413         variables.
95414         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
95415         include unistd.h if present, for `rmdir'.
95416         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
95417         variables.
95418         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
95419         in the process include standard headers for prototypes.
95420         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
95421         gets declared on GNU/Linux.
95422         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
95423         unistd.h, for `rmdir'.
95424         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
95426         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
95427         always true.
95428         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
95430         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
95432 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
95434         * gnulib-tool (func_version): Create output all at once.  This
95435         may help avoid triggering unnecessary SIGPIPEs, and at any
95436         rate it doesn't hurt.
95438 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
95439             Bruno Haible  <bruno@clisp.org>
95441         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
95442         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
95443         * m4/signed.m4 (bh_C_SIGNED): Likewise.
95445         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
95446         (gl_FUNC_VASPRINTF): Invoke it.
95448 2006-09-22  Bruno Haible  <bruno@clisp.org>
95450         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
95451         getloadavg.c as first argument.
95453 2006-09-22  Bruno Haible  <bruno@clisp.org>
95455         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
95456         at the beginning of the gl_INIT macro.
95457         * modules/getloadavg (configure.ac): Pass $gl_source_base to
95458         gl_GETLOADAVG.
95460 2006-09-22  Bruno Haible  <bruno@clisp.org>
95462         * gnulib-tool (func_create_megatestdir): Don't include the config-h
95463         module.
95464         Suggested by Ralf Wildenhues.
95466 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
95468         Import this patch from libc:
95470         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
95472         * lib/regex_internal.c (re_string_reconstruct): Handle
95473         offset < pstr->valid_raw_len && pstr->offsets_needed case.
95474         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
95475         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
95476         re_string_context_at.
95478         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
95479         now requires it.
95480         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
95481         gl_REGEX now does it for us.
95482         (gl_REGEX): Add test taken from
95483         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
95485         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
95486         Check that large offsets work.  Modernize Autoconf usages.
95487         Prefer "yes" to mean a good thing rather than a bad.
95488         Don't put "#define mkstemp" in config.h, as this might interfere
95489         with standard system headers that "#define mkstemp mkstemp64".
95491         * modules/mkstemp (Depends-on): Add extensions, so that
95492         mkstemp is visible on some platforms.
95493         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
95494         (Include): Change to "mkstemp.h" from <stdlib.h>.
95495         (Files): Add mkstemp.h.
95497         * lib/mkstemp.h: New file, since some standard headers
95498         #define mkstemp.
95499         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
95500         Include "mkstemp.h".
95501         Make the _LIBC code resemble glibc original more,
95502         e.g., use K&R style.
95503         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
95504         (mkstemp): Remove, since mkstemp.h does this for us.
95505         * lib/stdlib--.h: Include mkstemp.h.
95507         Import this patch from libc:
95509         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
95511         * lib/tempname.c (__gen_tempname): Change attempts_min
95512         into a macro.  Use preprocessor to decide how to initialize
95513         attempts [Coverity CID 67].
95515 2006-09-20  Bruno Haible  <bruno@clisp.org>
95517         * lib/mkdtemp.c: Import from libc.
95518         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
95519                 * sysdeps/posix/tempname.c (__gen_tempname): Change
95520                 attempts_min into a macro.  Use preprocessor to decide how to
95521                 initialize attempts [Coverity CID 67].
95522         2001-11-27  Paul Eggert  <eggert@twinsun.com>
95523                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
95524                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
95526 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
95528         * gnulib-tool (func_exit): New function, to allow to pass the
95529         exit status portably through the trap.  Use everywhere.
95530         (--help, --version): Signal a write error.
95531         (trap): catch SIGPIPE, for write errors.
95532         Exit at the end of the trap, with the correct exit status.
95534 2006-09-19  Karl Berry  <karl@gnu.org>
95536         * doc/gnulib.texi: note about the license texinfo files.
95538 2006-09-19  Eric Blake  <ebb9@byu.net>
95540         * gnulib-tool: Avoid space-tab.
95542 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
95544         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
95545         that prevented coreutils 6.1 from building.  Problem reported
95546         by Petter Reinholdtsen.
95548 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
95550         * gnulib-tool (avoidlist): Fix typo that broke options like
95551         --avoid=lock that are used by coreutils bootstrap.
95553 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
95555         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
95556         more systematically.
95558 2006-09-18  Jim Meyering  <jim@meyering.net>
95560         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
95562 2006-09-18  Bruno Haible  <bruno@clisp.org>
95564         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
95566 2006-09-18  Bruno Haible  <bruno@clisp.org>
95568         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
95569         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
95570         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
95571         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
95572         * m4/gettext.m4: Require autoconf >= 2.52.
95573         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
95574         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
95575         of gl_cv_header_inttypes_h.
95577 2006-09-18  Bruno Haible  <bruno@clisp.org>
95579         * lib/javaversion.c: Include configmake.h.
95581 2006-09-18  Bruno Haible  <bruno@clisp.org>
95583         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
95584         avoid that the while loops be executed in a subshell.
95586 2006-09-18  Bruno Haible  <bruno@clisp.org>
95588         * MODULES.html.sh (func_module): Break long lines.
95589         Suggested by Bruce Korb <bkorb@gnu.org>.
95591 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
95593         Speed up by a factor of 1.12.
95594         * gnulib-tool (nl): New variable.
95595         (func_import): Rewrite include directive extraction to only read each
95596         directive once.
95598 2006-09-17  Bruno Haible  <bruno@clisp.org>
95600         * modules/javaversion (Makefile.am): Remove DEFS setting.
95601         (Depends-on): Add configmake, for PKGDATADIR definition.
95603 2006-09-17  Bruno Haible  <bruno@clisp.org>
95605         * gnulib-tool (func_create_testdir): Rewrite all files at once.
95607 2006-09-17  Bruno Haible  <bruno@clisp.org>
95609         * gnulib-tool (func_append): New function, stolen from libtool.m4.
95610         (func_modules_transitive_closure, func_modules_add_dummy,
95611         func_modules_to_filelist, func_import, func_create_testdir,
95612         func_create_megatestdir, ...): Use it wherever possible.
95613         Suggested by Ralf Wildenhues.
95615 2006-09-16  Karl Berry  <karl@gnu.org>
95617         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
95618         to avoid sectioning errors.
95619         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
95620         [ifinfo]: blank line after @center-ed titles.
95621         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
95622         Spell FSF address consistently with others.
95623         (These changes approved by rms.)
95625 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
95627         Speed up by a factor of 1.61.
95628         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
95629         already checked module names again.
95631 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
95633         Speed up by a factor of 1.13.
95634         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
95635         for new_files, and the input to func_add_or_update.
95637 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
95639         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
95640         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
95642 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
95644         * modules/mkancesdirs (Depends-on): Add fcntl.
95645         * modules/savewd: New file.
95646         * MODULES.html.sh (File system functions): Add savewd.
95648         * modules/configmake (Makefile.am): Add support for the
95649         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
95651 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
95653         * m4/savewd.m4: New file.
95655 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
95657         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
95658         (dirchownmod): New arg FD.  All callers changed.
95659         Use FD rather than opening the directory ourself, as opening is
95660         now the caller's responsibility.
95661         * lib/dirchownmod.h: Likewise.
95662         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
95663         hosts that require <sys/types.h> before <sys/stat.h>.  Include
95664         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
95665         (test_dir): Remove.
95666         (mkancesdirs): Return length of prefix of FILE that has already
95667         been made, or -2 if there is a child doing the work.  Redo
95668         algorithm so that it is O(N) rather than O(N**2).  Optimize away
95669         ".", and treat ".." specially since it might stray back into
95670         already-created areas.  Use a subprocess if necessary.  New arg
95671         WD; all users changed.  MAKE_DIR function should now return 1
95672         if it creates a directory that is not readable.  Return -2 if
95673         a child process is spun off.
95674         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
95675         Adjust signature to match code.
95676         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
95677         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
95678         all users changed.
95679         * lib/savewd.c, lib/savewd.h: New files.
95681 2006-09-15  Jim Meyering  <jim@meyering.net>
95683         * modules/rename-dest-slash: New module.
95684         * MODULES.html.sh (posix_compat): Add it here.
95686         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
95688 2006-09-15  Jim Meyering  <jim@meyering.net>
95690         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
95691         file.
95693         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
95695 2006-09-15  Jim Meyering  <jim@meyering.net>
95697         * lib/rename-dest-slash.c (has_trailing_slash): Use
95698         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
95699         (rpl_rename_dest_slash): Perform the cheaper trailing slash
95700         test before testing whether SRC is a directory.
95701         Suggestions from Bruno Haible.
95703         Avoid a warning about an unused variable.
95704         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
95705         into the #ifdef block where it's used.
95707         * lib/rename-dest-slash.c: New file.
95709 2006-09-14  Bruno Haible  <bruno@clisp.org>
95711         * lib/allocsa.c: Include <config.h> unconditionally.
95712         * lib/asnprintf.c: Likewise.
95713         * lib/asprintf.c: Likewise.
95714         * lib/c-strcasecmp.c: Likewise.
95715         * lib/c-strcasestr.c: Likewise.
95716         * lib/c-strncasecmp.c: Likewise.
95717         * lib/c-strstr.c: Likewise.
95718         * lib/classpath.c: Likewise.
95719         * lib/clean-temp.c: Likewise.
95720         * lib/concatpath.c: Likewise.
95721         * lib/copy-file.c: Likewise.
95722         * lib/csharpcomp.c: Likewise.
95723         * lib/csharpexec.c: Likewise.
95724         * lib/execute.c: Likewise.
95725         * lib/fatal-signal.c: Likewise.
95726         * lib/findprog.c: Likewise.
95727         * lib/fwriteerror.c: Likewise.
95728         * lib/gl_array_list.c: Likewise.
95729         * lib/gl_array_oset.c: Likewise.
95730         * lib/gl_avltree_list.c: Likewise.
95731         * lib/gl_avltree_oset.c: Likewise.
95732         * lib/gl_avltreehash_list.c: Likewise.
95733         * lib/gl_carray_list.c: Likewise.
95734         * lib/gl_linked_list.c: Likewise.
95735         * lib/gl_linkedhash_list.c: Likewise.
95736         * lib/gl_list.c: Likewise.
95737         * lib/gl_oset.c: Likewise.
95738         * lib/gl_rbtree_list.c: Likewise.
95739         * lib/gl_rbtree_oset.c: Likewise.
95740         * lib/gl_rbtreehash_list.c: Likewise.
95741         * lib/imaxabs.c: Likewise.
95742         * lib/imaxdiv.c: Likewise.
95743         * lib/javacomp.c: Likewise.
95744         * lib/javaexec.c: Likewise.
95745         * lib/javaversion.c: Likewise.
95746         * lib/linebreak.c: Likewise.
95747         * lib/localcharset.c: Likewise.
95748         * lib/lock.c: Likewise.
95749         * lib/mbchar.c: Likewise.
95750         * lib/mbswidth.c: Likewise.
95751         * lib/mkdtemp.c: Likewise.
95752         * lib/pipe.c: Likewise.
95753         * lib/printf-args.c: Likewise.
95754         * lib/printf-parse.c: Likewise.
95755         * lib/progname.c: Likewise.
95756         * lib/progreloc.c: Likewise.
95757         * lib/readlink.c: Likewise.
95758         * lib/sh-quote.c: Likewise.
95759         * lib/stpcpy.c: Likewise.
95760         * lib/stpncpy.c: Likewise.
95761         * lib/strcasecmp.c: Likewise.
95762         * lib/strcasestr.c: Likewise.
95763         * lib/strcspn.c: Likewise.
95764         * lib/striconv.c: Likewise.
95765         * lib/strncasecmp.c: Likewise.
95766         * lib/strnlen1.c: Likewise.
95767         * lib/strstr.c: Likewise.
95768         * lib/strtok_r.c: Likewise.
95769         * lib/tls.c: Likewise.
95770         * lib/tmpdir.c: Likewise.
95771         * lib/unicodeio.c: Likewise.
95772         * lib/unsetenv.c: Likewise.
95773         * lib/vasnprintf.c: Likewise.
95774         * lib/vasprintf.c: Likewise.
95775         * lib/wait-process.c: Likewise.
95776         * lib/xallocsa.c: Likewise.
95777         * lib/xsetenv.c: Likewise.
95778         * lib/xstriconv.c: Likewise.
95780 2006-09-13  Simon Josefsson  <jas@extundo.com>
95782         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
95783         that internally, suggested by Ralf Wildenhues
95784         <Ralf.Wildenhues@gmx.de>.
95786 2006-09-13  Simon Josefsson  <jas@extundo.com>
95788         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
95789         @LIBOBJS@.
95790         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
95792 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
95794         * lib/_fpending.c: Include <config.h> unconditionally, since we no
95795         longer worry about uses that don't define HAVE_CONFIG_H.
95796         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
95797         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
95798         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
95799         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
95800         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
95801         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
95802         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
95803         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
95804         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
95805         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
95806         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
95807         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
95808         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
95809         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
95810         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
95811         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
95812         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
95813         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
95814         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
95815         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
95816         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
95817         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
95818         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
95819         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
95820         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
95821         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
95822         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
95823         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
95824         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
95825         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
95826         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
95827         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
95828         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
95829         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
95830         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
95831         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
95832         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
95833         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
95834         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
95835         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
95836         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
95837         Likewise.
95839 2006-09-13  Eric Blake  <ebb9@byu.net>
95841         * lib/getopt.c: Fix typo in last commit.
95843 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
95845         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
95846         dgettext.
95848 2006-09-12  Jim Meyering  <jim@meyering.net>
95850         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
95851         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
95852         Reported by Nelson H. F. Beebe.
95854 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
95856         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
95857         program_invocation_name and program_invocation_short_name are
95858         initialized.
95859         * lib/argp-namefrob.h: Move declarations of program_invocation_name
95860         and program_invocation_short_name to argp.h, so they are visible
95861         to user programs.
95862         * lib/argp.h: Likewise
95864 2006-09-10  Bruno Haible  <bruno@clisp.org>
95866         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
95867         m4/inttypes_h.m4, m4/uintmax_t.m4.
95869 2006-09-10  Bruno Haible  <bruno@clisp.org>
95871         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
95872         gl_AC_TYPE_UINTMAX_T.
95874 2006-09-10  Bruno Haible  <bruno@clisp.org>
95876         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
95878 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
95880         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
95881         convention.  Text proposed by Bruno Haible.
95882         (struct argp_option): Document the use of N_() wrappers.
95884         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
95885         '\v', and translate the two parts separately, instead of feeding
95886         the whole string to gettext.  This allows to exclude
95887         '\v' from the strings visible to the translator by writing doc
95888         strings as N_("..") "\v" N_("..").
95890 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
95892         * config/srclist.txt: Undo latest change; the bug was fixed.
95894 2006-09-09  Bruno Haible  <bruno@clisp.org>
95896         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
95897         assignments if building a library without libtool.
95898         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
95899         in func_emit_lib_Makefile_am.
95900         (func_import): When building a static library libfoo.a, arrange to
95901         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
95902         (func_create_testdir): Likewise.
95903         * modules/gc (configure.ac, Makefile.am): If building statically,
95904         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
95905         * modules/iconvme (configure.ac, Makefile.am): Likewise.
95906         * modules/striconv (configure.ac, Makefile.am): Likewise.
95907         Based on a suggestion by Ralf Wildenhues.
95909 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
95911         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
95912         Check for unistd.h too, since Autoconf doesn't assume POSIX.
95913         Also:
95915         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
95916         Add year_2050_test to catch glibc bug 2821
95917         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
95919         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
95920         Prefer #ifdef to #if.
95922         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
95923         Return from 'main' instead of calling 'exit'.
95925 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
95927         * lib/mktime.c (guess_time_tm): Fix bug where mktime
95928         returned the maximum time_t value rather than (time_t) -1.
95929         Problem originally reported by William Bardwell
95930         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
95932         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
95933         Moved to here ...
95934         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
95935         ... from here.
95937 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
95939         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
95940         2821 is fixed.
95942 2006-09-08  Jim Meyering  <jim@meyering.net>
95944         Don't make generated files read-only.  That would bother too many
95945         people.  However, do retain the ability to work when targets are
95946         read-only: remove the destination and temporary files before writing
95947         them (when generated via sed or echo), or by using the -f option for
95948         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
95949         * modules/alloca-opt, modules/argz, modules/arpa_inet:
95950         * modules/byteswap, modules/configmake, modules/fcntl:
95951         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
95952         * modules/localcharset, modules/netinet_in, modules/poll:
95953         * modules/stdbool, modules/stdint, modules/sys_select:
95954         * modules/sys_socket, modules/sys_stat, modules/sysexits:
95956 2006-09-08  Jim Meyering  <jim@meyering.net>
95958         Avoid new build failure on FreeBSD 6.0.
95959         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
95960         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
95961         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
95963 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
95965         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
95967 2006-09-07  Jim Meyering  <jim@meyering.net>
95969         Fix global typo in last change: use chmod u-w, not chmod u-x.
95970         Spotted by Paul Eggert and Bruce Korb.
95971         * modules/alloca-opt, modules/argz, modules/arpa_inet:
95972         * modules/byteswap, modules/configmake, modules/fcntl:
95973         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
95974         * modules/localcharset, modules/netinet_in, modules/poll:
95975         * modules/stdbool, modules/stdint, modules/sys_select:
95976         * modules/sys_socket, modules/sys_stat, modules/sysexits:
95978 2006-09-06  Jim Meyering  <jim@meyering.net>
95980         Make generated files be read-only.
95981         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
95982         Ensure that each generated file is now read-only.
95983         * modules/argz: Likewise.
95984         * modules/arpa_inet: Likewise.
95985         * modules/byteswap: Likewise.
95986         * modules/configmake: Likewise.
95987         * modules/fcntl: Likewise.
95988         * modules/fnmatch: Likewise.
95989         * modules/getopt: Likewise.
95990         * modules/glob: Likewise.
95991         * modules/inttypes: Likewise.
95992         * modules/netinet_in: Likewise.
95993         * modules/poll: Likewise.
95994         * modules/stdbool: Likewise.
95995         * modules/stdint: Likewise.
95996         * modules/sys_select: Likewise.
95997         * modules/sys_socket: Likewise.
95998         * modules/sys_stat: Likewise.
95999         * modules/sysexits: Likewise.
96000         * modules/localcharset: Same as above, but continue using temporary
96001         file named "t-$@" (why different?) rather than the "$@-t" used
96002         everywhere else.
96004         * modules/sysexits (Makefile.am): Replace literal occurrences
96005         of "sysexit.h" more readable, and more consistent, "$@".
96007 2006-09-06  Bruno Haible  <bruno@clisp.org>
96009         * modules/striconv: New file.
96010         * modules/xstriconv: New file.
96011         * MODULES.html.sh (Internationalization functions): Add striconv,
96012         xstriconv.
96014 2006-09-06  Bruno Haible  <bruno@clisp.org>
96016         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
96017         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
96018         not using libtool correctly.
96020 2006-09-06  Bruno Haible  <bruno@clisp.org>
96022         * lib/striconv.h: New file.
96023         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
96024         iconvstring.c.
96025         * lib/xstriconv.h: New file.
96026         * lib/xstriconv.c: New file.
96028 2006-09-06  Bruno Haible  <bruno@clisp.org>
96030         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
96031         lib_..._LDFLAGS.
96033 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
96035         * lib/argz_.h: Sync from Libtool.
96037         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
96038                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
96040         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
96042 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
96044         * modules/trim: New file.
96046 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
96048         * lib/trim.h: New file.
96049         * lib/trim.c: New file.
96051 2006-09-05  Bruno Haible  <bruno@clisp.org>
96053         * MODULES.html.sh (String handling): Add trim.
96055 2006-09-04  Karl Berry  <karl@gnu.org>
96057         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
96058         until next release.
96060 2006-09-03  Bruno Haible  <bruno@clisp.org>
96062         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
96063         correctly.
96065 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
96067         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
96068         not gl_GETLOADAVG.  Omit unneeded semicolons.
96069         Problems reported by Ralf Wildenhues in
96070         <http://lists.gnu.org/r/bug-gnulib/2006-09/msg00000.html>.
96071         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
96072         at the end, which is the usual gnulib style.
96074         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
96075         of doing all the work ourselves.
96076         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
96077         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
96079 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
96081         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
96082         Problem reported by Ralf Wildenhues in
96083         <http://lists.gnu.org/r/bug-gnulib/2006-09/msg00000.html>.
96085         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
96086         HAVE_STRUCT_STATFS_F_FSTYPENAME.
96088 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
96090         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
96091         yesterday's patch by changing test -n to test -z.
96093 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
96095         * modules/getloadavg (Files): Add m4/getloadavg.m4.
96096         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
96097         the former is now obsolescent.
96099         * modules/chdir-long (Depends-on): Add fcntl.
96101 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
96103         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
96104         obsolescent, and programs should use gnulib instead.
96105         * m4/getloadavg.m4: New file, with contents taken from Autoconf
96106         but with prefixes changed.
96108 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
96110         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
96111         or stdbool.h, because they might not exist while configuring.
96113         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
96114         Don't include unistd.h or limits.h; not needed, since chdir-long.h
96115         does that for us.
96116         (O_DIRECTORY): Remove.
96118 2006-08-31  Eric Blake  <ebb9@byu.net>
96120         * gnulib-tool: Don't let emacs change spaces to TAB.
96122 2006-08-31  Bruno Haible  <bruno@clisp.org>
96124         * gnulib-tool: When calling func_import more than once, do it in a
96125         subshell.
96126         Reported by Eric Blake <ebb9@byu.net>.
96128 2006-08-31  Bruno Haible  <bruno@clisp.org>
96130         * gnulib-tool (nl): Remove variable.
96131         (sed_transform_lib_file): Use more robust test for config-h module.
96132         (func_import): Fix typo in 2006-08-25 patch.
96134 2006-08-31  Bruno Haible  <bruno@clisp.org>
96136         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
96137         specified, augment Makefile.am variables instead of assigning them.
96139 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
96141         Work around a bug in both the Linux and SunOS 64-bit kernels:
96142         nanosleep mishandles sleeps for longer than 2**31 seconds.
96143         Problem reported by Frank v Waveren in
96144         <http://lists.gnu.org/r/bug-coreutils/2006-08/msg00298.html>.
96145         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
96146         Check for nanosleep bug.
96147         (LIB_NANOSLEEP): Append clock_gettime library if needed.
96149 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
96151         Work around a bug in both the Linux and SunOS 64-bit kernels:
96152         nanosleep mishandles sleeps for longer than 2**31 seconds.
96153         Problem reported by Frank v Waveren in
96154         <http://lists.gnu.org/r/bug-coreutils/2006-08/msg00298.html>.
96155         * lib/nanosleep.c (BILLION): New constant.
96156         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
96157         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
96158         implementation.
96160 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
96162         * modules/nanosleep (Depends-on): Add gettime.
96164 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
96165         and Simon Josefsson  <jas@extundo.com>
96166         and Oskar Liljeblad  <oskar@osk.mine.nu>
96168         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
96169         * gnulib-tool (func_import): New license type 'unmodifiable license
96170         text'.
96171         * modules/fdl: Use it.  Longer description.
96172         * module/gpl, module/lgpl: New files.
96174 2006-08-30  Jim Meyering  <jim@meyering.net>
96176         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
96177         shadowing the parameter.
96179 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
96181         Sync from Libtool:
96183         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
96185         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
96186         sharing with gnulib.  Report by Eric Blake.
96188 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
96190         * modules/isapipe: New file.
96191         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
96193 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
96195         * modules/configmake (Makefile.am): Add a comment, and omit
96196         the CONFIGMAKE_ prefix from generated macro names.  Suggested
96197         by Bruno Haible.
96199 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
96201         * m4/isapipe.m4: New file.
96203 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
96205         * lib/isapipe.c, lib/isapipe.h: New files.
96207 2006-08-29  Jim Meyering  <jim@meyering.net>
96209         * modules/configmake (Makefile.am): Make configmake.h depend on
96210         Makefile.  Otherwise, a stale configmake.h could hang around.
96212 2006-08-29  Eric Blake  <ebb9@byu.net>
96214         * lib/error.c (error_at_line, print_errno_message): Match libc, after
96215         resolution of upstream bug 3044.
96217 2006-08-29  Bruno Haible  <bruno@clisp.org>
96219         * modules/localcharset (Depends-on): Add configmake.
96220         (Makefile.am): Remove setting of LIBDIR through DEFS.
96222 2006-08-29  Bruno Haible  <bruno@clisp.org>
96224         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
96225         defined.
96227 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
96229         * modules/fcntl: New file.
96230         * modules/chdir-safer (Depends-on): Add fcntl.
96231         * modules/fts: Likewise.
96232         * modules/mkdir-p: Likewise.
96234         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
96235         This undoes the most recent change, since we're now addressing the
96236         problem in a different way.
96238         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
96239         into output, since the output might be called Makefile.am even
96240         if $makefile_name is something different.
96241         (func_import): Use $makefile_am rather than
96242         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
96243         empty.
96245         * modules/inttypes (Files): Add m4/inttypes-h.m4.
96247 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
96249         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
96250         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
96251         recent change to stdint.m4, since we're now addressing the problem in a
96252         different way.
96254 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
96256         * m4/fcntl_h.m4: New file.
96258 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
96260         * lib/fcntl_.h: New file.
96261         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
96262         the fcntl module.
96263         * lib/dirchownmod.c: Likewise.
96264         * lib/fts.c: Likewise.
96266         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
96267         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
96268         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
96269         just before including <inttypes.h>, to avoid circular inclusion.
96271 2006-08-28  Jim Meyering  <jim@meyering.net>
96273         * doc/visibility.texi: Actually read and correct the grammar of the
96274         sentence affected by yesterday's change.
96276 2006-08-28  Eric Blake  <ebb9@byu.net>
96278         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
96279         needs wrapper.
96281 2006-08-28  Eric Blake  <ebb9@byu.net>
96283         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
96285 2006-08-28  Eric Blake  <ebb9@byu.net>
96287         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
96289 2006-08-28  Bruno Haible  <bruno@clisp.org>
96291         * modules/c-strstr: New file, from GNU gettext.
96292         * MODULES.html.sh (String handling): Add c-strstr.
96294 2006-08-28  Bruno Haible  <bruno@clisp.org>
96296         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
96297         macros.
96298         Reported by Eric Blake.
96300 2006-08-28  Bruno Haible  <bruno@clisp.org>
96302         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
96303         (VASNPRINTF): Return a string of length > INT_MAX without failing.
96304         * lib/vasprintf.c: Include errno.h, limits.h.
96305         (EOVERFLOW): New fallback definition.
96306         (vasprintf): Test here whether the string length is > INT_MAX.
96307         * lib/vsnprintf.c: Include errno.h, limits.h.
96308         (EOVERFLOW): New fallback definition.
96309         (vsnprintf): Fix bug when generated string was too long for the buffer.
96310         Test here whether the string length is > INT_MAX.
96312 2006-08-28  Bruno Haible  <bruno@clisp.org>
96314         * lib/inttypes_.h (SCNX*): Remove definitions.
96315         Reported by Eric Blake.
96317 2006-08-28  Bruno Haible  <bruno@clisp.org>
96319         * lib/c-strstr.h: New file, from GNU gettext.
96320         * lib/c-strstr.c: New file, from GNU gettext.
96322 2006-08-28  Bruno Haible  <bruno@clisp.org>
96324         * gnulib-tool: Reorder some statements.
96326 2006-08-28  Bruno Haible  <bruno@clisp.org>
96328         * gnulib-tool: New option --makefile-name.
96329         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
96330         $makefile_name.
96331         (func_import): Write $makefile_name to the cache file, and read it from
96332         there unless explicitly specified. Use $makefile_name as file name
96333         instead of Makefile.am. Adjust the recommendations accordingly.
96335 2006-08-28  Bruno Haible  <bruno@clisp.org>
96337         * gnulib-tool (func_verify_module): Check against misapplying patch.
96339 2006-08-28  Bruno Haible  <bruno@clisp.org>
96341         * gnulib-tool (func_relativize, func_relconcat): New functions.
96342         Give an error if --local-dir is given with --update.
96343         Remove trailing slashes from $local_gnulib_dir.
96344         (func_import): Store the relativized $local_gnulib_dir in
96345         gnulib-cache.m4, and read it from there if not specified explicitly.
96347 2006-08-28  Bruno Haible  <bruno@clisp.org>
96349         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
96350         is the current directory. Respect also $local_gnulib_dir.
96352 2006-08-28  Bruno Haible  <bruno@clisp.org>
96353             Simon Josefsson  <jas@extundo.com>
96355         BeOS portability.
96356         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
96358 2006-08-27  Jim Meyering  <jim@meyering.net>
96360         * doc/visibility.texi: Remove duplicate word: "pointer".
96362 2006-08-26  Bruno Haible  <bruno@clisp.org>
96364         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
96365         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
96366         (Makefile.am): Create inttypes.h from inttypes_.h.
96367         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
96369         * modules/imaxabs: New file.
96371         * modules/imaxdiv: New file.
96373 2006-08-26  Bruno Haible  <bruno@clisp.org>
96375         * m4/inttypes.m4: New file.
96376         * m4/_inttypes_h.m4: Remove file.
96377         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
96378         PRI_MACROS_BROKEN.
96379         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
96381         * m4/imaxabs.m4: New file.
96383         * m4/imaxdiv.m4: New file.
96385 2006-08-26  Bruno Haible  <bruno@clisp.org>
96387         * lib/inttypes_.h: New file.
96388         * lib/inttypes.h: Remove file.
96389         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
96391         * lib/imaxabs.c: New file.
96393         * lib/imaxdiv.c: New file.
96395 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
96397         New config-h module, so that "make" output needn't be cluttered
96398         by -DHAVE_CONFIG_H.
96399         * MODULES.html.sh (Support for building libraries and executables):
96400         Add config-h.
96401         * modules/config-h: New file.
96402         * gnulib-tool (nl, sed_transform_lib_file): New vars.
96403         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
96404         the config-h module is used.
96406         New configmake module, so that "make" output needn't be cluttered
96407         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
96408         * MODULES.html.sh (Support for building libraries and executables):
96409         Add configmake.
96410         * modules/configmake: New file.
96412 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
96414         * m4/config-h.m4: New file.
96416 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
96418         * config/srclist.txt: Add elisp-comp.
96420 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
96422         * MODULES.html.sh (Support for building libraries and executables):
96423         Add elisp-comp.
96424         * build-aux/elisp-comp: New file.
96425         * modules/elisp-comp: New file.
96427 2006-08-24  Bruno Haible  <bruno@clisp.org>
96429         * gnulib-tool (func_create_testdir): Use non-default values of
96430         sourcebase and m4base.
96432 2006-08-24  Bruno Haible  <bruno@clisp.org>
96434         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
96435         HTML structure.
96437 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
96439         * modules/openat (Depends-on): Add lchown.
96441 2006-08-23  Bruno Haible  <bruno@clisp.org>
96443         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
96444         of gl_LOCK_EARLY instead of gl_LOCK.
96446 2006-08-23  Bruno Haible  <bruno@clisp.org>
96448         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
96449         on OSF/1 to no.
96450         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
96452 2006-08-23  Bruno Haible  <bruno@clisp.org>
96454         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
96455         as unusable.
96457         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
96458         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
96459         (gl_LOCK): New macro.
96461 2006-08-22  Simon Josefsson  <jas@extundo.com>
96463         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
96464         to md5 module.
96466 2006-08-22  Simon Josefsson  <jas@extundo.com>
96468         * MODULES.html.sh: Add "Support for maintaining and release
96469         projects".
96471         * build-aux/gnupload: New file, from coreutils.
96473 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
96475         Avoid the need for AC_LIBSOURCES in m4 macros.
96476         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
96477         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
96478         * modules/check-version (EXTRA_DIST): Add check-version.h.
96479         * modules/crc (EXTRA_DIST): Add crc.h.
96480         * modules/des (EXTRA_DIST): Add des.h.
96481         * modules/gc (EXTRA_DIST): Add gc.h.
96482         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
96483         * modules/getline (EXTRA_DIST): Add getline.h.
96484         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
96485         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
96486         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
96487         * modules/md2 (EXTRA_DIST): Add md2.h.
96488         * modules/md4 (EXTRA_DIST): Add md4.h.
96489         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
96490         * modules/read-file (EXTRA_DIST): Add read-file.h.
96491         * modules/readline (EXTRA_DIST): Add readline.h.
96492         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
96493         rijndael-api-fst.h.
96495 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
96497         * m4/rijndael.m4 (gl_ARCFOUR):
96498         * m4/arctwo.m4 (gl_ARCTWO):
96499         * m4/check-version.m4 (gl_CHECK_VERSION):
96500         * m4/crc.m4 (gl_CRC):
96501         * m4/des.m4 (gl_DES):
96502         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
96503         * m4/gc.m4 (gl_GC):
96504         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
96505         * m4/getline.m4 (gl_FUNC_GETLINE):
96506         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
96507         * m4/hmac-md5.m4 (gl_HMAC_MD5):
96508         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
96509         * m4/md2.m4 (gl_MD2):
96510         * m4/md4.m4 (gl_MD4):
96511         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
96512         * m4/read-file.m4 (gl_FUNC_READ_FILE):
96513         * m4/readline.m4 (gl_FUNC_READLINE):
96514         * m4/rijndael.m4 (gl_RIJNDAEL):
96515         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
96516         to get the necessary .h files and whatnot.
96518 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
96520         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
96521         gnulib rather than the other way around.
96522         * config/srclistvars.sh (COREUTILS): Remove.
96524 2006-08-22  Jim Meyering  <jim@meyering.net>
96526         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
96528         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
96530 2006-08-22  Eric Blake  <ebb9@byu.net>
96532         * modules/regexprops-generic: New file.
96533         * MODULES.html.sh (Support for building documentation): List it.
96535 2006-08-22  Eric Blake  <ebb9@byu.net>
96537         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
96538         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
96539         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
96540         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
96542 2006-08-22  Bruno Haible  <bruno@clisp.org>
96544         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
96545         and lib_LTLIBRARIES like the other lib_* variables.
96547 2006-08-22  Bruno Haible  <bruno@clisp.org>
96549         * build-aux/x-to-1.in: New file, from GNU gettext.
96551 2006-08-22  Bruno Haible  <bruno@clisp.org>
96553         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
96554         <utmpx.h> exists.
96556 2006-08-22  Bruno Haible  <bruno@clisp.org>
96558         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
96559         <utmpx.h> exists.
96561 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
96563         BeOS portability.
96564         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
96565         exist.
96566         Problem reported by Bruno Haible.
96568 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
96570         Avoid the need for AC_LIBSOURCES in m4 macros.
96571         * modules/acl (EXTRA_DIST): Add acl.h.
96572         * modules/argmatch (Files): Add m4/argmatch.m4.
96573         (configure.ac): Add gl_ARGMATCH.
96574         (EXTRA_DIST): Renamed from lib_SOURCES, for
96575         consistency with the other modules.  Remove argmatch.c.
96576         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
96577         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
96578         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
96579         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
96580         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
96581         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
96582         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
96583         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
96584         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
96585         * modules/closeout (EXTRA_DIST): Add closeout.h.
96586         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
96587         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
96588         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
96589         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
96590         dirname.h; remove basename.c and stripslash.c.
96591         * modules/exclude (EXTRA_DIST): Add exclude.h.
96592         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
96593         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
96594         * modules/file-type (EXTRA_DIST): Add file-type.h.
96595         * modules/filemode (EXTRA_DIST): Add filemode.h.
96596         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
96597         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
96598         * modules/fpending (EXTRA_DIST): Add __fpending.h.
96599         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
96600         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
96601         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
96602         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
96603         * modules/getdate (EXTRA_DIST): Add getdate.c.
96604         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
96605         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
96606         * modules/getpass (EXTRA_DIST): Add getpass.h.
96607         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
96608         * modules/group-member (EXTRA_DIST): Add group-member.h.
96609         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
96610         * modules/hash (EXTRA_DIST): Add hash.h.
96611         * modules/human (EXTRA_DIST): Add human.h.
96612         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
96613         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
96614         * modules/lchown (EXTRA_DIST): Add lchown.h.
96615         * modules/long-options (EXTRA_DIST): Add long-options.h.
96616         * modules/lstat (EXTRA_DIST): Add lstat.h.
96617         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
96618         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
96619         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
96620         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
96621         * modules/memxor (EXTRA_DIST): Add memxor.h.
96622         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
96623         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
96624         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
96625         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
96626         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
96627         * modules/physmem (EXTRA_DIST): Add physmem.h.
96628         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
96629         * modules/posixver (EXTRA_DIST): Add posixver.h.
96630         * modules/quote (EXTRA_DIST): Add quote.h.
96631         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
96632         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
96633         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
96634         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
96635         regex_internal.h regexec.c.
96636         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
96637         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
96638         * modules/same (EXTRA_DIST): Add same.h.
96639         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
96640         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
96641         * modules/savedir (EXTRA_DIST): Add savedir.h.
96642         * modules/sha1 (EXTRA_DIST): Add sha1.h.
96643         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
96644         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
96645         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
96646         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
96647         * modules/strdup (EXTRA_DIST): Add strdup.h.
96648         * modules/strftime (EXTRA_DIST): Add strftime.h.
96649         * modules/strndup (EXTRA_DIST): Add strndup.h.
96650         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
96651         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
96652         * modules/time_r (EXTRA_DIST): Add time_r.h.
96653         * modules/timespec (EXTRA_DIST): Add timespec.h.
96654         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
96655         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
96656         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
96657         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
96658         * modules/userspec (EXTRA_DIST): Add userspec.h.
96659         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
96660         * modules/utimens (EXTRA_DIST): Add utimens.h.
96661         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
96662         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
96663         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
96664         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
96665         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
96666         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
96667         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
96668         * modules/yesno (EXTRA_DIST): Add yesno.h.
96670 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
96672         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
96674         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
96675         * m4/dev-ino.m4, same-inode.m4: Remove.
96677         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
96678         * m4/acl.m4 (AC_FUNC_ACL):
96679         * m4/backupfile.m4 (gl_BACKUPFILE):
96680         * m4/c-strtod.m4 (gl_C99_STRTOLD):
96681         * m4/canon-host.m4 (gl_CANON_HOST):
96682         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
96683         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
96684         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
96685         * m4/cloexec.m4 (gl_CLOEXEC):
96686         * m4/close-stream.m4 (gl_CLOSE_STREAM):
96687         * m4/closeout.m4 (gl_CLOSEOUT):
96688         * m4/dirfd.m4 (gl_FUNC_DIRFD):
96689         * m4/dirname.m4 (gl_DIRNAME):
96690         * m4/exclude.m4 (gl_EXCLUDE):
96691         * m4/exitfail.m4 (gl_EXITFAIL):
96692         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
96693         * m4/file-type.m4 (gl_FILE_TYPE):
96694         * m4/filemode.m4 (gl_FILEMODE):
96695         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
96696         * m4/fpending.m4 (gl_FUNC_FPENDING):
96697         * m4/fprintftime.m4 (gl_FPRINTFTIME):
96698         * m4/fts.m4 (gl_FUNC_FTS):
96699         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
96700         * m4/getdate.m4 (gl_GETDATE):
96701         * m4/gethrxtime.m4 (gl_GETHRXTIME):
96702         * m4/getpagesize.m4 (gl_GETPAGESIZE):
96703         * m4/getpass.m4 (gl_FUNC_GETPASS):
96704         * m4/gettime.m4 (gl_GETTIME):
96705         * m4/getugroups.m4 (gl_GETUGROUPS):
96706         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
96707         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
96708         * m4/hard-locale.m4 (gl_HARD_LOCALE):
96709         * m4/hash.m4 (gl_HASH):
96710         * m4/idcache.m4 (gl_IDCACHE):
96711         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
96712         * m4/lchown.m4 (gl_FUNC_LCHOWN):
96713         * m4/long-options.m4 (gl_LONG_OPTIONS):
96714         * m4/lstat.m4 (gl_FUNC_LSTAT):
96715         * m4/md5.m4 (gl_MD5):
96716         * m4/memcasecmp.m4 (gl_MEMCASECMP):
96717         * m4/memcoll.m4 (gl_MEMCOLL):
96718         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
96719         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
96720         * m4/memxor.m4 (gl_MEMXOR):
96721         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
96722         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
96723         * m4/modechange.m4 (gl_MODECHANGE):
96724         * m4/mountlist.m4 (gl_MOUNTLIST):
96725         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
96726         * m4/openat.m4 (gl_FUNC_OPENAT):
96727         * m4/pathmax.m4 (gl_PATHMAX):
96728         * m4/physmem.m4 (gl_PHYSMEM):
96729         * m4/posixtm.m4 (gl_POSIXTM):
96730         * m4/posixver.m4 (gl_POSIXVER):
96731         * m4/quote.m4 (gl_QUOTE):
96732         * m4/quotearg.m4 (gl_QUOTEARG):
96733         * m4/readtokens.m4 (gl_READTOKENS):
96734         * m4/readutmp.m4 (gl_READUTMP):
96735         * m4/regex.m4 (gl_REGEX):
96736         * m4/safe-read.m4 (gl_SAFE_READ):
96737         * m4/safe-write.m4 (gl_SAFE_WRITE):
96738         * m4/same.m4 (gl_SAME):
96739         * m4/save-cwd.m4 (gl_SAVE_CWD):
96740         * m4/savedir.m4 (gl_SAVEDIR):
96741         * m4/settime.m4 (gl_SETTIME):
96742         * m4/sha1.m4 (gl_SHA1):
96743         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
96744         * m4/stat-macros.m4 (gl_STAT_MACROS):
96745         * m4/stat-time.m4 (gl_STAT_TIME):
96746         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
96747         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
96748         * m4/strdup.m4 (gl_FUNC_STRDUP):
96749         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
96750         * m4/strndup.m4 (gl_FUNC_STRNDUP):
96751         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
96752         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
96753         * m4/time_r.m4 (gl_TIME_R):
96754         * m4/timespec.m4 (gl_TIMESPEC):
96755         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
96756         * m4/unlinkdir.m4 (gl_UNLINKDIR):
96757         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
96758         * m4/userspec.m4 (gl_USERSPEC):
96759         * m4/utimecmp.m4 (gl_UTIMECMP):
96760         * m4/utimens.m4 (gl_UTIMENS):
96761         * m4/xalloc.m4 (gl_XALLOC):
96762         * m4/xgetcwd.m4 (gl_XGETCWD):
96763         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
96764         * m4/xreadlink.m4 (gl_XREADLINK):
96765         * m4/xstrtod.m4 (gl_XSTRTOD):
96766         * m4/yesno.m4 (gl_YESNO):
96767         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
96768         to get the necessary .h files and whatnot.
96770 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
96771             Bruno Haible  <bruno@clisp.org>
96773         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
96774         /bin/sh understanding of '!' conditional negation.
96776 2006-08-21  Jim Meyering  <jim@meyering.net>
96778         * modules/openat (Depends-on): Really alphabetize.
96780         * modules/acl (Depends-on): Add error and quote.
96782         * check-module (find_included_lib_files): Add at-func.c to the
96783         ok-to-include-more-than-once white list.
96785         * modules/openat (Depends-on): Add lstat.  Alphabetize.
96787 2006-08-21  Bruno Haible  <bruno@clisp.org>
96789         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
96790         Emit a pkgdata_DATA variable only if some snippets add contents to it.
96791         Reported by Martin Lambers <marlam@marlam.de>.
96793 2006-08-21  Bruno Haible  <bruno@clisp.org>
96795         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
96796         specify an installation location, don't emit a noinst_LIBRARIES or
96797         noinst_LTLIBRARIES assignment.
96799 2006-08-21  Bruno Haible  <bruno@clisp.org>
96801         BeOS portability.
96802         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
96803         BeOS has mbrtowc() but no <wctype.h>.
96805 2006-08-21  Bruno Haible  <bruno@clisp.org>
96807         BeOS portability.
96808         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
96809         exist.
96811 2006-08-21  Bruno Haible  <bruno@clisp.org>
96813         BeOS portability.
96814         * lib/mbchar.h: Include <wctype.h> only if it exists.
96816 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
96818         Remove files that are no longer needed by their respective modules.
96819         * m4/obstack.m4: Remove.
96820         * m4/strerror_r.m4: Remove.
96821         * m4/uint32_t.m4: Remove.
96822         * m4/uintptr_t.m4: Remove.
96823         * m4/ullong_max.m4: Remove.
96824         * m4/xstrtoimax.m4: Remove.
96825         * m4/xstrtoumax.m4: Remove.
96827         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
96828         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
96829         dependencies now capture this.
96831         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
96832         Do not use AC_LIBSOURCES, since gnulib modules now do this.
96833         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
96834         * m4/human.m4 (gl_HUMAN): Likewise.
96835         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
96836         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
96838         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
96840         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
96841         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
96842         stdint.
96843         * m4/human.m4 (gl_HUMAN): Likewise.
96844         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
96845         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
96846         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
96847         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
96848         * m4/xstrtol (gl_XSTRTOL): Likewise.
96850         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
96851         AC_TYPE_LONG_LONG_INT.
96852         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
96853         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
96854         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
96855         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
96857         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
96858         on stdbool.
96860         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
96861         (gl_PREREQ_XSTRTOUL): Remove.
96863         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
96865         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
96866         mode.
96868 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
96870         Add and change modules to make it easier for coreutils to use
96871         gnulib-tool.
96872         * modules/backupfile (Files): Remove m4/d-ino.m4.
96873         (Depends-on): Add d-ino.
96874         * modules/cycle-check (Depends-on): Add stdint.
96875         (lib_SOURCES): Add cycle-check.h.
96876         * modules/d-ino: New module.
96877         * modules/d-type: New module.
96878         * modules/error (Files): Remove m4/strerror_r.m4.
96879         * modules/filemode (Files): Add m4/st_dm_mode.m4.
96880         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
96881         m4/inttypes_h.m4, m4/uintmax_t.m4.
96882         (Depends-on): Add stdint.
96883         (lib_SOURCES): Add fsusage.h.
96884         * modules/getcwd (Files): Remove d-ino.m4.
96885         (Depends-on): Add d-ino.
96886         * modules/getndelim2 (Depends-on): Add stdint.
96887         * modules/glob (Files): Remove m4/d-type.m4.
96888         (Depends-on): Add d-type.
96889         * modules/host-os: New module.
96890         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
96891         m4/inttypes_h.m4, m4/uintmax_t.m4.
96892         * Depends-on: Add stdint.
96893         (lib_SOURCES): Add human.h.
96894         * modules/inttostr (Files): Remove m4/intmax_t.m4,
96895         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
96896         m4/uintmax_t.m4, m4/ulonglong.m4.
96897         (Depends-on): Add stdint.
96898         (EXTRA_DIST): Add inttostr.h.
96899         * modules/lchmod: New module.
96900         * modules/link-follow: New module.
96901         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
96902         (Depends-on): Add lchmod.
96903         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
96904         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
96905         (Depends-on): Add stdint.
96906         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
96907         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
96908         (Depends-on): Add stdint.
96909         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
96910         * modules/perl: New module.
96911         * modules/regex (Depends-on): Add stdint.
96912         * modules/rmdir-errno: New module.
96913         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
96914         m4/intmax_t.m4.
96915         (Depends-on): Add stdint.
96916         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
96917         m4/uintmax_t.m4.
96918         (Depends-on): Add stdint.
96919         * modules/unlink-busy: New module.
96920         * modules/utimecmp (Depends-on): Add stdint.
96921         * modules/uptime: New module.
96922         * modules/winsz-ioctl: New module.
96923         * modules/winsz-termios: New module.
96924         * modules/xnanosleep (Depends-on): Add nanosleep.
96925         * modules/ullong_max: Remove.
96926         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
96927         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
96928         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
96929         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
96930         (Depends-on): Add inttypes.
96931         (lib_SOURCES): Add xstrtol.h.
96932         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
96933         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
96934         * MODULES.html.sh: Move 'assert' into the assert section.
96935         Move 'dummy' into the linking section.
96936         Remove ullong_max.
96937         Add section for compatibility checks for POSIX:2001 functions,
96938         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
96939         winsz-ioctl, and winsz-termios into it.
96940         Add lchmod.
96941         Add top-level Misc section and put host-os, perl, and uptime
96942         into it.
96944 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
96946         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
96947         now assume the stdint module.  Do not include inttypes.h.
96948         * lib/fsusage.h: Likewise.
96949         * lib/getndelim2.c: Likewise.
96950         * lib/human.h: Likewise.
96951         * lib/inttostr.h: Likewise.
96952         * lib/obstack.c: Likewise.
96953         * lib/regex_internal.h: Likewise.
96954         * lib/tempname.c: Likewise.
96955         * lib/utimecmp.c: Likewise.
96956         * lib/xstrtol.h: Likewise.
96958         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
96960         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
96961         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
96962         * lib/xtime.h: Likewise.
96964 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
96966         * modules/openat (Files): Add lib/fchmodat.c.
96967         Fixes problem reported by Jay Youngman.
96969 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
96971         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
96972         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
96974 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
96975             Bruno Haible  <bruno@clisp.org>
96977         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
96978         and is a script that invokes bison. Tighten the code. Add comments.
96980 2006-08-18  Jim Meyering  <jim@meyering.net>
96982         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
96983         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
96984         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
96985         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
96987 2006-08-18  Bruno Haible  <bruno@clisp.org>
96989         * modules/bison-i18n: New file.
96990         * MODULES.html.sh (Internationalization functions): Add it.
96992 2006-08-18  Bruno Haible  <bruno@clisp.org>
96994         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
96995         sys/statvfs.h. When getmntinfo was found, check its declaration and
96996         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
96998 2006-08-18  Bruno Haible  <bruno@clisp.org>
97000         * m4/bison-i18n.m4: New file, from bison.
97002 2006-08-18  Bruno Haible  <bruno@clisp.org>
97004         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
97005         (ME_DUMMY): Treat "kernfs" as a dummy.
97006         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
97008 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
97010         Update from coreutils.
97012         2006-08-15  Jim Meyering  <jim@meyering.net>
97014         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
97016         2006-01-17  Jim Meyering  <jim@meyering.net>
97018         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
97020         2006-01-11  Jim Meyering  <jim@meyering.net>
97022         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
97023         Check for the lchmod function.
97025 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
97027         Update from coreutils.
97029         * lib/__fpending.h: Add copyright notice.
97030         * lib/fprintftime.h: Likewise.
97031         * lib/savedir.c: Use (C) in copyright notice.
97032         * lib/savedir.h: Likewise.
97034         2006-08-15  Jim Meyering  <jim@meyering.net>
97036         * lib/at-func.c: New file, with the logic of all emulated at-functions.
97037         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
97038         in support of the EXPECTED_ERRNO macro.
97039         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
97040         definitions.  Instead, define the appropriate symbols and include
97041         "at-func.c".
97042         * lib/mkdirat.c (mkdirat): Likewise.
97043         * lib/fchmodat.c (fchmodat): Likewise.
97044         (ENOSYS): Remove definition.
97045         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
97046         it.  Don't include "unistd--.h" -- it wasn't ever used.
97048         2006-01-17  Jim Meyering  <jim@meyering.net>
97050         Rewrite fts.c not to change the current working directory,
97051         by using openat, fstatat, fdopendir, etc..
97053         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
97054         (HAVE_OPENAT_SUPPORT): Define.
97055         [_LIBC] (fchdir): Don't undef or define; no longer used.
97056         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
97057         Now, this `function' always succeeds, and consumes its file descriptor
97058         parameter -- so callers must not close such FDs.  Update callers.
97059         (diropen_fd, opendirat, cwd_advance_fd): New functions.
97060         (diropen): Add parameter, SP.  Adjust all callers.
97061         Implement using diropen_fd, rather than open.
97062         (fts_open): Initialize new member, fts_cwd_fd.
97063         Remove fts_rft-setting code.
97064         (fts_close): Close fts_cwd_fd, if necessary.
97065         (__opendir2): Define in terms of opendir or opendirat,
97066         depending on whether the FST_NOCHDIR flag is set.
97067         (fts_build): Since fts_safe_changedir consumes its FD, and since
97068         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
97069         and close the dup'd file descriptor upon failure.
97070         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
97071         (fts_safe_changedir): Tweak semantics to reflect that this function
97072         now calls cwd_advance_fd and hence consumes its FD argument.
97073         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
97074         [struct FTS] (fts_rft): Remove now-unused member.
97075         [struct FTS] (fts_cycle.state): Improve comment.
97077         * lib/openat.c (openat_needs_fchdir): New function.
97078         * lib/openat.h (openat_needs_fchdir): Declare it.
97080 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
97082         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
97083         Problem and fix reported by Pádraig Brady in
97084         <http://lists.gnu.org/r/bug-coreutils/2006-08/msg00099.html>.
97086 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
97088         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
97090 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
97092         * lib/memcoll.c (memcoll): Optimize for the common case where the
97093         arguments are bytewise equal.
97095 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
97097         * doc/regexprops-generic.texi: Add a copyright notice.
97099 2006-08-15  Bruno Haible  <bruno@clisp.org>
97101         * modules/tmpdir (License): Change to LGPL.
97103 2006-08-15  Bruno Haible  <bruno@clisp.org>
97105         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
97106         module.
97108 2006-08-14  Simon Josefsson  <jas@extundo.com>
97110         * config/srclist.txt: Add gnupload.
97112 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
97114         Change copyright notice from LGPL 2 to GPL 2, since that's the
97115         standard form used in the gnulib repository.
97116         * tests/test-lock.c: Likewise.
97117         * tests/test-stdint.c: Likewise.
97118         * tests/test-tls.c: Likewise.
97120         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
97121         prelude-manager.  User shorter URLs for GNU projects, without '?'.
97122         Add copyright notice.
97124         * check-module: Add copyright notice.  Output a copyright
97125         notice if "--version" is specified.
97126         * modules/COPYING: New file.
97127         * tests/test-getaddrinfo.c: Add copyright notice.
97128         * tests/test-verify.c: Likewise.
97130 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
97132         Change copyright notice from LGPL 2 to GPL 2, since that's the
97133         standard form used in the gnulib repository.
97134         * lib/lock.c: LGPL -> GPL.
97135         * lib/lock.h: Likewise.
97136         * lib/strnlen1.c: Likewise.
97137         * lib/strnlen1.h: Likewise.
97138         * lib/tls.c: Likewise.
97139         * lib/tls.h: Likewise.
97140         * lib/tmpdir.c: Likewise.
97142         * lib/TODO: Remove; this belongs only in coreutils.
97144 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
97146         Add copyright notices to long-enough files that lack them, since
97147         otherwise the files aren't clearly free.  Use the same notice that
97148         getdate.texi already uses.
97149         * doc/alloca-opt.texi: Add copyright notice.
97150         * doc/alloca.texi: Likewise.
97151         * doc/ctime.texi: Likewise.
97152         * doc/functions.texi: Likewise.
97153         * doc/gcd.texi: Likewise.
97154         * doc/gnulib-tool.texi: Likewise.
97155         * doc/inet_ntoa.texi: Likewise.
97156         * doc/visibility.texi: Likewise.
97158         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
97159         * doc/quote.texi: Add copyright notice.
97161         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
97162         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
97163         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
97164         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
97165         is now obsolete, and give a pointer to the Sun list.
97166         Add copyright notice.
97168 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
97170         * config/srclistvars.sh: Add copyright notice.
97172 2006-08-14  Eric Blake  <ebb9@byu.net>
97174         Import the following change from libc:
97176         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
97178         Upstream bug 2997.
97179         * lib/misc/error.c: Add space between program name and message if file
97180         name is missing.
97182 2006-08-12  Karl Berry  <karl@gnu.org>
97184         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
97185         remove, these originate in gnulib now.
97187 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
97189         * doc/Makefile (standards.info standards.html standards.dvi):
97190         Also depend on make-stds.texi.
97192 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
97194         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
97195         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
97197         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
97198         in wchar_t.  Problem reported by Eric Blake.
97200         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
97201         LEN is smaller than SIZE.  Suggested by Bruno Haible.
97202         Also, help the compiler to keep LEN in a register.
97204 2006-08-11  Eric Blake  <ebb9@byu.net>
97206         * users.txt: Sort.  Add tar.
97208 2006-08-11  Bruno Haible  <bruno@clisp.org>
97210         * users.txt: New file.
97212 2006-08-11  Bruno Haible  <bruno@clisp.org>
97214         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
97215         before <wchar.h>. Needed for OSF/1 and BSD/OS.
97217 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
97219         * modules/snprintf (Depends-on): Remove minmax.
97220         (Maintainer): Add self and Bruno.
97222 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
97224         * lib/.cppi-disable: Add snprintf.h, socket_.h.
97225         * lib/snprintf.c: Include <errno.h> and <limits.h>.
97226         (EOVERFLOW): Define if the system does not.
97227         Do not include "minmax.h"; it wasn't used.
97228         (snprintf): Don't assume size_t promotes to an unsigned type.
97229         Fix bug when generated string was too long for the buffer: the
97230         buffer's contents are supposed to be the initial prefix of the
97231         output.  Don't assume vasnprintf returns EOVERFLOW if the size
97232         exceeds INT_MAX; do the check ourselves.
97234         Import the following changes from libc:
97236         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
97238         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
97239         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
97240         set wc to the byte which couldn't be converted.
97241         (re_string_reconstruct): Don't clear valid_raw_len before calling
97242         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
97243         tip_context using re_string_context_at.
97245         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
97247         * lib/posix/regex.h: g++ still cannot handled [restrict].
97249         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
97251         * lib/posix/regex.h: Remove special handling for VMS.
97253 2006-08-10  Jim Meyering  <jim@meyering.net>
97255         * modules/same-inode: New module.
97256         * modules/dev-ino: New module.
97257         * modules/cycle-check: Depend on these modules, rather than simply
97258         including their .h files.
97259         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
97260         required via m4/cycle-check.m4.
97261         * modules/same: Depend on new same-inode module, rather than
97262         including same-inode.h.
97263         * modules/chdir-safer: New file.
97265         * modules/chown (Depends-on): Add stat-macros.
97267 2006-08-10  Jim Meyering  <jim@meyering.net>
97269         * m4/cycle-check.m4: New file.
97270         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
97271         * m4/dev-ino.m4, m4/same-inode.m4: New files.
97273 2006-08-10  Eric Blake  <ebb9@byu.net>
97275         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
97276         in from original proposal.
97278 2006-08-10  Eric Blake  <ebb9@byu.net>
97279         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
97281         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
97282         namespace.
97284 2006-08-10  Bruno Haible  <bruno@clisp.org>
97286         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
97287         as well.
97289 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
97291         Sync from coreutils.
97293         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
97295         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
97296         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
97298 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
97300         * modules/restrict: Remove; no longer needed now that we assume
97301         Autoconf 2.59 or later.
97302         * MODULES.html.sh: Remove 'restrict'.
97303         * modules/argp (Depends-on): Remove 'restrict'.
97304         * modules/base64 (Depends-on): Likewise.
97305         * modules/gc (Depends-on): Likewise.
97306         * modules/getaddrinfo (Depends-on): Likewise.
97307         * modules/glob (Depends-on): Likewise.
97308         * modules/inet_ntop (Depends-on): Likewise.
97309         * modules/inet_pton (Depends-on): Likewise.
97310         * modules/memxor (Depends-on): Likewise.
97311         * modules/regex (Depends-on): Likewise.
97312         * modules/strtok_r (Depends-on): Likewise.
97313         * modules/time_r (Depends-on): Likewise.
97315 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
97317         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
97318         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
97319         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
97320         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
97321         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
97322         * m4/memxor.m4 (gl_MEMXOR): Likewise.
97323         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
97324         gl_C_RESTRICT replaced by AC_C_RESTRICT.
97326         Merge from coreutils.
97327         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
97328         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
97329         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
97330         * m4/time_r.m4 (gl_TIME_R): Likewise.
97332 2006-08-09  Karl Berry  <karl@gnu.org>
97334         * config/srclist.txt: no more gettext-tools, per Bruno.
97336 2006-08-08  Eric Blake  <ebb9@byu.net>
97338         * modules/verror: New module.
97339         * MODULES.html.sh: Document it.
97341 2006-08-08  Eric Blake  <ebb9@byu.net>
97343         * lib/verror.h, lib/verror.c: New files.
97345 2006-08-08  Eric Blake  <ebb9@byu.net>
97347         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
97348         verror_at_line output complies with GNU Coding Standards even when
97349         file is NULL.
97351 2006-08-07  Bruno Haible  <bruno@clisp.org>
97353         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
97354         versions of AIX.
97355         Reported by Ralf Wildenhues.
97357 2006-08-07  Bruno Haible  <bruno@clisp.org>
97359         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
97360         in an AC_DEFUN. Needed so that the autoconf snippets can use
97361         AC_REQUIRE.
97363 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
97365         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
97366         Initialize pkgdata_DATA.
97367         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
97368         overriding it.
97370 2006-08-06  Eric Blake  <ebb9@byu.net>
97372         * lib/error.h: Fold in some upstream changes from glibc.
97373         * lib/error.c: Likewise.
97375 2006-08-04  Bruno Haible  <bruno@clisp.org>
97377         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
97378         Make the mostlyclean-local rule depend on mostlyclean-generic.
97379         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
97381 2006-07-31  Bruno Haible  <bruno@clisp.org>
97383         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
97384         <stdlib.h>, <string.h>.
97386 2006-07-30  Bruno Haible  <bruno@clisp.org>
97388         * modules/readlink (License): Change to LGPL.
97390 2006-07-30  Bruno Haible  <bruno@clisp.org>
97392         * modules/javaversion (Makefile.am): Distribute javaversion.java and
97393         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
97394         set PKGDATADIR to point to it.
97396 2006-07-30  Bruno Haible  <bruno@clisp.org>
97398         * modules/csharpexec (configure.ac): Comment out macro invocation.
97399         * modules/javaexec (configure.ac): Likewise.
97400         * modules/javacomp-script (configure.ac): Likewise.
97402         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
97404 2006-07-30  Bruno Haible  <bruno@clisp.org>
97406         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
97407         linked-list.
97409 2006-07-30  Bruno Haible  <bruno@clisp.org>
97411         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
97413 2006-07-30  Bruno Haible  <bruno@clisp.org>
97415         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
97416         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
97417         get removed.
97419 2006-07-29  Bruno Haible  <bruno@clisp.org>
97421         Make it possible for gnulib-tool to work with locally modified or
97422         augmented gnulib repositories.
97423         * gnulib-tool (func_usage): Document --local-dir option.
97424         (local_gnulib_dir): New variable.
97425         Handle --local-dir option.
97426         (func_lookup_file): New function.
97427         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
97428         (func_get_description, func_get_filelist, func_get_description,
97429         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
97430         func_get_automake_snippet, func_get_include_directive,
97431         func_get_license, func_get_maintainer): Use func_lookup_file.
97432         (func_import, func_create_testdir): Use func_lookup_file.
97434 2006-07-29  Bruno Haible  <bruno@clisp.org>
97436         * modules/setenv (Depends-on): Add unistd.
97438 2006-07-29  Bruno Haible  <bruno@clisp.org>
97440         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
97442 2006-07-29  Bruno Haible  <bruno@clisp.org>
97444         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
97446 2006-07-29  Bruno Haible  <bruno@clisp.org>
97448         * gnulib-tool (import, update): If there is no Makefile.am, look at
97449         aclocal.m4, instead of bailing out.
97451 2006-07-29  Bruno Haible  <bruno@clisp.org>
97453         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
97454         Categorize the options by when they are useful.
97456 2006-07-29  Bruno Haible  <bruno@clisp.org>
97458         * gnulib-tool (func_usage): Document option --no-libtool.
97459         Handle option --no-libtool.
97460         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
97461         for changed semantics of $libtool variable.
97462         (func_import): Likewise. If libtool is not used, show this through
97463         an option --no-libtool.
97464         (func_create_testdir): Update.
97466 2006-07-29  Bruno Haible  <bruno@clisp.org>
97468         * gnulib-tool (func_import): Extend error message about missing
97469         --doc-base.
97471 2006-07-29  Bruno Haible  <bruno@clisp.org>
97473         * gnulib-tool (func_import): Don't create the $docbase directory if
97474         there is no file to store there.
97476 2006-07-29  Bruno Haible  <bruno@clisp.org>
97478         * gnulib-tool (autoconf_minversion): If a --dir option is given and
97479         relevant, look for configure.ac there, not in the current directory.
97480         Also use a simple search for AC_PREREQ, not "autoconf --trace".
97482 2006-07-29  Bruno Haible  <bruno@clisp.org>
97484         * gnulib-tool (SORT): New variable.
97485         (func_usage): Undocument --assume-autoconf option.
97486         Remove --assume-autoconf option handling.
97487         (autoconf_minversion): Determine from the contents of configure.ac.
97488         (func_import): Remove autoconf_minversion handling.
97489         Suggested by Eric Blake.
97491 2006-07-29  Bruno Haible  <bruno@clisp.org>
97493         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
97495 2006-07-29  Bruno Haible  <bruno@clisp.org>
97497         * config/srclist.txt (*setenv.[ch]): Remove rules.
97499 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
97501         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
97503 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
97505         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
97506         arpa/inet.h.
97508 2006-07-28  Simon Josefsson  <jas@extundo.com>
97510         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
97511         * modules/inet_pton (Depends-on): Likewise.
97513 2006-07-28  Simon Josefsson  <jas@extundo.com>
97515         * m4/netinet_in_h.m4: New file.
97517 2006-07-28  Simon Josefsson  <jas@extundo.com>
97519         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
97520         #include's.
97522 2006-07-28  Simon Josefsson  <jas@extundo.com>
97524         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
97525         #include's.
97527 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
97529         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
97530         setgid on directories only if they set these bits.
97531         * lib/modechange.h: Remove obsolete comment about masks.
97533 2006-07-28  Eric Blake  <ebb9@byu.net>
97535         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
97536         macro expansion.
97538 2006-07-28  Bruno Haible  <bruno@clisp.org>
97540         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
97542 2006-07-28  Bruno Haible  <bruno@clisp.org>
97544         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
97546 2006-07-28  Bruno Haible  <bruno@clisp.org>
97548         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
97549         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
97550         Define fallbacks.
97551         Avoids link error on FreeBSD 4.x.
97552         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
97554         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
97555         encoding.
97556         * lib/mbswidth.c (iswcntrl): Likewise.
97558 2006-07-27  Bruno Haible  <bruno@clisp.org>
97560         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
97561         test.
97563 2006-07-27  Bruno Haible  <bruno@clisp.org>
97565         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
97566         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
97567         defined.
97569 2006-07-26  Eric Blake  <ebb9@byu.net>
97571         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
97573 2006-07-26  Eric Blake  <ebb9@byu.net>
97575         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
97576         like mingw that lack mkstemp.
97577         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
97578         avoid compilation warning on mingw.
97580 2006-07-26  Bruno Haible  <bruno@clisp.org>
97582         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
97583         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
97584         INT_FAST*_MIN, INTPTR_MIN.
97586 2006-07-25  Bruno Haible  <bruno@clisp.org>
97588         * modules/version-etc (Depends-on): Add stdarg.
97590 2006-07-25  Bruno Haible  <bruno@clisp.org>
97592         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
97593         complex commands.
97595 2006-07-25  Bruno Haible  <bruno@clisp.org>
97597         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
97598         defined in <stdarg.h> or config.h.
97600 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
97602         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
97603         (gl_STDIO_SAFER): Remove.
97605 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
97607         * MODULES.html.sh (File stream based Input/Output):
97608         Add fopen-safer, tmpfile-safer; remove stdio-safer.
97609         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
97610         * modules/fopen-safer, modules/tmpfile-safer: New files.
97611         * modules/stdio-safer: Remove.
97613 2006-07-24  Bruno Haible  <bruno@clisp.org>
97615         * modules/tmpdir: New file.
97616         * MODULES.html.sh (File system functions): Add it.
97618 2006-07-24  Bruno Haible  <bruno@clisp.org>
97620         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
97621         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
97623 2006-07-24  Bruno Haible  <bruno@clisp.org>
97625         * modules/clean-temp: New file.
97627 2006-07-24  Bruno Haible  <bruno@clisp.org>
97629         * m4/tmpdir.m4: New file, from GNU gettext.
97631 2006-07-24  Bruno Haible  <bruno@clisp.org>
97633         * lib/tmpdir.h: New file, from GNU gettext.
97634         * lib/tmpdir.c: New file, from GNU gettext.
97636 2006-07-24  Bruno Haible  <bruno@clisp.org>
97638         * lib/clean-temp.h: New file, from GNU gettext.
97639         * lib/clean-temp.c: New file, from GNU gettext.
97641 2006-07-23  Eric Blake  <ebb9@byu.net>
97643         * modules/stdio-safer (Files): Add tmpfile-safer.c.
97644         (Depends-on): Add binary-io.
97646 2006-07-23  Eric Blake  <ebb9@byu.net>
97648         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
97650 2006-07-23  Eric Blake  <ebb9@byu.net>
97652         * lib/tmpfile-safer.c: New file.
97653         * lib/stdio-safer.h (fopen_safer): Add prototype.
97654         * lib/stdio--.h (tmpfile): Make safer.
97656 2006-07-23  Bruno Haible  <bruno@clisp.org>
97658         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
97659         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
97660         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
97661         gl_linked_remove_at): Use it.
97663 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
97664         and Simon Josefsson <jas@extundo.com>
97666         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
97668         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
97670 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
97672         * modules/close-stream: New file.
97673         * modules/closeout (Description): Make it clear that it exits
97674         with a diagnostic on error.
97675         (Depends-on): Add close-stream.  Remove fpending, stdbool.
97676         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
97678 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
97680         * m4/close-stream.m4: New file.
97682 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
97684         * lib/close-stream.c, lib/close-stream.h: New files.
97686 2006-07-22  Bruno Haible  <bruno@clisp.org>
97688         Merge from GNU gettext 0.15.
97690         2006-05-01  Bruno Haible  <bruno@clisp.org>
97692                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
97694         2006-07-22  Bruno Haible  <bruno@clisp.org>
97696                 * modules/javaversion: New file.
97697                 * MODULES.html.sh (Java): Add javaversion.
97699         2006-03-12  Bruno Haible  <bruno@clisp.org>
97701                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
97703         2005-12-04  Bruno Haible  <bruno@clisp.org>
97705                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
97706                 (untested).
97708         2006-06-21  Bruno Haible  <bruno@clisp.org>
97710                 Avoid warnings from recent versions of mcs.
97711                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
97712                 -o, -L, -r any more. Use options documented since mcs-1.0
97713                 instead. Similarly for -g.
97715         2005-12-04  Bruno Haible  <bruno@clisp.org>
97717                 * build-aux/csharpcomp.sh.in: Suffix for resources is
97718                 .resources, not .resource.
97720         2005-07-09  Bruno Haible  <bruno@clisp.org>
97722                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
97723                 add a .dll suffix.
97724                 Reported by Mark Junker <mjscod@gmx.de>.
97726         2006-07-22  Bruno Haible  <bruno@clisp.org>
97728                 * modules/gettext: Upgrade to gettext-0.15.
97729                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
97730                 m4/visibility.m4.
97731                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
97733 2006-07-22  Bruno Haible  <bruno@clisp.org>
97735         Merge from GNU gettext 0.15.
97737         2006-03-25  Bruno Haible  <bruno@clisp.org>
97739                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
97741         2006-07-21  Bruno Haible  <bruno@clisp.org>
97743                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
97744                 "1.1".
97746         2006-05-09  Bruno Haible  <bruno@clisp.org>
97748                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
97749                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
97750                 for the conftestver execution.
97752         2006-05-01  Bruno Haible  <bruno@clisp.org>
97754                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
97755                 optional target-version argument. Verify that the compiler
97756                 groks source of the specified source-version, or add -source
97757                 option as necessary. Verify that the compiler produces
97758                 bytecode in the specified target-version, or add -target and
97759                 -source options as necessary. Make the result of the test
97760                 available as variable CONF_JAVAC. Also log error output in
97761                 config.log.
97763         2006-03-11  Bruno Haible  <bruno@clisp.org>
97765                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
97767         2006-05-09  Bruno Haible  <bruno@clisp.org>
97769                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
97770                 CLASSPATH_SEPARATOR to a semicolon.
97772         2006-03-12  Bruno Haible  <bruno@clisp.org>
97774                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
97775                 available as variable CONF_JAVA, for subsequent autoconf
97776                 tests. Also log error output in config.log.
97778         2006-07-19  Bruno Haible  <bruno@clisp.org>
97780                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
97781                 that getline works on glibc2 systems. Needed to avoid trouble
97782                 in relocatable.c.
97783                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
97785         2005-12-04  Bruno Haible  <bruno@clisp.org>
97787                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
97788                 launcher (untested).
97790         2005-12-04  Bruno Haible  <bruno@clisp.org>
97792                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
97794         2006-07-22  Bruno Haible  <bruno@clisp.org>
97796                 * gettext.m4: Update from GNU gettext-0.15.
97797                 * nls.m4: Likewise.
97798                 * po.m4: Likewise.
97799                 * inttypes-pri.m4: Likewise.
97800                 * inttypes-h.m4: Renamed from inttypes.m4.
97801                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
97803 2006-07-22  Bruno Haible  <bruno@clisp.org>
97805         Merge from GNU gettext 0.15.
97807         2005-07-05  Bruno Haible  <bruno@clisp.org>
97809                 * printf-args.c (printf_fetchargs): Work around broken
97810                 definition of wint_t on mingw.
97812         2005-02-12  Bruno Haible  <bruno@clisp.org>
97814                 * xallocsa.h: Add extern "C" for C++.
97816         2006-05-17  Bruno Haible  <bruno@clisp.org>
97818                 Cygwin portability.
97819                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
97821         2006-04-30  Bruno Haible  <bruno@clisp.org>
97823                 * progreloc.c: Include <mach-o/dyld.h> if available.
97824                 (find_executable): Use _NSGetExecutablePath when possible.
97826         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
97828                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
97829                 function.
97831         2005-12-29  Bruno Haible  <bruno@clisp.org>
97833                 * progreloc.c (set_program_name_and_installdir): Fix
97834                 compilation error.
97836         2005-12-04  Bruno Haible  <bruno@clisp.org>
97838                 Cygwin portability.
97839                 * progreloc.c: Include <windows.h> also on Cygwin.
97840                 (find_executable): Add support for Cygwin.
97841                 (set_program_name_and_installdir): Handle also platforms with
97842                 nonempty EXEEXT.
97844         2006-07-11  Bruno Haible  <bruno@clisp.org>
97846                 * javacomp.c: Fix a comment.
97847                 Reported by Jim Meyering.
97849         2006-04-30  Bruno Haible  <bruno@clisp.org>
97851                 * javacomp.h (compile_java_class): Add source_version,
97852                 target_version arguments.
97853                 * javacomp.c: Rewritten to choose only a compiler that
97854                 respects the specified source_version and target_version.
97856         2006-06-27  Bruno Haible  <bruno@clisp.org>
97858                 Assume correct S_ISDIR macro.
97859                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
97861         2006-07-22  Bruno Haible  <bruno@clisp.org>
97863                 * javaversion.h: New file, from GNU gettext.
97864                 * javaversion.c: New file, from GNU gettext.
97865                 * javaversion.java: New file, from GNU gettext.
97866                 * javaversion.class: New file, from GNU gettext.
97868         2006-05-17  Bruno Haible  <bruno@clisp.org>
97870                 Cygwin portability.
97871                 * javaexec.c (execute_java_class): Test for jview program
97872                 also on Cygwin.
97874         2006-04-09  Bruno Haible  <bruno@clisp.org>
97876                 * fatal-signal.c: Don't include string.h.
97877                 (at_fatal_signal): Use a copying loop instead of memcpy.
97879         2005-12-04  Bruno Haible  <bruno@clisp.org>
97881                 * csharpexec.c: Add support for 'clix' launcher (untested).
97882                 (execute_csharp_using_sscli): New function.
97883                 (execute_csharp_program): Call it.
97885         2006-06-21  Bruno Haible  <bruno@clisp.org>
97887                 Avoid warnings from recent versions of mcs.
97888                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
97889                 -o, -L, -r any more. Use options documented since mcs-1.0
97890                 instead. Similarly for -g.
97892         2005-07-09  Bruno Haible  <bruno@clisp.org>
97894                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
97895                 add a .dll suffix.
97896                 Reported by Mark Junker <mjscod@gmx.de>.
97898         2006-06-17  Bruno Haible  <bruno@clisp.org>
97900                 * config.charset: Update for NetBSD 3.0.
97902         2006-05-17  Bruno Haible  <bruno@clisp.org>
97904                 Cygwin portability.
97905                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
97907         2006-05-16  Bruno Haible  <bruno@clisp.org>
97909                 * localcharset.c [CYGWIN]: Include <windows.h>.
97910                 (get_charset_aliases): For Cygwin, return the same CPxxx
97911                 aliases list as under WIN32.
97912                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
97913                 the environment variables. Fall back to GetACP().
97915         2006-04-05  Bruno Haible  <bruno@clisp.org>
97917                 * config.charset: Update Juan Manuel Guerrero's address.
97919         2005-02-12  Bruno Haible  <bruno@clisp.org>
97921                 * allocsa.h: Add extern "C" for C++.
97923         2005-02-10  Bruno Haible  <bruno@clisp.org>
97925                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
97926                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
97928         2006-07-22  Bruno Haible  <bruno@clisp.org>
97930                 * gettext.h: Update to GNU gettext-0.15.
97932 2006-07-22  Bruno Haible  <bruno@clisp.org>
97934         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
97935         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
97936         lib-prefix.m4, longdouble.m4, ssize_t.m4.
97938 2006-07-21  Eric Blake  <ebb9@byu.net>
97940         * modules/stdlib-safer: New file.
97941         * MODULES.html.sh (File stream based Input/Output): Add
97942         stdlib-safer.
97944 2006-07-21  Eric Blake  <ebb9@byu.net>
97946         * lib/stdlib-safer.h: New file from coreutils, required by
97947         stdlib--.h.
97949 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
97951         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
97953 2006-07-20  Bruno Haible  <bruno@clisp.org>
97955         * gnulib-tool: Recognize new option --assume-autoconf.
97956         (autoconf_minversion): New variable.
97957         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
97959 2006-07-20  Bruno Haible  <bruno@clisp.org>
97961         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
97963 2006-07-19  Derek R. Price  <derek@ximbiot.com>
97965         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
97966         Reindent and repaginate.
97968 2006-07-19  Derek Price  <derek@ximbiot.com>
97970         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
97971         Correct grammar.
97973 2006-07-17  Bruno Haible  <bruno@clisp.org>
97975         * modules/list: New file.
97976         * modules/array-list: New file.
97977         * modules/carray-list, modules/carray-list-tests: New files.
97978         * modules/linked-list, modules/linked-list-tests: New files.
97979         * modules/avltree-list, modules/avltree-list-tests: New files.
97980         * modules/rbtree-list, modules/rbtree-list-tests: New files.
97981         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
97982         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
97983         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
97984         * modules/oset: New file.
97985         * modules/array-oset: New file.
97986         * modules/avltree-oset, modules/avltree-oset-tests: New files.
97987         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
97988         * tests/test-carray_list.c: New file.
97989         * tests/test-linked_list.c: New file.
97990         * tests/test-avltree_list.c: New file.
97991         * tests/test-rbtree_list.c: New file.
97992         * tests/test-linkedhash_list.c: New file.
97993         * tests/test-avltreehash_list.c: New file.
97994         * tests/test-rbtreehash_list.c: New file.
97995         * tests/test-avltree_oset.c: New file.
97996         * tests/test-rbtree_oset.c: New file.
97997         * MODULES.html.sh (Container data structures): New section.
97999 2006-07-17  Bruno Haible  <bruno@clisp.org>
98001         * m4/gl_list.m4: New file.
98003 2006-07-17  Bruno Haible  <bruno@clisp.org>
98005         * lib/gl_list.h: New file.
98006         * lib/gl_list.c: New file.
98007         * lib/gl_array_list.h: New file.
98008         * lib/gl_array_list.c: New file.
98009         * lib/gl_carray_list.h: New file.
98010         * lib/gl_carray_list.c: New file.
98011         * lib/gl_linked_list.h: New file.
98012         * lib/gl_linked_list.c: New file.
98013         * lib/gl_anylinked_list1.h: New file.
98014         * lib/gl_anylinked_list2.h: New file.
98015         * lib/gl_avltree_list.h: New file.
98016         * lib/gl_avltree_list.c: New file.
98017         * lib/gl_anyavltree_list1.h: New file.
98018         * lib/gl_anyavltree_list2.h: New file.
98019         * lib/gl_rbtree_list.h: New file.
98020         * lib/gl_rbtree_list.c: New file.
98021         * lib/gl_anyrbtree_list1.h: New file.
98022         * lib/gl_anyrbtree_list2.h: New file.
98023         * lib/gl_anytree_list1.h: New file.
98024         * lib/gl_anytree_list2.h: New file.
98025         * lib/gl_linkedhash_list.h: New file.
98026         * lib/gl_linkedhash_list.c: New file.
98027         * lib/gl_anyhash_list1.h: New file.
98028         * lib/gl_anyhash_list2.h: New file.
98029         * lib/gl_avltreehash_list.h: New file.
98030         * lib/gl_avltreehash_list.c: New file.
98031         * lib/gl_rbtreehash_list.h: New file.
98032         * lib/gl_rbtreehash_list.c: New file.
98033         * lib/gl_anytreehash_list1.h: New file.
98034         * lib/gl_anytreehash_list2.h: New file.
98036         * lib/gl_oset.h: New file.
98037         * lib/gl_oset.c: New file.
98038         * lib/gl_array_oset.h: New file.
98039         * lib/gl_array_oset.c: New file.
98040         * lib/gl_avltree_oset.h: New file.
98041         * lib/gl_avltree_oset.c: New file.
98042         * lib/gl_rbtree_oset.h: New file.
98043         * lib/gl_rbtree_oset.c: New file.
98044         * lib/gl_anytree_oset.h: New file.
98046 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
98048         * m4/mkancesdirs.m4: New file.
98049         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
98050         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
98051         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
98052         it.
98054 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
98056         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
98057         * lib/mkancesdirs.h: New files.
98058         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
98059         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
98060         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
98061         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
98062         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
98063         callers changed.  Revamp internals significantly, by not
98064         attempting to create directories that are temporarily more
98065         permissive than the final results.  Do not attempt to use
98066         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
98067         This removes some race conditions, fixes some bugs, and simplifies
98068         things.  Use new dirchownmod function to do owner and mode changes.
98069         * lib/mkdir-p.h: Likewise.
98070         * lib/modechange.c (octal_to_mode): New function.
98071         (struct mode_change): New member mentioned.
98072         (make_node_op_equals): New arg mentioned.  All callers changed.
98073         (mode_compile): Keep track of which mode bits the user has explicitly
98074         mentioned.
98075         (mode_adjust): New arg DIR, so that we implement the X op correctly.
98076         New arg PMODE_BITS, to keep track of which mode bits the user
98077         mentioned; it treats S_ISUID and S_ISGID speciall.
98078         All callers changed.
98079         * lib/modechange.h: Likewise.
98081 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
98083         * MODULES.html.sh: Add mkancestors.
98084         * modules/mkancesdirs: New module.
98085         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
98086         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
98087         The chdir-safer and afs files are now orphans; I'll remove them
98088         unless someone speaks up.
98089         Add lib/dirchownmod.c, lib/dirchownmod.h.
98090         (Depends-on): Remove alloca, chown, save-cwd, dirname.
98091         Add lchown, mkancesdirs.
98092         (Maintainer): Add self.
98094 2006-07-15  Karl Berry  <karl@gnu.org>
98096         * gnulib-tool: help message wording/arrangement.
98098 2006-07-14  Simon Josefsson  <jas@extundo.com>
98100         * doc/gnulib.texi (Libtool and Windows): New section.
98102 2006-07-12  Simon Josefsson  <jas@extundo.com>
98104         * modules/gendocs (License): Fix license, approved by Karl.
98106 2006-07-12  Eric Blake  <ebb9@byu.net>
98108         * MODULES.html.sh: Add gendocs.
98110 2006-07-11  Eric Blake  <ebb9@byu.net>
98112         * modules/fdl: New module, to install doc/fdl.texi.
98113         * MODULES.html.sh: Add new section for documentation modules.
98114         * gnulib-tool: Avoid space-tab.
98115         (--doc-base): New option, to manage files from doc.
98117 2006-07-11  Eric Blake  <ebb9@byu.net>
98119         * m4/absolute-header.m4: Fix comments to match recent change.
98121 2006-07-11  Eric Blake  <ebb9@byu.net>
98123         * gnulib-tool: List --doc-base before --tests-base.
98125 2006-07-11  Derek R. Price  <derek@ximbiot.com>
98127         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
98129 2006-07-11  Bruno Haible  <bruno@clisp.org>
98131         * README: Mention where to put documentation.
98133 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
98135         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
98137 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
98139         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
98140         to stdint.m4.
98142 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
98144         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
98145         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
98146         "no/such/file/stdint.h" when there is no such file, so that
98147         the resulting C code can be parsed by dodgy compilers.
98148         Problems reported by Bob Proulx.
98150 2006-07-10  Derek R. Price  <derek@ximbiot.com>
98152         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
98153         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
98154         macros into the GNU _D_EXACT_NAMLEN.
98155         * lib/savedir.c:  Likewise.
98156         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
98158 2006-07-10  Derek R. Price  <derek@ximbiot.com>
98159         and Paul Eggert  <eggert@cs.ucla.edu>
98161         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
98162         * m4/savedir.m4:
98163         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
98164         macros into the GNU _D_EXACT_NAMLEN.
98166 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
98168         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
98169         around the absolute name, to work around a problem with the HP-UX
98170         11.23 native C compiler, reported by Bob Proulx.
98172 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
98174         * doc/maintain.texi, make-stds.texi: Sync from
98175         <http://savannah.gnu.org/projects/gnustandards>.
98177 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
98179         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
98181 2006-07-09  Jim Meyering  <jim@meyering.net>
98183         * m4/glob.m4: Remove a doubled word in a comment.
98185 2006-07-09  Jim Meyering  <jim@meyering.net>
98187         * lib/argp-pv.c: Remove a doubled word in a comment.
98188         * lib/check-version.c (check_version): Likewise.
98189         * lib/javacomp.c (compile_java_class): Likewise.
98191 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
98193         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
98194         for the benefit of people using Autoconf 2.60.  If you want to
98195         support older Autoconf versions you can copy m4/onceonly_2_57.m4
98196         (or m4/onceonly.m4, if pre-2.57) manually.
98198 2006-07-08  Jim Meyering  <jim@meyering.net>
98200         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
98201         comment.
98202         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
98203         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
98204         comment.
98206 2006-07-08  Jim Meyering  <jim@meyering.net>
98208         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
98210 2006-07-07  Simon Josefsson  <jas@extundo.com>
98212         * tests/test-crc.c: Change expected crc value, the test vector
98213         were probably computed using the old broken crc.c?
98215 2006-07-06  Simon Josefsson  <jas@extundo.com>
98217         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
98218         now the canonical place for the M4 file).
98220         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
98221         from the sys_socket dependency now.
98223         * modules/inet_pton (Files): Ditto.
98225         * modules/inet_ntop (Files): Ditto.
98227 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
98229         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
98230         not gl_PREREQ_GETUSERSHELL.
98232 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
98234         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
98235         with only one argument, for Autoconf 2.60.
98236         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
98237         expand to nothing, so add a shell command to avoid syntax error.
98238         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
98240 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
98242         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
98244 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
98246         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
98247         no longer needed.  Check for isblank decl.
98248         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
98249         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
98250         of existence.
98252 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
98254         * lib/getloadavg.c: Use __VMS, not VMS.
98255         * lib/getopt.c: Likewise.
98256         * lib/getpagesize.h: Likewise.
98257         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
98258         and probably does not work.
98260 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
98262         * lib/.cppi-disable: Add wcwidth.
98263         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
98264         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
98265         (ISGRAPH): Remove.  All uses changed to isgraph.
98266         (FOLD) [!defined _LIBC]: Remove special case.
98267         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
98268         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
98269         HAVE_ISBLANK.
98270         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
98271         case.
98273 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
98275         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
98276         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
98277         brackets.  Other minor changes to suppress some compiler
98278         warnings.
98280 2006-07-06  Derek R. Price  <derek@ximbiot.com>
98281         and Paul Eggert  <eggert@cs.ucla.edu>
98283         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
98284         of invoking obsolescent AC_HEADER_DIRENT macro.
98285         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
98286         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
98287         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
98288         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
98289         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
98290         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
98291         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
98292         * m4/readdir.m4: Remove; no longer needed.
98294 2006-07-06  Derek R. Price  <derek@ximbiot.com>
98295         and Paul Eggert  <eggert@cs.ucla.edu>
98297         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
98298         Don't worry about this obsolete case any more.
98299         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
98300         directories.
98301         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
98302         worry about this obsolete case any more.
98303         * lib/fts.c: Likewise.
98304         * lib/getcwd.c: Likewise.
98305         * lib/glob.h: Likewise.
98306         * lib/savedir.c: Likewise.
98308 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
98310         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
98311         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
98312         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
98313         needed.
98314         All uses removed.
98315         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
98316         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
98317         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
98318         needed.
98319         * m4/getdate.m4 (gl_GETDATE): Likewise.
98320         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
98321         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
98322         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
98323         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
98324         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
98325         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
98326         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
98327         needed.
98329 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
98331         * lib/memcasecmp.c: Include <limits.h>.
98332         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
98333         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
98334         Don't assume isdigit succeeds only on '0' through '9'.
98336 2006-07-05  Eric Blake  <ebb9@byu.net>
98338         * modules/getaddrinfo (Depends-on): Add snprintf.
98340 2006-07-05  Eric Blake  <ebb9@byu.net>
98342         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
98343         to avoid 'header present but could not be compiled' on cygwin.
98345 2006-07-05  Eric Blake  <ebb9@byu.net>
98347         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
98348         missing from netdb.h.
98349         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
98351 2006-07-05  Derek R. Price  <derek@ximbiot.com>
98353         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
98354         no longer needed.
98355         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
98356         * m4/getdate.m4 (gl_GETDATE): Likewise.
98357         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
98358         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
98359         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
98360         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
98361         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
98363 2006-07-05  Derek R. Price  <derek@ximbiot.com>
98365         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
98366         All uses of is_space replaced by isspace.
98367         * lib/exit.h: Don't talk about STDC_HEADERS.
98368         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
98369         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
98370         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
98371         replaced by isprint etc.
98372         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
98373         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
98374         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
98375         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
98376         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
98377         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
98379 2006-07-05  Bruno Haible  <bruno@clisp.org>
98381         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
98382         the function exists, before testing against AIX.
98383         Reported by Martin Lambers <marlam@marlam.de>.
98385 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
98387         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
98388         From Mark D. Baushke.
98390 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
98392         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
98393         to the absolute name, not just one, to bypass Sun C 5.8's
98394         "warning: #include of /usr/include/... may be non-portable".
98396 2006-07-04  Eric Blake  <ebb9@byu.net>
98398         * modules/dirname-tests: New test module.
98399         * tests/test-dirname.c: New file, replacing dirname.c
98400         TEST_DIRNAME section that was recently deleted.
98402 2006-07-04  Bruno Haible  <bruno@clisp.org>
98404         Assume ANSI C header files and <ctype.h> functions.
98405         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
98406         (mbsnwidth): Use isprint, iscntrl instead.
98408 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
98410         Merge from coreutils.
98411         * MODULES.html.sh: Add xstrtold.
98412         * modules/xstrtold: New file.
98413         * modules/cycle-check (Files): Add lib/same-inode.h.
98414         * modules/dirname (Files): Add m4/double-slash-root.m4.
98415         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
98416         * modules/mkdir-p (Files): Add lib/same-inode.h.
98417         * modules/same (Files): Add lib/same-inode.h.
98419 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
98421         * m4/absolute-header.m4: Renamed from full-header-path.m4.
98422         This is to keep the terminology clean; POSIX talks about
98423         "absolute pathnames", not "full pathnames", but the GNU
98424         Coding Standards say to use "path" for something else;
98425         so use "absolute" to keep both sides happy.
98426         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
98427         Set gl_absolute_header, not gl_full_header_path.
98428         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
98429         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
98430         All uses changed.
98432         Merge from coreutils.
98434         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
98436         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
98437         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
98438         want to require the building of c-strtod.o.
98439         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
98440         needs -lm directly.
98441         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
98443         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
98445         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
98446         --as-needed option if available.  Problem reported by Albert Chin in
98447         <http://lists.gnu.org/r/bug-gnulib/2006-06/msg00114.html>.
98448         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
98449         cc merely issues a bunch of annoying warnings for --as-needed
98450         (this problem was reported by Bob Proulx).  Also, try linking with
98451         -lm to detect a bug in binutils 2.16 (this problem was reported
98452         by Ralf Wildenhues).
98454         2006-06-18  Jim Meyering  <jim@meyering.net>
98456         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
98457         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
98458         macro.
98459         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
98460         also check for glibc-2.4's abort-inducing bug.
98462         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
98463         Low-probability clean-up should be to use rmdir to get rid of
98464         the just-created directory, not unlink.
98466         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
98467         configure fail, and request a bug report to inform us about it.
98468         Add a comment that, barring reports to the contrary, in 2007 we'll
98469         assume ftruncate is universally available.
98471         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
98473         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
98475         2006-03-12  Jim Meyering  <jim@meyering.net>
98477         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
98478         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
98479         * m4/same.m4 (gl_SAME): Likewise.
98480         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
98482         2006-03-11  Eric Blake  <ebb9@byu.net>
98484         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
98485         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
98486         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
98487         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
98489 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
98491         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
98492         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
98493         reported by Mark D. Baushke, one in
98494         <http://lists.gnu.org/r/bug-gnulib/2006-07/msg00015.html>.
98496         Merge from coreutils.
98498         * lib/.cppi-disable: Add stdint_.h.
98499         * lib/.cvsignore: Add stdint.h.
98501         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
98503         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
98504         both double and long double versions.
98505         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
98506         * lib/xstrtold.c: New file.
98507         * lib/xstrtod.h (xstrtold): New decl.
98509         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
98511         * lib/filemode.c (setst): Remove.
98512         (strmode): Rewrite to avoid setst.  This makes the code shorter,
98513         (arguably) clearer, and the generated code is a bit smaller on my
98514         Debian GNU/Linux stable x86 host.
98516         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
98518         * lib/filemode.c: Include "filemode.h" first, to test the interface.
98519         Assume that filemode.h includes sys/types.h and sys/stat.h.
98520         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
98521         (ftypelet): Reorder to put common cases first, for efficiency.
98522         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
98523         to do 'M'.
98524         (strmode): Renamed from mode_string, and now stores 12 bytes instead
98525         of 10, for compatibility with FreeBSD.  All callers changed.
98526         (filemodestring): Now stores 12 bytes instead of 10, and sets file
98527         types that can't be deduced solely from st_mode.  First arg is now a
98528         const pointer.
98529         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
98530         (strmode): Renamed from mode_string.
98531         (filemodestring): New decl.
98532         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
98533         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
98534         needed.
98535         (S_ISPORT, S_ISWHT): New macros, if not already defined.
98537         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
98539         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
98540         fsusage.h now does that.  Include fsusage.h first, to test interface.
98541         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
98542         at most one method (the old code could have generated decls that
98543         didn't conform to C89, not that this was ever exercised).
98544         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
98546         2006-03-19  Jim Meyering  <jim@meyering.net>
98548         Work even in a chroot where d_ino values for entries in "/"
98549         don't match the stat.st_ino values for the same names.
98550         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
98551         number, iterate through all entries again, using lstat instead.
98552         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
98553         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
98555         * lib/getcwd.c (__getcwd): Clarify a comment.
98556         Use memcpy in place of a call to strcpy.
98558         2006-03-12  Jim Meyering  <jim@meyering.net>
98560         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
98561         matches that of the current directory (which we're about to chdir ".."
98562         out of), then save the dev-ino of the parent, instead.
98564         * lib/same-inode.h (SAME_INODE): New file/macro.
98565         * lib/chdir-safer.c (SAME_INODE): Remove definition.
98566         Include "same-inode.h", instead.
98567         * lib/same.c: Likewise.
98568         * lib/cycle-check.h: Include "same-inode.h".
98569         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
98570         * lib/cycle-check.c (SAME_INODE): Remove definition.
98571         * lib/root-dev-ino.h: Include "same-inode.h".
98573         2006-03-11  Eric Blake  <ebb9@byu.net>
98575         * lib/same.c (same_name): s/base_name/last_component/
98576         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
98577         * lib/filenamecat.c (file_name_concat): Likewise.
98579         2006-03-11  Eric Blake  <ebb9@byu.net>,
98580                     Paul Eggert  <eggert@cs.ucla.edu>
98582         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
98583         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
98584         drive prefix.
98585         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
98586         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
98587         (last_component): New method.
98588         * lib/dirname.c (dir_len): Determine when drive letters need a
98589         subsequent slash.  Preserve // when it is special.
98590         (dir_name): Don't append dot when drive letter is absolute.
98591         [TEST_DIRNAME]: Move into a full-blown gnulib test.
98592         * lib/basename.c (base_name): New semantics - malloc the result.
98593         Preserve // when it is special.  Preserve relative files that look
98594         like drive letters.
98595         (base_len): Preserve // when it is special.
98596         (last_component): New method, similar to old base_name semantics.
98597         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
98598         base_name.  Strip redundant slashes from ///.
98600 2006-07-03  Jim Meyering  <jim@meyering.net>
98602         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
98603         macro is used before the first cycle_check call.
98605 2006-07-03  Eric Blake  <ebb9@byu.net>
98607         * modules/dirname (Depends-on): Add xstrndup.
98609 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
98611         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
98612         test cases, so that config.log is a bit easier to follow.
98614 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
98616         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
98617         both are 64 bits, since this seems to be the tradition, and this
98618         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
98619         we ever run into a host that prefers long long to long in this
98620         case, we'll need another configure-time test.  Problem reported by
98621         Jim Meyering.
98623 2006-07-02  Eric Blake  <ebb9@byu.net>
98625         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
98627 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
98629         * modules/inttypes (Depends-on): No longer depends on stdint.
98630         * modules/stdint (Description): Say more about assumptions.
98631         Say that the fast types might differ.  Say macros are used.
98632         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
98633         (Makefile.am): Revise list of substituted symbols to match
98634         new stdint.m4.
98635         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
98636         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
98637         * tests/test-stdint.c (verify_same_types)
98638         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
98639         the code conforms to C99/C89.
98640         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
98641         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
98643 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
98645         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
98646         but fix a bug, by requiring at least 64 bits.
98647         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
98648         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
98649         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
98650         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
98652         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
98653         changes.  Make 2.59 a prerequisite.  Check and substitute for
98654         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
98655         inttypes.h.  Do not use special include files; just use the
98656         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
98657         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
98658         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
98659         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
98660         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
98661         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
98662         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
98663         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
98664         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
98665         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
98666         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
98667         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
98668         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
98669         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
98670         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
98671         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
98672         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
98673         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
98674         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
98675         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
98676         WINT_MAX.  Check for C99 conformance more strictly, by detecting
98677         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
98678         not check for things that C99 does not require, e.g., int8_t.  If
98679         a test isn't needed unless <stdint.h> isn't working, and is
98680         unlikely to be needed for any other reason, then don't do it
98681         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
98682         size_t, since we assume C89 freestanding at least.  Do not check
98683         for sig_atomic_t, wchar_t, or wint_t, since the code now does
98684         the right thing even if the types are not defined.  Instead use:
98685         (gl_STDINT_TYPE_PROPERTIES): New macro.
98686         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
98687         testing whether <sys/types.h> clashes, as Autoconf does this for
98688         us now.  All uses removed.
98689         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
98690         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
98691         (gl_CHECK_TYPE_SAME):
98692         Remove; no longer needed.
98693         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
98694         exists, since we'll return 0 anyway in that case.
98695         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
98697 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
98699         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
98700         possible collision with system files.
98701         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
98702         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
98703         WCHAR_MIN and WCHAR_MAX in this case.
98704         (<stddef.h>): Do not include; no longer needed.
98705         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
98706         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
98707         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
98708         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
98709         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
98710         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
98711         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
98712         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
98713         !defined(__c99))]: Include in this case too, since it's harmless
98714         now.
98715         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
98716         dangerous to do so.
98717         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
98718         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
98719         (_STDINT_MIN, _STDINT_MAX): New macros.
98720         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
98721         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
98722         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
98723         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
98724         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
98725         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
98726         macros, not typedefs; this simplifies things quite a bit.
98727         Use long int for all types narrower than int64_t.
98728         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
98729         Define in terms of long long int or int64_t or long int,
98730         not int64_t or int32_t.  This saves some compile-time testing.
98731         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
98732         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
98733         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
98734         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
98735         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
98736         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
98737         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
98738         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
98739         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
98740         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
98741         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
98742         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
98743         undef any previous version and define our own version, for
98744         simplicity and consistency with the new macros for types.
98745         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
98746         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
98747         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
98748         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
98749         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
98750         @WINT_T_SUFFIX@ to keep things simple here.
98751         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
98752         Simplify by assuming typical 8/16/32/64 host, since we're
98753         already doing that elsewhere anyway.
98754         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
98755         and assume long long int is 64 bits if available.  This
98756         speeds up 'configure'.
98758 2006-07-01  Eric Blake  <ebb9@byu.net>
98760         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
98761         Reported by Andreas Buening.
98763 2006-07-01  Eric Blake  <ebb9@byu.net>
98765         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
98767 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
98769         * lib/getaddrinfo.c: fixed typo
98771 2006-06-29  Jim Meyering  <jim@meyering.net>
98773         * modules/strftime (Maintainer): Add my name, since with the
98774         FPRINTFTIME changes strftime.c has forked from glibc.
98776 2006-06-29  Eric Blake  <ebb9@byu.net>
98778         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
98780 2006-06-29  Eric Blake  <ebb9@byu.net>
98782         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
98784 2006-06-29  Eric Blake  <ebb9@byu.net>
98786         * lib/stat_.h: New file.
98788 2006-06-29  Eric Blake  <ebb9@byu.net>
98790         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
98791         unused static function.
98793 2006-06-29  Eric Blake  <ebb9@byu.net>
98795         * doc/functions.texi (Function Portability): Document missing lstat
98796         on mingw.
98798 2006-06-29  Eric Blake  <ebb9@byu.net>
98800         * MODULES.html.sh: Add sys_stat.
98801         * modules/sys_stat: New module.
98802         * modules/mkstemp (Depends-on): Add sys_stat.
98804 2006-06-29  Derek R. Price  <derek@ximbiot.com>
98806         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
98808 2006-06-29  Derek R. Price  <derek@ximbiot.com>
98810         * m4/c-bs-a.m4: Removed.
98812 2006-06-29  Derek R. Price  <derek@ximbiot.com>
98814         * lib/strftime.c: Assume strftime() exists.
98816 2006-06-29  Derek Price  <derek@ximbiot.com>
98818         * modules/c-bs-a: Removed - \a is C89.
98819         * MODULES.html.sh: Remove c-bs-a.
98821 2006-06-29  Bruno Haible  <bruno@clisp.org>
98823         * modules/wcwidth (License): Change to LGPL.
98825 2006-06-28  Simon Josefsson  <jas@extundo.com>
98827         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
98828         on _WIN32.
98830         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
98831         getnameinfo.
98833 2006-06-28  Simon Josefsson  <jas@extundo.com>
98835         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
98837 2006-06-28  Simon Josefsson  <jas@extundo.com>
98839         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
98840         functions there.  It will succeed on Windows XP, but on Windows
98841         2000 and (presumably) earlier, it will fail, and use the internal
98842         re-implementation.
98843         (use_win32_p): New function.
98844         (getaddrinfo): Use strtoul on servname, to support numeric ports.
98845         Support AI_NUMERICSERV to disable getservbyname.
98846         (getnameinfo): New function, only supports
98847         NI_NUMERICHOST|NI_NUMERICSERV for now.
98849         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
98850         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
98851         getnameinfo.
98853 2006-06-28  Eric Blake  <ebb9@byu.net>
98855         * modules/wcwidth: New file.
98856         * modules/mbchar (Depends-on): Add wcwidth.
98857         * modules/mbswidth (Depends-on): Add wcwidth.
98858         * MODULES.html.sh: Add wcwidth.
98860 2006-06-28  Eric Blake  <ebb9@byu.net>
98862         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
98863         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
98865 2006-06-28  Eric Blake  <ebb9@byu.net>
98867         * lib/xvasprintf.h: Fix comments.
98869 2006-06-28  Eric Blake  <ebb9@byu.net>
98871         * lib/mbchar.h (wcwidth): Include wcwidth.h.
98872         * lib/mbswidth.c (wcwidth): Move from here...
98873         * lib/wcwidth.h: ...to this new file.
98875 2006-06-28  Derek R. Price  <derek@ximbiot.com>
98877         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
98879         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
98880         it's obsolete.
98881         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
98883 2006-06-28  Derek R. Price  <derek@ximbiot.com>
98885         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
98886         Autoconf 2.60 says this stuff was obsolete.
98888 2006-06-28  Bruno Haible  <bruno@clisp.org>
98890         * modules/wcwidth (Files): Add m4/wchar_t.m4.
98892 2006-06-28  Bruno Haible  <bruno@clisp.org>
98894         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
98895         gt_TYPE_WCHAR_T.
98897 2006-06-28  Bruno Haible  <bruno@clisp.org>
98899         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
98900         declaration for wcwidth.
98901         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctype.h>.
98903 2006-06-28  Bruno Haible  <bruno@clisp.org>
98905         * lib/mkdtemp.c [MINGW]: Include <io.h>.
98906         (mkdir): Define using _mkdir.
98908 2006-06-28  Bruno Haible  <bruno@clisp.org>
98910         * lib/getaddrinfo.h: Fix POSIX URL.
98911         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
98912         _WIN32.
98913         (use_win32_p): Make static.
98914         (getaddrinfo): Reject service name if it is empty or does not consist
98915         solely of decimal digits, or if its value is > 65535.
98916         (getnameinfo): Remove useless casts.
98918 2006-06-27  Simon Josefsson  <jas@extundo.com>
98920         * modules/sys_select: New file, suggested by Bruno Haible, Paul
98921         Eggert and Martin Lambers.
98923 2006-06-27  Simon Josefsson  <jas@extundo.com>
98925         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
98926         Eggert and Martin Lambers.
98928 2006-06-27  Bruno Haible  <bruno@clisp.org>
98930         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
98931         result to 0, not to empty.
98932         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
98934 2006-06-27  Bruno Haible  <bruno@clisp.org>
98936         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
98938 2006-06-26  Simon Josefsson  <jas@extundo.com>
98940         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
98941         present.
98943 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
98945         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
98946         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
98947         <http://lists.gnu.org/r/bug-gnulib/2006-06/msg00181.html>.
98949 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
98951         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
98953 2006-06-26  Bruno Haible  <bruno@clisp.org>
98955         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
98957 2006-06-26  Bruno Haible  <bruno@clisp.org>
98959         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
98961 2006-06-26  Bruno Haible  <bruno@clisp.org>
98963         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
98964         SGI C compiler in pre-C99 mode.
98965         Suggested by Mark D. Baushke and Larry Jones.
98967 2006-06-26  Bruno Haible  <bruno@clisp.org>
98969         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
98970         WCHAR_MAX.
98971         Reported by Mark D. Baushke and Larry Jones.
98973 2006-06-26  Bruno Haible  <bruno@clisp.org>
98975         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
98976         in pre-C99 mode.
98977         Suggested by Mark D. Baushke and Larry Jones.
98979 2006-06-23  Simon Josefsson  <jas@extundo.com>
98980             Bruno Haible  <bruno@clisp.org>
98982         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
98983         Emit mostlyclean-local rule.
98984         (func_emit_tests_Makefile_am): Likewise.
98985         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
98987 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
98989         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
98991 2006-06-23  Bruno Haible  <bruno@clisp.org>
98993         * tests/test-stdint.c: Update to match ISO C 99 Technical
98994         Corrigendum 1.
98996 2006-06-23  Bruno Haible  <bruno@clisp.org>
98998         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
99000 2006-06-23  Bruno Haible  <bruno@clisp.org>
99002         * lib/stdint_.h: Treat IRIX like OpenBSD.
99004 2006-06-23  Bruno Haible  <bruno@clisp.org>
99006         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
99007         ISO C 99 Technical Corrigendum 1.
99009 2006-06-22  Simon Josefsson  <jas@extundo.com>
99011         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
99012         MinGW.
99014 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
99016         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
99017         needed.  Some compiler complained about some of them.  Problem reported
99018         by Larry Jones in
99019         <http://lists.gnu.org/r/bug-gnulib/2006-06/msg00172.html>.
99021 2006-06-21  Simon Josefsson  <jas@extundo.com>
99023         * tests/test-getaddrinfo.c: New file.
99025         * modules/getaddrinfo-tests: New file.
99027         * MODULES.html.sh: Add inet_pton.
99029         * modules/inet_pton: New file.
99031 2006-06-21  Simon Josefsson  <jas@extundo.com>
99033         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
99034         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
99035         of using the (limited) gnulib implementation on Windows XP.
99037         * m4/inet_pton.m4: New file.
99039 2006-06-21  Simon Josefsson  <jas@extundo.com>
99041         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
99042         variable.
99044         * lib/socket_.h: Don't define WINVER.
99046         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
99047         slightly modified to work in gnulib.
99049 2006-06-21  Simon Josefsson  <jas@extundo.com>
99051         * doc/gnulib.texi (Windows sockets): Add.
99053 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
99055         * lib/read-file.c (fread_file): Start with buffer allocation of
99056         0 bytes rather than 1 byte; this simplifies the code.
99057         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
99058         code to free buffer and save/restore errno.
99059         (internal_read_file): Remove unused local.
99061 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
99063         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
99064         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
99065         Problem reported by Denis Excoffier in
99066         <http://lists.gnu.org/r/bug-tar/2006-06/msg00023.html>.
99068 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
99070         * modules/sys_socket, modules/socklen: Include sys/types since
99071         FreeBSD 4.x's sys/socket.h needs it.
99073 2006-06-19  Simon Josefsson  <jas@extundo.com>
99075         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
99077 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
99079         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
99081 2006-06-19  Bruno Haible  <bruno@clisp.org>
99083         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
99084         and FULL_PATH_INTTYPES_H in angle brackets.
99085         Reported by Mark D. Baushke <mdb@gnu.org>.
99087 2006-06-17  Eric Blake  <ebb9@byu.net>
99089         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
99090         errno.
99092 2006-06-17  Bruno Haible  <bruno@clisp.org>
99094         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
99095         <sys/inttypes.h>.
99097 2006-06-17  Bruno Haible  <bruno@clisp.org>
99099         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
99100         whether errno is declared. Assume <errno.h> declares errno.
99102 2006-06-17  Bruno Haible  <bruno@clisp.org>
99104         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
99106 2006-06-17  Bruno Haible  <bruno@clisp.org>
99108         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
99109         problem on Solaris 2.5.1.
99111 2006-06-16  Eric Blake  <ebb9@byu.net>
99113         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
99114         * lib/unicodeio.c [!defined errno]: Likewise.
99115         * lib/strtol.c [!defined errno]: Likewise.
99116         * lib/strtod.c [!defined errno]: Likewise.
99118 2006-06-15  Eric Blake  <ebb9@byu.net>
99120         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
99122 2006-06-15  Eric Blake  <ebb9@byu.net>
99124         * config/srclist.txt (ssize_t.m4): Lose sync.
99126 2006-06-15  Bruno Haible  <bruno@clisp.org>
99128         * modules/stdint (Files): Include m4/full-header-path.m4,
99129         m4/size_max.m4, m4/wchar_t.m4.
99130         (Makefile.am): Many more substitutions.
99131         * modules/stdint-tests: New file.
99132         * tests/test-stdint.c: New file.
99134 2006-06-15  Bruno Haible  <bruno@clisp.org>
99136         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
99137         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
99138         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
99139         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
99140         gl_CHECK_TYPE_SAME): New macros.
99142 2006-06-15  Bruno Haible  <bruno@clisp.org>
99144         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
99146 2006-06-15  Bruno Haible  <bruno@clisp.org>
99148         * lib/stdint_.h: Rewritten to be fully auto-configured.
99149         Fixes bug on HP-UX/IA64.
99151 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
99153         * lib/getdate.y (__attribute__): Don't define if already defined.
99154         Problem reported by Larry Jones.
99155         * lib/utimens.c (__attribute__): Likewise.
99157 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
99159         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
99160         reported by Andreas Schwab.
99162 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
99163             Bruno Haible  <bruno@clisp.org>
99165         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
99166         check for the declaration of strnlen and a run test that exposes the
99167         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
99168         rpl_strndup.
99170 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
99171             Bruno Haible  <bruno@clisp.org>
99173         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
99175 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
99177         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
99178         compile test, for Tru64 4.0D.
99180 2006-05-28  Karl Berry  <karl@gnu.org>
99182         * config/srclist.txt (printf-args.c): lose sync.
99184 2006-05-26  Martin Lambers  <marlam@marlam.de>
99186         * lib/getpass.c: Updates the test for the native W32 API, and adds
99187         missing includes, thus fixing compilation warnings.
99189 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
99191         * lib/exclude.c (exclude_fnmatch): New function.
99192         (excluded_file_name): Call exclude_fnmatch.
99193         * lib/exclude.h (excluded_file_name): New prototype
99195 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
99197         * lib/tempname.c (small_open, large_open): New macros.
99198         (__open, __open64) [!_LIBC]: Remove.
99199         (__gen_tempname): Use small_open and large_open instead of __open
99200         and __open64.  This fixes a portability bug on HP-UX 11.11i
99201         reported by Simon Wing-Tang in
99202         <http://lists.gnu.org/r/bug-coreutils/2006-05/msg00114.html>.
99204 2006-05-24  Bruno Haible  <bruno@clisp.org>
99206         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
99207         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
99208         Reported by Thorsten Maerz <torte@netztorte.de> via
99209         Aaron Stone <aaron@serendipity.cx>.
99211 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
99213         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
99214         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
99215         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
99216         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
99217         not really conditional on the cache.
99218         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
99220 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
99222         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
99223         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
99224         (my_usleep): Don't mishandle maximum value.
99226 2006-05-19  Jim Meyering  <jim@meyering.net>
99228         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
99230 2006-05-17  Bruno Haible  <bruno@clisp.org>
99232         Cygwin portability.
99233         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
99235 2006-05-17  Bruno Haible  <bruno@clisp.org>
99237         * lib/stdint_.h: Fix recognition of Cygwin.
99239 2006-05-15  Bruno Haible  <bruno@clisp.org>
99241         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
99242         on libtool patch by Ralf Wildenhues.
99244 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
99246         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
99247         test for C99 conformance; (bool) 0.5 is an integer constant
99248         expression, but (bool) -0.5 is not.  Problem reported by Fedor
99249         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
99251 2006-05-11  Simon Josefsson  <jas@extundo.com>
99253         * m4/xvasprintf.m4: Fix obvious typo.
99255 2006-05-11  Jim Meyering  <jim@meyering.net>
99257         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
99258         James Lemley.
99260 2006-05-10  Simon Josefsson  <jas@extundo.com>
99262         * lib/md4.c: Typo fix, update copyright years.
99263         (K1, K2): Don't use L because it turn computations into 64-bit on
99264         64-bit platforms.
99266 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
99268         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
99269         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
99270         unwanted sign propagation, e.g., on hosts with 64-bit int.
99271         There still are some problems with reeelly weird theoretical hosts
99272         (e.g., 33-bit int) but it's not worth worrying about now.
99273         * lib/sha1.c (rol): Likewise.
99274         (K1, K2, K3, K4): Remove unnecessary L suffix.
99276 2006-05-10  Bruno Haible  <bruno@clisp.org>
99278         * lib/des.c: Cast to avoid warnings.
99280 2006-05-09  Bruno Haible  <bruno@clisp.org>
99282         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
99283         (Depends-on): Depend also on xsize, stdarg.
99284         (configure.ac): Add gl_XVASPRINTF.
99286 2006-05-09  Bruno Haible  <bruno@clisp.org>
99288         * m4/xvasprintf.m4: New file.
99290 2006-05-09  Bruno Haible  <bruno@clisp.org>
99292         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
99293         (EOVERFLOW): Define fallback value.
99294         (xstrcat): New function.
99295         (xvasprintf): Recognize the special case of a string concatenation.
99297 2006-05-08  Eric Blake  <ebb9@byu.net>
99299         * gnulib-tool (func_version): Base copyright year on CVS date.
99300         (func_emit_copyright_notice): New function.
99301         (func_emit_lib_Makefile_am): Use it.
99302         (func_emit_tests_Makefile_am): Likewise.
99303         (func_import): Likewise.
99305 2006-05-08  Bruno Haible  <bruno@clisp.org>
99307         * modules/stdarg: New file.
99308         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
99310 2006-05-08  Bruno Haible  <bruno@clisp.org>
99312         * m4/stdarg.m4: New file, from GNU gettext.
99314 2006-05-08  Bruno Haible  <bruno@clisp.org>
99316         * config/srclist.txt (build-aux/config.rpath): different from latest
99317         release.
99319 2006-05-08  Bruno Haible  <bruno@clisp.org>
99321         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
99323 2006-05-05  Jim Meyering  <jim@meyering.net>
99325         * m4/warning.m4: New file, derived from bison's file by the same name.
99327 2006-05-03  Bruno Haible  <bruno@clisp.org>
99329         * lib/stdint_.h: Shorter URL.
99330         * lib/inttypes.h: Likewise.
99332 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
99334         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
99336 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
99338         * lib/verify.h: Document the internals better.  Most of this change
99339         was written by Bruno Haible.
99341 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
99343         * doc/verify.texi: New file, partly based on a proposal by
99344         Bruno Haible.
99346 2006-05-02  Bruno Haible  <bruno@clisp.org>
99348         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
99349         test from here...
99350         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
99352 2006-04-29  Bruno Haible  <bruno@clisp.org>
99354         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
99355         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
99357 2006-04-29  Bruno Haible  <bruno@clisp.org>
99359         * gnulib-tool: Make --update option actually work.
99361 2006-04-29  Bruno Haible  <bruno@clisp.org>
99363         * doc/gcd.texi: New file.
99364         * doc/gnulib.texi: Include it.
99366 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
99368         * lib/getdate.y (get_date): When adding relative date, start with the
99369         initial time, not with the result of the first mktime call.
99371 2006-04-25  Bruno Haible  <bruno@clisp.org>
99373         * gnulib-tool (func_import): Output the include directives in three
99374         blocks, sorted separately.
99375         Reported by Ben Pfaff <blp@cs.stanford.edu>.
99377 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
99379         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
99380         to define main with arguments, for C++.  Reported by Eric Blake.
99381         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
99382         Prefer 'int main ()' to 'int main (void)', for C++.
99383         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
99384         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
99385         for 'main', for C99 and C++.
99387 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
99389         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
99390         Don't assume that exit status -1 is valid.
99391         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
99392         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
99393         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
99394         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
99395         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
99396         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
99397         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
99398         functions can be used without declaring them, or that you can
99399         exit with status -1.
99400         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
99402 2006-04-24  Karl Berry  <karl@gnu.org>
99404         * config/srclist.txt (longdouble.m4): sync lost.
99406 2006-04-24  Eric Blake  <ebb9@byu.net>
99408         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
99410 2006-04-24  Bruno Haible  <bruno@clisp.org>
99412         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
99413         poll() implementation in AIX.
99414         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
99416 2006-04-24  Bruno Haible  <bruno@clisp.org>
99418         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
99419         assigned exactly once.
99421 2006-04-23  Claudio Fontana  <claudio@gnu.org>
99422             Bruno Haible  <bruno@clisp.org>
99424         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
99425         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
99426         for AM_CPPFLAGS.
99428 2006-04-23  Bruno Haible  <bruno@clisp.org>
99430         * modules/copy-file: Depend on unistd.
99431         * modules/execute: Likewise.
99432         * modules/fatal-signal: Likewise.
99433         * modules/findprog: Likewise.
99434         * modules/mkdtemp : Likewise.
99435         * modules/pipe: Likewise.
99436         * modules/wait-process: Likewise.
99438 2006-04-23  Bruno Haible  <bruno@clisp.org>
99440         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
99441         condition was already detected.
99442         Reported by Ben Pfaff <blp@cs.stanford.edu>.
99444 2006-04-23  Bruno Haible  <bruno@clisp.org>
99446         * lib/copy-file.c: Include <unistd.h> unconditionally.
99447         * lib/execute.c: Likewise.
99448         * lib/fatal-signal.c: Likewise.
99449         * lib/findprog.c: Likewise.
99450         * lib/mkdtemp.c: Likewise.
99451         * lib/pipe.h: Likewise.
99452         * lib/pipe.c: Likewise.
99453         * lib/wait-process.h: Likewise.
99455 2006-04-23  Bruno Haible  <bruno@clisp.org>
99457         * gnulib-tool (func_usage): Fix --import description. Document
99458         --update.
99459         (func_import): Create temporary file in a temporary directory, if
99460         --dry-run is specified. Silence errors from 'grep' when there are no
99461         m4 files in $m4dir.
99462         (func_create_testdir): Silence errors from 'grep' when there are no
99463         m4 files in $m4dir.
99464         Reported by Karl Berry <karl@freefriends.org>.
99466 2006-04-20  Bruno Haible  <bruno@clisp.org>
99468         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
99469         one argument, so that the code will be portable to Autoconf 2.60.
99470         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
99471         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
99472         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
99474 2006-04-19  Derek Price  <derek@ximbiot.com>
99475             Eric Blake  <ebb9@byu.net>
99477         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
99478         rather than "/full/path.h".  Update comment to match.  Shorten &
99479         generalize m4_translit call via AS_TR_CPP.
99481 2006-04-19  Derek Price  <derek@ximbiot.com>
99482             Eric Blake  <ebb9@byu.net>
99484         * lib/inttypes.h: Correct grammar in comment.
99486 2006-04-18  Derek Price  <derek@ximbiot.com>
99487             Paul Eggert  <eggert@cs.ucla.edu>
99489         * modules/inttypes: New file.
99490         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
99492 2006-04-18  Derek Price  <derek@ximbiot.com>
99493             Paul Eggert  <eggert@cs.ucla.edu>
99495         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
99496         New files.
99498 2006-04-18  Derek Price  <derek@ximbiot.com>
99499             Paul Eggert  <eggert@cs.ucla.edu>
99501         * lib/inttypes.h: New file.
99502         * lib/strtoimax.c: Assume <inttypes.h>.
99504 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
99506         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
99507         isn't mounted.  Problem reported by Kir Kolyshkin.
99509 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
99511         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
99512         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
99513         Derek R. Price.
99514         * lib/regex.h (RE_DUP_MAX): Update comment to match current
99515         implementation.
99517 2006-04-12  Eric Blake  <ebb9@byu.net>
99519         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
99520         is now done automatically by the corresponding Autoconf macro.
99522 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
99524         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
99525         time_r.h.
99527 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
99529         Merge regex changes from libc, removing some of our
99530         POSIX-conformance changes that were rejected and redoing them in a
99531         less-intrusive way.
99533         * lib/regcomp.c (re_compile_internal, init_dfa):
99534         Length arg is now size_t, not Idx.  All uses changed.
99535         (peek_token): Forward decl now says internal_function.
99536         (__re_error_msgid, __re_error_msgid_idx):
99537         Now static rather than extern with attribute_hidden.
99538         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
99539         For some reason libc prefers K&R style defns for external functions.
99540         (regerror) [!defined _LIBC]: Likewise.
99541         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
99542         (seek_collating_symbol_entry, lookup_collation_sequence_value):
99543         (build_range_exp, build_collating_symbol):
99544         Use K&R-style defn.
99545         (re_compile_fastmap): Use '\0' to memset, not 0.
99546         (utf8_sb_map): Make the calculations more obvious.
99547         (init_dfa, parse_bracket_exp, build_charclass_op):
99548         Call calloc and cast result, as glibc does.
99549         (init_word_char, fetch_token, peek_token, peek_token_bracket):
99550         (build_range_exp, build_collating_symbol):
99551         Now internal functions.
99553         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
99555         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
99556         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
99557         Don't depend on VMS; depend on __VMS instead, for POSIX
99558         namespace cleanness.
99559         (regoff_t): Define to ssize_t, not long int.
99561         Remove the REG_ macros named below.  Instead, make the old names
99562         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
99563         __USE_GNU_REGEX.
99564         (REG_BACKSLASH_ESCAPE_IN_LISTS):
99565         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
99566         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
99567         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
99568         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
99569         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
99570         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
99571         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
99572         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
99573         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
99574         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
99575         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
99576         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
99577         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
99578         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
99579         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
99580         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
99581         (REG_NREGS):
99582         Remove.  All uses replaced by the old RE_* names.
99583         (RE_BACKSLASH_ESCAPE_IN_LISTS):
99584         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
99585         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
99586         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
99587         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
99588         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
99589         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
99590         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
99591         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
99592         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
99593         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
99594         Don't bother having these macros be independent of each others'
99595         values, since they no longer exist in the POSIX name space.
99597         Rename the following member names back to their old names,
99598         unless !__USE_GNU_REGEX.  All uses changed back.
99599         (buffer): Renamed from re_buffer.
99600         (allocated): Renamed from re_allocated.
99601         (used): Renamed from re_used.
99602         (syntax): Renamed from re_syntax.
99603         (fastmap): Renamed from re_fastmap.
99604         (translate): Renamed from re_translate.
99605         (can_be_null): Renamed from re_can_be_null.
99606         (regs_allocated): Renamed from re_regs_allocated.
99607         (fastmap_accurate): Renamed from re_fastmap_accurate.
99608         (no_sub): Renamed from re_no_sub.
99609         (not_bol): Renamed from re_not_bol.
99610         (not_eol): Renamed from re_not_eol.
99611         (newline_anchor): Renamed from re_newline_anchor.
99612         (num_regs): Renamed from rm_num_regs.
99613         (start): Renamed from rm_start.
99614         (end): Renamed from rm_end.
99616         (free_state): Move up a bit.
99618         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
99619         #define to be empty.
99620         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
99621         when that is what is intended.
99622         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
99623         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
99624         (MAX): New macro.
99625         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
99626         All uses changed back to re_malloc, etc.  It's now the caller's
99627         responsibility to check for overflow; all callers changed.
99628         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
99629         (re_x2nrealloc): Remove.
99630         (free_state): Remove decl.
99632         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
99633         (re_set_registers, re_exec):
99634         Use K&R-style defn.
99636         2006-01-31  Roland McGrath  <roland@redhat.com>
99638         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
99639         Reported by Mike Frysinger <vapier@gentoo.org>.
99641         2006-01-15  Andreas Jaeger  <aj@suse.de>
99643         [BZ #1950]
99644         * lib/regex_internal.c (re_string_reconstruct): Adjust for
99645         build_wcs_upper_buffer change.
99646         (build_wcs_upper_buffer): Change return type.
99648         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
99650         * lib/regex_internal.h: Include <stdint.h> if available.
99652         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
99654         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
99656         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
99658         * lib/regcomp.c: Adjust for changed secondary hash function.
99660         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
99662         * lib/regex.h: Pretty printing.
99663         Clean up namespace a bit.
99665         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
99667         * lib/regexec.c (update_cur_sifted_state, check_arrival,
99668         check_arrival_add_next_nodes): Avoid using uninitialized variable.
99670         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
99671                     Ulrich Drepper  <drepper@redhat.com>
99673         [BZ #1302]
99674         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
99675         changed.
99676         (bitset_word_t): Renamed from bitset_word.  All uses changed.
99678         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
99680         [BZ #281]
99681         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
99682         * lib/regcomp.c: Remove unnecessary uses of
99683         unsigned RE_TRANSLATE_TYPE.
99684         * lib/regex_internal.h: Likewise.
99685         * lib/regex_internal.c: Likewise.
99686         * lib/regexec.c: Likewise.
99687         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
99689         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
99691         * lib/regexec.c (find_recover_state): Remove unnecessary
99692         initialization.
99693         (transit_state_bkref): Make DFA a const pointer.
99694         (get_subexp): Likewise.
99695         (check_arrival): Likewise.
99696         (update_cur_sifted_state): Likewise.
99697         (re_search_internal): Likewise.
99698         (prune_impossible_nodes): Likewise.
99699         (acquire_init_state_context): Likewise.
99700         (proceed_next_node): Likewise.
99701         (set_regs): Likewise.
99702         (free_fail_stack_return): Likewise.
99703         (check_arrival_expand_ecl): Mark DFA parameter as const.
99704         (check_arrival_expand_ecl_sub): Likewise.
99705         (check_subexp_limits): Likewise.
99706         (sub_epsilon_src_nodes):  Likewise.
99707         (add_epsilon_src_nodes):  Likewise.
99708         (merge_state_array): Likewise.
99709         (update_regs): Likewise.
99710         (build_trtable): Likewise.
99711         (sift_states_backward): Mark MCTX parameter as const.
99712         (build_sifted_states): Likewise.
99713         (update_cur_sifted_state): Likewise.
99714         (sift_states_mkref): Likewise.
99715         (check_arrival_expand_ecl): Mark eclosure as const.
99716         (check_dst_limits_calc_pos_1): Likewise.
99717         * lib/regex_internal.h (re_match_context_t): Make dfa a const
99718         pointer.
99720         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
99722         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
99723         (transit_state_sb): Likewise.
99724         (transit_state_mb): Likewise.
99725         (sift_states_iter_mb): Likewise.
99726         (check_arrival_add_next_nodes): Likewise.
99727         (check_node_accept_bytes): Change first parameter to pointer-to-const.
99728         [_LIBC] (re_search_2_stub): Use mempcpy.
99730         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
99731         mbrtowc for very simple UTF-8 case.
99733         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
99734         a pointer-to-const.
99735         (re_acquire_state_context): Likewise.
99736         * lib/regex_internal.h: Adjust prototypes.
99738         * lib/regex.c: Prevent using C++ compilers.
99740         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
99741         (re_acquire_state_context): Likewise.
99743 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
99745         * modules/regex (Depends-on): Add ssize_t.
99747 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
99749         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
99750         translation table.
99752 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
99754         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
99756 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
99757             Bruno Haible  <bruno@clisp.org>
99759         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
99760         <sys/types.h> and <inttypes.h>.
99762 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
99764         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
99765         `__error_t_defined', so argp.h will not typedef the former.
99767 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
99769         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
99770         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
99771         glibc names.  Even if glibc is changed to conform to POSIX, the
99772         traditional names will be available anyway, since regex depends on
99773         the extensions module.  Also, fix a longstanding typo in the
99774         implementation of Spencer ERE test #75 from grep 2.3.  Problems
99775         reported by Emanuele Giaquinta.  Also, change sense of cached
99776         variable, so that the message makes sense.
99778 2006-03-24  Simon Josefsson  <jas@extundo.com>
99780         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
99781         including some doc fixes.
99782         (base64_encode_alloc): Fix +1 bug on allocation failures.
99784 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
99786         * lib/base64.c (base64_encode): Do not read past end of array with
99787         unsanitized input on systems with CHAR_BIT > 8.
99789 2006-03-24  Eric Blake  <ebb9@byu.net>
99791         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
99793 2006-03-22  Karl Berry  <karl@gnu.org>
99795         * config/srclist.txt (*setenv.[ch]): get from coreutils.
99796         * config/srclistvars.sh (COREUTILS): new var.
99798 2006-03-17  Jim Meyering  <jim@meyering.net>
99800         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
99801         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
99803 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
99805         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
99806         no longer needs it.  Instead, check that regoff_t is as least
99807         as wide as ptrdiff_t.
99809         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
99810         so that our regex.h stays compatible with the installed regex.
99811         This is helpful for installers who configure --without-included-regex.
99812         Problem reported by Emanuele Giaquinta.
99814 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
99816         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
99817         Typedef to long int, not to off_, as POSIX will likely change
99818         in that direction.
99820 2006-03-15  Eric Blake  <ebb9@byu.net>
99822         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
99824 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
99826         * lib/argp-help.c (validate_uparams): Fix typo
99827         * lib/argp-parse.c (argp_default_options): Consistently begin help
99828         messages with a lowercase letter.
99830 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
99832         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
99833         overrun buffers and shouldn't be used (much as gets shouldn't be
99834         used).
99835         * lib/time_r.c (asctime_r, ctime_r): Likewise.
99837 2006-03-08  Simon Josefsson  <jas@extundo.com>
99839         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
99840         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
99842 2006-03-08  Simon Josefsson  <jas@extundo.com>
99844         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
99845         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
99847 2006-03-08  Simon Josefsson  <jas@extundo.com>
99849         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
99850         signal that configure disabled the device.
99852 2006-03-08  Simon Josefsson  <jas@extundo.com>
99854         * build-aux/maint.mk: Fix refresh-po, to handle no translated
99855         languages.
99857 2006-03-07  Simon Josefsson  <jas@extundo.com>
99859         * modules/getopt (Depends-on): Add unistd.
99861         * modules/unistd: New file.
99863 2006-03-07  Simon Josefsson  <jas@extundo.com>
99865         * modules/gc-random: New file.
99867 2006-03-07  Simon Josefsson  <jas@extundo.com>
99869         * m4/unistd_h.m4: New file.
99871 2006-03-07  Simon Josefsson  <jas@extundo.com>
99873         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
99874         test to be side-effect free by storing the result in the cache
99875         variable gl_cv_lib_readline, and moving the assignment of
99876         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
99877         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
99879 2006-03-07  Simon Josefsson  <jas@extundo.com>
99881         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
99882         error on missing devices (the functions will return an error).
99884         * m4/gc.m4: Move random stuff to gc-random.m4
99886 2006-03-07  Simon Josefsson  <jas@extundo.com>
99888         * lib/unistd_.h: New file.
99890 2006-03-07  Simon Josefsson  <jas@extundo.com>
99892         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
99894 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
99896         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
99897         Problem reported by Juan Manuel Guerrero.
99899 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
99901         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
99902         the unistd module.
99903         * lib/getlogin_r.c: Likewise.
99904         * lib/getlogin_r.h: Likewise.
99905         * lib/glob.c: Likewise.
99906         * lib/pagealign_alloc.c: Likewise.
99907         * lib/unistd_.h: Remove; no longer needed.
99909 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
99911         * MODULES.html.sh (Support for systems lacking POSIX:2001):
99912         Add unistd.
99913         * modules/c-stack (Depends-on): Add unistd.
99914         * modules/getlogin_r: Likewise.
99915         * modules/glob: Likewise.
99916         * modules/pagealign_alloc: Likewise.
99917         * modules/unistd (Files): Remove lib/unistd_.h.
99918         (EXTRA_DIST): Remove.
99919         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
99920         need unistd_.h.
99921         (MOSTLYCLEANFILES): Remove unistd.h-t.
99923 2006-03-03  Simon Josefsson  <jas@extundo.com>
99925         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
99927 2006-03-03  Simon Josefsson  <jas@extundo.com>
99929         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
99930         libidn and bison.
99932 2006-03-03  Simon Josefsson  <jas@extundo.com>
99934         * build-aux/maint.mk: Add indent target.
99936 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
99938         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
99939         our replacement poll.h in any case, to avoid a differing
99940         declaration from a system header.  Seen on AIX.
99942 2006-03-01  Simon Josefsson  <jas@extundo.com>
99944         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
99945         <kasal@ucw.cz>.
99947 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
99949         * modules/gettime (Depends-on): Add extensions module.
99950         * modules/nanosleep (Depends-on): Likewise.
99951         * modules/settime (Depends-on): Likewise.
99953 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
99955         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
99956         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
99957         pedantically.
99958         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
99959         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
99961         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
99962         not "==".  Reported by Ralf Wildenhues.
99964 2006-03-01  Karl Berry  <karl@gnu.org>
99966         * doc/Copyright/request-*: new files, synced from gnuorg.
99968 2006-03-01  Karl Berry  <karl@gnu.org>
99970         * config/srclist.txt (Copyright/*): new entries.
99972 2006-02-28  Simon Josefsson  <jas@extundo.com>
99974         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
99976 2006-02-27  Simon Josefsson  <jas@extundo.com>
99978         * lib/base64.h: Indent #define's.  From Jim Meyering
99979         <jim@meyering.net>.
99981 2006-02-27  Jim Meyering  <jim@meyering.net>
99983         Revert the change of 2006-02-24, so these files can continue
99984         to be sync'd from gettext.
99985         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
99986         of `config.h'.
99988 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
99990         * modules/intprops: New file.
99991         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
99992         Add intprops.
99993         * modules/getloadavg (Files): Remove lib/intprops.h.
99994         (Depends-on): Add intprops.
99995         * modules/human: Likewise.
99996         * modules/inttostr: Likewise.
99997         * modules/openat: Likewise.
99998         * modules/sig2str: Likewise.
99999         * modules/userspec: Likewise.
100000         * modules/utimecmp: Likewise.
100001         * modules/xnanosleep: Likewise.
100002         * modules/xstrtol: Likewise.
100004 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
100006         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
100007         * modules/lock-tests (TESTS): Use $(EXEEXT).
100008         * modules/tls-tests: Likewise.
100009         * modules/argp-tests: Likewise.
100010         (check_PROGRAMS): New var, replacing...
100011         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
100013 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
100015         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
100016         `config.h'.
100018 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
100020         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
100022 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
100024         Sync from coreutils.
100025         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
100026         gl_CHDIR_SAFER.
100028 2006-02-22  Jim Meyering  <jim@meyering.net>
100030         Sync from coreutils.
100031         * m4/chdir-safer.m4: New file.
100033 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
100035         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
100036         AT_FDCWD exceeds INT_MAX.
100037         * lib/openat.h (AT_FDCWD): Likewise.
100039 2006-02-17  Eric Blake  <address@hidden>
100041         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
100043 2006-02-16  Simon Josefsson  <jas@extundo.com>
100045         * modules/getaddrinfo (Depends-on): Add sys_socket.
100047 2006-02-15  Simon Josefsson  <jas@extundo.com>
100049         * build-aux/maint.mk: Add dsyntax-check rule.
100051 2006-02-15  Eric Blake  <ebb9@byu.net>
100053         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
100054         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
100055         'present but cannot compile' warnings on cygwin.
100056         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
100057         use ws2tcpip.h if sys/socket.h works.
100058         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
100059         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
100061 2006-02-14  Simon Josefsson  <jas@extundo.com>
100063         * modules/maintainer-makefile (Files): Rename.
100065         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
100066         and (the local) Makefile.cfg to maint-cfg.mk.
100068         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
100069         to the latter.
100071         * modules/maintainer-makefile: New module.
100073         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
100074         severaly stripped to make it possible to build it up from scratch
100075         with reliable tests.
100077         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
100078         fixes to permit overriding the default actions when configure and
100079         makefile are not available.
100081 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
100083         Sync from coreutils.
100084         * modules/lstat (Depends-on): Don't depend on xalloc.
100085         (License): Change from GPL to LGPL, since this is now simply a
100086         replacement for a libc function.
100088 2006-02-14  Jim Meyering  <jim@meyering.net>
100090         Sync from coreutils.
100092         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
100093         failure on deficient systems, and simplify gnulib lgpl dependencies.
100094         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
100095         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
100097         * lib/xalloc-die.c: Remove unused definition of N_.
100099 2006-02-14  Jim Meyering  <jim@meyering.net>
100101         Sync from coreutils.
100102         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
100103         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
100104         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
100105         double-quote uses of that variable, to accommodate the rare case in
100106         which getmntent is available in none of the libraries checked.  This
100107         happens at least on FreeBSD 5.0.
100109 2006-02-13  Simon Josefsson  <jas@extundo.com>
100111         * gnulib-tool (Usage): Fix --import, from
100112         karl@freefriends.org (Karl Berry).
100114 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
100116         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
100118 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
100120         * lib/argp-namefrob.h: Restore changes accidentally lost during the
100121         "autoupdate" on 2005-12-12.
100123 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
100125         * modules/closeout (Depends-on): Remove atexit.
100127 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
100129         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
100130         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
100132 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
100134         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
100135         __EXTENSIONS__ if this causes compilation to fail.  Problem
100136         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
100137         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
100139 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
100141         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
100142         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
100143         <http://lists.gnu.org/r/bug-gnulib/2006-01/msg00074.html>.
100144         All uses changed.
100146 2006-01-26  Simon Josefsson  <jas@extundo.com>
100148         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
100149         prototype is visible on mingw32.
100151         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
100152         for mingw32.
100154         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
100155         mingw32).
100157 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
100159         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
100160         attempt to open for write; this always fails, at least on POSIX
100161         hosts.  This reinstates the 2006-01-09 change, which was
100162         inadvertently removed.
100164 2006-01-26  Bruno Haible  <bruno@clisp.org>
100166         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
100167         Reported by Paul Eggert.
100169 2006-01-26  Bruno Haible  <bruno@clisp.org>
100170             Paul Eggert  <eggert@cs.ucla.edu>
100172         * lib/stdbool_.h (_Bool)
100173         [(! (defined __cplusplus || defined __BEOS__)
100174           && !defined __GNUC__
100175           && !(defined __HP_cc || defined __xlc__
100176                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
100177                || defined __sgi))]:
100178         #define to signed char in these cases too; this simplifies
100179         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
100180         etc., separately) and makes it more conservative.
100182 2006-01-25  Simon Josefsson  <jas@extundo.com>
100184         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
100185         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
100186         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
100188 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
100190         * lib/argp-namefrob.h: Bugfix. Remove stray #
100192 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
100194         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
100195         so that we test the test.
100196         Check for yet another HP-UX cc bug involving *bool |= bool.
100198 2006-01-25  Karl Berry  <karl@gnu.org>
100200         * config/srclist.txt (vasnprintf.c): sync lost.
100202 2006-01-25  Jim Meyering  <jim@meyering.net>
100204         Sync from the stable (b5) branch of coreutils:
100206         * lib/fts.c (fts_children): Don't let close() clobber errno from
100207         failed fchdir().
100209         * lib/fts.c (fts_stat): When following a symlink-to-directory,
100210         don't necessarily interpret stat-fails+lstat-succeeds as indicating
100211         a dangling symlink.  That can also happen at least for ELOOP.
100212         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
100213         FYI, this bug predates the inclusion of fts.c in coreutils.
100215         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
100216         in their own block, so pre-c99 compilers don't object.
100218         Avoid the double-free (first in fts_read, second in fts_close) that
100219         would occur when an `active' directory is made inaccessible (e.g.,
100220         via chmod a-x) during a traversal.
100221         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
100222         before returning.  Reproduce this failure by
100223         mkdir -p a/b; cd a; chmod a-x . b
100224         Reported by Stavros Passas.
100226 2006-01-25  Jim Meyering  <jim@meyering.net>
100228         * lib/fileblocks.c: Remove more useless parentheses.
100229         * lib/readutmp.h: Likewise.
100231 2006-01-25  Bruno Haible  <bruno@clisp.org>
100233         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
100234         warnings.
100235         Reported by Paul Eggert.
100237 2006-01-25  Bruno Haible  <bruno@clisp.org>
100239         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
100240         rid of a trap command. For Solaris sh.
100241         Reported by Mark D. Baushke <mdb@gnu.org>.
100243 2006-01-24  Simon Josefsson  <jas@extundo.com>
100245         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
100246         Bruno.
100248 2006-01-24  Karl Berry  <karl@gnu.org>
100250         * config/srclist.txt (argp-namefrob.h): sync lost.
100252 2006-01-24  Jim Meyering  <jim@meyering.net>
100254         * modules/openat (Files): Add lib/intprops.h.
100255         From Mark D. Baushke.
100257 2006-01-24  Jim Meyering  <jim@meyering.net>
100259         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
100260         Reported by Mark D. Baushke.
100262 2006-01-24  Jim Meyering  <jim@meyering.net>
100264         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
100266 2006-01-24  Bruno Haible  <bruno@clisp.org>
100268         * modules/strnlen (Maintainer): Change from glibc to all.
100270 2006-01-24  Bruno Haible  <bruno@clisp.org>
100272         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
100273         Patch by Paul Eggert.
100275 2006-01-24  Bruno Haible  <bruno@clisp.org>
100277         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
100278         already has it.
100279         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
100280         2005-11-26.
100282         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
100283         'signed char' to avoid problems with the built-in _Bool type.
100284         Reported by Paul Eggert on 2005-11-26.
100286 2006-01-24  Bruno Haible  <bruno@clisp.org>
100288         * gnulib-tool (func_import): Avoid constructing complicated sed
100289         expressions inside backquote.
100290         Report and solution by Mark D. Baushke <mdb@gnu.org>.
100292 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
100294         These changes imported from libc.
100295         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
100296         test and two separate function calls.
100297         * lib/strndup.c (__strndup): Add libc_hidden_def.
100299 2006-01-23  Simon Josefsson  <jas@extundo.com>
100301         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
100302         Remove the test_*_SOURCES variable: automake infers it by default.
100303         * modules/tls-tests: Likewise.
100305 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
100307         Work around porting bugs reported by Dieter in
100308         <http://lists.gnu.org/r/bug-bison/2006-01/msg00049.html>.
100309         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
100310         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
100311         Include "getopt.h" first, to check interface.
100312         (getenv): Declare only if defined HAVE_DECL_GETENV &&
100313         !HAVE_DECL_GETENV.
100314         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
100315         (__strndup): Revert to K&R-style function dfns, the glibc style.
100316         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
100317         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
100318         Include strnlen.h first, to get prototype properly.
100319         (strnlen): Renamed from __strnlen.
100320         Remove weak alias.
100322 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
100324         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
100326 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
100328         * config/srclist.txt: Adjust to reflect glibc reorganization.
100329         This affects only comments.
100331 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
100333          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
100334          Reported by Bruce Korb <bkorb@gnu.org>.
100336 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
100338         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
100339         to pacify gcc -Wswitch-default.
100341 2006-01-22  Bruno Haible  <bruno@clisp.org>
100343         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
100344         temporary buffer for sprintf, take into account the precision also
100345         for 'd', 'i', 'u', 'o', 'x', 'X'.
100347 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
100349         * modules/argp-tests: New module
100350         * tests/test-argp.c: New file
100351         * tests/test-argp-2.sh: New file
100353 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
100355         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
100356         (__argp_base_name): Removed
100357         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
100358         typo.
100359         (__argp_base_name): Provide macro definition or extern declaration
100360         depending on the configuration
100362 2006-01-20  Simon Josefsson  <jas@extundo.com>
100364         * modules/inet_ntop (Depends-on): Depend on sys_socket.
100366 2006-01-20  Simon Josefsson  <jas@extundo.com>
100368         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
100370 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
100372         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
100373         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
100374         Suggested by Bruno Haible.
100376 2006-01-20  Karl Berry  <karl@gnu.org>
100378         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
100379         until changes propagate, I guess.
100381 2006-01-19  Simon Josefsson  <jas@extundo.com>
100383         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
100385 2006-01-19  Simon Josefsson  <jas@extundo.com>
100387         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
100389 2006-01-19  Simon Josefsson  <jas@extundo.com>
100391         * gnulib-tool: Set check_PROGRAMS.
100393         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
100394         modules/des-tests, modules/gc-arcfour-tests,
100395         modules/gc-arctwo-tests, modules/gc-des-tests,
100396         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
100397         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
100398         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
100399         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
100400         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
100401         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
100402         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
100403         test_*_SOURCES.
100405 2006-01-18  Simon Josefsson  <jas@extundo.com>
100407         * modules/socklen (Depends-on): Depend on sys_socket.
100409 2006-01-18  Simon Josefsson  <jas@extundo.com>
100411         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
100412         modules/des-tests, modules/gc-arcfour-tests,
100413         modules/gc-arctwo-tests, modules/gc-des-tests,
100414         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
100415         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
100416         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
100417         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
100418         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
100419         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
100420         $(EXEEXT) to automake TESTS variable, for mingw32.
100422 2006-01-17  Simon Josefsson  <jas@extundo.com>
100424         * modules/socklen (Include): Need sys/socket.h.
100426 2006-01-17  Bruno Haible  <bruno@clisp.org>
100428         * modules/ssize_t (Include): Add <sys/types.h>.
100430 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
100432         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
100433         it's not portable and it doesn't work with cross-compiles.
100434         Problem reported by Bruno Haible.  Fix missing-$ typo in
100435         'test "gl_cv_ignore_unused_libraries" ...' that prevented
100436         -zignore from being used with Sun's C compiler.
100438 2006-01-12  Simon Josefsson  <jas@extundo.com>
100440         * lib/base64.c: Fix warning, reported by Bruno Haible
100441         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
100443 2006-01-12  Bruno Haible  <bruno@clisp.org>
100445         * modules/ldd: New file.
100446         * build-aux/ldd.sh.in: New file.
100447         * MODULES.html.sh (Support for building libraries and executables): Add
100448         ldd.
100450 2006-01-12  Bruno Haible  <bruno@clisp.org>
100452         * m4/ldd.m4: New file.
100454 2006-01-12  Bruno Haible  <bruno@clisp.org>
100456         * gnulib-tool (func_import, func_create_testdir): Don't go into an
100457         endless loop while replacing $auxdir with build-aux.
100459 2006-01-11  Simon Josefsson  <jas@extundo.com>
100461         * lib/stdint_.h (SIZE_MAX): Add missing (.
100463 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
100465         Sync from coreutils.
100466         * lib/md5.c: Fix commentary typos.
100467         (alignof, UNALIGNED_P): No need for a GCC-specific version.
100468         * lib/md5.h (__attribute__): Remove; unused.
100469         * lib/sha1.c: Fix commentary to match md5 better.
100470         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
100471         so that we don't need to worry about alignment.  All uses changed.
100472         This merges the 2005-10-28 md5 change into sha1.
100474 2006-01-11  Jim Meyering  <jim@meyering.net>
100476         Sync from coreutils.
100477         * lib/md5.c (OP): Fix spacing.
100479 2006-01-11  Bruno Haible  <bruno@clisp.org>
100481         Ensure automatic ordering between gl_LOCK and gl_ARGP.
100482         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
100483         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
100485 2006-01-11  Bruno Haible  <bruno@clisp.org>
100487         Ensure automatic ordering between gl_LOCK and gl_ARGP.
100488         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
100489         the "early" section as well.
100491 2006-01-11  Bruno Haible  <bruno@clisp.org>
100493         Avoid "ar: no archive members specified" error on MacOS X.
100494         * gnulib-tool (func_modules_add_dummy): New function.
100495         (func_import, func_create_testdir): Invoke it.
100497 2006-01-11  Bruno Haible  <bruno@clisp.org>
100499         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
100500         with $auxdir in AC_CONFIG_FILES statements.
100502 2006-01-11  Bruno Haible  <bruno@clisp.org>
100504         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
100505         Initialize also noinst_HEADERS to empty.
100507 2006-01-11  Bruno Haible  <bruno@clisp.org>
100509         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
100510         variables.
100511         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
100512         autoreconf.
100514 2006-01-11  Bruno Haible  <bruno@clisp.org>
100516         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
100517         overridable by the user.
100518         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
100520 2006-01-10  Simon Josefsson  <jas@extundo.com>
100522         * modules/sys_socket: New file.
100524 2006-01-10  Simon Josefsson  <jas@extundo.com>
100526         * m4/sys_socket_h.m4: New file.
100528 2006-01-10  Simon Josefsson  <jas@extundo.com>
100530         * lib/socket_.h: New file.
100532 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
100534         * modules/readutmp (Maintainer): Add myself.
100536 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
100538         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
100539         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
100540         People who are still concerned with buggy memcmp implementations
100541         can invoke gl_FUNC_MEMCMP themselves.
100543 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
100545         * lib/regex_internal.h (BITSET_WORD_BITS):
100546         Work around a bug in 64-bit PGC (before version 6.1-2), where the
100547         preprocessor mishandles large unsigned values as if they were signed.
100548         Problem reported by Claudio Fontana in
100549         <http://lists.gnu.org/r/bug-gnulib/2005-12/msg00061.html>.
100551 2006-01-10  Jim Meyering  <jim@meyering.net>
100553         Avoid the double-free (first in fts_read, second in fts_close) that
100554         would occur when an `active' directory is made inaccessible (e.g.,
100555         via chmod a-x) during a traversal.
100556         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
100557         before returning.  Reproduce this failure by
100558         mkdir -p a/b; cd a; chmod a-x . b
100559         Reported by Stavros Passas.
100561         Sync from coreutils.
100562         * lib/sha1.c: Tweak grammar in a comment.
100564 2006-01-10  Jim Meyering  <jim@meyering.net>
100566         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
100567         Patch by Joerg Sonnenberger.
100569 2006-01-10  Bruno Haible  <bruno@clisp.org>
100571         * modules/readutmp: Depend on module free.
100572         * modules/strtok_r: Depend on module restrict.
100574 2006-01-10  Bruno Haible  <bruno@clisp.org>
100576         * modules/gettext (configure.ac): Add an invocation of
100577         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
100579 2006-01-10  Bruno Haible  <bruno@clisp.org>
100581         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
100582         Reported by Werner Lemberg <wl@gnu.org>.
100584 2006-01-10  Bruno Haible  <bruno@clisp.org>
100586         * lib/localcharset.c: Update from GNU gettext.
100588 2006-01-10  Bruno Haible  <bruno@clisp.org>
100590         * lib/argp.h (__const): Remove macro. Use const instead.
100591         * lib/argp-fmtstream.h (__const): Likewise.
100592         * lib/glob_.h (__const): Remove macro.
100593         * lib/glob-libc.h: Use const instead of __const.
100595 2006-01-10  Bruno Haible  <bruno@clisp.org>
100597         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
100598         variable.
100599         Needed to avoid an automake error regarding the 'gettext' module.
100601 2006-01-09  Simon Josefsson  <jas@extundo.com>
100603         * modules/inet_ntop (Depends-on): Add restrict.
100605 2006-01-09  Simon Josefsson  <jas@extundo.com>
100607         * modules/gc-rijndael-tests (License): Put under LGPL.
100609         * modules/gc-des-tests (License): Likewise.
100611         * modules/gc-arcfour-tests (License): Likewise.
100613         * modules/gc-arctwo-tests (License): Likewise.
100615         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
100617         * modules/gc-hmac-sha1-tests (Files): Likewise.
100619         * modules/gc-hmac-md5-tests (License): Likewise.
100621         * modules/gc-sha1-tests (License): Likewise.
100623         * modules/gc-md5-tests (License): Likewise.
100625         * modules/gc-md4-tests (License): Likewise.
100627         * modules/gc-md2-tests (License): Likewise.
100629         * modules/gc-tests (License): Likewise.
100631         * modules/des-tests (License): Likewise.
100633         * modules/md4-tests (License): Likewise.
100635         * modules/md2-tests (License): Likewise.
100637 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
100639         Sync from coreutils:
100641         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
100642         * modules/lib-ignore: New file.
100643         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
100644         chdir-safer.m4, lchmod.m4.
100645         * modules/openat: Add mkdirat.c, openat-priv.h.
100647 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
100649         Sync from coreutils.
100650         * m4/lib-ignore.m4: New file.
100651         * m4/lchmod.m4: New file.
100653 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
100655         Sync from coreutils.
100656         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
100657         for write access: POSIX says that must fail.
100658         * lib/fts.c (diropen): Likewise.
100659         * lib/save-cwd.c (save_cwd): Likewise.
100660         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
100661         well, for minor improvements on hosts that lack O_DIRECTORY.
100662         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
100663         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
100664         Fall back on chown if open failed with EACCES.
100666         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
100667         Report an error at compile-time if only a 1-second nominal clock
100668         resolution is found.
100670         * lib/lchmod.h: New file.
100671         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
100672         (make_dir_parents): Use lchown rather than chown, and
100673         lchmod rather than chmod.
100675         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
100676         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
100677         "proc" reported by n0dalus.
100679         * lib/mountlist.c: Include <limits.h>.
100680         (dev_from_mount_options)
100681         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
100682         New function.  It no longer assumes "dev=" has the System V meaning
100683         on Linux (since it doesn't).  It also parses "dev=" more carefully.
100684         (read_file_system_list)
100685         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
100686         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
100687         dev= in that case.
100689         * lib/posixtm.h (PDS_PRE_2000): New macro.
100690         * lib/posixtm.c (year): Arg is now syntax_bits rather than
100691         allow_century.  All usages changed.  Reject dates outside the range
100692         1969-1999 if PDS_PRE_2000 is used.
100694 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
100696         Sync from coreutils.
100697         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
100698         (Time of day items): Mention the possibility of leap seconds.
100699         Problem reported by Dr. David Alan Gilbert.
100701 2006-01-09  Jim Meyering  <jim@meyering.net>
100703         Sync from coreutils.
100705         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
100707         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
100709         * lib/modechange.c (mode_compile): Reject an invalid mode string
100710         that starts with an octal digit.  From Andreas Gruenbacher.
100712         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
100713         and dup to open_safer and dup_safer, respectively.
100714         (openat_permissive): Fix typo in comment.
100716         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
100717         "gettext.h"; either no longer needed or are guaranteed by openat.h.
100718         (_): Remove; no longer needed.
100719         (openat): Renamed from rpl_openat; no need for rpl_openat
100720         since openat.h renames openat for us.
100721         Replace most of the body with a call to openat_permissive,
100722         to avoid duplicate code.
100723         Port to (probably hypothetical) environments were mode_t is
100724         wider than int.
100725         (openat_permissive): Require mode arg, so that we can check
100726         types better.  Put it just after flags.  Change cwd failure
100727         indicator from pointer-to-bool to pointer-to-errno-value.
100728         All callers changed.
100729         Invoke openat_save_fail and/or openat_restore_fail if
100730         cwd_errno is null, so that openat can call us.
100731         (openat_permissive, fdopendir, fstatat, unlinkat):
100732         Simplify errno handling to avoid some duplicate code,
100733         as it's OK to set errno on success.
100734         * lib/openat.h: Revamp code so that function macros depend on
100735         __OPENAT_PREFIX only, not also on AT_FDCWD.
100736         (openat_ro): Remove.  Caller changed to use openat_permissive.
100737         (openat_permissive): Now a macro, if not a function.
100738         (openat_restore_fail, openat_save_fail): Now always functions,
100739         since mkdirat needs them even if __OPENAT_PREFIX is defined.
100741         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
100742         and openat.c.
100743         * lib/mkdirat.c: Include openat-priv.h.
100744         Remove definitions of macros defined therein.
100745         * lib/openat.c: Likewise.
100747         * lib/mkdirat.c (mkdirat): New file and function.
100748         * lib/openat.h (mkdirat): Declare.
100750         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
100752         * lib/openat.h (openat_permissive): Declare.
100753         (openat_ro): Define.
100755         * lib/openat.c (EXPECTED_ERRNO): New macro.
100756         (openat_permissive): New function -- used in remove.c rewrite.
100757         (all functions): Set errno just before returning, only if there
100758         was an actual failure.
100759         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
100761         Emulate openat-family functions using Linux's procfs, if possible.
100762         Idea and some code based on Ulrich Drepper's glibc changes.
100764         * lib/openat.c: (BUILD_PROC_NAME): New macro.
100765         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
100766         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
100767         before falling back on save_cwd and restore_cwd.
100768         (fdopendir, fstatat, unlinkat): Likewise.
100770         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
100771         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
100773         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
100774         as second argument to va_arg.  Otherwise, some versions of gcc
100775         warn that `if this code is reached, the program will abort'.
100777 2006-01-09  Jim Meyering  <jim@meyering.net>
100779         Sync from coreutils.
100780         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
100781         Require openat-priv.h.
100783 2006-01-09  Bruno Haible  <bruno@clisp.org>
100785         * modules/strnlen (Include): Use strnlen.h.
100787 2006-01-09  Bruno Haible  <bruno@clisp.org>
100789         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
100791 2006-01-09  Bruno Haible  <bruno@clisp.org>
100793         * lib/sysexit_.h (EX_OK): New macro.
100794         Suggested by Martin Lambers <marlam@marlam.de>.
100796 2006-01-09  Bruno Haible  <bruno@clisp.org>
100798         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
100799         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
100801 2006-01-09  Bruno Haible  <bruno@clisp.org>
100803         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
100804         numbers.
100806 2006-01-09  Bruno Haible  <bruno@clisp.org>
100808         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
100809         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
100810         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
100811         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
100813 2006-01-09  Bruno Haible  <bruno@clisp.org>
100815         * build-aux/javacomp.sh.in: New file, moved from lib/.
100816         * modules/javacomp-script (Files): Update.
100817         (configure.ac): Add AC_CONFIG_FILES invocation.
100818         (EXTRA_DIST): Remove variable.
100820         * build-aux/javaexec.sh.in: New file, moved from lib/.
100821         * modules/javaexec (Files): Update.
100822         (configure.ac): Add AC_CONFIG_FILES invocation.
100823         (EXTRA_DIST): Remove javaexec.sh.in.
100825         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
100826         * modules/csharpcomp-script (Files): Update.
100827         (configure.ac): Add AC_CONFIG_FILES invocation.
100828         (EXTRA_DIST): Remove variable.
100830         * build-aux/csharpexec.sh.in: New file, moved from lib/.
100831         * modules/csharpexec (Files): Update.
100832         (configure.ac): Add AC_CONFIG_FILES invocation.
100833         (EXTRA_DIST): Remove csharpexec.sh.in.
100835 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
100837         Sync from coreutils.
100839         Add POSIX ACL support
100840         * lib/acl.h (copy_acl, set_acl): Add declarations.
100841         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
100842         systems other than Linux.
100843         (chmod_or_fchmod): New function: use fchmod when possible,
100844         and chmod otherwise.
100845         (file_has_acl): Add a POSIX ACL implementation, with a
100846         Linux-specific subcase.
100847         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
100848         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
100849         acls are unsupported.
100850         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
100851         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
100852         are unsupported.
100854 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
100856         Sync from coreutils.
100857         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
100859 2006-01-07  Bruno Haible  <bruno@clisp.org>
100861         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
100862         gl_EARLY.
100864 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
100866         * lib/strftime.c (tzname): Don't declare if it is already #defined.
100867         Problem reported for Mingw by Mark Junker.
100869 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
100871         * README: Gnulib normally doesn't generate a tarball.
100873 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
100875         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
100876         long int, not int, for nanosecond counts, so that people who are
100877         used to POSIX struct timespec won't be surprised.  Reported by Jim
100878         Meyering.
100880 2005-12-28  Bruno Haible  <bruno@clisp.org>
100882         * build-aux/config.rpath: Update from GNU gettext.
100884 2005-12-16  Jim Meyering  <jim@meyering.net>
100886         * modules/fprintftime: New module.
100887         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
100889 2005-12-16  Jim Meyering  <jim@meyering.net>
100891         * m4/fprintftime.m4: New file.
100893 2005-12-16  Jim Meyering  <jim@meyering.net>
100895         * lib/fprintftime.c, lib/fprintftime.h: New files.
100897 2005-12-15  Simon Josefsson  <jas@extundo.com>
100899         * modules/socklen (configure.ac): Fix M4 macro name, to align with
100900         new m4/socklen.m4.
100902 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
100904         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
100905         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
100907 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
100909         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
100910         * lib/argp-help.c (fill_in_uparams): Check if the constructed
100911         struct uparams is valid. Fall back to the default values if it is
100912         not.
100914 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
100916         * modules/argp (Files): Add argp-pin.c
100917         (Depends-on): dirname
100918         (lib_SOURCES): Add argp-pin.c
100920 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
100922         * m4/argp.m4:  Check if program_invocation_name and
100923         program_invocation_short_name are declared and define appropriate
100924         macros if they are not.
100926 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
100928         * lib/argp-help.c (__argp_base_name): New function
100929         (__argp_short_program_name): Rewrite using __argp_base_name
100930         * lib/argp-namefrob.h: Define program_invocation_name and
100931         program_invocation_short_name if requested
100932         (__argp_base_name): Add prototype
100933         * lib/argp-parse.c (argp_def): Use gettext wrappers
100934         (argp_default_parser): Use __argp_base_name
100935         * lib/argp-pin.c: New file. Defines program_invocation_name and
100936         program_invocation_short_name on systems that lack them.
100938 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
100940         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
100941         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
100942         porting problem reported by Georg Schwarz in
100943         <http://lists.gnu.org/r/bug-coreutils/2005-12/msg00083.html>.
100945 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
100947         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
100948         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
100949         porting problem reported by Georg Schwarz in
100950         <http://lists.gnu.org/r/bug-coreutils/2005-12/msg00083.html>.
100952 2005-12-05  Bruno Haible  <bruno@clisp.org>
100954         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
100955         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
100956         Reported by Mark Junker <mjscod@gmx.de>.
100958 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
100960         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
100961         Use implementation from Albert Chin, with some
100962         comments/corrections by Stepan Kasal and myself.
100964 2005-12-02  Bruno Haible  <bruno@clisp.org>
100966         * gnulib-tool (func_import): Accept GPLed build tool modules when
100967         --lgpl is given.
100968         * modules/csharpcomp-script: New file.
100969         * modules/csharpcomp: Depend on it.
100970         * modules/javacomp-script: New file.
100971         * modules/javacomp: Depend on it.
100972         Suggested by Simon Josefsson.
100974 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
100976         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
100977         statement, to work around an HP-UX 10.20 compiler bug reported by
100978         Peter O'Gorman.
100980 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
100982         * modules/savedir (Depends-on): Add openat.
100984 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
100986         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
100987         (uintmax_t) [defined uintmax_t]: Do not declare.
100988         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
100989         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
100990         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
100991         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
100992         sake of portability to weird hosts that C allows (though we don't
100993         know of any practical examples).
100995         * lib/savedir.h (fdsavedir): New decl.
100996         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
100997         contains most of the former guts of savedir.
100998         (savedir): Use savedirstream.
100999         Include "openat.h".
101001 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
101003         * modules/obstack (Files): Add m4/ulonglong.m4.
101004         Problem reported by Davide Angelocola.
101006 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
101008         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
101009         coreutils no longer futzes with rounding modes.
101011 2005-11-14  Jim Meyering  <jim@meyering.net>
101013         * lib/mkstemp-safer.c: Include <config.h>, required for possible
101014         replacement of mkstemp.
101016 2005-11-10  Simon Josefsson  <jas@extundo.com>
101018         * lib/readline.c: Remove EOL.
101020 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
101022         * modules/gethrxtime (Depends-on): Add gettime.
101024 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
101026         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
101027         or gettimeofday; no longer needed.
101029 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
101031         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
101032         time business.
101033         (gethrxtime) [! (HAVE_NANOUPTIME
101034         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
101035         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
101036         our own approximation.
101038 2005-11-08  Eric Blake  <ebb9@byu.net>
101040         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
101042 2005-11-08  Eric Blake  <ebb9@byu.net>
101044         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
101046 2005-11-04  Bruno Haible  <bruno@clisp.org>
101048         * gnulib-tool: Implement --update mode.
101050 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
101052         Fix porting problem reported by Theodoros V. Kalamatianos.
101053         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
101054         Don't assume that futimes failing means we must fail.
101056 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
101058         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
101059         variables to suggest the intended function of the PATH_MAX check.
101061 2005-10-30  Kean Johnston  <jkj@sco.com>
101063         Trivial changes to support SCO systems.
101064         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
101065         as PATH_MAX.
101066         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
101067         where __ptr is null when no I/O is pending.
101069 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
101071         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
101072         leave errno alone.  Problem reported by Dmitry V. Levin.
101074 2005-10-28  Simon Josefsson  <jas@extundo.com>
101076         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
101077         Test more.
101079         * tests/test-gc-md2.c, tests/test-md2.c: New files.
101081         * modules/md2, modules/md2-tests: New files.
101083 2005-10-28  Simon Josefsson  <jas@extundo.com>
101085         * m4/inet_ntop.m4: More tests.
101087         * m4/gc-md2.m4, md2.m4: New file.
101089 2005-10-28  Simon Josefsson  <jas@extundo.com>
101091         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
101092         "restrict" keywords, as per POSIX.  Protect the function
101093         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
101094         Don't use K&R prototypes.  Check the sprintf return values.
101095         Re-define EAFNOSUPPORT if not present.  Indent.
101097         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
101098         suggested by Bruno Haible <bruno@clisp.org>.
101100         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
101102         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
101104         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
101105         libgcrypt).
101107         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
101109         * lib/md2.h, lib/md2.c: New files.
101111 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
101113         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
101114         errno alone.  Problem reported by Frederic Jolliton.
101116 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
101118         * modules/verify (License): Change from GPL to LGPL.  This is a
101119         tiny module and there are apparently near-equivalents that are
101120         under the BSD license.
101122 2005-10-24  Simon Josefsson  <jas@extundo.com>
101124         * modules/sha1: Relicense to LGPL.
101126 2005-10-24  Simon Josefsson  <jas@extundo.com>
101128         * lib/md4.h: Shrink buffer size, now that we changed the type.
101130 2005-10-23  Simon Josefsson  <jas@extundo.com>
101132         * gnulib-tool (func_import): Fix --tests-base.
101134 2005-10-22  Simon Josefsson  <jas@extundo.com>
101136         * modules/arcfour (Depends-on): Need stdint.
101138 2005-10-22  Simon Josefsson  <jas@extundo.com>
101140         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
101141         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
101143 2005-10-22  Simon Josefsson  <jas@extundo.com>
101145         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
101146         suggested by Bruno Haible <bruno@clisp.org>.
101148 2005-10-22  Simon Josefsson  <jas@extundo.com>
101150         * lib/crc.h: Include stddef.h, for size_t.
101152 2005-10-22  Simon Josefsson  <jas@extundo.com>
101154         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
101155         arcfour_context struct (simplify test vector testing in GNU
101156         Shishi).
101158 2005-10-21  Simon Josefsson  <jas@extundo.com>
101160         * modules/des, modules/des-tests: New files.
101162         * modules/gc-des, modules/gc-des-tests: New files.
101164         * tests/test-des.c, tests/test-gc-des.c: New file.
101166 2005-10-21  Simon Josefsson  <jas@extundo.com>
101168         * modules/arctwo, modules/arctwo-tests: New files.
101170         * tests/test-arctwo.c: New file.
101172         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
101174         * tests/test-gc-arctwo.c: New file.
101176 2005-10-21  Simon Josefsson  <jas@extundo.com>
101178         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
101179         Bruno Haible <bruno@clisp.org>.
101181         * m4/gc-des.m4: New file.
101183 2005-10-21  Simon Josefsson  <jas@extundo.com>
101185         * m4/arctwo.m4: New file.
101187         * m4/gc-arctwo.m4: New file.
101189 2005-10-21  Simon Josefsson  <jas@extundo.com>
101191         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
101192         block.
101194 2005-10-21  Simon Josefsson  <jas@extundo.com>
101196         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
101197         <bruno@clisp.org>.
101199         * lib/hmac-sha1.c (hmac_sha1): Likewise.
101201         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
101202         Bruno Haible <bruno@clisp.org>.
101204         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
101205         <bruno@clisp.org>.
101207 2005-10-21  Simon Josefsson  <jas@extundo.com>
101209         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
101211 2005-10-21  Simon Josefsson  <jas@extundo.com>
101213         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
101215 2005-10-21  Simon Josefsson  <jas@extundo.com>
101217         * lib/des.h, lib/des.c: New files.
101219         * lib/gc-gnulib.c: Support DES.c
101221 2005-10-21  Simon Josefsson  <jas@extundo.com>
101223         * lib/arctwo.h, lib/arctwo.c: New files.
101225         * lib/gc-gnulib.c: Support ARCTWO.
101227 2005-10-21  Simon Josefsson  <jas@extundo.com>
101229         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
101230         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
101232 2005-10-21  Simon Josefsson  <jas@extundo.com>
101234         * gnulib-tool (func_import, func_create_testdir): Define automake
101235         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
101236         Makefile.am snippet),
101237         suggested by Bruno Haible <bruno@clisp.org>.
101239         * modules/gc (Makefile.am): Use it.
101241 2005-10-21  Bruno Haible  <bruno@clisp.org>
101243         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
101244         patch.
101246 2005-10-19  Simon Josefsson  <jas@extundo.com>
101248         * tests/test-gc-rijndael.c: New file.
101250         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
101252 2005-10-19  Simon Josefsson  <jas@extundo.com>
101254         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
101255         interface too.
101257 2005-10-19  Simon Josefsson  <jas@extundo.com>
101259         * tests/test-gc-arcfour.c: New file.
101261         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
101263 2005-10-19  Simon Josefsson  <jas@extundo.com>
101265         * modules/gc-md4, modules/gc-md4-tests: New file.
101267         * tests/test-gc-md4.c: New file.
101269 2005-10-19  Simon Josefsson  <jas@extundo.com>
101271         * m4/gc-md4.m4: New file.
101273 2005-10-19  Simon Josefsson  <jas@extundo.com>
101275         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
101276         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
101277         <kasal@ucw.cz>.
101279 2005-10-19  Simon Josefsson  <jas@extundo.com>
101281         * m4/gc-arcfour.m4: New file.
101283         * m4/gc-rijndael.m4: New file.
101285 2005-10-19  Simon Josefsson  <jas@extundo.com>
101287         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
101289 2005-10-19  Simon Josefsson  <jas@extundo.com>
101291         * lib/gc-gnulib.c: Support ARCFOUR.
101293 2005-10-19  Simon Josefsson  <jas@extundo.com>
101295         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
101296         support.
101298         * lib/gc.h: Add ECB enum type.
101300         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
101302 2005-10-18  Simon Josefsson  <jas@extundo.com>
101304         * tests/test-md5.c: New file.
101306         * modules/md5-tests: New file.
101308 2005-10-18  Simon Josefsson  <jas@extundo.com>
101310         * tests/test-md4.c: New file.
101312         * modules/md4, modules/md4-tests: New files.
101314 2005-10-18  Simon Josefsson  <jas@extundo.com>
101316         * m4/md4.m4: New file.
101318 2005-10-18  Simon Josefsson  <jas@extundo.com>
101320         * lib/md4.h, lib/md4.c: New files, based on md5.?.
101322 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
101324         * gnulib-tool (func_create_testdir): Omit the second check whether
101325         BUILT_SOURCES in nonempty.
101327 2005-10-17  Simon Josefsson  <jas@extundo.com>
101329         * tests/test-rijndael.c: New file.
101331 2005-10-17  Simon Josefsson  <jas@extundo.com>
101333         * modules/sha1: Depend on stdint instead of md5.
101335         * modules/md5: Depend on stdint, remove uint32_t.
101337 2005-10-17  Simon Josefsson  <jas@extundo.com>
101339         * modules/gc-sha1-tests: New file.
101341         * tests/test-gc-sha1.c: New file.
101343 2005-10-17  Simon Josefsson  <jas@extundo.com>
101345         * m4/md5.m4: Remove call to uint32_t.m4.
101347 2005-10-17  Simon Josefsson  <jas@extundo.com>
101349         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
101351         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
101352         md5.h.
101354         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
101356         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
101358 2005-10-17  Simon Josefsson  <jas@extundo.com>
101360         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
101362 2005-10-17  Simon Josefsson  <jas@extundo.com>
101364         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
101366 2005-10-17  Simon Josefsson  <jas@extundo.com>
101368         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
101370         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
101372 2005-10-17  Bruno Haible  <bruno@clisp.org>
101374         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
101375         that it can also be used in a test.
101377 2005-10-16  Bruno Haible  <bruno@clisp.org>
101379         * gnulib-tool (func_emit_tests_Makefile_am): Also define
101380         TESTS_ENVIRONMENT, so that individual tests can augment it.
101382         * gnulib-tool (func_create_testdir): Use an intermediate target for
101383         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
101384         macros, like $(ALLOCA_H), which cannot be passed through the command
101385         line.
101387 2005-10-15  Simon Josefsson  <jas@extundo.com>
101389         * modules/rijndael-tests: New file.
101391         * modules/rijndael: New file.
101393 2005-10-15  Simon Josefsson  <jas@extundo.com>
101395         * m4/rijndael.m4: New file.
101397 2005-10-15  Simon Josefsson  <jas@extundo.com>
101399         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
101401         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
101403 2005-10-14  Simon Josefsson  <jas@extundo.com>
101405         * tests/test-arcfour.c: New file.
101407         * modules/arcfour, modules/arcfour-tests: New files.
101409 2005-10-14  Simon Josefsson  <jas@extundo.com>
101411         * m4/arcfour.m4: New file.
101413 2005-10-14  Simon Josefsson  <jas@extundo.com>
101415         * lib/arcfour.h, lib/arcfour.c: New files.
101417 2005-10-14  Roland McGrath  <roland@redhat.com>
101419         Import from libc.  [BZ #1331]
101420         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
101421         macro argument.
101422         Reported by Matej Vela <vela@debian.org>.
101424 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
101426         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
101427         include <wchar.h>; no longer needed.
101429 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
101431         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
101433 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
101434         and  Ulrich Drepper  <drepper@redhat.com>
101436         Import from libc.
101437         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
101438         instead of inline stream orientation test and two separate
101439         function calls.  Pay no attention to USE_IN_LIBIO.
101441 2005-10-13  Simon Josefsson  <jas@extundo.com>
101443         * modules/gc-hmac-md5-tests: New file.
101445         * tests/test-gc-hmac-sha1.c: New file.
101447         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
101449         * modules/gc-hmac-md5-tests: New file.
101451         * tests/test-gc-md5.c: New file.
101453         * modules/gc-md5-tests: New file.
101455 2005-10-13  Simon Josefsson  <jas@extundo.com>
101457         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
101458         Move memory allocation outside of loop.
101460 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
101462         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
101463         intermediate directory is in a read-only file system.  Problem
101464         reported by Eric Blake.
101466 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
101468         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
101470 2005-10-12  Simon Josefsson  <jas@extundo.com>
101472         * tests/test-hmac-sha1.c: New file.
101474         * modules/hmac-sha1-tests: New file.
101476         * modules/hmac-sha1: New file.
101478 2005-10-12  Simon Josefsson  <jas@extundo.com>
101480         * modules/gc-sha1: New file.
101482 2005-10-12  Simon Josefsson  <jas@extundo.com>
101484         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
101486         * tests/test-gc-pbkdf2-sha1.c: New file.
101488 2005-10-12  Simon Josefsson  <jas@extundo.com>
101490         * modules/gc-md5, modules/gc-hmac-md5: New files.
101492         * modules/gc (Files): Remove md5, memxor and hmac files.
101494 2005-10-12  Simon Josefsson  <jas@extundo.com>
101496         * m4/gc-pbkdf2-sha1.m4: New file.
101498         * m4/gc-hmac-sha1.m4: New file.
101500         * m4/gc-sha1: New file.
101502         * m4/hmac-sha1.m4: New file.
101504 2005-10-12  Simon Josefsson  <jas@extundo.com>
101506         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
101508         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
101510 2005-10-12  Simon Josefsson  <jas@extundo.com>
101512         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
101513         suggested by Bruno Haible <bruno@clisp.org>.
101515 2005-10-12  Simon Josefsson  <jas@extundo.com>
101517         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
101519 2005-10-12  Simon Josefsson  <jas@extundo.com>
101521         * lib/gc-pbkdf2-sha1.c: New file.
101523         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
101525 2005-10-12  Simon Josefsson  <jas@extundo.com>
101527         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
101529         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
101531 2005-10-12  Simon Josefsson  <jas@extundo.com>
101533         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
101534         GC_USE_HMAC_MD5, respectively.
101536         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
101537         (gc_md5): Fix typo.
101539         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
101541         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
101543         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
101545 2005-10-12  Bruno Haible  <bruno@clisp.org>
101547         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
101548         Reported by Stepan Kasal <kasal@ucw.cz>.
101550 2005-10-11  Simon Josefsson  <jas@extundo.com>
101552         * tests/test-crc.c: New file.
101554         * modules/crc, modules/crc-tests: New files.
101556 2005-10-11  Simon Josefsson  <jas@extundo.com>
101558         * m4/crc.m4: New file.
101560 2005-10-11  Simon Josefsson  <jas@extundo.com>
101562         * lib/gc.h: Add gc_hash and gc_hash_buffer.
101564         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
101566         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
101568 2005-10-11  Simon Josefsson  <jas@extundo.com>
101570         * lib/crc.h, lib/crc.c: New files.
101572         * lib/gc.h (gc_hash_buffer): Add doc.
101574 2005-10-11  Bruno Haible  <bruno@clisp.org>
101576         * modules/c-strcasestr: New file.
101577         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
101579 2005-10-11  Bruno Haible  <bruno@clisp.org>
101581         * modules/c-strcase: New file.
101582         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
101584 2005-10-11  Bruno Haible  <bruno@clisp.org>
101586         * lib/strcasecmp.c: Include limits.h.
101587         (strcasecmp): Avoid integer overflow on exotic platforms.
101588         * lib/strncasecmp.c: Include limits.h.
101589         (strncasecmp): Avoid integer overflow on exotic platforms.
101590         Reported by Paul Eggert.
101592 2005-10-11  Bruno Haible  <bruno@clisp.org>
101594         * lib/c-strcasestr.h: New file, from GNU gettext.
101595         * lib/c-strcasestr.c: New file, from GNU gettext.
101597 2005-10-11  Bruno Haible  <bruno@clisp.org>
101599         * lib/c-strcase.h: New file, from GNU gettext.
101600         * lib/c-strcasecmp.c: New file, from GNU gettext.
101601         * lib/c-strncasecmp.c: New file, from GNU gettext.
101603 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
101605         * modules/mempcpy (License): GPL -> LGPL.
101606         * modules/strchrnul (License): Likewise.
101607         * modules/sysexits (License): Likewise.
101609 2005-10-08  Simon Josefsson  <jas@extundo.com>
101611         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
101613 2005-10-07  Simon Josefsson  <jas@extundo.com>
101615         * m4/memxor.m4: Remove gl_C_RESTRICT call.
101617 2005-10-06  Simon Josefsson  <jas@extundo.com>
101619         * tests/test-hmac-md5.c: New file.
101621         * modules/hmac-md5-tests: New file.
101623         * modules/hmac-md5: New file.
101625 2005-10-06  Simon Josefsson  <jas@extundo.com>
101627         * m4/hmac-md5.m4: New file.
101629         * m4/memxor.m4: Require gl_C_RESTRICT.
101631 2005-10-06  Simon Josefsson  <jas@extundo.com>
101633         * lib/memxor.c (memxor): Avoid casts and warnings.
101635 2005-10-06  Simon Josefsson  <jas@extundo.com>
101637         * lib/hmac-md5.c: New file.
101639         * lib/hmac.h: New file.
101641 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
101643         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
101644         promotes to int, not unsigned int, to catch the AIX 5.3
101645         compiler bug.
101647 2005-10-05  Simon Josefsson  <jas@extundo.com>
101649         * modules/memxor: New file.
101651         * modules/iconv (Files): Move config.rpath to havelib, it is used
101652         there.
101654         * modules/havelib (Files): Add config.rpath.
101656 2005-10-05  Simon Josefsson  <jas@extundo.com>
101658         * m4/memxor.m4: New file.
101660 2005-10-05  Simon Josefsson  <jas@extundo.com>
101662         * lib/memxor.c (memxor): Fix compiler error.
101664         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
101665         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
101667         * lib/memxor.h, lib/memxor.c: New files.
101669         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
101670         we assume all systems have it, suggested by Jim Meyering
101671         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
101672         any systems lack sys/socket.h; mingw32 is known to lack it, but we
101673         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
101674         same reasons.
101676 2005-10-05  Simon Josefsson  <jas@extundo.com>
101678         * config/srclist.txt: Add glibc bug 1423 for md5.h.
101680 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
101682         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
101683         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
101684         needed, since the source code now assumes these .h files.
101686 2005-10-05  Derek Price  <derek@ximbiot.com>
101688         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
101690 2005-10-05  Bruno Haible  <bruno@clisp.org>
101692         * modules/stdint (License): Change to LGPL.
101694 2005-10-04  Simon Josefsson  <jas@extundo.com>
101696         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
101697         D. Baushke" <mdb@gnu.org>.
101699 2005-10-04  Bruno Haible  <bruno@clisp.org>
101701         * lib/verify.h (verify_true): Provide alternative definition for C++.
101703 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
101705         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
101706         (SSIZE_MAX): New macro, if not already defined.
101707         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
101708         than 2 GiB.
101710 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
101712         Sync from coreutils.
101713         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
101714         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
101715         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
101716         ULLONG_MAX doesn't work with 2.7.2.1.
101718 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
101720         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
101721         From Ben Pfaff.
101723         * modules/exclude (Depends-on): Depend on verify.
101724         * modules/strtoimax (Depends-on): Likewise.
101725         * modules/utimecmp (Depends-on): Likewise.
101727 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
101729         * lib/exclude.c: Include verify.h.
101730         (verify): Remove.  All callers changed to use verify.h's version.
101731         * lib/strtoimax.c: Likewise.
101732         * lib/utimecmp.c: Likewis.e
101734         Sync from coreutils.
101735         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
101736         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
101737         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
101738         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
101739         bother returning ENOSYS if settimeofday or stime fails; just let
101740         them return whatever errno they want to return.
101741         * lib/utimens.c: Include unistd.h, for dup2.
101742         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
101743         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
101745 2005-10-02  Jim Meyering  <jim@meyering.net>
101747         Sync from coreutils.
101748         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
101749         from glibc-2.2.5 that fails for read-only files.
101751 2005-10-02  Jim Meyering  <jim@meyering.net>
101753         Sync from coreutils.
101754         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
101755         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
101756         `#if HAVE_CONFIG_H'.
101757         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
101758         Remove AT_FDCWD test.
101759         Do not consume the fd unless successful.
101760         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
101761         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
101762         block, so that we don't even try to compile it if settimeofday is
101763         available.  This works around a compilation failure on OSF1 V5.1,
101764         due to stime requiring a `long int*' while tv_sec is `int'.
101766 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
101768         Sync from coreutils.
101769         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
101770         against `yes', rather than just testing for nonempty.
101772 2005-10-01  Simon Josefsson  <jas@extundo.com>
101774         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
101775         and Darwin.
101777         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
101778         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
101779         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
101780         freeaddrinfo and gai_strerror are declared by the POSIX headers.
101781         Check if struct addrinfo is declared.
101783 2005-10-01  Simon Josefsson  <jas@extundo.com>
101785         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
101786         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
101787         AI_* and EAI_* definitions.  Protect function declarations.
101789 2005-10-01  Jim Meyering  <jim@meyering.net>
101791         Sync from coreutils.
101793         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
101794         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
101795         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
101796         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
101797         in the inet and nsl libraries.  Required on Solaris 5.7.
101799 2005-10-01  Jim Meyering  <jim@meyering.net>
101801         Sync from coreutils.
101802         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
101803         in the inet and nsl libraries.  Required on Solaris 5.7.
101805 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
101807         * lib/getdelim.c (getdelim): Remove unused variables.
101809 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
101811         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
101812         so that the code works even with ancient cpp.  Portability problem
101813         with GCC 2.7.2.1 reported by Thomas M.Ott.
101815 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
101817         * modules/regex (Depends-on): Add strcase.
101819         * modules/gethostname (Licence): Change from GPL to LGPL, since
101820         gethostname.c is a trivial implementation of a standard library
101821         function.
101822         * modules/poll (License): Change from GPL to LGPL, since it's
101823         derived from LGPL code.
101825 2005-09-27  Jim Meyering  <jim@meyering.net>
101827         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
101828         HAVE_CONFIG_H.
101830         * lib/intprops.h (signed_type_or_expr__): Define.
101831         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
101832         for unsigned types.
101834 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
101836         * lib/verify.h (verify_expr): Remove, replacing with:
101837         (verify_true): New macro that returns true instead of void.
101838         (verify_type__): Remove.
101839         (verify): Use verify_true rather than verify_type__.
101841 2005-09-26  Bruno Haible  <bruno@clisp.org>
101843         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
101844         is necessary.
101845         (lib_SOURCES): Remove mbchar.c.
101846         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
101847         (Files): Add m4/mbrtowc.m4.
101848         * modules/mbiter: Likewise.
101849         * modules/mbuiter: Likewise.
101851 2005-09-26  Bruno Haible  <bruno@clisp.org>
101853         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
101854         compile mbchar.c if they are not both present.
101855         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
101856         * m4/mbiter.m4 (gl_MBITER): Likewise.
101857         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
101858         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
101859         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
101861 2005-09-25  Jim Meyering  <jim@meyering.net>
101863         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
101864         also uses socklen_t.
101866 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
101868         * lib/utimens.c (ENOSYS): Define if not already defined.
101869         (futimens): Support having a null PATH if the file descriptor
101870         is nonnegative.
101872         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
101873         Remove.
101874         (__attribute): Define to empty unless GCC 3.1 or later.
101875         This works around a core dump on OpenBSD 3.4, which has GCC
101876         2.95.3, which dumps core when given __attribute__(()).  It also
101877         simplifies other tests, since we really don't want to bother with
101878         worrying about which ancient version of GCC supported what.
101879         Original problem reported by Yoann Vandoorselaere, with part of
101880         the fix suggested by Derek Price.
101882 2005-09-24  Jim Meyering  <jim@meyering.net>
101884         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
101885         so we can once again use a positive bitfield width of 1 -- now we
101886         don't have to explain why we were using a bitfield width of 2.
101888 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
101890         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
101891         and similarly for the other external symbols.  Problem reported
101892         by James Gallager.
101894         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
101895         bug reported by Jim Meyering.
101897         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
101898         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
101899         not needed, since socklen is a prerequisite module.
101901 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
101903         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
101904         Problem reported by Eric Blake.
101905         (getaddrinfo): Initialize se so that it's not garbage.
101906         Redo internal storage allocation so that it doesn't make unportable
101907         assumptions about alignment.
101908         Fix a memory leak.
101910         * lib/utimens.c (futimens): Use futimesat if available.
101911         Prefer it to futimes since it doesn't have the futimes bug.
101913         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
101914         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
101915         Instead, declare a function that returns a pointer to an array,
101916         and use verify_type__ to declare the size of the array.
101917         Problem and germ of a solution reported by Bruno Haible.
101918         (verify_type__): Use 2, not 1, for bitfield size, to avoid
101919         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
101921 2005-09-23  Jim Meyering  <jim@meyering.net>
101923         Sync from coreutils.
101924         Correct build failure (socklen_t not defined) on at least
101925         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
101926         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
101928 2005-09-23  Jim Meyering  <jim@meyering.net>
101930         * modules/getaddrinfo (Depends-on): Add socklen.
101932 2005-09-23  Bruno Haible  <bruno@clisp.org>
101934         * tests/test-verify.c: New file.
101936 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
101938         Sync from coreutils.
101940         * modules/argmatch (Depends-on): Add verify.
101941         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
101942         unistd-safer.
101943         * modules/save-cwd (Depends-on): Likewise.
101945         * modules/openat (Files): Add lib/openat-die.c.
101946         (Depends-on): Remove error, exitfail.
101947         Add dirname.
101949         * modules/verify: New file.
101950         * MODULES.html.sh (Diagnostics <assert.h>): New section,
101951         with "verify" module.
101953 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
101955         Sync from coreutils.
101957         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
101958         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
101959         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
101960         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
101961         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
101962         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
101963         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
101964         Don't bother checking for string.h, stdlib.h, unistd.h.
101965         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
101966         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
101967         module's job.
101968         * m4/jm-macros.m4 (gl_MACROS): Likewise.
101969         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
101971         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
101972         (gl_GETDATE): Use it.
101974         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
101976 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
101978         Sync from coreutils.
101980         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
101981         stat-time.h.
101982         * lib/argmatch.h: Include verify.h
101983         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
101984         (ARGMATCH_ASSERT): Remove; unused.
101985         * lib/canonicalize.c: Assume STDC_HEADERS.
101986         * lib/exclude.c: Include "strcase.h".
101987         * lib/regex_internal.h [!defined _LIBC]: Likewise.
101988         * lib/getusershell.c: Include stdio--.h rather than stdio.h
101989         and stdio-safer.h.
101990         (getusershell): Call fopen, not fopen_safer.
101991         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
101992         Do not include unistd-safer.h.
101993         (save_cwd): Don't call fd_safer; no longer needed
101994         now that we include fcntl--.h.
101996         * lib/getdate.y (relative_time): New type.
101997         (RELATIVE_TIME_0): New constant.
101998         (parser_control): Use relative_time instead of doing it ourselves.
101999         (%union): Add new relative_time rel member.
102000         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
102001         Now typeless.
102002         (relunit, relunit_snumber): Now of type rel.
102003         (zone, rel, relunit, get_date): Adjust to above changes.
102005         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
102006         Do not include unistd-safer.h.
102007         (getloadavg): Don't call fd_safer; no longer needed
102008         now that we include fcntl--.h.
102010         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
102011         (make_dir_parents): Treat ENOSYS like EEXIST.
102013         Improve quality of diagnostics on restore_cwd failure.
102014         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
102015         (make_dir_parents): Last arg is now int * (for errno), not bool *.
102016         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
102017         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
102018         each time through the loop.  Do not diagnose restore_cwd failure;
102019         that is the caller's job (and perhaps the caller does not care).
102021         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
102022         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
102023         If the file already exists but is not a directory, don't bother
102024         to try to make its parents.
102025         Close potential file descriptor leak if we can't chdir("/") (!).
102026         Don't always return true if chdir($PWD) fails; return true only
102027         if the requested action was done successfully (except for the
102028         chdir($PWD)).
102029         Don't log final directory unless we actually made it.
102030         Refactor to avoid duplicate code to fix up permissions.
102031         Don't attempt to fix up parent permissions if chdir($PWD) fails.
102033         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
102034         to make it a bit faster and (I hope) clearer.
102035         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
102036         Fix bug in formats like %2N.
102038         * lib/verify.h: New file.
102040 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
102042         Sync from coreutils.
102043         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
102045 2005-09-22  Jim Meyering  <jim@meyering.net>
102047         Sync from coreutils.
102049         * m4/lstat.m4 (gl_FUNC_LSTAT):
102050         Use AC_LIBSOURCES to require lstat.c and lstat.h.
102051         Remove obsolete comment.
102052         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
102053         * m4/xstrtod.m4: Likewise.
102055         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
102057 2005-09-22  Jim Meyering  <jim@meyering.net>
102059         Sync from coreutils.
102061         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
102063         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
102064         the .tm_year member, since otherwise gcc-4.0 would now warn about
102065         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
102067         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
102068         order to avoid an unsuppressible warning from gcc on 64-bit systems.
102070         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
102071         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
102072         when run in a time zone for which daylight savings time is in effect
102073         for the starting date.
102075         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
102076         stop us from restricting permissions of just-created absolute-named
102077         directories.
102078         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
102079         to restore initial working directory.
102080         * lib/mkdir-p.c (make_dir_parents): New parameter:
102081         different_working_dir, to tell caller if/when we change the working
102082         directory and are unable to return to the initial one.
102083         * lib/mkdir-p.h (make_dir_parents): Update prototype.
102084         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
102085         `return false'.  This fixes a bug introduced on 2004-07-30.
102087         * lib/openat.c (fdopendir): Be sure to close the supplied
102088         file descriptor before returning.  This makes our replacement
102089         implementation a little closer to Solaris's, where fdopendir
102090         ties the file descriptor to the returned DIR* pointer.
102091         * lib/openat.c (unlinkat): New function.
102092         * lib/openat.h (unlinkat): Add prototype.
102093         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
102094         (openat_restore_fail): Rename from openat_restore_die.
102095         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
102097         Provide an alternative to exiting immediately upon save_cwd or
102098         restore_cwd failure.  Now, an application can arrange e.g.,
102099         to perform a longjump in that case.
102100         * lib/openat.c: Include dirname.h.
102101         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
102102         (rpl_openat, fdopendir, fstatat): Call openat_save_die
102103         and openat_restore_die rather than calling error directly.
102104         Don't include "error.h" or "exitfail.h"; they're no longer needed.
102106         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
102107         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
102108         define.
102110         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
102111         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
102112                             int utc, int nanoseconds);
102113         Background:
102114         date should not have to allocate a megabyte of virtual memory to
102115         handle a format argument like +%1048575T.  When implemented with
102116         strftime, it must allocate such a buffer, use strftime to fill it
102117         in, print it, then free it.
102118         With fprintftime, it simply prints everything and exits.
102119         With no need for memory allocation, that's one fewer way to fail.
102120         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
102121         optional field width, not before, so we accept %9:z, not %:9z.
102122         (my_strftime): Be sure to use L_('x') for literals.
102124         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
102125         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
102126         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
102127         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
102128         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
102129         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
102130         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
102131         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
102132         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
102133         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
102134         * lib/xgethostname.c, lib/xreadlink.c:
102135         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
102137         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
102138         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
102139         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
102140         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
102141         and don't include <sys/file.h>).
102143 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
102145         Sync from coreutils.
102147         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
102148         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
102149         [!LDAV_DONE]: Avoid unused variable warning.
102151 2005-09-21  Bruno Haible  <bruno@clisp.org>
102153         * lib/unicodeio.h (unicode_to_mb): New declaration.
102155 2005-09-20  Derek Price  <derek@ximbiot.com>
102157         * lib/getaddrinfo.c: Don't include <netdb.h> included from
102158         getaddrinfo.h.
102160 2005-09-20  Bruno Haible  <bruno@clisp.org>
102162         * gnulib-tool: Remove trailing slashes from the values specified for
102163         --source-base, --m4-base, --tests-base, --aux-dir.
102164         Suggested by Simon Josefsson <jas@extundo.com>.
102166 2005-09-20  Bruno Haible  <bruno@clisp.org>
102168         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
102169         func_modules_to_filelist, func_import, func_create_testdir): Make all
102170         sorting results locale-independent, so that gnulib-cache.m4 doesn't
102171         change when gnulib-tool is invoked in a different locale.
102173 2005-09-19  Simon Josefsson  <jas@extundo.com>
102175         * m4/socklen.m4: Fix typo.
102177 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
102179         Use a consistent style for including <config.h>.
102180         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
102181         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
102182         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
102183         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
102184         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
102185         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
102186         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
102187         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
102188         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
102189         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
102190         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
102191         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
102192         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
102193         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
102194         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
102195         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
102196         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
102197         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
102198         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
102199         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
102200         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
102201         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
102202         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
102203         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
102204         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
102205         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
102206         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
102207         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
102208         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
102209         lib/xstrtoumax.c, lib/yesno.c:
102210         Standardize inclusion of config.h.
102211         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
102212         lib/inttostr.h:  Removed inclusion of config.h from header files.
102213         * lib/inttostr.c:  Adjusted in-tree users.
102214         * lib/timespec.h: Remove superfluous warning to include config.h.
102215         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
102216         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
102217         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
102218         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
102219         config.h with HAVE_CONFIG_H.
102221 2005-09-19  Jim Meyering  <jim@meyering.net>
102223         * modules/pathmax (License): Change to LGPL.
102225 2005-09-19  Derek Price  <derek@ximbiot.com>
102227         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
102229 2005-09-19  Bruno Haible  <bruno@clisp.org>
102231         * gnulib-tool (import): Provide default for --tests-base.
102233 2005-09-19  Bruno Haible  <bruno@clisp.org>
102235         * doc/quote.texi: New file, extracted from gnulib.texi.
102236         * doc/ctime.texi: New file, extracted from gnulib.texi.
102237         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
102238         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
102239         * doc/gnulib.texi: Include them.
102241 2005-09-18  Bruno Haible  <bruno@clisp.org>
102243         Portability fix.
102244         * gnulib-tool (func_readlink): New function.
102245         (func_ln_if_changed): Use it.
102247 2005-09-18  Bruno Haible  <bruno@clisp.org>
102249         * gnulib-tool: Support --with-tests also with --import.
102250         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
102251         (func_import): Use variables $testsbase and $inctests. Emit a
102252         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
102253         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
102254         SUBDIRS += $testsdir.
102255         (func_create_testdir): Update.
102257 2005-09-18  Bruno Haible  <bruno@clisp.org>
102259         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
102260         instead of $dry_run.
102261         (func_cp_if_changed, func_mv_if_changed): Remove functions.
102262         (func_ln_if_changed): Don't handle dry-run here.
102263         (func_import): In dry-run mode, detect more precisely which actions
102264         would be performed, and don't use "...ing" verbs.
102266 2005-09-18  Bruno Haible  <bruno@clisp.org>
102268         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
102269         (func_import): Use join on two temporary files instead of three nested
102270         loops, in order to determine which files are new or old.
102272 2005-09-18  Bruno Haible  <bruno@clisp.org>
102274         * gnulib-tool (func_import): Comment out code that spits out the
102275         new files with --dry-run.
102277 2005-09-18  Bruno Haible  <bruno@clisp.org>
102279         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
102281 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
102283         * lib/stat-time.h: New file.
102284         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
102285         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
102286         in a different way.
102287         (timespec_cmp): New function.
102288         * lib/utimecmp.c: Include stat-time.h.
102289         (SYSCALL_RESOLUTION): Depend on whether various struct stat
102290         members exist, not on the obsolescent ST_MTIM_NSEC.
102291         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
102293 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
102295         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
102297 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
102299         * MODULES.html.sh (File system functions): Add stat-time.
102300         * modules/stat-time: New file.
102301         * modules/timespec (Files): Remove m4/st_mtim.m4; this
102302         is now done in a different way, by the stat-time module.
102303         * modules/utimecmp (Depends-on): Add stat-time.
102305 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
102307         * m4/st_mtim.m4: Remove.  Superseded by...
102308         * m4/stat-time.m4: New file.
102309         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
102310         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
102312 2005-09-15  Derek Price  <derek@ximbiot.com>
102314         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
102316 2005-09-15  Derek Price  <derek@ximbiot.com>
102318         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
102319         * lib/regex_internal.c: Ditto, using this...
102320         (__GNUC_PREREQ): ...new macro.
102321         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
102322         using...
102323         (__GNUC_PREREQ): ...this new macro.
102325         * lib/strstr.h: Include string.h. Define strstr as a macro here.
102327 2005-09-15  Derek Price  <derek@ximbiot.com>
102328             Paul Eggert  <eggert@cs.ucla.edu>
102330         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
102331         changes, consolidating in...
102332         * lib/regex_internal.h: ...this file.
102334 2005-09-13  Jim Meyering  <jim@meyering.net>
102336         * lib/canon-host.c: Filter through gnu indent and reword comments
102337         slightly.
102338         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
102340 2005-09-13  Derek Price  <derek@ximbiot.com>
102342         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
102343         failure.
102344         Reported by Jim Meyering  <jim@meyering.net>.
102346 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
102348         * lib/base64.c: Typo.
102349         (base64_encode): Put b64str in initialized data section.
102351 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
102353         Merge glibc and coreutils changes into gnulib, plus a few
102354         extra fixes.
102355         * lib/md5.c: Use #error rather than a string.
102356         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
102357         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
102358         (__attribute__): Define to empty for non recent-GCC.
102359         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
102360         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
102361         Renamed from their non-__ counterparts, with new macros replacing
102362         them if not _LIBC.  Add __THROW attribute.
102363         (rol): Remove.
102364         (struct md5_ctx): Align buffer if using GCC.
102365         * lib/sha1.h (struct sha1_ctx): Likewise.
102366         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
102367         The old name was backwards.
102368         (NOTSWAP): Remove; not used.
102369         (rol): New macro, moved here from md5.h.
102370         (sha1_process_block): Remove a FIXME that doesn't make sense.
102372 2005-09-12  Derek Price  <derek@ximbiot.com>
102374         Return usable errors from canon-host.
102375         * lib/canon-host.h: New file.
102376         * lib/canon-host.c (canon_host): Wrap...
102377         (canon_host_r): ...this new function, which now relies exclusively on
102378         getaddrinfo.
102379         (ch_strerror): New function.
102380         (last_cherror): New global.
102381         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
102382         interface.
102383         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
102384         void *.
102385         (freeaddrinfo): Free ai->ai_canonname when set.
102387 2005-09-12  Derek Price  <derek@ximbiot.com>
102389         Make canon-host require getaddrinfo.
102390         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
102391         AC_LIBSOURCE canon-host.h.  Call...
102392         (gl_PREREQ_CANON_HOST): ...this new function, which requires
102393         gl_GETADDRINFO.
102394         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
102396 2005-09-12  Derek Price  <derek@ximbiot.com>
102398         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
102399         LGPL.
102400         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
102402 2005-09-12  Derek Price  <derek@ximbiot.com>
102404         * lib/gai_strerror.c: Include config.h when available.  Include
102405         getaddrinfo.h before other headers to test interface.
102406         Reported by Larry Jones <lawrence.jones@ugs.com>.
102408 2005-09-12  Derek Price  <derek@ximbiot.com>
102409             Paul Eggert  <eggert@cs.ucla.edu>
102411         * modules/glob (Files): Add glob-libc.h.
102413 2005-09-12  Derek Price  <derek@ximbiot.com>
102414             Paul Eggert  <eggert@cs.ucla.edu>
102416         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
102417         glob_.h, glob-libc.h.
102418         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
102420 2005-09-12  Derek Price  <derek@ximbiot.com>
102421             Paul Eggert  <eggert@cs.ucla.edu>
102423         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
102424         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
102425         protecting things that should be done only in gnulib contexts.
102426         * lib/glob_.h: New file, containing only the glob things needed for
102427         gnulib.
102428         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
102429         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
102430         (glob, globfree, glob_pattern_p): Now defined simply in terms of
102431         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
102432         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
102433         and to respect the namespace rules better.
102435 2005-09-08  Simon Josefsson  <jas@extundo.com>
102437         * modules/socklen: New file.
102439 2005-09-08  Simon Josefsson  <jas@extundo.com>
102441         * m4/socklen.m4: New file.
102443 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
102445         * modules/utimens (Files): Add m4/utimbuf.m4, since
102446         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
102447         Reported by Sergey Poznyakoff.
102449 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
102451         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
102452         definitions, since that's the preferred style in glibc.
102453         Fix a minor spacing issue, and update copyright notice to match
102454         glibc's.
102456 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
102458         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
102460 2005-09-06  Simon Josefsson  <jas@extundo.com>
102462         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
102463         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
102465 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
102467         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
102468         warning.
102470 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
102472         * config/srclist.txt: Add glibc bug 1302.
102474 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
102476         Change bitset word type from unsigned int to unsigned long int,
102477         as this has better performance on typical 64-bit hosts.
102478         Port bitset code to hosts with unusual word sizes.
102479         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
102480         (build_collating_symbol):
102481         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
102482         argument is a bitset.  This is merely a style issue, but it makes
102483         it clearer that an entire array is expected.
102484         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
102485         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
102486         Port to the case where bitset_word is not the same as unsigned int.
102487         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
102488         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
102489         Likewise.
102490         * lib/regexec.c (check_dst_limits_calc_pos_1,
102491         check_subexp_matching_top):
102492         (build_trtable, group_nodes_into_DFAstates):
102493         Likewise.
102494         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
102495         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
102496         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
102497         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
102498         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
102499         * lib/regcomp.c (optimize_subexps, lower_subexp):
102500         Work even if bitset_word has holes in its bitwise representation.
102501         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
102502         * lib/regexec.c (check_dst_limits_calc_pos_1,
102503         check_subexp_matching_top):
102504         Likewise.
102505         * lib/regex_internal.c (re_string_reconstruct):
102506         Don't assume UCHAR_MAX == 255.
102507         * lib/regex_internal.h (bitset_set_all): Likewise.
102508         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
102509         All uses changed.
102510         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
102511         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
102512         All uses changed.
102513         (BITSET_WORD_MAX): New macro.
102514         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
102515         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
102516         (bitset_empty, bitset_copy):
102517         Prefer sizeof (bitset) to multiplying it out ourselves.
102518         (bitset_not_merge): Remove; unused.
102519         (bitset_contain): Return bool, not unsigned int with one bit on.
102520         All callers changed.
102521         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
102522         alignment than re_node_set; do this by defining a new internal
102523         type struct dests_alloc and using it to allocate memory.
102525 2005-09-05  Bruno Haible  <bruno@clisp.org>
102527         * gnulib-tool (func_import): Fix comparison in handling of symbolic
102528         links.
102530 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
102532         * modules/size_max (Makefile.am): Add size_max.h
102534 2005-09-04  Derek Price  <derek@ximbiot.com>
102536         * gnulib-tool (func_import): Fix reversed $symbolic logic.
102538 2005-09-03  Simon Josefsson  <jas@extundo.com>
102540         * gnulib-tool: Fix typo.
102542 2005-09-03  Simon Josefsson  <jas@extundo.com>
102544         * config/srclist.txt: Add glibc bug 1293.
102546 2005-09-03  Derek Price  <derek@ximbiot.com>
102548         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
102549         From Larry Jones <lawrence.jones@ugs.com>.
102551 2005-09-02  Simon Josefsson  <jas@extundo.com>
102553         * modules/socklen: New file.
102555 2005-09-02  Simon Josefsson  <jas@extundo.com>
102557         * modules/havelib: New module.
102559         * modules/gettext, modules/iconv, modules/lock, modules/readline:
102560         Use havelib.
102562 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
102564         Check for arithmetic overflow when calculating sizes, to prevent
102565         some buffer-overflow issues.  These patches are conservative, in the
102566         sense that when I couldn't determine whether an overflow was possible,
102567         I inserted a run-time check.
102568         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
102569         macros.
102570         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
102571         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
102572         (re_xnrealloc, re_x2nrealloc): New inline functions.
102573         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
102574         parse_bracket_exp):
102575         (build_equiv_class, build_charclass): Check for arithmetic overflow
102576         in size expression calculations.
102577         * lib/regex_internal.c (re_string_realloc_buffers):
102578         (build_wcs_upper_buffer, re_node_set_add_intersect):
102579         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
102580         (re_dfa_add_node, register_state): Likewise.
102581         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
102582         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
102583         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
102584         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
102586 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
102588         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
102589         m4/ulonglong.m4.  Problem reported by Martin Lambers.
102591 2005-09-02  Bruno Haible  <bruno@clisp.org>
102593         Support for lib vs. lib64 distinction on biarch platforms.
102594         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
102595         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
102596         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
102598 2005-09-02  Bruno Haible  <bruno@clisp.org>
102600         * gnulib-tool (import): In the other first-use case, provide defaults
102601         as well.
102603 2005-09-02  Bruno Haible  <bruno@clisp.org>
102605         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
102606         patches not yet found in the latest gettext release.
102608 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
102610         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
102611         to avoid a collision with bits/local_lim.h in glibc.
102612         All uses changed.  Problem reported by Dmitry V. Levin in
102613         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
102615         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
102616         bugs in int versus size_t comparisons.
102617         (re_string_context_at): Fix bug where the code assumed that
102618         Idx is signed.
102620         Use bool where appropriate.
102621         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
102622         All callers changed.
102623         (calc_eclosure_iter): Likewise, for ROOT arg.
102624         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
102625         (build_charclass_op): Likewise, for NON_MATCH arg.
102626         * lib/regex_internal.c (re_string_allocate, re_string_construct):
102627         (re_string_construct_common): Likewise, for ICASE arg.
102628         * lib/regexec.c (re_search_2_stub, re_search_stub):
102629         Likewise, for RET_LEN arg.
102630         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
102631         (set_regs): Likewise, for FL_BACKTRACK arg.
102632         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
102633         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
102634         (calc_eclosure_iter, parse_bracket_exp):
102635         Use bool for internal variables that are booleans.
102636         * lib/regexec.c (re_search_internal, check_matching,
102637         proceed_next_node):
102638         (set_regs, build_sifted_states, sift_states_bkref):
102639         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
102640         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
102641         (find_collation_sequence_value):
102642         Likewise.
102643         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
102644         (re_node_set_compare):
102645         Return bool, not int. All callers changed.
102646         * lib/regexec.c (check_halt_node_context, check_dst_limits):
102647         (build_trtable, check_node_accept): Likewise.
102648         * lib/regex_internal.h: Include stdbool.h.
102650         Fix bugs uncovered when converting to bool.
102651         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
102652         failure instead of charging ahead blindly.
102653         * lib/regex_internal.c (register_state): Likewise.
102654         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
102655         for freeing internal storage.
102656         (group_nodes_into_DFA_states): Use unsigned int, not int, for
102657         bitset pieces used as boolean, to avoid undefined behavior
102658         on hosts that do int overflow checking.
102660 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
102662         * config/srclist.txt: Add glibc bugs 1285-1287.
102664 2005-09-01  Jim Meyering  <jim@meyering.net>
102666         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
102667         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
102668         Require gl_STAT_MACROS, too.
102670 2005-09-01  Bruno Haible  <bruno@clisp.org>
102672         * gnulib-tool (import): In the first-use case, provide defaults.
102674 2005-09-01  Bruno Haible  <bruno@clisp.org>
102676         * gnulib-tool (func_import): Remove the .tmp files.
102678 2005-09-01  Bruno Haible  <bruno@clisp.org>
102680         * gnulib-tool (func_import): Fix handling of symbolic links.
102682 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
102684         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
102685         old glibc regex code mishandles strings longer than 2**31 bytes.
102686         This patch fixes this when the regex code is used in gnulib
102687         (i.e., outside glibc).
102689         This patch should not affect the use of the regex code inside
102690         glibc.  No doubt this problem also needs to be handled for glibc
102691         as well, but the result will be an incompatible change to the
102692         glibc ABI, and the old ABI will have to be supported too.  That
102693         can be the subject for another patch.
102695         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
102696         governing whether the rest of this patch is active.  By default,
102697         the macro is disabled and the patch has no effect.
102698         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
102699         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
102700         (struct re_pattern_buffer, re_search, re_search_2, re_match):
102701         (re_match_2, re_set_registers): Use the new types.
102702         * lib/regex_internal.h (Idx, re_hashval_t): New types.
102703         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
102704         New macros.
102705         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
102706         (re_string_context_at, bin_tree_t, re_dfastate_t):
102707         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
102708         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
102709         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
102710         (re_string_char_size_at, re_string_wchar_at):
102711         (re_string_elem_size_at):
102712         Use the new types and macros to port to 64-bit hosts.
102713         Use unsigned types for internal values, so that the code
102714         mostly works even for arrays larger than SSIZE_MAX.
102715         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
102716         (search_duplicated_node, calc_eclosure_iter, fetch_number):
102717         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
102718         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
102719         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
102720         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
102721         (calc_inveclosure, parse_dup_op, build_range_exp):
102722         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
102723         (fetch_number, create_token_tree, mark_opt_subexp):
102724         Likewise.
102725         * lib/regex_internal.c (re_string_construct_common,
102726         create_ci_newstate):
102727         (create_cd_newstate, re_string_allocate, re_string_construct):
102728         (re_string_realloc_buffers, build_wcs_upper_buffer):
102729         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
102730         (re_string_reconstruct, re_string_peek_byte_case):
102731         (re_string_fetch_byte_case, re_string_context_at):
102732         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
102733         (re_node_set_init_copy, re_node_set_add_intersect):
102734         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
102735         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
102736         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
102737         (re_acquire_state, re_acquire_state_context, register_state):
102738         Likewise.
102739         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
102740         search_cur_bkref_entry):
102741         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
102742         (re_search_internal, re_search_2_stub, re_search_stub)
102743         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
102744         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
102745         (update_cur_sifted_state, check_dst_limits):
102746         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
102747         (check_subexp_limits, sift_states_bkref, merge_state_array):
102748         (check_subexp_matching_top, get_subexp, get_subexp_sub):
102749         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
102750         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
102751         (expand_bkref_cache, check_node_accept_bytes):
102752         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
102753         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
102754         (acquire_init_state_context, check_halt_node_context):
102755         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
102756         (sift_states_backward, clean_state_log_if_needed):
102757         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
102758         (find_recover_state, transit_state_sb, transit_state_mb):
102759         (transit_state_bkref, build_trtable, match_ctx_clean):
102760         Likewise.
102761         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
102762         to work around an assumption that REG_MISSING is negative.
102764         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
102765         (seek_collating_symbol_entry) [defined _LIBC]:
102766         (lookup_collation_sequence_value) [defined _LIBC]:
102767         (build_range_exp, build_collating_symbol) [defined _LIBC]:
102768         Use prototypes rather than old-style function definitions.
102769         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
102770         (transit_state_sb) [0]:
102771         (find_collation_sequence_value) [defined _LIBC]: Likewise.
102773         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
102774         rm_eo.
102776         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
102777         (optimize_subexps, lower_subexp):
102778         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
102779         since the signed shift might overflow.  Use 1u<<31 instead.
102780         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
102781         Likewise.
102782         * lib/regexec.c (check_dst_limits_calc_pos_1,
102783         check_subexp_matching_top): Likewise.
102785         * lib/regcomp.c (optimize_subexps, lower_subexp):
102786         Use CHAR_BIT rather than 8, for clarity.
102787         * lib/regexec.c (check_dst_limits_calc_pos_1):
102788         (check_subexp_matching_top): Likewise.
102789         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
102790         have to worry about portability issues when shifting it left.
102791         Remove no-longer-needed test for table_size > 0.
102792         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
102793         in a word, as the resulting behavior is undefined.
102794         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
102795         in one case, a <= should have been an <, and in another case the
102796         whole test was missing.
102797         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
102798         the standard name CHAR_BIT.
102799         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
102800         this is not true on one's complement and signed-magnitude hosts.
102802         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
102803         next_last_offset.
102804         (struct re_dfa_t): Remove unused member states_alloc.
102805         * lib/regcomp.c (init_dfa): Don't initialize unused members.
102807 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
102809         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
102810         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
102811         and large-file glibc and in 32-bit large-file Solaris.
102813 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
102815         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
102816         lengths fit in regoff_t; this isn't true if regoff_t is the same
102817         width as size_t.
102818         * lib/regex.c (re_search_internal): 5th arg is LAST_START
102819         (= START + RANGE) instead of RANGE.  This avoids overflow
102820         problems when regoff_t is the same width as size_t.
102821         All callers changed.
102822         (re_search_2_stub): Check for overflow when adding the
102823         sizes of the two strings.
102824         (re_search_stub): Check for overflow when adding START
102825         to RANGE; if it occurs, substitute the extreme value.
102827 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
102829         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
102831 2005-08-31  Jim Meyering  <jim@meyering.net>
102833         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
102834         a pointer-to-const.
102835         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
102836         (register_state): Likewise.
102837         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
102838         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
102839         (group_nodes_into_DFAstates): Likewise.
102841 2005-08-31  Jim Meyering  <jim@meyering.net>
102843         * check-module: Add a FIXME comment.
102845 2005-08-31  Eric Blake  <ebb9@byu.net>
102847         * modules/unistd-safer (Files): Add unistd--.h.
102848         * modules/stdio-safer (Files): Add stdio--.h.
102850 2005-08-31  Derek Price  <derek@ximbiot.com>
102852         * lib/getdelim.c (getdelim): Return EOF on EOF.
102853         Reported by Larry Jones <lawrence.jones@ugs.com>.
102855 2005-08-31  Bruno Haible  <bruno@clisp.org>
102857         Avoid unnecessary diffs in the generated lib/Makefile.am.
102858         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
102859         the generated files.
102860         (func_import): Don't set cmd.
102862 2005-08-31  Bruno Haible  <bruno@clisp.org>
102864         * lib/strstr.c: Include <stddef.h>, for NULL.
102865         * lib/strcasestr.c: Likewise.
102866         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
102868 2005-08-31  Bruno Haible  <bruno@clisp.org>
102870         * gnulib-tool: New option --macro-prefix.
102871         (func_import): Use macro_prefix.
102872         (import): Handle option --macro-prefix.
102874 2005-08-31  Bruno Haible  <bruno@clisp.org>
102876         * gnulib-tool (import): Rename most ac_* variables to cached_*.
102877         Also use new variables cached_lgpl, cached_libtool.
102879 2005-08-31  Bruno Haible  <bruno@clisp.org>
102881         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
102882         always instantiating them.
102884 2005-08-31  Bruno Haible  <bruno@clisp.org>
102886         * gnulib-tool (func_import): Read the previous cached settings
102887         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
102888         earlier added by gnulib but are now dropped. Warn when a gnulib file
102889         overwrites a non-gnulib file.
102891 2005-08-31  Bruno Haible  <bruno@clisp.org>
102893         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
102894         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
102895         projects that don't keep autogenerated files in CVS. Put into
102896         actioncmd only the specified modules, not the transitive closure.
102898 2005-08-31  Bruno Haible  <bruno@clisp.org>
102900         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
102901         Create directories that shall be filled.
102902         (import): Don't look for gl_* macros in configure.ac. Recurse across
102903         all directories containing a gnulib-cache.m4 files, if meaningful.
102905 2005-08-31  Bruno Haible  <bruno@clisp.org>
102907         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
102908         (import): Set seen_libtool when we see gl_LIBTOOL.
102910 2005-08-31  Bruno Haible  <bruno@clisp.org>
102912         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
102913         declaration macro definitions from generated gnulib.m4.
102915 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
102917         * lib/iconvme.h: Add prototype for iconv_alloc.
102919 2005-08-29  Simon Josefsson  <jas@extundo.com>
102921         * lib/iconvme.c: Fix errno.
102923 2005-08-29  Bruno Haible  <bruno@clisp.org>
102925         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
102926         that it works when the directory contains spaces.
102928 2005-08-29  Bruno Haible  <bruno@clisp.org>
102930         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
102932 2005-08-29  Bruno Haible  <bruno@clisp.org>
102934         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
102935         Emit more advice.
102937 2005-08-29  Bruno Haible  <bruno@clisp.org>
102938         and Stepan Kasal  <kasal@ucw.cz>
102940         * check-module: If more parameters are given, check each of them
102941         separately; add more exceptions, as noted by Jim Meyering.
102942         (check_module): New procedure.
102943         (%exempt_header): Now contains all exceptions.
102945 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
102947         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
102949 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
102951         * lib/iconvme.c: Split iconv_string into iconv_alloc.
102953 2005-08-28  Bruno Haible  <bruno@clisp.org>
102955         * m4/gnulib-tool.m4: New file.
102957 2005-08-27  Jim Meyering  <jim@meyering.net>
102959         * modules/unistd-safer (Files): Add pipe-safer.c.
102960         * modules/fcntl-safer (Files): Add creat-safer.c.
102962 2005-08-27  Jim Meyering  <jim@meyering.net>
102964         * m4/stdlib-safer.m4: New file.  From coreutils.
102965         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
102966         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
102967         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
102968         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
102969         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
102971 2005-08-27  Jim Meyering  <jim@meyering.net>
102973         * lib/fopen-safer.c: Merge minor changes from coreutils.
102974         * lib/dup-safer.c: Likewise.
102975         * lib/fd-safer.c: Likewise.
102977         Merge from coreutils.
102978         * lib/stdio--.h: New file.
102979         * lib/stdlib--.h: New file.
102980         * lib/mkstemp-safer.c: New file.
102982         GNU tar needs these.
102983         * lib/pipe-safer.c: New file.
102984         * lib/creat-safer.c: New file.
102985         * lib/fcntl--.h (creat): Define to creat_safer.
102986         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
102987         * lib/unistd--.h (pipe): Define to pipe_safer.
102988         * lib/unistd-safer.h: Declare pipe_safer.
102990 2005-08-26  Simon Josefsson  <jas@extundo.com>
102992         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
102993         Haible <bruno@clisp.org>.
102995 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
102997         * lib/regex_internal.h: Remove all references to
102998         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
102999         or better.
103000         (bitset_not, bitset_merge, bitset_not_merge):
103001         (bitset_mask, re_string_allocate, re_string_construct):
103002         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
103003         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
103004         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
103005         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
103006         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
103007         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
103008         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
103009         (re_acquire_state_context):
103010         Remove unnecessary forward decls.
103011         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
103012         Put __attribute at function definition,
103013         now that the function decl has been removed.
103014         * lib/regex_internal.c (re_string_peek_byte_case):
103015         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
103016         Likewise.
103018 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
103020         * m4/regex.m4: Add AC_PREREQ(2.50).
103021         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
103023 2005-08-25  Simon Josefsson  <jas@extundo.com>
103025         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
103026         __fsetlocking.
103028 2005-08-25  Simon Josefsson  <jas@extundo.com>
103030         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
103031         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
103032         GLIBC specific code.
103034 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
103036         Make regex safe for g++.  This fixes one real bug (an "err"
103037         that should have been "*err").  g++ problem reported by
103038         Sam Steingold.
103039         * lib/regex_internal.h (re_calloc): New macro, consistent with
103040         re_malloc etc.  All callers of calloc changed to use re_calloc.
103041         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
103042         not int.  All callers changed.
103043         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
103044         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
103045         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
103046         (find_recover_state): Change "err" to "*err"; this fixes what
103047         appears to be a real bug.
103048         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
103049         versus int.
103051 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
103053         * modules/regex (Depends-on): Add malloc, since the code
103054         assumes that !malloc(0) means failure.
103056 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
103058         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
103060         alloca modernization/simplification for regex.
103061         * lib/regex.c: Remove portability cruft for alloca.  This no longer
103062         needs to be at the start of the file, and can be moved into
103063         regex_internal.h and simplified.
103064         * lib/regex_internal.h: Include <alloca.h>.
103065         (__libc_use_alloca) [!defined _LIBC]: New macro.
103066         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
103067         now works outside glibc.
103069 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
103071         * config/srclist.txt: Add glibc bugs 1241, 1245.
103073 2005-08-25  Jim Meyering  <jim@meyering.net>
103075         * lib/open-safer.c: Include <config.h>.
103076         Otherwise, we'd lose LARGEFILE support in any file using
103077         e.g. "fcntl--.h"
103079 2005-08-25  Bruno Haible  <bruno@clisp.org>
103081         * m4/minmax.m4: Require autoconf 2.52.
103082         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
103083         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
103084         alternatives of translit over the alphabet.
103085         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
103087 2005-08-24  Simon Josefsson  <jas@extundo.com>
103089         * tests/test-getpass.c: New file.
103091 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
103093         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
103094         for GNU regex features.
103096 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
103098         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
103099         * lib/regex.h (regerror): Likewise.
103101         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
103102         requires this.  (The code never needed it.)
103104         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
103105         All uses of recently-renamed identifiers changed to use the new,
103106         POSIX-compliant names.  The code will build and run just fine
103107         without these changes, but it's better to eat our own dog food
103108         and use the standard-conforming names.
103110         * lib/regex.h: Fix a multitude of POSIX name space violations.
103111         These changes have an effect only for programs that define
103112         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
103113         do not change anything for programs compiled in the normal way.
103114         Also, there is no effect on the ABI.
103116         (_REGEX_SOURCE): New macro.
103117         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
103118         defined and _GNU_SOURCE is not; this fixes a name space violation.
103120         Rename the following macros to obey POSIX requirements.
103121         The old names are still visible as macros if _REGEX_SOURCE is defined.
103122         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
103123         RE_BACKSLASH_ESCAPE_IN_LISTS.
103124         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
103125         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
103126         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
103127         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
103128         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
103129         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
103130         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
103131         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
103132         (REG_INTERVALS): renamed from RE_INTERVALS.
103133         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
103134         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
103135         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
103136         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
103137         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
103138         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
103139         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
103140         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
103141         RE_UNMATCHED_RIGHT_PAREN_ORD.
103142         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
103143         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
103144         (REG_DEBUG): renamed from RE_DEBUG.
103145         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
103146         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
103147         unusual, since we can't clash with the POSIX REG_ICASE.
103148         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
103149         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
103150         (REG_NO_SUB): renamed from RE_NO_SUB.
103151         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
103152         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
103153         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
103154         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
103155         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
103156         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
103157         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
103158         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
103159         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
103160         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
103161         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
103162         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
103163         RE_SYNTAX_POSIX_MINIMAL_BASIC.
103164         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
103165         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
103166         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
103167         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
103168         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
103169         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
103170         (REG_FIXED): Renamed from REGS_FIXED.
103171         (REG_NREGS): Renamed from RE_NREGS.
103173         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
103174         of other REG_* macros, since POSIX says the user is allowed to
103175         #undef these macros selectively.
103177         (reg_errcode_t): Update comment stating what other tables need
103178         to be consistent.
103180         Rename the following enum values to obey POSIX requirements.
103181         The old names are still visible as macros.
103182         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
103183         is not defined, since GNU is supposed to be a superset of POSIX as
103184         much as possible, and since we want reg_errcode_t to be a signed
103185         type for implementation consistency.
103186         (_REG_NOERROR): Renamed from REG_NOERROR.
103187         (_REG_NOMATCH): Renamed from REG_NOMATCH.
103188         (_REG_BADPAT): Renamed from REG_BADPAT.
103189         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
103190         (_REG_ECTYPE): Renamed from REG_ECTYPE.
103191         (_REG_EESCAPE): Renamed from REG_EESCAPE.
103192         (_REG_ESUBREG): Renamed from REG_ESUBREG.
103193         (_REG_EBRACK): Renamed from REG_EBRACK.
103194         (_REG_EPAREN): Renamed from REG_EPAREN.
103195         (_REG_EBRACE): Renamed from REG_EBRACE.
103196         (_REG_BADBR): Renamed from REG_BADBR.
103197         (_REG_ERANGE): Renamed from REG_ERANGE.
103198         (_REG_ESPACE): Renamed from REG_ESPACE.
103199         (_REG_BADRPT): Renamed from REG_BADRPT.
103200         (_REG_EEND): Renamed from REG_EEND.
103201         (_REG_ESIZE): Renamed from REG_ESIZE.
103202         (_REG_ERPAREN): Renamed from REG_ERPAREN.
103203         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
103204         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
103205         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
103206         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
103208         (_REG_RE_NAME, _REG_RM_NAME): New macros.
103209         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
103210         changed.  But support the old name if the new one is not defined
103211         and if _REGEX_SOURCE.
103213         Change the following member names in struct re_pattern_buffer.
103214         The old names are still supported if !_REGEX_SOURCE.
103215         The new names are always supported, regardless of _REGEX_SOURCE.
103216         (re_buffer): Renamed from buffer.
103217         (re_allocated): Renamed from allocated.
103218         (re_used): Renamed from used.
103219         (re_syntax): Renamed from syntax.
103220         (re_fastmap): Renamed from fastmap.
103221         (re_translate): Renamed from translate.
103222         (re_can_be_null): Renamed from can_be_null.
103223         (re_regs_allocated): Renamed from regs_allocated.
103224         (re_fastmap_accurate): Renamed from fastmap_accurate.
103225         (re_no_sub): Renamed from no_sub.
103226         (re_not_bol): Renamed from not_bol.
103227         (re_not_eol): Renamed from not_eol.
103228         (re_newline_anchor): Renamed from newline_anchor.
103230         Change the following member names in struct re_registers.
103231         The old names are still supported if !_REGEX_SOURCE.
103232         The new names are always supported, regardless of _REGEX_SOURCE.
103233         (rm_num_regs): Renamed from num_regs.
103234         (rm_start): Renamed from start.
103235         (rm_end): Renamed from end.
103237         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
103238         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
103239         Prepend __ to parameter names.
103241         Undo yesterday's changes.
103243 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
103245         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
103246         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
103247         lib/regex.c.
103249 2005-08-24  Jim Meyering  <jim@meyering.net>
103251         Sync from coreutils.
103252         * m4/fcntl-safer.m4: New file.
103254         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
103255         and object files for this module.
103257 2005-08-24  Jim Meyering  <jim@meyering.net>
103259         Sync from coreutils.
103260         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
103262 2005-08-24  Jim Meyering  <jim@meyering.net>
103264         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
103265         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
103267 2005-08-24  Jim Meyering  <jim@meyering.net>
103269         * modules/fcntl-safer: New module.
103270         * modules/fts (Depends-on): Add fcntl-safer.
103271         * MODULES.html.sh (File descriptor based Input/Output):
103272         Add fcntl-safer.
103274 2005-08-24  Bruno Haible  <bruno@clisp.org>
103276         Support for unit test modules.
103277         * modules/README: Mention tests modules.
103278         * modules/TEMPLATE-TESTS: New file.
103279         * gnulib-tool: New options --extract-tests-module, --with-tests and
103280         --tests-base (unused for the moment).
103281         (testsbase, inctests): New variables.
103282         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
103283         (func_verify_module): Exclude TEMPLATE-TESTS.
103284         (func_verify_nontests_module, func_verify_tests_module): New functions.
103285         (func_get_dependencies): Add implicit dependency for tests modules.
103286         (func_get_tests_module): New function.
103287         (func_modules_transitive_closure): When --with-tests was specified,
103288         include the unit tests as well, unless explicitly avoided.
103289         (func_emit_lib_Makefile_am): Ignore the tests modules here.
103290         (func_emit_tests_Makefile_am): New function.
103291         (func_create_testdir): When --with-tests was specified, emit a
103292         tests/ directory.
103293         * MODULES.html.sh (Future developments): Update.
103295 2005-08-24  Bruno Haible  <bruno@clisp.org>
103297         * modules/tls-tests: New file.
103298         * tests/test-tls.c: New file, from GNU gettext.
103300 2005-08-24  Bruno Haible  <bruno@clisp.org>
103302         * modules/lock-tests: New file.
103303         * tests/test-lock.c: New file, from GNU gettext.
103305 2005-08-24  Bruno Haible  <bruno@clisp.org>
103307         * lib/lock.h: Add multiple inclusion guard.
103308         * lib/tls.h: Add multiple inclusion guard.
103310 2005-08-24  Bruno Haible  <bruno@clisp.org>
103312         * gnulib-tool: Add support for the --aux-dir option to
103313         --create-testdir, --create-megatestdir, --test, --megatest.
103314         (func_create_testdir, func_create_megatestdir): Optionally emit a
103315         AC_CONFIG_AUX_DIR directive.
103316         (create-testdir, create-megatestdir, test, megatest): Provide a
103317         default value for $auxdir.
103319 2005-08-24  Bruno Haible  <bruno@clisp.org>
103321         * gnulib-tool (import): Use compound statement instead of subshell
103322         where possible.
103324 2005-08-24  Bruno Haible  <bruno@clisp.org>
103326         * gnulib-tool (import): Change --aux-dir default to "build-aux".
103328 2005-08-24  Bruno Haible  <bruno@clisp.org>
103330         * gnulib-tool (func_version): Update.
103332 2005-08-24  Bruno Haible  <bruno@clisp.org>
103334         * gnulib-tool (func_import, func_create_testdir,
103335         func_create_megatestdir): Quote all autoconf macro arguments.
103337 2005-08-24  Bruno Haible  <bruno@clisp.org>
103339         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
103340         option --force, because --force causes the aclocal.m4 of each
103341         subdirectory to be newer than the corresponding config.h.in.
103343 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
103345         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
103346         All contents moved to gl_REGEX.
103347         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
103348         assume that it does.
103350 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
103352         * lib/regex.h (REG_NOSYS)
103353         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
103354         Define, since POSIX requires it as of 2001.
103355         (_REG_ENOSYS)
103356         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
103357         New private symbol, used to keep the enum signed in all cases.
103358         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
103359         Youngman in
103360         <http://lists.gnu.org/r/bug-gnulib/2005-07/msg00132.html>.
103362         * lib/regex_internal.c (re_string_skip_chars, register_state):
103363         (calc_state_hash):
103364         Remove forward decls; no longer needed now that we use prototypes.
103365         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
103366         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
103367         (clean_state_log_if_needed): Likewise.
103369 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
103371         * config/srclist.txt: Add glibc bugs 1231-1233.
103373 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
103375         Fix problems reported by Sam Steingold in
103376         <http://lists.gnu.org/r/bug-gnulib/2005-08/msg00007.html>.
103377         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
103378         assumed that reg_errcode_t is a signed type, which is not
103379         necessarily true if _XOPEN_SOURCE is not defined.
103380         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
103381         since some compilers warn about it otherwise.
103383 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
103385         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
103386         (init_word_char, create_initial_state, duplicate_node_closure):
103387         (fetch_token, peek_token_bracket, build_range_exp):
103388         (build_collating_symbol): Remove forward decls; no longer needed
103389         now that we use prototypes.
103391         * lib/regcomp.c:
103392         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
103393         (re_compile_fastmap_iter, regcomp, regerror, regfree):
103394         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
103395         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
103396         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
103397         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
103398         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
103399         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
103400         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
103401         (build_range_exp, build_collating_symbol, parse_bracket_exp):
103402         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
103403         (build_charclass, build_charclass_op, fetch_number, create_tree):
103404         (create_token_tree, mark_opt_subexp, duplicate_tree):
103405         Use prototypes rather than old-style definitions.
103407         * lib/regex_internal.c:
103408         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
103409         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
103410         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
103411         (re_string_reconstruct, re_string_peek_byte_case):
103412         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
103413         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
103414         (re_node_set_init_copy, re_node_set_add_intersect):
103415         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
103416         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
103417         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
103418         (re_acquire_state, re_acquire_state_context, register_state):
103419         (create_ci_newstate, create_cd_newstate, free_state):
103420         Likewise.
103421         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
103422         re_search_2):
103423         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
103424         (re_search_internal, prune_impossible_nodes):
103425         (acquire_init_state_context, check_matching, static):
103426         (check_halt_node_context, check_halt_state_context, proceed_next_node):
103427         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
103428         (update_regs, sift_states_backward, build_sifted_states):
103429         (clean_state_log_if_needed, merge_state_array):
103430         (update_cur_sifted_state, add_epsilon_src_nodes):
103431         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
103432         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
103433         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
103434         (find_recover_state, check_subexp_matching_top, transit_state_mb):
103435         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
103436         (check_arrival, check_arrival_add_next_nodes):
103437         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
103438         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
103439         (check_node_accept_bytes, check_node_accept, extend_buffers):
103440         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
103441         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
103442         (sift_ctx_init):
103443         Likewise.
103445         * lib/regex_internal.h:
103446         (re_string_allocate, re_string_construct, re_string_reconstruct):
103447         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
103448         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
103449         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
103450         (re_string_context_at, re_string_peek_byte_case):
103451         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
103452         is defined, since we now use prototypes always.
103454         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
103455         C89 or better.  All uses removed.
103457 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
103459         * config/srclist.txt: Add glibc bugs 1220-1227.
103461 2005-08-20  Jim Meyering  <jim@meyering.net>
103463         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
103464         of unused local, dfa.
103466 2005-08-20  Bruno Haible  <bruno@clisp.org>
103468         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
103470 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
103472         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
103473         (re_node_set_insert_last, re_dfa_add_node):
103474         Rename local variables to avoid GCC shadowing warnings.
103476 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
103478         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
103479         [defined lint]: Suppress bogus uninitialized-variable warnings.
103481         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
103482         and let the caller return REG_ESPACE if out of space.  This
103483         removes an uninitialied-variable warning with GCC 4.0.1, and also
103484         avoids taking the address of a local variable.  All callers
103485         changed.
103487 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
103489         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
103490         $LIBCSRC/posix/regexec.c.
103491         Add glibc bug 1217 for regcomp.c.
103493 2005-08-19  Jim Meyering  <jim@meyering.net>
103495         * lib/regexec.c (proceed_next_node): Redo local variables to
103496         avoid GCC shadowing warnings.
103498 2005-08-18  Bruno Haible  <bruno@clisp.org>
103500         * lib/strstr.c (strstr): Fix return value in multibyte case.
103501         * lib/strcasestr.c (strcasestr): Likewise.
103503 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
103505         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
103507 2005-08-17  Jim Meyering  <jim@meyering.net>
103509         Make the %s format (seconds since the epoch) work for a negative
103510         number and when used with a zero-padded field width, e.g. %015s.
103512         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
103513         label so that it precedes the code to set `digits'.  Otherwise,
103514         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
103515         print `00-22'.  Now, it prints `-0022', as it should.
103517 2005-08-17  Bruno Haible  <bruno@clisp.org>
103519         * modules/strstr (Files): Add m4/mbrtowc.m4.
103520         (Depends-on): Add mbuiter.
103522 2005-08-17  Bruno Haible  <bruno@clisp.org>
103524         * modules/strcasestr: New file.
103525         * MODULES.html.sh (String handling, based on ANSI C 89): Add
103526         strcasestr.
103528 2005-08-17  Bruno Haible  <bruno@clisp.org>
103530         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
103532 2005-08-17  Bruno Haible  <bruno@clisp.org>
103534         * modules/mbuiter: New file.
103535         * MODULES.html.sh (Extended multibyte and wide character utilities):
103536         Add mbuiter.
103538 2005-08-17  Bruno Haible  <bruno@clisp.org>
103540         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
103541         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
103543 2005-08-17  Bruno Haible  <bruno@clisp.org>
103545         * m4/strcasestr.m4: New file.
103547 2005-08-17  Bruno Haible  <bruno@clisp.org>
103549         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
103550         * lib/strstr.c: Completely rewritten, with multibyte locale support.
103552 2005-08-17  Bruno Haible  <bruno@clisp.org>
103554         * lib/strcasestr.h: New file.
103555         * lib/strcasestr.c: New file.
103557 2005-08-17  Bruno Haible  <bruno@clisp.org>
103559         * lib/strcasecmp.c: Use mbuiter.h.
103561 2005-08-17  Bruno Haible  <bruno@clisp.org>
103563         * lib/mbuiter.h: New file.
103565 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
103567         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
103568         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
103569         and gl_GETOPT are both invoked via different paths (as happens
103570         with GNU tar CVS because it uses both argp and getopt), the former
103571         wins.
103573 2005-08-16  Bruno Haible  <bruno@clisp.org>
103575         * modules/tls: New file.
103576         * MODULES.html.sh (Multithreading): Add tls.
103578 2005-08-16  Bruno Haible  <bruno@clisp.org>
103580         * modules/strnlen1: New file.
103581         * MODULES.html.sh (String handling): Add strnlen1.
103583 2005-08-16  Bruno Haible  <bruno@clisp.org>
103585         * modules/strcase (Files): Add m4/mbrtowc.m4.
103586         (Depends-on): Add strnlen1, mbchar.
103588 2005-08-16  Bruno Haible  <bruno@clisp.org>
103590         * modules/mbiter: New file.
103591         * MODULES.html.sh (Extended multibyte and wide character utilities):
103592         Add mbiter.
103594 2005-08-16  Bruno Haible  <bruno@clisp.org>
103596         * modules/mbfile: New file.
103597         * MODULES.html.sh (Extended multibyte and wide character utilities):
103598         Add mbfile.
103600 2005-08-16  Bruno Haible  <bruno@clisp.org>
103602         * modules/mbchar: New file.
103603         * MODULES.html.sh (Extended multibyte and wide character utilities):
103604         New section.
103606 2005-08-16  Bruno Haible  <bruno@clisp.org>
103608         * m4/tls.m4: New file, from GNU gettext.
103610 2005-08-16  Bruno Haible  <bruno@clisp.org>
103612         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
103613         always.
103614         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
103616 2005-08-16  Bruno Haible  <bruno@clisp.org>
103618         * m4/mbiter.m4: New file.
103620 2005-08-16  Bruno Haible  <bruno@clisp.org>
103622         * m4/mbfile.m4: New file.
103624 2005-08-16  Bruno Haible  <bruno@clisp.org>
103626         * m4/mbchar.m4: New file.
103628 2005-08-16  Bruno Haible  <bruno@clisp.org>
103630         * lib/tls.h: New file, from GNU gettext.
103631         * lib/tls.c: New file, from GNU gettext.
103633 2005-08-16  Bruno Haible  <bruno@clisp.org>
103635         * lib/strnlen1.h: New file.
103636         * lib/strnlen1.c: New file.
103638 2005-08-16  Bruno Haible  <bruno@clisp.org>
103640         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
103641         (mbi_init): Update.
103642         (mbi_avail, mbi_advance): Let the iteration end before the terminating
103643         NUL byte, not after it.
103645 2005-08-16  Bruno Haible  <bruno@clisp.org>
103647         * lib/strcase.h (strcasecmp): Add note in comments.
103648         * lib/strncasecmp.c: Use code from strcasecmp.c.
103649         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
103650         (strcasecmp): Work correctly in multibyte locales.
103652 2005-08-16  Bruno Haible  <bruno@clisp.org>
103654         * lib/mbiter.h: New file.
103656 2005-08-16  Bruno Haible  <bruno@clisp.org>
103658         * lib/mbfile.h: New file.
103660 2005-08-16  Bruno Haible  <bruno@clisp.org>
103662         * lib/mbchar.h: New file.
103663         * lib/mbchar.c: New file.
103665 2005-08-16  Bruno Haible  <bruno@clisp.org>
103667         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
103668         the valid ones. Makes the comparison operations transitive:
103669         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
103670         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
103672 2005-08-15  Simon Josefsson  <jas@extundo.com>
103674         * modules/ssize_t (License): Change to 'unlimited'.
103676         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
103678 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
103680         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
103681         Add comments for each pending glibc patch.
103683 2005-08-15  Bruno Haible  <bruno@clisp.org>
103685         * lib/regex.h (__restrict_arr): Don't define to __restrict if
103686         __cplusplus is defined.
103688 2005-08-14  Jim Meyering  <jim@meyering.net>
103690         Sync from coreutils.
103692         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
103693         Use the hash-table-based cycle-detection code not just when
103694         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
103695         Reported by James Youngman in
103696         <http://lists.gnu.org/r/bug-gnulib/2005-08/msg00011.html>.
103697         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
103698         FTS_TIGHT_CYCLE_CHECK.
103699         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
103700         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
103701         once again.
103702         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
103703         * lib/fts.c (fd_safer): Remove decl.
103704         Include fcntl--.h rather than unistd-safer.h
103705         (fts_safe_changedir): Don't call fd_safer; no longer needed
103706         now that we include fcntl--.h.
103708 2005-08-12  Simon Josefsson  <jas@extundo.com>
103710         * modules/getndelim2: Use ssize_t module.
103711         * modules/getnline: Likewise.
103712         * modules/safe-read: Likewise.
103713         * modules/xreadlink: Likewise.
103715         * modules/ssize_t: New file.
103717 2005-08-12  Simon Josefsson  <jas@extundo.com>
103719         * m4/readline.m4: Look for termcap, curses or ncurses if required.
103721 2005-08-12  Simon Josefsson  <jas@extundo.com>
103723         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
103724         ssize_t.
103726 2005-08-12  Simon Josefsson  <jas@extundo.com>
103728         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
103729         readline, getdelim and check_version.
103730         (Support for systems lacking ISO C 99: Sizes of integer types):
103731         Add size_max.
103733 2005-08-12  Bruno Haible  <bruno@clisp.org>
103735         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
103737 2005-08-11  Simon Josefsson  <jas@extundo.com>
103739         * modules/readline: New file.
103741         * modules/strnlen (Files): Add strnlen.h.
103743 2005-08-11  Simon Josefsson  <jas@extundo.com>
103745         * m4/readline.m4: New file.
103747 2005-08-11  Simon Josefsson  <jas@extundo.com>
103749         * lib/readline.h, readline.c: New file.
103751 2005-08-11  Simon Josefsson  <jas@extundo.com>
103753         * doc/gnulib.texi (Initial import, Finishing touches): Mention
103754         gl_AVOID.
103756 2005-08-11  Bruno Haible  <bruno@clisp.org>
103758         * lib/strnlen.h (strnlen): Change parameter name to match comment.
103760 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
103762         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
103764 2005-08-10  Simon Josefsson  <jas@extundo.com>
103766         * tests/test-iconvme.c: New file.
103768 2005-08-10  Simon Josefsson  <jas@extundo.com>
103770         * m4/strnlen.m4: New file.
103772         * m4/strndup.m4: Don't check for strnlen declaration, done in
103773         strnlen.m4.
103775 2005-08-10  Simon Josefsson  <jas@extundo.com>
103777         * lib/strndup.c: Use strnlen.h.
103779         * lib/strnlen.h: New file.
103781 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
103783         * README: Typos.
103785 2005-08-02  Simon Josefsson  <jas@extundo.com>
103787         * modules/readline: New file.
103789 2005-08-02  Simon Josefsson  <jas@extundo.com>
103791         * modules/getdelim: New file.
103793         * modules/getline: Rewrite, don't use getndelim2.
103795 2005-08-02  Simon Josefsson  <jas@extundo.com>
103797         * m4/getline.m4: Separate out getdelim stuff into separate module.
103799         * m4/getdelim.m4: New file.
103801 2005-08-02  Simon Josefsson  <jas@extundo.com>
103803         * lib/getline.h, getline.c: Rewrite.
103805         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
103807 2005-07-31  Bruno Haible  <bruno@clisp.org>
103809         * lib/lock.h (gl_lock_initializer): New macro.
103810         (gl_lock_define_initialized): Use it.
103811         (gl_rwlock_initializer): New macro.
103812         (gl_rwlock_define_initialized): Use it.
103813         (gl_recursive_lock_initializer): New macro.
103814         (gl_recursive_lock_define_initialized): Use it.
103816 2005-07-30  Karl Berry  <karl@gnu.org>
103818         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
103819         Report from Ben Pfaff, regarding getopt.
103821 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
103823         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
103824         normal way.
103825         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
103826         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
103827         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
103828         (gl_GETOPT): Use the new macros.  Most of the implementation
103829         is moved to the new macros.  This is for programs like Emacs
103830         that don't want all the functionality of gl_GETOPT.
103832 2005-07-26  Bruno Haible  <bruno@clisp.org>
103834         * m4/lock.m4: Update from GNU gettext.
103836 2005-07-26  Bruno Haible  <bruno@clisp.org>
103838         * lib/lock.h: Update from GNU gettext.
103839         * lib/lock.c: Update from GNU gettext.
103841 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
103843         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
103844         obsolescent AC_TRY_RUN.  Include the default includes files, for
103845         'exit'.
103847 2005-07-24  Bruno Haible  <bruno@clisp.org>
103849         * modules/visibility: New file.
103850         * MODULES.html.sh (Misc): Add visibility.
103852 2005-07-24  Bruno Haible  <bruno@clisp.org>
103854         * m4/visibility.m4: New file.
103856 2005-07-24  Bruno Haible  <bruno@clisp.org>
103858         * doc/visibility.texi: New file.
103860 2005-07-22  Bruno Haible  <bruno@clisp.org>
103862         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
103863         $(ALLOCA_H), redundant through BUILT_SOURCES.
103864         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
103865         redundant through BUILT_SOURCES.
103866         * modules/byteswap (Makefile.am): Remove explicit dependency on
103867         $(BYTESWAP_H), redundant through BUILT_SOURCES.
103868         * modules/fnmatch (Makefile.am): Remove explicit dependency on
103869         $(FNMATCH_H), redundant through BUILT_SOURCES.
103870         * modules/getopt (Makefile.am): Remove explicit dependency on
103871         $(GETOPT_H), redundant through BUILT_SOURCES.
103872         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
103873         redundant through BUILT_SOURCES.
103874         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
103875         redundant through BUILT_SOURCES.
103876         * modules/stdbool (Makefile.am): Remove explicit dependency on
103877         $(STDBOOL_H), redundant through BUILT_SOURCES.
103878         * modules/stdint (Makefile.am): Remove explicit dependency on
103879         $(STDINT_H), redundant through BUILT_SOURCES.
103880         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
103881         Remove explicit dependency on $(SYSEXITS_H).
103882         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
103884 2005-07-18  Simon Josefsson  <jas@extundo.com>
103886         * lib/check-version.c (check_version): Accept identical versions too.
103888 2005-07-18  Bruno Haible  <bruno@clisp.org>
103890         * modules/lock: New file.
103891         * MODULES.html.sh (Multithreading): New section.
103893 2005-07-18  Bruno Haible  <bruno@clisp.org>
103895         * m4/lock.m4: New file, from GNU gettext.
103897 2005-07-18  Bruno Haible  <bruno@clisp.org>
103899         * lib/lock.h: New file, from GNU gettext.
103900         * lib/lock.c: New file, from GNU gettext.
103902 2005-07-18  Bruno Haible  <bruno@clisp.org>
103904         * lib/lock.h (gl_once_t): New type.
103905         (gl_once_define, gl_once): New macros.
103906         * lib/lock.c (fresh_once): New variable.
103907         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
103908         functions.
103910 2005-07-16  Simon Josefsson  <jas@extundo.com>
103912         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
103913         workaround, suggested by Bruno.
103915 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
103917         * modules/xalloc (Depends-on): Add xalloc-die.
103918         * modules/xvasprintf (Depends-on): Add xalloc-die.
103920 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
103922         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
103923         with a minor change.
103925 2005-07-15  Bruno Haible  <bruno@clisp.org>
103927         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
103928         When using lib/poll.c, define poll as rpl_poll.
103930 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
103932         * modules/argp (Depends-on): Remove unlocked-io.
103934 2005-07-14  Derek Price  <derek@ximbiot.com>
103936         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
103937         for glob symlink bug.
103939 2005-07-14  Bruno Haible  <bruno@clisp.org>
103941         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
103942         Instead, test for *_unlocked function declarations directly.
103944 2005-07-11  Simon Josefsson  <jas@extundo.com>
103946         * modules/size_max: New file.
103948         * modules/xsize: Depend on size_max module for size_max.m4.
103950 2005-07-11  Simon Josefsson  <jas@extundo.com>
103952         * lib/size_max.h: New file.
103954 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
103956         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
103957         copyright symbol and the year.
103958         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
103959         (version_etc_va): Use parameterized copyright notice.
103960         Reword to conform to the current GNU coding standards.
103962 2005-07-11  Karl Berry  <karl@gnu.org>
103964         * doc/gnulib.texi (Quoting): new node.
103965         (Initial import): more info, from Patrice.
103967 2005-07-11  Bruno Haible  <bruno@clisp.org>
103969         * gnulib-tool (func_usage): Document option --avoid.
103970         (Command line options): Handle --avoid.
103971         (func_acceptable): New function.
103972         (func_modules_transitive_closure): Use it.
103974 2005-07-11  Bruno Haible  <bruno@clisp.org>
103976         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
103977         Reported by Jim Meyering.
103979 2005-07-10  Bruno Haible  <bruno@clisp.org>
103981         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
103982         Needed when size_t is smaller than 'unsigned int'.
103983         Reported by Paul Eggert.
103985 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
103987         * modules/argp (Depends-on): Add unlocked-io
103989 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
103991         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
103992         block of defines.
103994 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
103996         * config/srclist.txt: Comment out regcomp.c, since we have a porting
103997         fix now.
103999 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
104000         and Paul Eggert  <eggert@cs.ucla.edu>
104002         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
104003         in wint_t, not wchar_t.  Remove now-unnecessary cast.
104005 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
104007         * modules/regex (Files): Add lib/regex_internal.c,
104008         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
104009         (Depends-on): Add extensions.
104010         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
104012 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
104014         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
104015         pathconf.
104016         * m4/same.m4 (gl_SAME): Likewise.
104017         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
104019         * m4/regex.m4: Adjust to new libc regex implementation.
104020         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
104021         all the .c and .h parts of (the new) regex.
104022         Quote the m4 stuff better.
104023         Check for RE_ICASE bug of old gnulib.
104024         Check for REG_STARTEND of recent libc.
104025         Rename local variables from jm_* to gl_*.
104026         Quote operand of "test -f".
104027         Say "recent enough" version of libc, not "version 2".
104028         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
104029         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
104030         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
104031         Remove check for btowc, isascii.
104032         Require AM_LANGINFO_CODESET.
104034 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
104036         * lib/regex.c, regex.h: Sync from libc.
104037         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
104038         * lib/regexec.c:
104039         New files, synced from libc, except that regex_internal.h
104040         currently has a small porting fix.
104042 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
104044         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
104045         regex_internal.c, regexec.c.
104046         Add regex_internal.h too, but as a comment, since the libc version
104047         is currently broken in gnulib mode.
104049 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
104051         Support programs like Emacs that use gnulib but not gettext.
104052         * MODULES.html.sh (Internationalization functions): Add gettext-h.
104053         * modules/gettext-h: New file.
104054         * modules/gettext (Files): Remove lib/gettext.h.
104055         (Depends-on): Add gettext-h.
104056         (Makefile.am): Remove lib_SOURCES.
104057         * modules/argmatch, modules/c-stack, modules/closeout:
104058         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
104059         * modules/execute, modules/file-type, modules/getaddrinfo:
104060         * modules/getopt, modules/human, modules/javacomp:
104061         * modules/javaexec, modules/mkdir-p, modules/obstack:
104062         * modules/openat, modules/pagealign_alloc, modules/pipe:
104063         * modules/quotearg, modules/regex, modules/rpmatch:
104064         * modules/unicodeio, modules/userspec, modules/version-etc:
104065         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
104066         * modules/xsetenv:
104067         Depend on gettext-h, not gettext.
104069 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
104071         * gnulib-tool (func_import): Add support for 'public domain' license.
104072         * modules/alloca, modules/atexit, modules/memmove:
104073         Now public domain, not GPL.
104074         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
104075         * modules/realloc, modules/strerror, modules/strtod:
104076         Now LGPL, not GPL.
104078 2005-07-05  Bruno Haible  <bruno@clisp.org>
104080         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
104081         autoconf CVS. Needed for mingw.
104083 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
104085         Remove the dependency of the strftime module on the tzset module.
104086         * modules/strftime (Depends-on): Remove dependency on tzset.
104088 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
104090         Remove the dependency of the strftime module on the tzset module.
104091         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
104092         gl_FUNC_TZSET_CLOBBER.
104094 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
104096         Remove the dependency of the strftime module on the tzset module.
104097         * lib/strftime.c (my_strftime)
104098         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
104099         Copy the input structure, to work around some of the bug with
104100         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
104101         Solaris releases, you should also use the tzset module, but we won't
104102         require it as a dependency any more since we don't want LGPLed code
104103         to depend on GPLed code.
104105 2005-07-02  Jim Meyering  <jim@meyering.net>
104107         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
104108         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
104109         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
104110         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
104112 2005-07-02  Jim Meyering  <jim@meyering.net>
104114         * lib/backupfile.c (backup_args): Change a `0' to NULL.
104116 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
104118         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
104119         declares only 'struct timespec;' (!).
104121 2005-07-01  Jim Meyering  <jim@meyering.net>
104123         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
104124         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
104125         * lib/save-cwd.c, tempname.c:
104126         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
104127         and don't include <sys/file.h>).
104129 2005-06-29  Jim Meyering  <jim@meyering.net>
104131         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
104132         type name.  Use the variable name instead.
104133         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
104134         Likewise.
104136 2005-06-28  Simon Josefsson  <jas@extundo.com>
104138         * modules/check-version (Files): Add check-version.m4.
104140 2005-06-28  Simon Josefsson  <jas@extundo.com>
104142         * m4/check-version.m4: New file, suggested by Jim Meyering
104143         <jim@meyering.net>.
104145 2005-06-28  Simon Josefsson  <jas@extundo.com>
104147         * lib/check-version.h, lib/check-version.c: New files.
104149 2005-06-28  Simon Josefsson  <jas@extundo.com>
104151         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
104152         collision with global variable.  Better indentation.  Don't
104153         increment buffer pointer beyond buffer end.  Based on comments
104154         from Paul Eggert <eggert@cs.ucla.edu>.
104156         * lib/base64.h: Indent.
104158 2005-06-28  Simon Josefsson  <jas@extundo.com>
104160         * doc/gnulib.texi (Library version handling): New section.
104162 2005-06-28  Jim Meyering  <jim@meyering.net>
104164         * check-module (find_included_lib_files): Hard-code another
104165         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
104166         but modules/fts-lgpl (correctly) does not list those files.
104168         * modules/canonicalize (Files): Add lib/pathmax.h.
104170 2005-06-25  Simon Josefsson  <jas@extundo.com>
104172         * modules/check-version: New file.
104174 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
104176         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
104177         initializer of struct addrinfo, as an indication that we don't
104178         care how many members the structure has.
104180 2005-06-24  Derek Price  <derek@ximbiot.com>
104181         and Bruno Haible  <bruno@clisp.org>
104183         Remove stat module & update lstat.
104184         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
104185         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
104186         * m4/stat.m4: Remove this file.
104188 2005-06-24  Derek Price  <derek@ximbiot.com>
104189         and Bruno Haible  <bruno@clisp.org>
104191         Remove stat module & update lstat.
104192         * lib/stat.c: Remove this file...
104193         (slash_aware_lstat): ...moving this content and its support...
104194         * lib/lstat.c (rpl_lstat): ...into here.
104195         * lib/lstat.h: New file.
104197 2005-06-24  Derek Price  <derek@ximbiot.com>
104198         and Bruno Haible  <bruno@clisp.org>
104200         Remove stat module & update lstat.
104201         * config/srclist.txt (libc sources): Remove stat.
104203 2005-06-24  Derek Price  <derek@ximbiot.com>
104204         and Bruno Haible  <bruno@clisp.org>
104206         Remove stat module & update lstat.
104207         * MODULES.html.sh (stat): Remove.
104208         * MODULES.html: Regenerated.
104209         * modules/lstat (Description): Correct function name.
104210         (Files): Add "lstat.h".
104211         (Depends-on): Remove stat, add xalloc, stat-macros.
104212         * modules/stat: Remove this file.
104213         (Include): Add "lstat.h", remove <sys/stat.h>.
104215 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
104217         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
104218         (ranged_convert): Don't save conversion in a temporary struct.
104219         This causes a warning with GCC 4.0.0, and anyway in the typical
104220         case it's not worth the extra 100 bytes or so of code.
104221         (ranged_convert, __mktime_internal): When calling a function via a
104222         pointer P, use P () rather than (*P) (), as we now assume C89 or
104223         better.
104225 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
104227         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
104228         "who -r" failed to give output.  Problem reported by Tim Waugh.
104230         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
104231         (xcalloc): Use it to avoid needless tests.
104232         Problem reported by Jim Meyering.
104234 2005-06-20  Derek Price  <derek@ximbiot.com>
104236         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
104237         unnecessary for Autoconfs > 2.59c.
104239 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
104241         * lib/argp.h (__option_is_short): Check upper limit of
104242         __key. Isprint() requires its argument to have the value
104243         of an unsigned char or EOF.
104245 2005-06-16  Jim Meyering  <jim@meyering.net>
104247         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
104248         when either N or S is zero.
104250 2005-06-16  Derek Price  <derek@ximbiot.com>
104252         * m4/bison.m4: Declare YACC & YFLAGS precious.
104254 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
104256         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
104257         multibyte string or pattern, fall back on unibyte matching.
104258         Problem reported by James Youngman.
104260 2005-06-08  Bruno Haible  <bruno@clisp.org>
104262         * modules/csharpcomp: New file.
104263         * MODULES.html.sh (C#): Add csharpcomp.
104265 2005-06-08  Bruno Haible  <bruno@clisp.org>
104267         * m4/csharpcomp.m4: New file, from GNU gettext.
104269 2005-06-08  Bruno Haible  <bruno@clisp.org>
104271         * lib/csharpcomp.h: New file, from GNU gettext.
104272         * lib/csharpcomp.c: New file, from GNU gettext.
104273         * lib/csharpcomp.sh.in: New file, from GNU gettext.
104275 2005-06-08  Bruno Haible  <bruno@clisp.org>
104277         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
104278         warning on mingw.
104280 2005-06-07  Derek Price  <derek@ximbiot.com>
104282         Sync from CVS.
104283         * lib/glob_.h: Indent nested #ifdef.
104285 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
104287         Sync from coreutils.
104288         Use "file name" when talking about file names, instead of "filename"
104289         or "path", as per the GNU coding standards.
104290         * lib/mkdir-p.c: Renamed from makepath.c.
104291         (make_dir_parents): Renamed from make_path.  All callers changed.
104292         * lib/mkdir-p.h: Likewise.  All includers changed.
104293         * lib/filenamecat.c: Renamed from path-concat.c.
104294         (file_name_concat): Renamed from path_concat.  All callers changed.
104295         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
104296         * lib/filenamecat.h: Likewise.  All includers changed.
104297         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
104298         in comments or local variable names.
104299         * lib/basename.c: Likewise.
104300         * lib/canonicalize.c, canonicalize.h: Likewise.
104301         * lib/dirname.c, dirname.h: Likewise.
104302         * lib/euidaccess.c: Likewise.
104303         * lib/exclude.c: Likewise
104304         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
104305         * lib/fsusage.c, fsuage.h: Likewise.
104306         * lib/fts.c, fts_.h: Likewise.
104307         * lib/getcwd.c: Likewise.
104308         * lib/getloadavg.c: Likewise.
104309         * lib/mkstemp.c: Likewise.
104310         * lib/mountlist.c, mountlist.h: Likewise.
104311         * lib/openat.c, openat.h: Likewise.
104312         * lib/readlink-stub.c: Likewise.
104313         * lib/readutmp.c, readutmp.h: Likewise.
104314         * lib/rename.c: Likewise.
104315         * lib/rmdir.c: Likewise.
104316         * lib/same.c: Likewise.
104317         * lib/savedir.c: Likewise.
104318         * lib/stripslash.c: Likewise.
104319         * lib/tempname.c: Likewise.
104320         * lib/xreadlink.c: Likewise.
104321         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
104322         All uses changed.
104323         * lib/exclude.h: Likewise.
104325         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
104326         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
104327         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
104328         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
104329         * lib/pathmax.h: Include <limits.h> unconditionally, since other
104330         files have been getting away with it for years (MORE/BSD 4.3
104331         is extinct now).
104332         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
104333         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
104335         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
104336         Define to 256, not 255, as per modern POSIX.
104338 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
104340         Sync from coreutils.
104341         Use "file name" when talking about file names, instead of "filename"
104342         or "path", as per the GNU coding standards.
104343         * MODULES.html.sh: mkdir-p renamed from makepath.
104344         filenamecat renamed from path-concat.
104345         * modules/filenamecat: Renamed from modules/path-concat.
104346         (Files): filenamecat.h and filenamecat.c renamed from
104347         path-concat.h and path-concat.c.
104348         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
104349         (Include): filenamecat.h, not path-concat.h.
104350         * modules/mkdir-p: Renamed from modules/makepath.
104351         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
104352         makepath.c.
104353         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
104354         (Include): mkdir-p.h, not makepath.h.
104356 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
104358         Sync from coreutils.
104359         * m4/mkdir-p.m4: Renamed from makepath.m4.
104360         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
104361         Rename files from makepath.c to mkdir-p.c, and from
104362         makepath.h to mkdir-p.h.
104363         * m4/filenamecat.m4: Renamed from path-concat.m4.
104364         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
104365         Rename files from path-concat.c to filenamecat.c,
104366         and from path-concat.h to filenamecat.h.
104367         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
104368         "file name" in local variables or comments.
104369         * m4/rename.m4: Likewise.
104371 2005-06-01  Bruno Haible  <bruno@clisp.org>
104373         * modules/csharpexec: New file.
104374         * MODULES.html.sh (C#): New section.
104376 2005-06-01  Bruno Haible  <bruno@clisp.org>
104378         * m4/csharp.m4: New file, from GNU gettext.
104379         * m4/csharpexec.m4: New file, from GNU gettext.
104381 2005-06-01  Bruno Haible  <bruno@clisp.org>
104383         * lib/csharpexec.h: New file, from GNU gettext.
104384         * lib/csharpexec.c: New file, from GNU gettext.
104385         * lib/csharpexec.sh.in: New file, from GNU gettext.
104387 2005-05-31  Derek Price  <derek@ximbiot.com>
104388             Paul Eggert  <eggert@cs.ucla.edu>
104390         Sync from cvs.
104391         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
104393 2005-05-31  Derek Price  <derek@ximbiot.com>
104394             Paul Eggert  <eggert@cs.ucla.edu>
104396         Sync from cvs.
104397         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
104399 2005-05-29  Derek Price  <derek@ximbiot.com>
104401         * config/srclist.txt (glob_.h, glob.c): Add these files.
104403 2005-05-29  Derek Price  <derek@ximbiot.com>
104405         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
104406         * modules/glob: New file.
104407         * modules/getlogin_r: Add link to POSIX spec in description.
104409 2005-05-29  Derek Price  <derek@ximbiot.com>
104410             Paul Eggert  <eggert@cs.ucla.edu>
104412         * m4/glob.m4: New file.
104414 2005-05-29  Derek Price  <derek@ximbiot.com>
104415             Paul Eggert  <eggert@cs.ucla.edu>
104417         * lib/glob_.h, lib/glob.c: New files.
104419 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
104421         * modules/fts (Files): Remove m4/inttypes-pri.m4.
104422         * modules/fts-lgpl (Depends-on): Remove gettext.
104424 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
104426         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
104427         and don't require gt_INTTYPES_PRI.
104429 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
104431         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
104433         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
104434         the configuration hassle isn't worth it.
104435         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
104436         (LONGEST_MODIFIER, PRIuMAX): Remove.
104438 2005-05-27  Bruno Haible  <bruno@clisp.org>
104440         * lib/getlogin_r.h: Remove second include of <stddef.h>.
104442 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
104444         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
104445         _POSIX_PTHREAD_SEMANTICS for Solaris.
104447 2005-05-25  Derek Price  <derek@ximbiot.com>
104449         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
104451 2005-05-25  Derek Price  <derek@ximbiot.com>
104452             Paul Eggert  <eggert@cs.ucla.edu>
104454         * modules/getlogin_r, m4/getlogin_r.m4: New files.
104455         * lib/getlogin_r.c, getlogin_r.h: New files.
104457 2005-05-25  Bruno Haible  <bruno@clisp.org>
104458             Derek Price  <derek@ximbiot.com>
104460         * lib/getlogin_r.h: Simplify API documentation.
104462 2005-05-23  Derek Price  <derek@ximbiot.com>
104464         * modules/minmax (Files): Add m4/minmax.m4.
104465         (configure.ac): Add gl_MINMAX.
104467 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
104469         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
104470         so that unistd-safer.h (GPL'ed code) need not be included.
104472 2005-05-22  Bruno Haible  <bruno@clisp.org>
104474         * m4/minmax.m4: New file.
104475         Based on a patch by Derek Price <derek@ximbiot.com>.
104477 2005-05-22  Bruno Haible  <bruno@clisp.org>
104479         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
104480         (INT64_MIN): Fix definition.
104481         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
104483         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
104484         NEED_SIGNED_INT_TYPES.
104486         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
104487         HAVE_SYSTEM_INTTYPES.
104489 2005-05-22  Bruno Haible  <bruno@clisp.org>
104491         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
104492         Also include <sys/param.h> if it defines MIN, MAX.
104493         Based on a patch by Derek Price <derek@ximbiot.com>.
104495 2005-05-21  Jim Meyering  <jim@meyering.net>
104497         * modules/fts (Files): Add m4/inttypes-pri.m4.
104498         (Depends-on): Add lstat and remove gettext.  Alphabetize.
104500 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
104502         New fts module.
104503         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
104504         (setup_dir, free_dir): New functions.
104505         (enter_dir, leave_dir): Define trivial
104506         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
104507         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
104508         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
104509         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
104510         Move to fts-cycle.c.
104511         (fts_open): Use setup_dir.
104512         (fts_close): Use free_dir.
104513         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
104514         This adds a label and some gotos, but the alternatives were messier.
104515         Check for memory allocation failure when entering a dir.
104516         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
104517         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
104518         (FTS): New member fts_cycle, that is a union that contains the
104519         old active_dir_ht and cycle_state.  All uses changed to mention
104520         fts_cycle.ht and fts_cycle.state.
104521         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
104522         fts.c, with the following changes:
104523         (setup_dir, free_dir): New functions.
104524         (enter_dir): Now returns bool.  Return true if successful, false
104525         if memory exhausted.  All callers changed.
104526         Do not bother partly cleaning up on
104527         memory allocation failure; that is free_dir's job.
104528         However, free ad if hash_insert fails, to avoid memory leak.
104529         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
104530         fts->fts_options to see which union member to use.
104532 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
104534         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
104535         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
104537 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
104539         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
104541 2005-05-20  Jim Meyering  <jim@meyering.net>
104543         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
104544         Now a macro, to pacify GCC.
104546 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
104548         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
104549         of -1.
104551 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
104553         * lib/chown.c (rpl_chown): Return -1 on failure.
104555 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
104557         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
104558         Don't check for stddef.h.
104559         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
104560         don't use its results.
104561         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
104562         since we include them unconditionally.  Don't require
104563         AM_STDBOOL_H, since stdbool is a prerequisite.
104564         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
104565         since we assume C89 or better.
104566         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
104567         as we don't use their results.
104568         Don't check for fchdir, memmove, memset, strrchr, as we use
104569         them unconditionally.
104570         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
104571         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
104573 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
104575         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
104576         Include <stddef.h> unconditionally, since we assume C89 now.
104577         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
104578         * lib/fts.c: Include fts_.h first, to check interface.
104579         Do not include intprops.h; no longer needed.
104580         Include cycle-check.h and hash.h, since fts_.h no longer does.
104581         Remove unnecessary casts of closedir to void.
104582         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
104583         decide whether to decrement nlinks.
104584         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
104585         (FTS): Use struct hash_table * instead of Hash_table, so that
104586         we no longer need to include hash.h here.
104588 2005-05-18  Jim Meyering  <jim@meyering.net>
104590         * modules/dirfd (License): Change to LGPL.  Most of the code
104591         is already in the public domain.
104593 2005-05-18  Jim Meyering  <jim@meyering.net>
104595         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
104596         Reported by Yoann Vandoorselaere.
104598 2005-05-17  Jim Meyering  <jim@meyering.net>
104600         * m4/fts.m4: New file, from coreutils.
104602 2005-05-17  Jim Meyering  <jim@meyering.net>
104604         * lib/fts.c, lib/fts_.h: New files, from coreutils.
104606 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
104608         Sync from coreutils.
104609         * m4/unlinkdir.m4: New file.
104611 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
104613         Sync from coreutils.
104614         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
104615         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
104616         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
104617         White space changes only.
104618         * lib/makepath.c (make_path): Port to hosts where leading "//" is
104619         special.
104620         * lib/yesno.c: Include getline.h, not ctype.h.
104621         (yesno): Don't remove leading white space; POSIX doesn't allow it.
104622         Use getline to remove arbitrary restriction on response length.
104624 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
104626         * config/srclist-update: Spell out "Street" in FSF postal
104627         mail address; this is the style the FSF seems to prefer.
104629         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
104630         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
104631         this updates FSF postal mail address.
104633         Sync from coreutils.
104634         * modules/unlinkdir: New file.
104635         * modules/yesno (Depends-on): Add getline.
104636         * MODULES.html.sh (File system functions): Add unlinkdir.
104638 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
104640         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
104641         lib/strsep.h:
104642         Change the initial comment to refer to GPL, not LGPL.
104643         gnulib-tool will change it to LGPL as needed.
104645         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
104646         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
104647         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
104648         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
104649         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
104650         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
104651         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
104652         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
104653         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
104654         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
104655         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
104656         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
104657         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
104658         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
104659         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
104660         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
104661         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
104662         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
104663         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
104664         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
104665         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
104666         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
104667         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
104668         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
104669         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
104670         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
104671         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
104672         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
104673         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
104674         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
104675         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
104676         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
104677         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
104678         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
104679         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
104680         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
104681         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
104682         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
104683         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
104684         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
104685         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
104686         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
104687         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
104688         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
104689         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
104690         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
104691         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
104692         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
104693         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
104694         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
104695         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
104696         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
104697         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
104698         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
104699         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
104700         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
104701         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
104702         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
104703         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
104704         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
104705         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
104706         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
104707         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
104708         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
104709         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
104710         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
104711         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
104712         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
104713         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
104714         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
104715         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
104716         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
104717         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
104718         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
104719         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
104720         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
104721         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
104722         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
104723         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
104724         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
104725         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
104726         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
104727         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
104728         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
104729         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
104730         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
104731         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
104732         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
104733         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
104734         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
104735         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
104736         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
104737         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
104738         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
104739         lib/yesno.c, lib/yesno.h:
104740         Update FSF postal mail address.
104742 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
104744         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
104745         tests/test-memmem.c, tests/test-stpncpy.c:
104746         Update FSF postal mail address.
104748 2005-05-13  Bruno Haible  <bruno@clisp.org>
104750         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
104751         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
104752         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
104753         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
104754         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
104755         Add support for 64-bit integers in the MSVC compiler.
104757 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
104759         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
104761 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
104763         * gnulib-tool (func_import): Sort and uniquify recommended includes.
104765 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
104767         * doc/getdate.texi (General date syntax): Don't say that date
104768         date --iso-8601=ns generates acceptable dates; it doesn't yet.
104769         Problem reported by Nic Ferrier.
104771 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
104773         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
104774         specified in ai_socktype. Fix invalid ai_protocol
104775         check. ai_protocol is usually set to 0 or depending on
104776         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
104777         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
104778         ai_socktype / ai_protocol in the returned addrinfo structure.
104780 2005-05-10  Simon Josefsson  <jas@extundo.com>
104782         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
104783         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
104785 2005-05-10  Karl Berry  <karl@gnu.org>
104787         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
104788         (from http://www.gnu.org/licenses).
104789         * doc/COPYING.LIB: also rename to COPYING.LESSER.
104790         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
104791         fdl.texi suffices.
104793 2005-05-10  Karl Berry  <karl@gnu.org>
104795         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
104796         (COPYING.DOC): remove.
104798         * config/srclist-update: new FSF address.
104800 2005-05-10  Derek Price  <derek@ximbiot.com>
104802         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
104803         possible.
104805 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
104806             Bruno Haible  <bruno@clisp.org>
104808         * modules/inet_ntop: New file.
104809         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
104810         inet_ntop.
104812 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
104813             Bruno Haible  <bruno@clisp.org>
104815         * m4/inet_ntop.m4: New file.
104817 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
104818             Bruno Haible  <bruno@clisp.org>
104820         * lib/inet_ntop.h: New file.
104821         * lib/inet_ntop.c: New file, from glibc with modifications.
104823 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
104825         * modules/time_r (License): Change to LGPL.
104826         * modules/extensions (License): Change to LGPL.  Actually,
104827         the license is more permissive than that, but currently gnulib-tool
104828         doesn't know how to handle more-permissive licenses.
104830         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
104831         Problem reported by Dave Love.
104833 2005-05-08  Jim Meyering  <jim@meyering.net>
104835         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
104836         blank.
104838 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
104840         * modules/argmatch (Depends-on): Add stdbool.
104841         * modules/backupfile (Depends-on): Likewise.
104842         * modules/chdir-long (Depends-on): Likewise.
104843         * modules/closeout (Depends-on): Likewise.
104844         * modules/cycle-check (Depends-on): Likewise.
104845         * modules/dirname (Depends-on): Likewise.
104846         * modules/fnmatch (Depends-on): Likewise.
104847         * modules/fsusage (Depends-on): Likewise.
104848         * modules/fwriteerror (Depends-on): Likewise.
104849         * modules/getcwd (Depends-on): Likewise.
104850         * modules/getloadavg (Depends-on): Likewise.
104851         * modules/hard-locale (Depends-on): Likewise.
104852         * modules/makepath (Depends-on): Likewise.
104853         * modules/mountlist (Depends-on): Likewise.
104854         * modules/nanosleep (Depends-on): Likewise.
104855         * modules/posixtm (Depends-on): Likewise.
104856         * modules/quotearg (Depends-on): Likewise.
104857         * modules/readtokens (Depends-on): Likewise.
104858         * modules/readtokens0 (Depends-on): Likewise.
104859         * modules/readutmp (Depends-on): Likewise.
104860         * modules/save-cwd (Depends-on): Likewise.
104861         * modules/strftime (Depends-on): Likewise.
104862         * modules/userspec (Depends-on): Likewise.
104863         * modules/utimecmp (Depends-on): Likewise.
104864         * modules/xgetcwd (Depends-on): Likewise.
104865         * modules/xnanosleep (Depends-on): Likewise.
104866         * modules/xstrtod (Depends-on): Likewise.
104867         * modules/yesno (Depends-on): Likewise.
104869 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
104871         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
104872         needless checks.
104874 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
104876         Merge from coreutils.  Among other things,
104877         add bulletproofing for cases where stdin, stdout, or stderr are closed.
104878         * lib/fd-safer.c: New file.
104879         * lib/fcntl-safer.h, open-safer.c: Remove.
104880         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
104881         * lib/dup-safer.c: Include unistd-safer.h first.
104882         Don't include errno.h.
104883         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
104884         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
104885         * lib/file-type.c: Rely on file-type.h change.
104886         * lib/getloadavg.c: Include unistd-safer.h.
104887         (getloadavg): Use safer open.
104888         * lib/getusershell.c: Include "stdio-safer.h".
104889         (getusershell): Use safer fopen.
104890         * lib/long-options.c (long_options): Use NULL rather than 0.
104891         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
104892         'free'.
104893         * lib/modechange.c: Likewise.
104894         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
104895         (MODE_DONE): New constant.
104896         (struct mode_change): Remove 'next' member.
104897         (make_node_op_equals): New function; like the old one of the
104898         same name, except it allocates an array.
104899         (mode_compile, mode_create_from_ref): Use it.
104900         (mode_compile): Allocate result as an array, not a linked list.
104901         Parse octal string ourself, so that we catch mistakes like "+0".
104902         (mode_adjust): Arg is an array, not a linked list.
104903         * lib/modechange.c: Include stat-macros.h, xalloc.h.
104904         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
104905         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
104906         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
104907         Remove.  This is now stat-macros.h's job.
104908         (talloc): Remove.  All callers replaced by xalloc, so that
104909         our invokers don't have to worry about reporting memory failures.
104910         (make_node_op_equals): Remove.
104911         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
104912         New constants.
104913         (struct mode_change): Moved here from modechange.h.
104914         (mode_append_entry): Remove.
104915         (mode_compile): Remove MASKED_OPS arg, since it encouraged
104916         apps to have incorrect behavior.  Use simpler algorithm for head
104917         and tail.  Don't futz with umask; that's now the job of mode_adjust.
104918         Detect more invalid usages rather than having somewhat-random behavior.
104919         Don't insert an "a=" action, as that leads to incorrect behavior.
104920         (mode_compile, mode_create_from_ref): Return NULL on error instead
104921         of an enum, since now there's only one way to have an error.  All
104922         callers changed.
104923         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
104924         at the correct time.  Simplify calculation of "+u" and its ilk.
104925         Don't mishandle "+X".
104926         (mode_free): Remove "register" and localize decls.
104927         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
104928         (struct mode_change): Move to modechange.c; callers don't
104929         need to see this stuff.
104930         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
104931         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
104932         (mode_change, mode_adjust): Reflect the new signatures noted above.
104933         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
104934         that might redefine system include files.
104935         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
104936         (my_usleep): Use NULL rather than (void *) 0.
104937         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
104938         Use siginterrupt to specify that system calls should be interrupted.
104939         (rpl_nanosleep): Move initialization of suspended closer to call of
104940         my_usleep.
104941         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
104942         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
104943         (desirable_utmp_entry): New function.
104944         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
104945         using x2nrealloc, to simplify logic.
104946         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
104947         size calculation.  Do not assume utmp file is a regular file.
104948         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
104949         (READ_UTMP_CHECK_PIDS): New constant.
104950         * lib/save-cwd.c: Include unistd-safer.h.
104951         (save_cwd): Use fd_safer.
104952         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
104953         [!_LIBC] Include "stat-macros.h" instead.
104954         * lib/unistd-safer.h (fd_safer): New decl.
104956 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
104958         * modules/getloadavg (Depends-on): Add unistd-safer.
104959         * modules/getusershell (Depends-on): Add stdio-safer.
104960         * modules/lstat (Depends-on): Remove xalloc.
104961         * modules/mkstemp (Depends-on): Add stat-macros.
104962         * modules/modechange (Depends-on): Remove xstrtol.
104963         Add stat-macros, xalloc.
104964         * modules/save-cwd (Depends-on): Add unistd-safer.
104965         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
104966         * modules/unistd-safer (Files): Add lib/fd-safer.c
104967         (Makefile.am): Remove lib_SOURCES.
104969         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
104970         Remove fcntl-safer; unistd-safer supersedes it.
104972 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
104974         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
104975         AC_HEADER_STAT.
104976         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
104977         (gl_PREREQ_CHOWN): Remove.
104978         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
104979         it.  Don't require AC_HEADER_STAT.
104980         (gl_PREREQ_LSTAT): Remove.
104981         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
104982         Don't require AC_HEADER_STAT.
104983         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
104984         (gl_PREREQ_RMDIR): Remove.
104985         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
104986         mention stat-macros.h or AC_HEADER_STAT, since we'll make
104987         the stat-macros module a prerequisite.
104988         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
104989         * m4/filemode.m4 (gl_FILEMODE): Likewise.
104990         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
104991         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
104992         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
104993         variable names.
104994         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
104995         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
104996         variable prefixes.
104997         * m4/fcntl-safer.m4: Remove.
104998         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
104999         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
105000         Invoke gl_PREREQ_FD_SAFER.
105001         (gl_PREREQ_FD_SAFER): New macro.
105002         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
105003         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
105004         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
105005         Remove duplicate call to AC_LIBOBJ(readutmp).
105006         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
105008         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
105009         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
105011 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
105013         * MODULES.html.sh (Misc): Add byteswap.
105015 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
105017         * modules/getcwd (Depends-on): Add extensions.
105018         * modules/openat (Depends-on): Likewise.
105020 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
105022         * modules/byteswap: New file.
105024 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
105026         * m4/byteswap.m4: New file.
105028 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
105030         * lib/byteswap_.h: New file.
105032 2005-04-25  Karl Berry  <karl@gnu.org>
105034         * m4/gettext.m4: Update from GNU gettext 0.14.4.
105036 2005-04-25  Albert Chin  <china@thewrittenword.com>
105038         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
105039         Toolkit C bug.
105041 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
105043         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
105044         (func_ln_if_changed): Remove forcibly for no error message
105045         in case file does not exist.
105047 2005-04-19  Simon Josefsson  <jas@extundo.com>
105049         * gnulib-tool (Options): Make --symlink mean --symbolic.
105051 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
105053         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
105055 2005-04-16  Simon Josefsson  <jas@extundo.com>
105057         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
105059 2005-04-15  Simon Josefsson  <jas@extundo.com>
105061         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
105063 2005-04-15  Simon Josefsson  <jas@extundo.com>
105065         * gnulib-tool: Rename --symlink to --symbolic.
105067 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
105069         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
105070         symbolic links to files instead of copying/moving.  Add --aux-dir,
105071         specifying directory relative --dir where auxiliary build tools
105072         are placed.
105074 2005-04-14  Bruno Haible  <bruno@clisp.org>
105076         * modules/allocsa (License): Change to LGPL.
105077         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
105079 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
105081         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
105082         that "UTC +1 second" continues to work.  Problem reported
105083         by Dmitry V. Levin.
105084         (relunit_snumber): New rule.
105085         (relunit): Use it.
105087 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
105089         * lib/getdate.y (universal_time_zone_table): New constant.
105090         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
105091         universal_time_zone_table.
105092         (lookup_zone): Prefer universal_time_zone_table to
105093         local_time_zone_table, so that "GMT" time stamps are allowed in
105094         London during the summer.  Problem reported by Ian Abbott.
105096 2005-04-12  Jim Meyering  <jim@meyering.net>
105098         * lib/human.c (humblock): Set *options even when returning due to
105099         xstrtoumax conversion failure.  Thanks to a used-uninitialized
105100         warning from gcc-4.
105102 2005-04-09  Jim Meyering  <jim@meyering.net>
105104         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
105105         -Wuninitialized: initialize tm0.tm_year.
105107 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
105109         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
105110         count, since there's no maximum.  All uses changed.
105111         Add member dsts_seen.
105112         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
105113         not being INT_MAX.
105114         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
105115         Use pc_rels_seen to decide whether a date is absolute.
105117         * lib/getdate.y (number): Don't overwrite year.
105118         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
105119         check.
105121 2005-04-02  Simon Josefsson  <jas@extundo.com>
105123         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
105124         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
105126 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
105128         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
105129         where no absolute path name can be longer than PATH_MAX.
105131 2005-03-27  Jim Meyering  <jim@meyering.net>
105133         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
105135 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
105137         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
105138         "one's complement" -> "ones' complement" in comment, as per Knuth.
105139         "value of type" -> "type or expression" in comment.
105140         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
105142 2005-03-26  Jim Meyering  <jim@meyering.net>
105144         Comment nits.
105145         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
105146         Correct typos: s/or/of/.
105148 2005-03-26  Jim Meyering  <jim@meyering.net>
105150         * modules/check-include-files: Move to ../ and rename to...
105151         * check-module: ...this.
105153 2005-03-25  Jim Meyering  <jim@meyering.net>
105155         * modules/xvasprintf (Files): Add xalloc.h.
105157 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
105159         * modules/gettext (Files): config/config.rpath ->
105160         build-aux/config.rpath
105161         * modules/iconv (Files): Likewise.
105162         Problem reported by Oskar Liljeblad.
105164 2005-03-23  Jim Meyering  <jim@meyering.net>
105166         * modules/check-include-files: New script to check for
105167         missing dependencies, multiple includes, etc.
105169         * modules/c-strtold (Depends-on): Add xalloc.
105170         * modules/c-strtod (Depends-on): Add xalloc.
105171         * modules/hash (Depends-on): Add xalloc.
105172         (Files): Remove lib/xalloc.h.
105174         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
105175         * modules/userspec (Files): Add lib/inttostr.h.
105177 2005-03-23  Jim Meyering  <jim@meyering.net>
105179         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
105181 2005-03-22  Jim Meyering  <jim@meyering.net>
105183         * modules/stat-macros: New module.
105184         * modules/canonicalize, modules/euidaccess, modules/file-type,
105185         * modules/filemode, modules/lchown, modules/makepath,
105186         * modules/rmdir, modules/stat: Depend on new stat-macros module
105187         rather than listing lib/stat-macros.h manually.
105188         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
105190 2005-03-22  Jim Meyering  <jim@meyering.net>
105192         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
105194 2005-03-22  Bruno Haible  <bruno@clisp.org>
105196         * config/srclist.txt: Replace target directory 'config' with
105197         'build-aux'.
105198         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
105199         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
105200         ../build-aux/.
105202 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
105204         * modules/chdir-long (Depends-on): Add mempcpy.
105206         * modules/acl, modules/backupfile, modules/c-strtod,
105207         modules/c-strtold, modules/canon-host, modules/canonicalize,
105208         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
105209         modules/exclude, modules/exitfail, modules/file-type,
105210         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
105211         modules/getdate, modules/getline, modules/getpagesize,
105212         modules/getpass, modules/getugroups, modules/group-member,
105213         modules/hard-locale, modules/hash, modules/human, modules/idcache,
105214         modules/inttostr, modules/long-options, modules/makepath,
105215         modules/md5, modules/memcasecmp, modules/memcoll,
105216         modules/modechange, modules/mountlist, modules/path-concat,
105217         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
105218         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
105219         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
105220         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
105221         modules/strftime, modules/strndup, modules/strverscmp,
105222         modules/timespec, modules/unlocked-io, modules/userspec,
105223         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
105224         modules/yesno:
105225         Remove lib_SOURCES line from Makefile.am section, as this is now
105226         done automatically by the corresponding Autoconf macro.
105228 2005-03-21  Jim Meyering  <jim@meyering.net>
105230         Changes imported from coreutils.
105232         * lib/cycle-check.c: Don't include xalloc.h.
105234         * lib/path-concat.c: Don't include assert.h.
105235         (path_concat): Remove assertion that would have triggered
105236         for ABASE starting with more than one slash.
105237         Reported by Andreas Schwab.
105239         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
105240         properly when ABASE is an absolute file name.
105241         Correct the description of this function.
105242         Include <assert.h>.
105243         Add an assertion and a test driver.
105244         This fixes a bug introduced on 2004-07-02.
105245         Andreas Schwab reported the resulting failure of cp --parents:
105246         http://lists.gnu.org/r/bug-coreutils/2005-01/msg00130.html
105248 2005-03-21  Jim Meyering  <jim@meyering.net>
105250         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
105251         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
105253 2005-03-21  Jim Meyering  <jim@meyering.net>
105254         and  Paul Eggert  <eggert@cs.ucla.edu>
105256         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
105257         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
105258         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
105259         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
105260         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
105261         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
105262         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
105263         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
105264         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
105265         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
105266         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
105267         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
105268         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
105269         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
105270         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
105271         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
105272         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
105273         for these modules.
105275 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
105277         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
105278         (which shouldn't happen), generate nothing instead of returning 0
105279         immediately, so that nstrftime (NULL, ...) doesn't return 0.
105281 2005-03-16  Bruno Haible  <bruno@clisp.org>
105283         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
105284         HAVE_LONGLONG_64BIT.
105286 2005-03-16  Bruno Haible  <bruno@clisp.org>
105288         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
105289         HAVE_LONGLONG_64BIT.
105291 2005-03-16  Bruno Haible  <bruno@clisp.org>
105293         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
105294         HAVE_LONGLONG_64BIT.
105296 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
105298         * lib/strftime.c (my_strftime): Prepend space to format so that we can
105299         reliably distinguish strftime failure from empty output on POSIX
105300         hosts.
105302 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
105304         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
105305         (iconv_string): Don't guess a size-zero buffer, as that might cause
105306         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
105307         result would be 'too large', where 'too large' is (heuristically)
105308         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
105309         overflow concerns.  This will prevent some unwanted malloc failures
105310         when the inputs are very large.
105312 2005-03-15  Karl Berry  <karl@gnu.org>
105314         * config/srclist.txt (config.rpath): from gettext.
105315         * config/config.rpath: update.
105317 2005-03-15  Bruno Haible  <bruno@clisp.org>
105319         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
105320         to 'negate'.
105322         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
105323         variable.
105325         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
105326         results.
105328 2005-03-14  Simon Josefsson  <jas@extundo.com>
105330         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
105331         <fx@gnu.org>.
105333 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
105335         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
105336         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
105337         intprops.h.
105338         * lib/strtol.c: Likewise.
105340 2005-03-14  Jim Meyering  <jim@meyering.net>
105342         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
105343         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
105344         to be nonzero so that we (and caller) can detect the difference
105345         between a valid zero-length expansion and an error return, even
105346         when the underlying strftime fails before writing anything into
105347         that location.
105349 2005-03-14  Bruno Haible  <bruno@clisp.org>
105351         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
105352         Update from GNU gettext 0.14.3.
105354 2005-03-10  Jim Meyering  <jim@meyering.net>
105356         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
105358 2005-03-10  Jim Meyering  <jim@meyering.net>
105360         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
105361         so that this module works on systems without fchdir.
105363 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
105365         Factor int-properties macros into a single file, except for
105366         glibc-related files.
105367         * lib/intprops.h: New file.
105368         * lib/getloadavg.c: Include it instead of limits.h.
105369         (INT_STRLEN_BOUND): Remove.
105370         * lib/human.c: Include intprops.h.
105371         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
105372         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
105373         302/1000.
105374         * lib/inttostr.h: Include intprops.h instead of limits.h.
105375         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
105376         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
105377         for consistency with intprops.h.
105378         (time_t_is_integer, twos_complement_arithmetic): Use them.
105379         * lib/sig2str.h: Include <signal.h>, intprops.h.
105380         (INT_STRLEN_BOUND): Remove.
105381         * lib/strftime.c (TYPE_SIGNED): Remove.
105382         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
105383         * lib/strtol.c: Adjust comments to match intprops.h.
105384         * lib/userspec.c: Include intprops.h.
105385         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
105386         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
105387         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
105388         instead of rolling our own expressions.
105389         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
105391         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
105392         instead of int.
105393         (my_strftime): Do not mishandle years close to INT_MAX, by doing
105394         the right thing even if adding 1900 would overflow.  Similarly
105395         for tm_mon + 1 and tm_yday + 1.
105396         Make %Y always equivalent to %C%y, and similarly for %G and %g.
105397         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
105398         (DO_SIGNED_NUMBER): New macro.
105399         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
105401 2005-03-07  Bruno Haible  <bruno@clisp.org>
105403         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
105405 2005-03-07  Bruno Haible  <bruno@clisp.org>
105407         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
105409 2005-03-04  Derek R. Price  <derek@ximbiot.com>
105411         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
105412         (func_import): Only replace files via --import when they have actually
105413         changed.
105415 2005-03-03  Derek R. Price  <derek@ximbiot.com>
105417         * m4/mmap-anon.m4: New file.
105418         * m4/pagealign_alloc.m4: New file.
105420 2005-03-03  Derek R. Price  <derek@ximbiot.com>
105421             Bruno Haible  <bruno@clisp.org>
105423         * modules/pagealign_alloc: New file.
105424         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
105426 2005-03-03  Derek R. Price  <derek@ximbiot.com>
105427             Bruno Haible  <bruno@clisp.org>
105429         * lib/pagealign_alloc.h: New file.
105430         * lib/pagealign_alloc.c: New file.
105432 2005-03-03  Bruno Haible  <bruno@clisp.org>
105434         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
105435         Use an all-permissive copyright notice, recommended by RMS.
105437 2005-03-02  Bruno Haible  <bruno@clisp.org>
105439         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
105440         of AIX, the replacement has to be done only after <string.h> is
105441         included, therefore not in config.h. stpncpy.h does the replacement,
105442         and stpncpy.c uses it.
105444 2005-03-02  Bruno Haible  <bruno@clisp.org>
105446         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
105447         stpncpy.c uses it.
105449 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
105451         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
105452         The workaround isn't strictly needed for POSIX conformance, and
105453         it's too much of a pain to configure and maintain.  We'll ask
105454         people to fix their kernels instead.
105455         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
105456         (NANOSLEEP_BUG_WORKAROUND): Remove.
105457         (xnanosleep): Remove the workaround.
105459 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
105461         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
105462         Reported by Derek Price.
105463         (Include): Add "timespec.h".
105465         * modules/xnanosleep (Depends-on): Remove gethrxtime.
105467 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
105469         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
105470         to detect nanosleep bug.
105472 2005-03-01  Bruno Haible  <bruno@clisp.org>
105474         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
105476 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
105478         * modules/gethrxtime: New file.
105479         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
105480         (Depends-on): Add gethrxtime.
105481         (configure.ac): Add gl_XNANOSLEEP.
105482         (Makefile.am): Remove lib_SOURCES line.
105484 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
105486         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
105487         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
105489 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
105491         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
105492         * lib/timespec.h (gettime): Return void, since it always
105493         succeeds now.  All uses changed.
105494         * lib/gettime.c (gettime): Likewise.
105495         [HAVE_NANOTIME]: Prefer nanotime.
105496         Assume gettimeofday succeeds, as POSIX requires.
105497         Assime time () succeeds, since other code already does.
105498         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
105499         (timespec_subtract): Remove.
105500         (NANOSLEEP_BUG_WORKAROUND): New constant.
105501         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
105502         things considerably.  Use it only on GNU/Linux hosts, since the
105503         workaround shouldn't be needed elsewhere.
105505 2005-02-24  Bruno Haible  <bruno@clisp.org>
105507         * modules/gettext (Files): Add m4/glibc2.m4.
105509 2005-02-24  Bruno Haible  <bruno@clisp.org>
105511         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
105512         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
105513         * m4/progtest.m4:
105514         Update from GNU gettext 0.14.2.
105515         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
105517 2005-02-24  Bruno Haible  <bruno@clisp.org>
105519         * lib/localcharset.c: Update from GNU gettext 0.14.2.
105520         * lib/config.charset: Update from GNU gettext 0.14.2.
105522 2005-02-24  Bruno Haible  <bruno@clisp.org>
105524         * lib/gettext.h: Update from GNU gettext 0.14.2.
105526 2005-02-23  Simon Josefsson  <jas@extundo.com>
105528         * m4/iconvme.m4: New file.
105530 2005-02-23  Jim Meyering  <jim@meyering.net>
105532         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
105533         change.
105534         Thanks to Bruno Haible for catching it.
105536 2005-02-22  Simon Josefsson  <jas@extundo.com>
105538         * modules/iconvme: New file.
105540         * MODULES.html.sh: Add iconvme.
105542 2005-02-22  Simon Josefsson  <jas@extundo.com>
105544         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
105546 2005-02-22  Simon Josefsson  <jas@extundo.com>
105548         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
105550 2005-02-22  Jim Meyering  <jim@meyering.net>
105552         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
105553         s/ifndef/ifdef/.
105555 2005-02-20  Neil Conway  <neilc@samurai.com>
105557         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
105558         returned by OSX/Darwin if the specified buffer is not large
105559         enough for the hostname.
105561 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
105563         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
105564         pass it to _help, otherwise the latter coredumps trying to
105565         dereference state.root_argp.
105567 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
105569         * modules/chdir-long (Depends-on): Add memrchr.
105570         * modules/memrchr (Files): Add lib/memrchr.h.
105571         (Include): "memrchr.h".
105573 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
105575         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
105577 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
105579         * lib/memrchr.h: New file.
105580         * lib/chdir-long.c: Include it.
105581         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
105582         Don't bother including stddef.h.
105584 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
105586         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
105587         inclusion.
105588         Include <sys/types.h>, for dev_t.
105589         (ME_DUMMY, ME_REMOTE): Move from here....
105590         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
105591         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
105592         Dmitry V. Levin.
105593         Include mountlist.h first, to test the interface.
105595 2005-01-29  Bruno Haible  <bruno@clisp.org>
105597         * lib/progname.c (program_name): Initialize.
105598         Needed when linking statically on MacOS X.
105600 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
105602         Sync from coreutils.
105603         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
105604         (Depends-on): Add c-strtod.
105605         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
105607 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
105609         Sync from coreutils.
105610         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
105612         Remove files that are specific to coreutils.
105613         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
105615 2005-01-28  Bruno Haible  <bruno@clisp.org>
105617         * modules/javacomp: New file.
105618         * MODULES.html.sh (Java): Add javacomp.
105620 2005-01-28  Bruno Haible  <bruno@clisp.org>
105622         * m4/javacomp.m4: New file, from GNU gettext.
105624 2005-01-28  Bruno Haible  <bruno@clisp.org>
105626         * lib/javacomp.sh.in: New file, from GNU gettext.
105627         * lib/javacomp.h: New file, from GNU gettext.
105628         * lib/javacomp.c: New file, from GNU gettext.
105630 2005-01-26  Simon Josefsson  <jas@extundo.com>
105632         * lib/gai_strerror.c: Use GPL in header.
105634 2005-01-26  Bruno Haible  <bruno@clisp.org>
105636         * modules/javaexec: New file.
105637         * MODULES.html.sh (Java): Add javaexec.
105639 2005-01-26  Bruno Haible  <bruno@clisp.org>
105641         * m4/javaexec.m4: New file, from GNU gettext.
105643 2005-01-26  Bruno Haible  <bruno@clisp.org>
105645         * lib/javaexec.sh.in: New file, from GNU gettext.
105646         * lib/javaexec.h: New file, from GNU gettext.
105647         * lib/javaexec.c: New file, from GNU gettext.
105649 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
105651         * modules/lchown (Depends-on): Remove lchown.h
105653 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
105655         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
105656         must be defined if the header file was not found, in order
105657         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
105659 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
105661         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
105662         initializers for struct pentry_state.
105663         (__argp_error): Check return value of __asprintf
105664         (__argp_failure): Translate error message
105666         * lib/argp-parse.c: Removed braces around the expansion of N_()
105668 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
105670         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
105671         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
105672         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
105673         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
105674         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
105675         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
105676         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
105677         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
105678         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
105679         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
105680         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
105681         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
105682         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
105683         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
105684         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
105685         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
105686         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
105687         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
105688         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
105689         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
105690         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
105691         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
105692         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
105693         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
105694         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
105695         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
105696         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
105697         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
105698         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
105699         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
105700         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
105701         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
105702         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
105703         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
105704         xstrtol.m4, xstrtoumax.m4, yesno.m4:
105705         Use an all-permissive copyright notice, recommended by RMS.
105707 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
105709         * modules/chdir-long (Depends-on): Remove mempcpy.
105711 2005-01-21  Jim Meyering  <jim@meyering.net>
105713         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
105714         same value as for Solaris 9.
105716         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
105717         component length.  This included changing the parameter to be
105718         of type `char *' rather than `char const *'.
105719         * lib/chdir-long.h (chdir_long): Update prototype.
105721         * lib/openat.c (fdopendir, fstatat): New functions.
105722         * lib/openat.h: Include headers required for use of DIR and struct
105723         stat.
105724         [AT_SYMLINK_NOFOLLOW]: Define.
105725         (fdopendir, fstatat): Add prototypes.
105727 2005-01-21  Bruno Haible  <bruno@clisp.org>
105729         * modules/classpath: New file.
105730         * MODULES.html.sh (Java): Add classpath.
105732 2005-01-21  Bruno Haible  <bruno@clisp.org>
105734         * lib/classpath.h: New file, from GNU gettext.
105735         * lib/classpath.c: New file, from GNU gettext.
105737 2005-01-20  Simon Josefsson  <jas@extundo.com>
105739         * modules/version-etc-fsf: New file.
105741 2005-01-20  Simon Josefsson  <jas@extundo.com>
105743         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
105744         * lib/version-etc.c: Remove version_etc_copyright.
105745         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
105746         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
105748 2005-01-20  Simon Josefsson  <jas@extundo.com>
105750         * lib/base64.h (isbase64): Add.
105752         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
105753         using a unsigned prototype, don't inline.
105754         (base64_decode): Use it.
105756 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
105758         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
105759         it.
105761 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
105763         * lib/save-cwd.c (save_cwd): Remove code to support the case
105764         where fchdir is missing or flaky.
105766 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
105768         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
105770 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
105772         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
105773         AC_LIBSOURCES now does this.
105774         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
105775         with new ullong_max module.
105777 2005-01-19  Bruno Haible  <bruno@clisp.org>
105779         * modules/sh-quote: New file.
105780         * MODULES.html.sh (Executing programs): Add sh-quote.
105782 2005-01-19  Bruno Haible  <bruno@clisp.org>
105784         * lib/sh-quote.h: New file, from GNU gettext.
105785         * lib/sh-quote.c: New file, from GNU gettext.
105787 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
105789         Merge from coreutils.
105790         * m4/ullong_max.m4: New file.
105791         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
105792         (gl_MACROS): Assume localeconv exists.
105794 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
105796         Merge changes from coreutils, as described below in several
105797         changelogs dated today.
105799         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
105800         (O_DIRECTORY): Remove; not needed here, since "." must be
105801         a directory.  All uses removed.
105802         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
105803         universal on Suns, and we also need to test for IRIX.
105804         Revamp code to use 'if' rather than '#if'.
105805         Avoid unnecessary comparison of cwd->desc to 0.
105807         * lib/utimens.c (futimens): Robustify the previous patch, by checking
105808         for known valid error numbers rather than observed invalid ones.
105810 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
105812         * modules/ullong_max: New file.
105814         * modules/chdir-long, modules/openat: New files.
105815         * modules/save-cwd (Depends-on): Depend on chdir-long.
105816         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
105818 2005-01-18  Jim Meyering  <jim@meyering.net>
105820         Merge from coreutils.
105821         * m4/chdir-long.m4, m4/openat.m4: New files.
105822         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
105823         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
105824         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
105825         is sane and DOES follow symlinks.  Besides, testing 20 different
105826         systems found no broken chown implementations.
105827         Prompted by a change in rsync's copy of this macro.
105828         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
105830         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
105832         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
105833         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
105834         NULL-means-set-to-current-time semantics.
105835         Remove temporary file immediately, rather than waiting
105836         for configure's at-exit trap code to do it.
105838 2005-01-18  Jim Meyering  <jim@meyering.net>
105840         * lib/version-etc.c (version_etc_copyright): Update copyright date.
105842         * lib/utimens.c (futimens): Account for the fact that futimes
105843         can also fail with errno == ENOSYS or errno == ENOENT.
105844         Patch from Dmitry V. Levin.
105846         Change the name of the robust chdir function from chdir to chdir_long.
105847         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
105848         (restore_cwd): Use chdir_long, not chdir.
105849         * lib/chdir-long.c: Renamed from chdir.c.
105850         * lib/chdir-long.h: Renamed from chdir.h.
105851         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
105852         Hurd.
105854 2005-01-18  Bruno Haible  <bruno@clisp.org>
105856         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
105857         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
105858         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
105859         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
105860         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
105861         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
105862         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
105863         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
105864         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
105865         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
105866         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
105867         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
105868         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
105869         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
105870         Use an all-permissive copyright notice, recommended by RMS.
105872 2005-01-18  Bob Proulx  <bob@proulx.com>
105874         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
105875         simplify offsetof() macro construct to avoid compile failure with
105876         native HP-UX 11.0 ANSI C compiler.
105878 2005-01-17  Bruno Haible  <bruno@clisp.org>
105880         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
105881         redundant because stpncpy.m4 takes care of it.
105883 2005-01-17  Bruno Haible  <bruno@clisp.org>
105885         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
105887 2005-01-17  Bruno Haible  <bruno@clisp.org>
105889         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
105890         used.
105892 2005-01-17  Bruno Haible  <bruno@clisp.org>
105894         * lib/fwriteerror.h (fwriteerror): Change specification to include
105895         fclose.
105896         * lib/fwriteerror.c: Include <stdbool.h>.
105897         (fwriteerror): At the end, close the file stream. Record whether
105898         stdout was already closed.
105900 2005-01-17  Bruno Haible  <bruno@clisp.org>
105902         * lib/execute.c (environ): Declare if needed.
105903         * lib/pipe.c (environ): Likewise.
105904         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
105906 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
105908         * modules/argp: Depend on vsnprintf
105910 2005-01-10  Jim Meyering  <jim@meyering.net>
105912         * modules/closeout (Depends-on): Add atexit.
105914 2005-01-06  Bruno Haible  <bruno@clisp.org>
105916         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
105918 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
105920         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
105921         definitions to be after all include files, to avoid collisions.
105922         Problem reported by Bob Proulx.
105924 2005-01-04  Jim Meyering  <jim@meyering.net>
105926         Changes imported from coreutils.
105927         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
105928         as the mkstemp template, use a temporary directory and an
105929         8.3-friendly template to avoid trouble on systems like DJGPP.
105930         Reported by Juan M. Guerrero via Stepan Kasal.
105931         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
105932         close. Remove the temporary directory right away, rather than waiting
105933         for configure's at-exit trap code to do it.
105934         Suggestion from Stepan Kasal.
105936 2005-01-01  Simon Josefsson  <jas@extundo.com>
105938         * gnulib-tool: Print #include directives when --import'ing.
105940 2004-12-28  Simon Josefsson  <jas@extundo.com>
105942         * tests/test-base64.c: Include required header files.  Remove
105943         unused variables.
105945 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
105947         * modules/error (Depends-on): Remove gettext.
105949 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
105951         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
105952         not needed.  This removes a dependency on the gettext module.
105953         [defined _LIBC]: Do not include <libintl.h>; not needed.
105955 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
105957         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
105958         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
105960 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
105962         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
105963         HAVE_DECL_STRTOLD.
105965 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
105967         * modules/getdate (Depends-on): Remove alloca-opt.
105969 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
105971         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
105973 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
105975         * lib/argp-parse.c: Include <stddef.h>.
105976         (alignof, alignto): New macros.
105977         (parser_init): Don't assume that void * is aligned sufficiently
105978         for struct option.
105980         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
105981         need to extend the stack.
105982         (YYINITDEPTH): New macro, so that the initial stack isn't overly
105983         large.
105985 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
105987         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
105989 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
105991         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
105992         (2004-10-24) change.  Apparently this was a false alarm.
105994         * modules/getdate: Depend on alloca-opt, not alloca.
105996 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
105998         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
105999         Remove now-obsolete comment about AIX.
106000         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
106001         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
106002         (YYMAXDEPTH): New macro.
106004 2004-12-18  Simon Josefsson  <jas@extundo.com>
106006         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
106008 2004-12-18  Bruno Haible  <bruno@clisp.org>
106010         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
106012 2004-12-18  Bruno Haible  <bruno@clisp.org>
106014         * lib/fatal-signal.c (fatal_signals): Make non-const.
106015         (init_fatal_signals): New function.
106016         (uninstall_handlers, install_handlers): Ignore signals that were set to
106017         SIG_IGN.
106018         (at_fatal_signal): Call init_fatal_signals.
106019         (init_fatal_signal_set): Likewise. Ignore signals that were set to
106020         SIG_IGN.
106021         Reported by Paul Eggert.
106023 2004-12-18  Bruno Haible  <bruno@clisp.org>
106025         * doc/alloca.texi: New file.
106026         * doc/alloca-opt.texi: New file.
106028 2004-12-17  Jim Meyering  <jim@meyering.net>
106030         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
106031         Otherwise, install-sh could exit with improper exit status when
106032         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
106034 2004-12-16  Simon Josefsson  <jas@extundo.com>
106036         * tests/test-base64.c: Add license.
106038 2004-12-15  Stepan Kasal  <address@hidden>
106040         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
106042 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
106044         * modules/getcwd (Files): Add m4/d-ino.m4.
106045         Suggested by Mark D. Baushke.
106047 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
106049         * lib/getdate.y (textint): New member "negative".
106050         (time_zone_hhmm): New function.
106051         Expect 14 shift-reduce conflicts, not 13.
106052         (o_colon_minutes): New rule.
106053         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
106054         (yylex): Set the "negative" member of signed numbers.
106056 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
106058         * doc/getdate.texi (Time of day items, Time zone items):
106059         Describe new formats +00:00, UTC+00:00.
106061 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
106063         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
106064         spurious "-l"s.  Problem reported by Stepan Kasal.
106066 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
106068         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
106069         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
106071 2004-12-04  Simon Josefsson  <jas@extundo.com>
106073         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
106074         Vandoorselaere <yoann@prelude-ids.org>.
106076 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
106078         Changes imported from coreutils.
106079         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
106080         exist.
106081         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
106083 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
106085         Changes imported from coreutils.
106086         * lib/hard-locale.c: Assume <locale.h> exists.
106087         Include "strdup.h".
106088         (GLIBC_VERSION): New macro.
106089         (hard_locale): Assume setlocale exists.
106090         Rewrite to avoid #ifdef.
106091         Use strdup rather than malloc + strcpy.
106092         * lib/human.c: Assume <locale.h> exists.
106093         (human_readable): Assume localeconv exists.
106095 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
106097         * modules/hard-locale (Depends-on): Add strdup.
106099 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
106101         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
106102         convert T2, not T.  (Imported from libc.)
106104 2004-11-30  Simon Josefsson  <jas@extundo.com>
106106         * modules/restrict (License): Change to LGPL.
106108 2004-11-30  Simon Josefsson  <jas@extundo.com>
106110         * m4/restrict.m4: Add copyright and copying conditions.
106112 2004-11-30  Simon Josefsson  <jas@extundo.com>
106114         * m4/base64.m4: New file.
106116 2004-11-30  Simon Josefsson  <jas@extundo.com>
106118         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
106119         base64.
106121         * tests/test-base64.c: New file.
106123         * modules/base64: New file.
106125 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
106127         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
106128         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
106130         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
106132 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
106134         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
106135         (__getcwd.c): Don't restore errno; glibc doesn't.
106136         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
106137         first, falling back to our code only if its results look suspicious.
106138         Ensure that the resulting buffer is only as large as necessary.
106140         * lib/readutmp.c: Include readutmp.h first.
106141         Include <errno.h>, since readutmp.h no longer does that.
106142         * lib/readutmp.h: Don't include <errno.h>,
106143         <sys/param.h>, <time.h>; not needed to establish interface.
106144         (errno): Remove decl.
106145         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
106146         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
106147         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
106149 2004-11-28  Simon Josefsson  <jas@extundo.com>
106151         * lib/base64.h, base64.c: New file.
106153 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
106155         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
106157 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
106159         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
106160         (Depends-on): Remove pathmax, same.  Add mempcpy.
106161         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
106162         (Makefile.am): Append getcwd.h to lib_SOURCES.
106163         (Include): Add getcwd.h.
106164         (Maintainer): Change from Jim Meyering to "all, glibc",
106165         since getdate now uses intended-for-glibc code.
106166         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
106167         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
106169 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
106171         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
106172         HP's ANSI C compiler.
106173         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
106174         Declaring int functions causes warnings on some modern systems and
106175         shouldn't be needed to compile on ancient ones.
106176         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
106177         defined.
106179         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
106180         with the following changes.
106181         (__set_errno): Parenthesize properly.
106182         Include <stdbool.h>.
106183         (MIN, MAX, MATCHING_INO): New macros.
106184         (__getcwd): Define with prototype, not K&R form.
106185         Use heuristics to allocate default buffer on stack if possible.
106186         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
106187         behavior, and to avoid the PATH_MAX limit when computing
106188         ../../../../...
106189         Use MATCHING_INO to compare inode number to file.
106190         Check for arithmetic overflow in size calculations.
106191         Fix bug in reallocation of dot array that caused getcwd to fail
106192         on directories nested deeper than 75.
106193         Be more careful about saving errno on error.
106194         Do not use realloc; use only free+malloc, as this is a bit
106195         more flexible and avoids a needless copy operation.
106196         Do not inspect st_dev and st_ino for symbolic links; POSIX
106197         doesn't specify the latter.
106198         Check for closedir errors.
106199         Avoid needless casts.
106200         Use "#ifdef weak_alias" around weak_alias, to be like other
106201         glibc code.
106202         The following changes to getcwd.c have effect only when used in
106203         gnulib; they have no effect inside glibc proper.
106204         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
106205         as alloca isn't used.
106206         (alloca, __alloca): Likewise.
106207         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
106208         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
106209         unconditionally, as gnulib assumes C89 or better.
106210         Do not include <sys/param.h>.
106211         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
106212         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
106213         better.
106214         (NULL) [!defined NULL]: Remove; we assume C89 or better.
106215         Include <dirent.h> in a way that is compatible with modern Autoconf.
106216         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
106217         New macros, if not already defined.
106218         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
106219         Use "_LIBC", not "defined _LIBC", for consistency.
106220         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
106221         a mempcpy module.
106222         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
106223         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
106224         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
106225         credit only to Jim Meyering and adjust the copyright dates.
106226         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
106227         <stdlib.h>, <unistd.h>, "pathmax.h".
106228         Instead, include "xgetcwd.h" (first) and "getcwd.h".
106229         (INITIAL_BUFFER_SIZE): Remove.
106230         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
106232 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
106234         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
106235         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
106236         Use the _ONCE methods, for efficiency.
106237         Check for fcntl.h.  In test program, include <errno.h>
106238         and <fcntl.h> if available.  Remove old K&R cruft from
106239         test program.  Check for common errors in GNU/Linux,
106240         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
106241         don't do AC_LIBOBJ, as that's getcwd.m4's job.
106242         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
106243         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
106244         name accordingly.
106245         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
106246         accommodate new getcwd.c.
106247         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
106248         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
106249         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
106250         that's all we need now.
106252 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
106254         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
106255         argp-parse.c depends on getopt internals, that means we should
106256         always use our getopt, to be on the safe side.
106257         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
106258         order not to spoil the result of an eventual previous invocation
106259         of gl_GETOPT_SUBSTITUTE.
106261 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
106263         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
106264         redefinition warnings. To avoid them, include the defines
106265         in `#if !defined __need_getopt ... #endif'. The only place
106266         where __getopt_argv_const is used is in definitions
106267         of getopt_long and getopt_long_only below, which are as well
106268         protected by `#ifndef __need_getopt'.
106269         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
106270         __need_getopt after including <stdio.h> and <unistd.h> These
106271         headers might have defined it.
106273 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
106275         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
106277 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
106279         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
106280         (futimens): New function, which uses futimes if available.
106281         (futimens, utimens): Support timespec==NULL, with same semantics
106282         as utime and utimens.
106283         * lib/utimens.h (futimens): New decl.
106285 2004-11-23  Jim Meyering  <jim@meyering.net>
106287         * lib/getopt_.h: Remove trailing blanks.
106289 2004-11-23  Jim Meyering  <jim@meyering.net>
106291         * lib/__fpending.c: Add comment.
106293 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
106295         * modules/canonicalize (Depends-on): Add xreadlink.
106296         Problem reported by James Youngman.
106298 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
106300         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
106301         New macros.
106302         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
106303         optopt): Use them instead of invoking ## directly; otherwise, the
106304         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
106306 2004-11-19  Bruno Haible  <bruno@clisp.org>
106308         * lib/strtok_r.c: Move comments from here...
106309         * lib/strtok_r.h: ... to here.
106311 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
106313         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
106314         implementations that mishandle size_t overflow.
106316 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
106318         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
106319         might fail.  Problem reported by Yoann Vandoorselaere.
106320         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
106321         implementations that mishandle size_t overflow.
106323 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
106325         * modules/canon-host (Depends-on): Add strdup.
106327 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
106329         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
106331 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
106333         * lib/canon-host.c: Include "strdup.h".
106334         (canon_host): Use getaddrinfo if available, so that IPv6 works.
106335         Use strdup instead of malloc/strcpy to duplicate strings.
106337         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
106338         (human_space_before_unit): New constant.
106339         * lib/human.c (human_readable): Support it.
106341         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
106342         (xgetcwd): Set errno correctly when failing.
106343         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
106344         the failure is actually due to a PATH_MAX problem.
106346         Further getopt changes to make it more likely that glibc will
106347         buy the changes back.
106348         * lib/getopt.c (POSIXLY_CORRECT): New constant.
106349         (getopt): Use it, so to preserve glibc semantic
106350         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
106351         when compiling for libc.
106352         * lib/getopt_.h (__getopt_argv_const): Bring it back.
106353         (getopt_long, getopt_long_only): Use it.
106355         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
106356         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
106357         (getopt): Argv is now char * const *, as per standard.
106358         (_getopt_internal_r, _getopt_internal): Argv is now char **,
106359         not char *__getopt_argv_const *.
106360         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
106361         _getopt_long_only_r): Likewise.
106362         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
106363         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
106364         _getopt_long_r, _getopt_long_only_r): Likewise.
106365         * lib/getopt_.h (__getopt_argv_const): Remove.
106366         (getopt): Argv is now char * const *, as per standard.
106368         * lib/getdate.y (tORDINAL): New token.
106369         (day, relunit): Allow it for relative times.
106370         (relative_time_table): Use tORDINAL for ordinals.
106372 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
106374         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
106375         Document that "second" isn't allowed as an ordinal number.
106377 2004-11-16  Jim Meyering  <jim@meyering.net>
106379         * modules/closeout (Depends-on): Add fpending.
106381 2004-11-15  Jim Meyering  <jim@meyering.net>
106383         * lib/closeout.c: Include "__fpending.h" once again.
106384         Include <stdbool.h>.
106385         (close_stdout): Don't fail just because stdout was closed initially,
106386         since some programs don't write to stdout in the normal course of
106387         operation (other than --version and --help), and we don't want this
106388         function to make e.g. `touch file >&-' fail.
106389         But do fail if it was closed and someone has tried to write to it.
106390         E.g., `printf foo >&-' must fail.
106392 2004-11-13  Jim Meyering  <jim@meyering.net>
106394         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
106396 2004-11-12  Simon Josefsson  <jas@extundo.com>
106398         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
106399         small doc fix is still pending.
106401 2004-11-11  Simon Josefsson  <jas@extundo.com>
106403         * modules/strtok_r: New file.
106405         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
106406         strtok_r.
106408 2004-11-11  Simon Josefsson  <jas@extundo.com>
106410         * m4/strtok_r.m4: New file.
106412         * m4/getopt.m4: Replace opterr.
106414 2004-11-11  Simon Josefsson  <jas@extundo.com>
106416         * lib/strtok_r.h, strtok_r.c: New file.
106418 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
106420         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
106421         of replacing opterr, getopt, etc.  This should handle the
106422         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
106424 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
106426         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
106427         we can stop lying to compilers about the constness of argv when we
106428         are compiled outside glibc.
106429         (getopt, getopt_long, getopt_long_only): Use it.
106430         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
106431         _getopt_internal, getopt): Likewise.
106432         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
106433         _getopt_long_only_r): Likewise.
106434         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
106435         _getopt_long_r, _getopt_long_only_r): Likewise.
106437         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
106438         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
106439         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
106440         the other external symbols.
106441         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
106442         declaration, since the above renaming now works around collisions.
106444 2004-11-11  Jim Meyering  <jim@meyering.net>
106446         * lib/linebreak.c: Remove trailing blanks.
106447         * lib/alloca_.h: Likewise.
106448         * lib/acosl.c: Likewise.
106449         * lib/euidaccess.c: Likewise.
106450         * lib/allocsa.h: Likewise.
106452 2004-11-10  Simon Josefsson  <jas@extundo.com>
106454         * m4/getaddrinfo.m4: New file.
106456 2004-11-10  Simon Josefsson  <jas@extundo.com>
106458         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
106460 2004-11-10  Simon Josefsson  <jas@extundo.com>
106462         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
106463         getaddrinfo.
106465         * modules/getaddrinfo: New file.
106467 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
106469         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
106471 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
106473         * lib/mktime.c (SHR): New macro, which is a portable
106474         substitute for >> that should work even on Crays.
106475         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
106476         Problem reported by Mark D. Baushke in
106477         <http://lists.gnu.org/r/bug-gnulib/2004-11/msg00071.html>.
106478         * lib/getdate.y (SHR): Likewise.
106479         (tm_diff): Use it.
106480         * lib/strftime.c (SHR): Likewise.
106481         (tm_diff): Use it.
106482         * lib/quotearg.c (struct quoting_options): Use unsigned int for
106483         quote_these_too, so that right shifts are well defined.  All uses
106484         changed.
106486 2004-11-10  Jim Meyering  <jim@meyering.net>
106488         Ensure that no close failure goes unreported.
106489         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
106490         return early when it seems there's nothing to flush.
106491         Don't include __fpending.h.
106493 2004-11-10  Jim Meyering  <jim@meyering.net>
106495         * modules/closeout (Depends-on): Remove fpending.
106497 2004-11-10  Jim Meyering  <jim@meyering.net>
106499         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
106501 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
106503         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
106504         gl_FUNC_STRFTIME.
106505         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
106506         and AC_REQUIRE when possible, to avoid duplicate checks.
106507         Check for <wchar.h>.
106509 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
106511         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
106513 2004-11-09  Bruno Haible  <bruno@clisp.org>
106515         * m4/sockpfaf.m4: New file.
106517 2004-11-05  Bruno Haible  <bruno@clisp.org>
106519         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
106520         Reported by Mark D. Baushke <mdb@cvshome.org>.
106522 2004-11-04  Bruno Haible  <bruno@clisp.org>
106524         2004-09-11  Bruno Haible  <bruno@clisp.org>
106525                 * allocsa.valgrind: New file.
106526         2004-02-06  Bruno Haible  <bruno@clisp.org>
106527                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
106528                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
106529                 Reported by Christopher Seip <chris.seip@hp.com>.
106531 2004-11-04  Bruno Haible  <bruno@clisp.org>
106533         * modules/allocsa (Files): Add lib/allocsa.valgrind.
106534         (Makefile.am): Distribute it.
106536 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
106538         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
106539         with errno == ERANGE if the buffer is too small.
106540         Problem reported by Mark D. Baushke.
106542 2004-11-03  Albert Chin  <china@thewrittenword.com>
106543             Paul Eggert  <eggert@cs.ucla.edu>
106545         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
106546         equivalent, substitute $ac_type for equivalent type rather than
106547         blindly using uint32_t *always* which won't work if uint32_t is not
106548         available.  Define _UINT32_T to work around typedef of uint32_t if
106549         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
106550         2.5.1.
106552 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
106554         * m4/jm-macros.m4: Sync from coreutils.
106555         (gl_MACROS): Check for mbrlen, for pathchk.
106556         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
106558 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
106560         * lib/xreadlink.c (MAXSIZE): New macro.
106561         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
106562         size does not exceed MAXSIZE.  Avoid cast.
106563         As suggested by Mark D. Baushke in
106564         <http://lists.gnu.org/r/bug-gnulib/2004-11/msg00009.html>,
106565         if readlink fails with buffer size just under MAXSIZE, try again
106566         with MAXSIZE.
106568 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
106570         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
106572 2004-11-02  Derek R. Price  <derek@ximbiot.com>
106573         and  Paul Eggert  <eggert@cs.ucla.edu>
106575         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
106576         (get_date): Overparenthesize to avoid GCC warning.
106578 2004-11-02  Bruno Haible  <bruno@clisp.org>
106580         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
106581         returns void.
106583 2004-11-02  Bruno Haible  <bruno@clisp.org>
106585         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
106586         function returns void.
106588 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
106590         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
106591         fflush_unlocked, flockfile, funlockfile, funlockfile,
106592         fputs_unlocked, putc_unlocked.
106594 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
106596         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
106597         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
106598         already declared.
106600 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
106602         * modules/getdate (Files): Add doc/getdate.texi.
106603         (Depends-on): Add setenv, xalloc.
106605 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
106607         * lib/getdate.y: Add support for TZ="foo" within a date string.
106608         Fix some bugs near time_t boundaries.  Reject dates with
106609         out-of-range components, e.g., "Sept 31".
106610         Include <stdlib.h>, "setenv.h", "xalloc.h".
106611         (ISDIGIT_LOCALE): Remove; unused.
106612         Note that the TZ and time functions used here are not reentrant.
106613         (mktime_ok, get_tz): New functions.
106614         (TZBUFSIZE): New constant.
106615         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
106616         This requires that we sometimes generate our own TZ="XXX..." setting.
106618 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
106620         * doc/getdate.texi: New file, from coreutils with modifications for
106621         the new TZ parsing.
106623 2004-10-27  Derek R. Price  <derek@ximbiot.com>
106625         * lib/mktime.c (not_equal_tm): Remove redundant check.
106627 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
106629         * modules/regex (lib_SOURCES): Add regex.c.
106630         Reported by James Youngman in
106631         <http://lists.gnu.org/r/bug-gnulib/2004-10/msg00199.html>.
106633 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
106635         * lib/getdate.y: Use Bison 1.875 features, and some minor
106636         code cleanups.  This change does not affect semantics.
106637         Don't include <stdlib.h>; no longer needed.
106638         Don't include unlocked-io.h; only the "#if TEST" code uses
106639         stdio, and performance isn't crucial there.
106640         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
106641         Bison 1.875 features as described below.
106642         All uses of "PC." replaced by "pc->".
106643         (YYSTYPE): Add a forward declaration.
106644         (yylex, yyerror): Use full prototypes in forward decls.
106645         Use "%pure-parser" rather than obsolescent "%pure_parser".
106646         Use %parse-param and %lex-param instead of obsolescent
106647         YYPARSE_PARAM and YYLEX_PARAM.
106648         (meridian_table, month_and_day_table, time_units_table,
106649         relative_time_table, time_zone_table, military_table,
106650         lookup_zone, lookup_word, get_date):
106651         Use NULL instead of 0 where appropriate.
106652         (to_hour): Avoid abort (), to avoid a dependency on
106653         stdlib.h.
106654         (yyerror, yylex): Now accepts parser_control * arg.
106655         (main) [TEST]: Use '\0' rather than 0 for char.
106657 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
106659         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
106661 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
106663         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
106664         It's now the caller's responsibility to handle the case where
106665         !HAVE_GETPAGESIZE && !defined getpagesize.
106667         * lib/mktime.c (leapyear): Arg is long int, not int.
106669 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
106671         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
106673 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
106675         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
106676         missing.  Problem reported by James Youngman.
106678 2004-10-16  Simon Josefsson  <jas@extundo.com>
106680         * gnulib-tool: Fix comments.  Fix parse problem.
106681         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
106683 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
106685         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
106686         implementation of getopt_long.  Problem reported by Alexander Taler in:
106687         http://lists.gnu.org/r/bug-gnulib/2004-10/msg00103.html
106689 2004-10-15  Bruno Haible  <bruno@clisp.org>
106691         * gnulib-tool: Untabify. Initialize supplied_libname.
106692         (func_usage): More homogenous output.
106693         (func_modules_transitive_closure, func_modules_to_filelist,
106694         func_emit_lib_Makefile_am): New functions.
106695         (func_import): New function, extracted from big case statement. Use
106696         func_get_license, func_modules_transitive_closure,
106697         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
106698         opt_lgpl. Don't use test -a, as it's not portable.
106699         (func_create_testdir): Use func_modules_transitive_closure,
106700         func_modules_to_filelist, func_emit_lib_Makefile_am.
106702 2004-10-15  Bruno Haible  <bruno@clisp.org>
106704         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
106706 2004-10-15  Bruno Haible  <bruno@clisp.org>
106708         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
106709         the portions belonging to each module.
106710         Suggested by Derek Robert Price <derek@ximbiot.com>.
106712 2004-10-12  Simon Josefsson  <jas@extundo.com>
106714         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
106715         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
106716         to real functions.
106718 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
106720         * modules/vsnprintf: New file.
106722 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
106724         * m4/vsnprintf.m4: New file.
106726 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
106728         * lib/vsnprintf.h: New file.
106729         * lib/vsnprintf.c: New file.
106731 2004-10-11  Bruno Haible  <bruno@clisp.org>
106733         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
106734         vsnprintf.
106736 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
106738         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
106740 2004-10-07  Bruno Haible  <bruno@clisp.org>
106742         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
106743         fits into the provided buffer.
106745 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
106747         * lib/diacrit.c, diacrit.h: Add GPL notice.
106749         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
106750         notice.
106751         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
106752         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
106753         This avoids a potential constant-folding bug.
106755 2004-10-05  Bruno Haible  <bruno@clisp.org>
106757         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
106758         for the declaration of strsep.
106760 2004-10-05  Bruno Haible  <bruno@clisp.org>
106762         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
106764 2004-10-04  Simon Josefsson  <jas@extundo.com>
106766         * modules/memmem: New file.
106767         * tests/test-memmem.c: New file.
106768         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
106770 2004-10-04  Simon Josefsson  <jas@extundo.com>
106772         * m4/memmem.m4: New file.
106774 2004-10-04  Simon Josefsson  <jas@extundo.com>
106776         * lib/memmem.h: New file.
106777         * lib/memmem.c: New file, taken from glibc.
106779 2004-10-04  Simon Josefsson  <jas@extundo.com>
106781         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
106782         '#ifdef USE_UNLOCKED_IO'.
106784 2004-10-04  Simon Josefsson  <jas@extundo.com>
106786         * config/srclist.txt: Add memmem from glibc.
106788 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
106790         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
106792         * modules/argmatch, modules/argp, modules/closeout, modules/error,
106793         modules/exclude, modules/getdate, modules/getline,
106794         modules/getndelim2, modules/getpass, modules/getpass-gnu,
106795         modules/getusershell, modules/linebuffer, modules/md5,
106796         modules/mountlist, modules/posixtm, modules/readtokens,
106797         modules/readutmp, modules/regex, modules/sha1,
106798         modules/version-etc, modules/yesno:
106799         Remove dependency on unlocked-io.
106801 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
106803         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
106805         * m4/unlocked-io.m4: Add copyright notice.
106806         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
106808 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
106810         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
106811         * lib/xmalloc.c (xmemdup): Likewise.
106812         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
106813         XFREE): Remove these long-obsolescent macros.
106814         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
106815         * lib/xstrdup.c: Remove.
106817         * lib/regex.c (re_comp): Cast gettext return value to char *,
106818         Problem reported by Martin Neitzel via Mark D. Baushke.
106820 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
106822         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
106823         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
106824         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
106825         regex.c, sha1.c, version-etc.c, yesno.c:
106826         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
106827         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
106828         the includer's responsibility.
106830         Sync from coreutils.
106832         * lib/modechange.c (mode_compile): Don't decrement a pointer that
106833         points to the start of a string, as the C Standard says the
106834         resulting behavior is undefined.
106836         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
106837         simple -> simple_backups, numbered_existing ->
106838         numbered_existing_backups, numbered -> numbered_backups
106839         to avoid shadowing problems.  All uses changed.
106840         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
106841         * lib/backupfile.c (check_extension, numbered_backup):
106842         Rename locals to avoid shadowing 'basename'.
106843         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
106844         once.
106846         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
106847         * lib/.cvsignore: Add getopt.h.
106849 2004-10-04  Bruno Haible  <bruno@clisp.org>
106851         * modules/README: New file.
106852         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
106853         not a module.
106855 2004-10-02  Jim Meyering  <jim@meyering.net>
106857         * lib/dirfd.h, getpagesize.h: Add copyright notice.
106859 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
106861         * modules/strsep: New file.
106863 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
106865         * m4/strsep.m4: New file.
106867 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
106869         * lib/strsep.h: New file.
106870         * lib/strsep.c: New file.
106872 2004-10-01  Simon Josefsson  <jas@extundo.com>
106874         * lib/snprintf.c (snprintf): Handle size==0.
106876 2004-10-01  Simon Josefsson  <jas@extundo.com>
106877             Bruno Haible  <bruno@clisp.org>
106879         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
106880         (snprintf): Declare 'args'.
106882 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
106884         * lib/snprintf.c: Remove comments as to why each header is needed.
106886 2004-10-01  Bruno Haible  <bruno@clisp.org>
106888         * MODULES.html.sh: Add strsep.
106890 2004-09-30  Simon Josefsson  <jas@extundo.com>
106892         * modules/snprintf: New file.
106894 2004-09-30  Simon Josefsson  <jas@extundo.com>
106896         * m4/snprintf.m4: New file.
106898 2004-09-30  Simon Josefsson  <jas@extundo.com>
106900         * lib/snprintf.h, lib/snprintf.c: New files.
106902 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
106904         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
106905         (hol_entry_help): Never translate an empty string.
106906         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
106907         * lib/argp.h (OPTION_NO_TRANS): New option.
106909 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
106911         * modules/argp (Maintainer): Replace Simon Josefsson
106912         by Sergey Poznyakoff.
106914 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
106916         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
106917         changes merged back into glibc.
106919 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
106921         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
106923 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
106925         * lib/xvasprintf.c: Include xalloc.h.
106926         (xvasprintf): Use xalloc_die, not xmalloc_die.
106928 2004-09-29  Bruno Haible  <bruno@clisp.org>
106930         * modules/alloca-opt: New file, derived from modules/alloca.
106931         * modules/allocsa: Depend on alloca-opt instead of alloca.
106932         * modules/setenv: Likewise.
106933         * modules/vasnprintf: Likewise.
106934         * MODULES.html.sh: Add alloca-opt.
106936 2004-09-28  Simon Josefsson  <jas@extundo.com>
106938         * gnulib-tool: New parameter --lgpl, to asseert that modules are
106939         LGPL, and to replace license template from GPL to LGPL.
106941 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
106943         * modules/dummy: Change license to LGPL.
106945 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
106947         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
106949 2004-09-24  Simon Josefsson  <jas@extundo.com>
106951         * modules/minmax (License): Change from GPL to LGPL.
106953 2004-09-23  Simon Josefsson  <jas@extundo.com>
106955         * gnulib-tool (--import): Typo.
106957 2004-09-23  Simon Josefsson  <jas@extundo.com>
106959         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
106961 2004-09-22  Bruno Haible  <bruno@clisp.org>
106963         * modules/*: Add 'License' field.
106964         * gnulib-tool: Accept --extract-license option.
106965         (func_get_license): New function.
106967 2004-09-21  Bruno Haible  <bruno@clisp.org>
106969         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
106970         Reported by Simon Josefsson.
106972 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
106974         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
106975         gl_AC_TYPE_LONG_LONG.
106977 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
106979         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
106981 2004-09-18  Simon Josefsson  <jas@extundo.com>
106982         and  Paul Eggert  <eggert@cs.ucla.edu>
106984         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
106985         calls with autoreconf.  Define GL_LIB.
106987 2004-09-14  Karl Berry  <karl@gnu.org>
106989         * config/srclist.txt: unsync setenv.c, sigh.
106991 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
106993         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
106994         Problem reported by Bruno Haible in:
106995         http://lists.gnu.org/r/bug-tar/2004-09/msg00023.html
106997 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
106999         * config/srclist.txt: Comment out argp-pvh.c.
107001 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
107003         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
107004         in case some system header has #define'd it.  Problem reported by
107005         Soeren D. Schulze in
107006         <http://lists.gnu.org/r/bug-gnulib/2004-09/msg00017.html>.
107008 2004-09-09  Karl Berry  <karl@gnu.org>
107010         * regex.[ch]: delete from the root.  These were supposed to be
107011                 synced with emacs cvs, but this has not happened for about
107012                 a year, and anyway nothing else uses emacs regex.[ch].
107013                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
107014                 lib/regex[.ch] is untouched.
107016 2004-09-09  Bruno Haible  <bruno@clisp.org>
107018         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
107020 2004-09-09  Bruno Haible  <bruno@clisp.org>
107022         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
107023         modifications.
107024         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
107026 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
107028         * modules/xvasprintf: New file.
107029         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
107031 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
107033         * lib/xvasprintf.h: New file.
107034         * lib/xvasprintf.c: New file.
107035         * lib/xasprintf.c: New file.
107037 2004-09-08  Bruno Haible  <bruno@clisp.org>
107039         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
107041 2004-09-08  Bruno Haible  <bruno@clisp.org>
107043         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
107044         length is > INT_MAX.
107045         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
107046         more.
107048 2004-09-08  Bruno Haible  <bruno@clisp.org>
107050         * lib/stdint_.h: New file, taken from GNU clisp.
107052 2004-09-08  Bruno Haible  <bruno@clisp.org>
107053             Oskar Liljeblad  <oskar@osk.mine.nu>
107055         * modules/stdint: New file.
107056         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
107058 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
107060         Import from coreutils.
107061         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
107062         strings on unbounded length.  alloca's performance benefits aren't
107063         that important here.
107064         (V_STRDUP): Remove.
107065         (parse_with_separator): New function, with most of the internals
107066         of the old parse_user_spec.  Allow user to omit both user and group,
107067         for compatibility with FreeBSD.
107068         Clone only the user name, not the entire spec.
107069         Do not set *uid, *gid unless entirely successful.
107070         Avoid memory leak in some failing cases.
107071         Fix regression for USER.GROUP reported by Dmitry V. Levin in
107072         <http://lists.gnu.org/r/bug-coreutils/2004-08/msg00102.html>
107073         (parse_user_spec): Rewrite to use parse_with_separator.
107075 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
107077         * modules/userspec: Don't depend on alloca.
107079 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
107081         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
107083 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
107085         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
107086         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
107087         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
107089 2004-08-16  Simon Josefsson  <jas@extundo.com>
107091         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
107092         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
107093         Add --dry-run for --import.
107094         Let user provided command line parameters override configure.ac
107095         settings.
107097 2004-08-12  Simon Josefsson  <jas@extundo.com>
107099         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
107100         as discussed with Paul Eggert in threads rooted at
107101         <http://lists.gnu.org/r/bug-gnulib/2004-06/msg00039.html>
107102         and
107103         <http://lists.gnu.org/r/bug-gnulib/2004-07/msg00001.html>.
107104         Before, the test was empty, and relied on ELIDE_CODE in source
107105         code.)
107106         (gl_PREREQ_GETOPT): New macro.
107107         (gl_GETOPT): Use them.
107109 2004-08-12  Simon Josefsson  <jas@extundo.com>
107111         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
107112         * lib/getopt_.h: Renamed from getopt.h.
107114 2004-08-12  Simon Josefsson  <jas@extundo.com>
107116         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
107117         Change default library name from libfoo to libgnu.
107118         Now, if you have a configure.ac that says:
107119                 gl_SOURCE_BASE(gl)
107120                 gl_M4_BASE(gl/m4)
107121                 gl_MODULES(error getopt etcetera)
107122                 gl_INIT
107123         you can import all you need by running:
107124                 ../gnulib/gnulib-tool --import
107126         * modules/getopt (Files): Rename getopt.h to getopt_.h.
107127         (Makefile.am): Rewrite, use logic from argz.
107128         (Include): Use <getopt.h> instead of "getopt.h".
107130 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
107132         * modules/argp (Files): Add m4/unlocked-io.m4.
107133         (Depends-on): Add extensions.
107135 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
107137         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
107138         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
107139         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
107140         Check for program_invocation_name, program_invocation_short_name,
107141         flockfile, funlockfile, features.h, _getopt_long_only_r.
107143 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
107145         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
107146         its complicated substitute.
107147         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
107148         and program_invocation_name.
107149         (__argp_basename) [!_LIBC]: Remove; the only use was
107150         replaced by its body.
107151         (__argp_short_program_name): Change condition from
107152         !defined __argp_short_program_name to
107153         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
107154         to match argp-namefrob.h.
107155         (__argp_failure): Don't assume strerror_r returns char *.
107156         * lib/argp-parse.c (N_): Define unconditionally.
107157         (argp_default_options): Fill out initializers with 0 to avoid
107158         gcc warnings.
107160 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
107162         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
107163         getopt1.c.
107165 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
107167         Merge from coreutils.
107169         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
107171         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
107172         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
107174 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
107176         Merge from coreutils.
107178         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
107179         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
107180         for Reliant Unix 5.43.
107182         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
107183         (union fooround): Use uintmax_t, not long int.
107184         The rest is a merge from libc:
107185         [defined _LIBC]: Include <shlib-compat.h>.
107186         (_obstack) [defined _LIBC]: Remove after 2.3.4.
107188         * lib/settime.c (settime): Recode to avoid warning with
107189         Sun Forte C 6U2.
107191         * lib/strverscmp.c: Convert to UTF-8.
107193 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
107195         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
107196         m4/uintmax_t.m4.
107198 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
107200         * modules/xalloc-die: New file.
107201         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
107203         * modules/md5 (Files): Add m4/uint32_t.m4.
107204         * modules/sha1: Renamed from modules/sha.
107205         (Files):
107206         Rename lib/sha.h to lib/sha1.h.
107207         Rename lib/sha.c to lib/sha1.c.
107208         Rename m4/sha.m4 to m4/sha1.m4.
107209         (lib_SOURCES): Likewise.
107210         (configure.ac): Rename gl_SHA to gl_SHA1.
107211         (Include): sha.h -> sha1.h.
107213 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
107215         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
107216         * m4/sha1.m4: Renamed from sha.m4.
107217         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
107219 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
107221         * lib/obstack.h (obstack_empty_p):
107222         Don't assume that chunk->contents is suitably aligned.
107223         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
107224         Likewise. Problem reported by Benno in
107225         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
107227         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
107228         readable.  This could be improved further but it'd take some work.
107230 2004-08-08  Simon Josefsson  <jas@extundo.com>
107232         * modules/xgethostname (Depends-on): Remove exit and error (not
107233         used).
107235         * modules/getpass-gnu: Add getpass.h.
107236         (Depends-on): Add stdbool.
107237         * modules/getpass: Add getpass.h.
107239 2004-08-08  Simon Josefsson  <jas@extundo.com>
107241         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
107242         Check getpass declaration.
107244 2004-08-08  Simon Josefsson  <jas@extundo.com>
107246         * lib/xgethostname.c: Don't include error.h (not used).
107248         * lib/getpass.h: Add.
107249         * lib/getpass.c: Include getpass.h first.
107251 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
107253         * lib/xalloc-die.c: New file.
107254         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
107255         All uses removed.
107256         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
107257         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
107258         xalloc-die.c.
107259         (_, N_, xalloc_die): Move to xalloc-die.c.
107260         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
107261         so that we needn't mess with xalloc_msg_memory_exhausted.
107263         * lib/sha1.h: Renamed from sha.h.
107264         (SHA1_H): Renamed from _SHA_H.
107265         (sha1_ctx): Renamed from sha_ctx.
107266         (sha1_init_ctx): Renamed from sha_init_ctx.
107267         (sha1_process_block): Renamed from sha_process_block.
107268         (sha1_process_bytes): Renamed from sha_process_bytes.
107269         (sha1_finish_ctx): Renamed from sha_finish_ctx.
107270         (sha1_read_ctx): Renamed from sha_read_ctx.
107271         (sha1_stream): Renamed from sha_stream.
107272         (sha1_buffer): Renamed from sha_buffer.
107273         * lib/sha1.c: Likewise; renamed from sha.c.
107274         Do not include <sys/types.h>.
107275         Include <stddef.h> rather than <stdlib.h>.
107277 2004-08-08  Bruno Haible  <bruno@clisp.org>
107279         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
107280         FILESYSTEM_PREFIX_LEN.
107281         * lib/progreloc.c: Likewise.
107282         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
107284 2004-08-06  Simon Josefsson  <jas@extundo.com>
107286         * modules/progname (Depends-on): Don't depend on stdbool.
107288 2004-08-06  Simon Josefsson  <jas@extundo.com>
107290         * modules/getsubopt: New file.
107291         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
107292         getsubopt.
107294 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
107296         More merge from coreutils.
107298         * m4/utimens.m4, m4/utimecmp.m4: New files.
107299         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
107300         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
107301         prereq.m4, sha.m4: Import changes from coreutils.
107303 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
107305         More merge from coreutils.
107306         * modules/raise, modules/readtokens0, modules/utimens:
107307         * modules/utimecmp, module/xnanosleep: New files.
107308         * modules/strftime: Add lib/strftime.h.
107309         Change include from <time.h> to "strftime.h".
107310         * modules/yesno: Add lib/yesno.h.
107311         * modules/backupfile: Remove lib/addext.c.
107312         * modules/euidaccess: Add stat-macros.h.
107313         * modules/canonicalize, modules/euidaccess,
107314         modules/filemode, modules/lchown, modules/makepath,
107315         modules/rmdir, modules/stat: Likewise.
107317 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
107319         Merge from tar.
107320         * lib/argp-help.c (make_hol, hol_append): Don't assume that
107321         SIZE_MAX is a valid preprocessor constant.
107322         (__argp_basename): Change from "#ifndef _LIBC"
107323         to "#ifndef __argp_short_program_name", so that
107324         we don't compile these functions for tar.
107326         More merges from coreutils.
107327         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
107328         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
107329         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
107330         * lib/addext.c: Remove; no longer needed.
107331         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
107332         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
107333         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
107334         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
107335         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
107336         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
107337         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
107338         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
107339         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
107340         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
107341         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
107342         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
107343         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
107344         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
107345         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
107346         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
107347         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
107348         Import changes from coreutils.
107350 2004-08-05  Simon Josefsson  <jas@extundo.com>
107352         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
107354 2004-08-05  Simon Josefsson  <jas@extundo.com>
107356         * m4/getsubopt.m4: New file.
107358 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
107360         Merge from coreutils.
107362         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
107363         * m4/getcwd-path-max.m4: New files.
107365         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
107366         FILESYSTEM_PREFIX_LEN ->
107367         FILE_SYSTEM_PREFIX_LEN.
107368         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
107369         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
107370         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
107371         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
107373         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
107374         prerequisite modules now handle the DOS stuff.
107375         Don't check for unistd.h.
107377 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
107379         Merge from coreutils.
107381         * lib/.gdb-history: Remove; this doesn't belong here.
107383         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
107384         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
107385         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
107386         * lib/getcwd.c: New files.
107388         * lib/dirname.h: Include <stdbool.h>.
107389         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
107390         for consistency with POSIX terminology.  All uses changed.
107391         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
107392         (strip_trailing_slashes): Use bool for booleans.
107393         * lib/stripslash.c (strip_trailing_slashes): Likewise.
107395         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
107396         sometimes returns a positive errno value even when it succeeds.
107397         (print_errno_message) [!LIBC]: Fall back on strerror if
107398         __strerror_r fails.
107400         * lib/path-concat.c (mempcpy): Don't define if a system header defines
107401         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
107402         (longest_relative_suffix): New function.
107403         (path_concat): Use it.  Assume first argument is not NULL.
107404         Port to DOS.  Omit redundant separators.
107405         Report an error instead of returning NULL.
107406         Use mempcpy instead of memcpy.
107407         (xpath_concat): Remove: not declared or used.
107409         * lib/same.h: Include <stdbool.h>
107410         (same_name): Return bool, not int.
107411         * lib/same.c (same_name): Likewise.
107412         (errno): Don't declare; we assume C89 or better now.
107414         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
107415         if not already defined.
107417         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
107418         * lib/dup-safer.c (errno): Likewise.
107420 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
107422         Merge from coreutils.
107423         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
107424         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
107425         * modules/path-concat: Don't depend on strdup.
107427 2004-08-03  Simon Josefsson  <jas@extundo.com>
107429         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
107430         * lib/progname.h: Don't include stdbool.h.
107432 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
107434         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
107435         * MODULES.html.sh (func_all_modules): Remove fatal.
107437 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
107439         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
107441 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
107443         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
107444         working.
107446 2004-08-02  Simon Josefsson  <jas@extundo.com>
107448         * lib/getsubopt.h: New file, with comments from Bruno Haible.
107449         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
107450         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
107452 2004-08-01  Simon Josefsson  <jas@extundo.com>
107454         * lib/xgetdomainname.c: Include stdlib.h, for free().
107456 2004-07-19  Bruno Haible  <bruno@clisp.org>
107458         * MODULES.html.sh (func_all_modules): Add dummy.
107460 2004-07-16  Simon Josefsson  <jas@extundo.com>
107462         * modules/dummy: New file.
107464 2004-07-16  Simon Josefsson  <jas@extundo.com>
107466         * lib/dummy.c: New file.
107468 2004-07-16  Bruno Haible  <bruno@clisp.org>
107470         * lib/backupfile.h: Add extern "C" for C++.
107471         * lib/closeout.h: Likewise.
107472         * lib/copy-file.h: Likewise.
107473         * lib/findprog.h: Likewise.
107474         * lib/full-write.h: Likewise.
107475         * lib/pathname.h: Likewise.
107476         * lib/progname.h: Likewise.
107477         * lib/stpcpy.h: Likewise.
107478         * lib/stpncpy.h: Likewise.
107479         * lib/strcase.h: Likewise.
107480         * lib/strstr.h: Likewise.
107481         * lib/xalloc.h: Likewise.
107483         * lib/mbswidth.h: Add extern "C" for C++.
107484         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
107486 2004-07-13  Robert Millan  <robertmh@gnu.org>
107488         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
107490 2004-07-09  Simon Josefsson  <jas@extundo.com>
107492         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
107493         failed without this.)
107495 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
107497         * modules/chown (Files): Add lib/fchown-stub.c, since
107498         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
107500 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
107502         * lib/fchown-stub.c: New file.
107504 2004-06-24  Jim Meyering  <jim@meyering.net>
107506         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
107508 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
107510         * modules/argz: Omit "#include".
107512         * MODULES.html.sh (func_all_modules): Add calloc, to match
107513         2004-06-01 addition of calloc module.
107515 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
107517         * m4/argz.m4: New file, which is autoupdated from libtool.
107519 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
107521         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
107522         libtool.
107524 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
107526         * config/srclist-update: Don't insist on "USA." before the
107527         close-comment, as libtool omits the period and puts the */ on a
107528         separate line.
107529         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
107530         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
107532 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
107534         * modules/argz: New file.
107535         * MODULES.html.sh (func_all_modules): Add argz.
107537 2004-06-12  Jim Meyering  <jim@meyering.net>
107538         and  Paul Eggert  <eggert@cs.ucla.edu>
107540         * modules/hash (Files): Add lib/xalloc.h.
107541         * modules/pipe (Depends-on): Add wait-process.
107542         * modules/stat (Depends-on): Add xalloc.
107543         * modules/userspec (Files): Add lib/userspec.h.
107544         * modules/xstrto
107546         Upgrade from gettext-0.13.
107547         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
107548         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
107549         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
107551 2004-06-10  Jim Meyering  <jim@meyering.net>
107553         * lib/calloc.c: New file.
107555 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
107557         * lib/getdate.y (yylex): Allow space between sign and number.
107558         Problem reported by Dan Jacobson.
107560 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
107562         Merge from coreutils CVS.
107564         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
107565         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
107566         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
107567         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
107568         xstrtol.m4: Fix copyright date and/or serial number.
107570         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
107571         See if we need an fchown replacement.
107572         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
107573         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
107574         and use the replacement function if we detect either defect.
107576         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
107577         gl_UTIMECMP.
107579 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
107580         and  Jim Meyering  <jim@meyering.net>
107582         Merge from coreutils CVS.
107584         * lib/stat-macros.h: New file, with contents from file-type.h
107585         and coreutils' system.h.
107586         * lib/file-type.c: Include "stat-macros.h".
107587         * lib/file-type.h (file_type): Move all macro definitions to new file,
107588         stat-macros.h.
107590         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
107591         Wrap old code with this conditional.
107592         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
107593         function that does not dereference symlinks.
107594         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
107596         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
107597         dependency problems.
107598         (xreadlink): Accept new arg SIZE, for efficiency.
107599         All decls and uses changed.
107600         * lib/xreadlink.h: Include <stddef.h>, for size_t.
107602         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
107603         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
107605         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
107606         sysexits.h.
107608 2004-06-01  Jim Meyering  <jim@meyering.net>
107610         * m4/calloc.m4: New file.
107612 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
107614         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
107615         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
107616         Also, fix a typo in a diagnostic.
107618 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
107620         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
107621         or AC_FUNC_REALLOC.
107623 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
107625         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
107626         macros to be defined.
107627         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
107628         the allocator returns NULL because the requested size is zero.
107630 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
107632         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
107633         var.  Add comment explaining why libc still defines it.  This
107634         merges the following patch from glibc:
107635         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
107637 2004-05-20  Andreas Schwab  <schwab@suse.de>
107639         * m4/free.m4: Replace free if it not known to work, not the other
107640         way round.
107642 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
107644         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
107645         present in glibc since revision 1.1 of this file.
107646         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
107647         obstack_alignment_mask, obstack_alloc, obstack_base,
107648         obstack_blank, obstack_blank_fast, obstack_chunk_size,
107649         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
107650         obstack_grow0, obstack_init, obstack_int_grow,
107651         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
107652         obstack_next_free, obstack_object_size, obstack_ptr_grow,
107653         obstack_ptr_grow_fast, obstack_room): Remove declarations of
107654         nonexistent functions.
107656 2004-05-18  Karl Berry  <karl@gnu.org>
107658         * config/srclist.txt: break link for vasnprintf.c.
107660 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
107662         Port obstack to the AS/400, where pointers are 16 bytes wide and
107663         you cannot cast an integer to a valid pointer.  This patch is
107664         currently waiting to be integrated into glibc; see
107665         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
107667         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
107668         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
107669         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
107670         (struct obstack): temp member is now a union of a pointer and
107671         an integer, instead of an integer.  All integer uses changed.
107672         This does not affect the physical layout of struct obstack,
107673         except on hosts (like the AS/400) where the size or alignment of
107674         void * is greater than that of ptrdiff_t.
107675         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
107676         __STDC__)]: Store temporary in pointer member of union, not
107677         integer member.
107678         * lib/obstack.c: Include <stddef.h>, for offsetof.
107679         (struct fooalign): Remove; it doesn't need a name.
107680         (union fooround): Change double to long double, and add void *.
107681         (DEFAULT_ALIGNMENT): Use offsetof to compute.
107682         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
107683         not a macro.  Hence the values are always int; so remove all
107684         casts-to-int in uses.
107686 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
107688         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
107689         we can get this patch merged into glibc.
107691 2004-05-17  Derek R. Price  <derek@ximbiot.com>
107692             Paul Eggert  <eggert@cs.ucla.edu>
107694         * m4/argp: Depend on alloca.
107696 2004-05-17  Derek R. Price  <derek@ximbiot.com>
107697             Paul Eggert  <eggert@cs.ucla.edu>
107699         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
107700         freecoding.
107702 2004-05-17  Bruno Haible  <bruno@clisp.org>
107704         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
107705         precision that consists of a '.' followed by an empty digit string.
107706         Patch by Tor Lillqvist <tml@iki.fi>.
107708 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
107710         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
107711         for backward compatibility with older code.  We need our own
107712         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
107713         it under some other name, and our alloca.h will define it.
107715 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
107716             Derek Price  <derek@ximbiot.com>
107718         * lib/alloca.c: Include <alloca.h>, to get our interface.
107719         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
107720         include <alloca.h> first.  Use C89 prototype for alloca; this
107721         requires including <stddef.h> for size_t.  Use extern "C" if C++.
107722         Use #elif for simplicity, since we can assume C89 now.
107723         Don't try to source the system alloca.h since it will not be found
107724         and to prevent recursively including its replacement.
107725         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
107726         * lib/regex.c: Likewise.
107728 2004-05-16  Derek Price  <derek@ximbiot.com>
107729             Paul Eggert  <eggert@cs.ucla.edu>
107731         getline cleanup.  This changes the getndelim2 API: both order of
107732         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
107733         no delimiter).
107735         * lib/getline.c: Don't include stddef.h or stdio.h, since our
107736         interface does that.
107737         (getline): Always use getdelim, so that we don't have two
107738         copies of this code.
107739         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
107740         if available.
107741         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
107742         (GETNDELIM2_MAXIMUM): New macro.
107743         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
107744         instead of the old practice of delim2==0.  All callers changed.
107745         Return -1 on overflow, instead of returning junk.
107746         Do not set *linesize unless allocation succeeds.
107747         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
107748         that we include sys/types.h.
107749         * lib/getnline.h: Likewise.
107750         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
107751         (getndelim2): Reorder arguments.
107752         * lib/getnline.c (getnline, getndelim):
107753         Don't discard the NMAX argument.
107754         (getnline): Invoke getndelim, to avoid code duplication.
107755         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
107756         of (size_t) -1 by callers of the getnline family.
107758 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
107760         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
107761         Check for gettimeofday.
107762         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
107763         Check for settimeofday, stime.
107765 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
107767         * lib/nanosleep.c (suspended): Change its type from int to
107768         sig_atomic_t volatile.
107769         (first_call): Make it private to rpl_nanosleep, and have it
107770         be zero initially as that's a bit faster.
107771         (my_usleep): Round up fractional times instead of truncating them,
107772         as this is the usual meaning for 'sleep'.
107774         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
107775         doesn't work.
107776         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
107777         (ENOSYS): Define if not defined.
107778         (settime): Fall back on stime if it exists and settimeofday fails.
107779         But don't bother with fallbacks if a method fails with errno == EPERM.
107781 2004-05-11  Jim Meyering  <jim@meyering.net>
107783         Prior to this change, the save_cwd caller required read access to the
107784         current directory on most systems (ones with the fchdir function).
107786         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
107787         fails, try write-only, and finally, resort to using xgetcwd.
107789 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
107791         * lib/obstack.c, obstack.h: Import changes from libc.
107793 2004-04-28  Bruno Haible  <bruno@clisp.org>
107795         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
107796         also implicitly appends .exe to executables.
107797         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
107798         accepts Windows pathnames.
107799         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
107800         Treat Cygwin like Windows, since it now accepts Windows pathnames.
107801         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
107802         Treat Cygwin like Windows, since it now accepts Windows pathnames.
107803         Reported by Derek Robert Price <derek@ximbiot.com>.
107805 2004-04-21  Karl Berry  <karl@gnu.org>
107807         * config/srclist.txt (localcharset.c): break sync.
107809 2004-04-20  Paul Eggert  <eggert@twinsun.com>
107811         * m4/host-os.m4: Add a copyright notice.
107813 2004-04-20  Jim Meyering  <jim@meyering.net>
107815         Change UTILS_ to gl_ in AC_DEFINE'd names.
107816         Change utils_- and jm_-prefixed variables, too.
107817         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
107818         UTILS_FUNC_MKDIR_TRAILING_SLASH.
107819         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
107821         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
107822         Don't emit trailing blanks.
107823         Also rename jm_-prefixed variables to have gl_ prefix.
107825         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
107826         Also rename jm_-prefixed variables to have gl_ prefix.
107828         * m4/jm-macros.m4: Reflect the renamings.
107829         * m4/prereq.m4: Likewise.
107831 2004-04-20  Jim Meyering  <jim@meyering.net>
107833         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
107834         memory.
107836 2004-04-20  Jim Meyering  <jim@meyering.net>
107837             Bruno Haible  <bruno@clisp.org>
107839         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
107840         memory when realloc fails.
107842 2004-04-19  Jim Meyering  <jim@meyering.net>
107844         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
107845         now that readutmp.c may call `free (0)'.
107847 2004-04-19  Bruno Haible  <bruno@clisp.org>
107849         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
107850         * m4/inttypes_h.m4: Likewise.
107851         * m4/stdint_h.m4: Likewise.
107852         * m4/intmax_t.m4: Likewise.
107853         * m4/uintmax_t.m4: Likewise.
107855 2004-04-18  Jim Meyering  <jim@meyering.net>
107857         * m4/prereq.m4: Don't forbid jm_ prefix.
107859         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
107860         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
107861         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
107862         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
107863         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
107864         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
107865         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
107866         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
107867         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
107868         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
107869         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
107870         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
107871         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
107872         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
107873         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
107874         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
107875         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
107876         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
107877         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
107879 2004-04-18  Jim Meyering  <jim@meyering.net>
107881         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
107882         failure, don't leak memory and do call END_UTMP_ENT.
107884 2004-04-16  Jim Meyering  <jim@meyering.net>
107886         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
107887         coreutils' stat program.
107888         (gl_PREREQ): Don't require jm_PREREQ_STAT.
107890 2004-04-11  Paul Eggert  <eggert@twinsun.com>
107892         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
107893         C89.
107894         (CHAR_BIT): Remove, since we assume C89.
107895         Include <stdint.h> if available, as per current Autoconf CVS advice.
107897 2004-03-31  Jim Meyering  <jim@meyering.net>
107899         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
107900         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
107901         * m4/xalloc.m4: Likewise.
107903 2004-03-30  Paul Eggert  <eggert@twinsun.com>
107905         Merge from coreutils.
107907         * m4/inttostr.m4: New file.
107908         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
107909         Require AM_STDBOOL_H and gl_TIMESPEC instead.
107910         Require gl_CLOCK_TIME.
107911         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
107913 2004-03-30  Paul Eggert  <eggert@twinsun.com>
107915         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
107916         not bool, to be more consistent with Unix conventions.
107917         Suggested by Bruno Haible.
107919         Merge from coreutils.
107921         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
107922         * lib/umaxtostr.c: New files.
107924         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
107925         the usual <time.h> dance.
107926         (get_date): Change signature to support fractional time stamps.
107927         All callers changed.
107928         * lib/getdate.y: Include "getdate.h" first, as we can now
107929         assume C89 and don't need to worry about 'const'.
107930         Similarly, include "unlocked-io.h" near start, not in middle.
107931         Include <limits.h>.
107932         (textint.value): Use long int rather than int.
107933         (textint.digits): Use size_t rather than int.
107934         (BILLION, LOG10_BILLION): New constants.
107935         (parser_control): New member rel_ns.  Members day_ordinal,
107936         time_zone, month, day, hour, minutes, rel_year, rel_month,
107937         rel_day, rel_hour, rel_minutes, rel_seconds
107938         are now long int, not int.  Member seconds is now struct timespec,
107939         not int.  New member timespec_seen.  Members dates_seen, days_seen,
107940         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
107941         not int.
107942         (%union.intval): Now long int, not int.
107943         New member timespec.
107944         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
107945         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
107946         (spec): Now is a timespec or an item list.
107947         (timespec, items): New nonterminals.
107948         (time, rel, relunit, number, get_date):
107949         Add support for fractional seconds.
107950         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
107951         (gmtime, localtime, mktime): Remove decls; not needed with C89.
107952         (to_hour): First arg is now long int, not int.
107953         (to_year): Returns long int, not int.
107954         Don't treat year -70 like 70.
107955         (tm_diff): Returns long int, not int.
107956         (lookup_word): Use bool instead of int when appropriate.
107957         (yylex): Use size_t for count, not int.
107958         Detect overflow when parsing large integer constants.
107959         Add support for fractions.
107960         (get_date): Make pointers 'const' if possible.
107961         Use more-portable code to detect integer overflow.
107962         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
107963         Don't use ctime; it's not reliable if the year has >4 digits.
107965         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
107966         This is for compatibility with BSD.
107968         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
107969         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
107970         From coreutils' system.h.
107972         * lib/userspec.c: Don't include "posixver.h".
107973         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
107974         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
107975         compatible extension.  Simplify code by removing a boolean int
107976         that was always nonzero if a string was nonnull.
107978 2004-03-30  Jim Meyering  <jim@meyering.net>
107980         Merge from coreutils.
107982         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
107983         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
107984         on some systems one must include <grp.h> before it.
107985         Reported by Christian Krackowizer.
107987 2004-03-30  Jim Meyering  <jim@meyering.net>
107989         Merge from coreutils.
107991         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
107993         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
107994         an empty input stream.
107996         * lib/readtokens.c: Include <stdbool.h>.
107997         (readtoken): Use `size_t' rather than int/long.
107998         All callers adjusted.
107999         Use `bool' rather than `int' where appropriate.
108000         Use memset rather than an explicit loop.
108001         Use x2nrealloc rather than xrealloc.
108002         Allow the use of `\0' as a delimiter.
108003         (readtokens): Likewise.
108004         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
108006 2004-03-30  Jim Meyering  <jim@meyering.net>
108008         * m4/realloc.m4: Remove file, since now it does no more than
108009         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
108010         the `configure.ac' section of module/realloc.
108011         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
108013 2004-03-30  Bruno Haible  <bruno@clisp.org>
108015         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
108016         nonnull.
108018 2004-03-29  Paul Eggert  <eggert@twinsun.com>
108020         Merge changes to getloadavg.c from coreutils and Emacs.
108022         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
108023         Define to an expression, not to the empty string.
108024         Include cloexec.h and xalloc.h.
108025         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
108026         Use set_cloexec_flag rather than rolling our own.
108027         * lib/cloexec.c, lib/cloexec.h: New files.
108029 2004-03-29  Paul Eggert  <eggert@twinsun.com>
108031         * m4/cloexec.m4: New file.
108033 2004-03-18  Paul Eggert  <eggert@twinsun.com>
108035         * lib/getopt.h: Sync with libc CVS.
108037 2004-03-18  Paul Eggert  <eggert@twinsun.com>
108038             Bruno Haible  <bruno@clisp.org>
108040         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
108041         mbswidth.
108043 2004-03-18  Paul Eggert  <eggert@twinsun.com>
108044             Bruno Haible  <bruno@clisp.org>
108046         * lib/mbswidth.h: Include <wchar.h> only if
108047         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
108048         <wchar.h>.
108049         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
108051 2004-03-09  Paul Eggert  <eggert@twinsun.com>
108053         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
108054         Sync with libc CVS.
108055         * lib/getopt_int.h: New file, also synced from libc.
108057 2004-03-09  Paul Eggert  <eggert@twinsun.com>
108059         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
108060         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
108061         Bring back getopt.c, getopt.h, getopt1.c.
108063 2004-03-07  Paul Eggert  <eggert@twinsun.com>
108065         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
108066         All uses changed.  Check for sa_sigaction member; this fixes
108067         a bug first reported by Jason Andrade in
108068         <http://mail.gnu.org/r/bug-textutils/2003-03/msg00027.html>.
108070 2004-03-07  Paul Eggert  <eggert@twinsun.com>
108072         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
108073         '#if' expressions.  Unlike the code it replaces, it does not
108074         depend on (defined _SC_PAGESIZE).  However, it does depend on
108075         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
108076         first reported by Jason Andrade in
108077         <http://mail.gnu.org/r/bug-textutils/2003-03/msg00027.html>.
108079 2004-02-25  Simon Josefsson  <jas@extundo.com>
108081         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
108083 2004-02-25  Simon Josefsson  <jas@extundo.com>
108085         * lib/strdup.h: New file.
108086         * lib/strdup.c: Include it.
108087         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
108088         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
108090 2004-02-23  Karl Berry  <karl@gnu.org>
108092         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
108093         (from fencepost.gnu.org:/gd/gnuorg).
108095 2004-02-23  Karl Berry  <karl@gnu.org>
108097         * config/srclistvars.sh (GNUORG) [karl]: redefine.
108098         * config/srclist.txt: add maintain/standards documents.
108100 2004-02-18  Bruno Haible  <bruno@clisp.org>
108102         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
108103         Reported by Derek Robert Price <derek@ximbiot.com>.
108105 2004-02-16  Karl Berry  <karl@gnu.org>
108107         * config/mkinstalldirs, install-sh: update from automake.
108109 2004-02-06  Karl Berry  <karl@gnu.org>
108111         * m4/po.m4: update from gettext 0.14.1.
108113 2004-02-06  Karl Berry  <karl@gnu.org>
108115         * lib/config.charset: update from gettext 0.14.1.
108117 2004-02-05  Paul Eggert  <eggert@twinsun.com>
108119         Add comments and code, prompted by suggestions from Bruno Haible
108120         for sh-quote.
108121         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
108122         describing the enum quoting_style values.
108123         * lib/quotearg.c (quotearg_alloc): New function.
108124         (quotearg_buffer_restyled): Treat lone { and } as special.
108125         Treat = as special.  Work around bug with older shells
108126         that "see" a '\' that is really the 2nd byte of a multibyte char.
108127         Quote empty string with shell_quoting_style.
108129 2004-02-03  Bruno Haible  <bruno@clisp.org>
108131         * m4/pipe.m4: New file, from GNU gettext.
108133 2004-02-03  Bruno Haible  <bruno@clisp.org>
108135         * lib/pipe.h: New file, from GNU gettext.
108136         * lib/pipe.c: New file, from GNU gettext.
108138 2004-01-27  Bruno Haible  <bruno@clisp.org>
108140         * m4/execute.m4: New file, from GNU gettext.
108142 2004-01-27  Bruno Haible  <bruno@clisp.org>
108144         * lib/execute.h: New file, from GNU gettext.
108145         * lib/execute.c: New file, from GNU gettext.
108146         * lib/w32spawn.h: New file, from GNU gettext.
108148 2004-01-24  Paul Eggert  <eggert@twinsun.com>
108150         Merge from diffutils.
108152         * lib/file-type.c (file_type): Add typed memory objects.
108153         * lib/file-type.h (S_TYPEISTMO): New macro.
108155         * lib/c-stack.h (c_stack_action): Remove argv argument.
108156         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
108157         (die): Don't calculate message unless segv_action returns.
108158         (get_stack_location, min_address_from_argv, max_address_from_argv,
108159         volatile stack_base, volatile_stack_size): Remove.
108160         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
108161         that every segmentation violation is a stack overflow.  (Ouch!)
108162         See Debian bug 136249 (still outstanding) for more info about why
108163         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
108165 2004-01-24  Paul Eggert  <eggert@twinsun.com>
108167         Exit-status fix from coreutils.
108169         Use exit_failure consistently in place of EXIT_FAILURE,
108170         so that program exit statuses are consistent on failure.
108172         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
108173         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
108174         * lib/argmatch.h: Comment fix to match the above.
108175         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
108176         Now a macro referring to exit_failure, instead of a separate
108177         variable.  Include "exitfail.h" to get it.
108178         * lib/xstrtol.h: Include "exitfail.h".
108179         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
108181         * lib/long-options.c (parse_long_options): Use prototype
108182         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
108183         for clarity.
108185 2004-01-21  Jim Meyering  <jim@meyering.net>
108187         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
108188         so as not to conflict with a different-sized __mktime_internal
108189         function in GNU libc.
108190         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
108191         Problem building statically-linked `ls' reported by Michael Brunnbauer.
108193 2004-01-20  Karl Berry  <karl@gnu.org>
108195         * config/config.guess: update from config.
108197         * config/srclistvars.sh: GNUWWWLICENSES for karl.
108199 2004-01-20  Bruno Haible  <bruno@clisp.org>
108201         Safer stack allocation.
108202         * lib/setenv.c: Include allocsa.h.
108203         (alloca): Remove fallback definition.
108204         (freea): Remove macro.
108205         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
108206         instead of freea.
108208 2004-01-20  Bruno Haible  <bruno@clisp.org>
108210         * m4/eealloc.m4: New file, from GNU gettext.
108212 2004-01-20  Bruno Haible  <bruno@clisp.org>
108214         * m4/allocsa.m4: New file, from GNU gettext.
108216 2004-01-20  Bruno Haible  <bruno@clisp.org>
108218         * lib/xallocsa.h: New file, from GNU gettext.
108219         * lib/xallocsa.c: New file, from GNU gettext.
108221 2004-01-20  Bruno Haible  <bruno@clisp.org>
108223         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
108225 2004-01-20  Bruno Haible  <bruno@clisp.org>
108227         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
108228         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
108229         specially.
108231 2004-01-20  Bruno Haible  <bruno@clisp.org>
108233         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
108234         patch.
108236 2004-01-20  Bruno Haible  <bruno@clisp.org>
108238         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
108240 2004-01-20  Bruno Haible  <bruno@clisp.org>
108242         * lib/eealloc.h: New file.
108244 2004-01-20  Bruno Haible  <bruno@clisp.org>
108246         * lib/binary-io.h: Avoid warnings on Cygwin.
108248 2004-01-20  Bruno Haible  <bruno@clisp.org>
108250         * lib/allocsa.h: New file, from GNU gettext.
108251         * lib/allocsa.c: New file, from GNU gettext.
108253 2004-01-18  Karl Berry  <karl@gnu.org>
108255         * doc/gpl.texi, doc/lgpl.texi: new files.
108257 2004-01-18  Karl Berry  <karl@gnu.org>
108259         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
108260         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
108262 2004-01-15  Paul Eggert  <eggert@twinsun.com>
108264         Merge from coreutils.
108266         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
108267         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
108268         (gl_DEFAULT_POSIX2_VERSION): Move
108269         the documentation from 'configure' into 'config.hin',
108270         so that 'configure --help' isn't burdened by it and
108271         we don't have to worry about its formatting there.
108272         Reword the documentation so that it's more succinct
108273         and can be run together into a single paragraph.
108274         * m4/same.m4 (gl_SAME): Check for pathconf.
108276 2004-01-15  Paul Eggert  <eggert@twinsun.com>
108278         Merge from coreutils.
108280         * lib/posixver.c: Include posixver.h.
108282         * lib/same.c: Include <stdbool.h>, <limits.h>.
108283         (_POSIX_NAME_MAX): Define if not defined.
108284         (MIN): New macro.
108285         (same_name): If file names are silently truncated, report
108286         that the file names are the same if they are the same after
108287         the silent truncation.
108289         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
108290         conversion function.
108291         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
108292         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
108293         longer needed.
108295 2004-01-15  Jim Meyering  <jim@meyering.net>
108297         Merge from coreutils.
108299         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
108300         if no library is required.
108301         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
108302         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
108303         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
108304         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
108305         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
108306         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
108307         value, $ac_cv_search_crypt, if it's "none required".
108308         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
108309         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
108310         not gl_FUNC_GETLOADAVG.
108311         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
108312         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
108314 2004-01-15  Jim Meyering  <jim@meyering.net>
108316         Merge from coreutils.
108318         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
108319         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
108320         http://mail.gnu.org/r/bug-coreutils/2003-11/msg00144.html
108322         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
108323         optional configure-time default.
108325         * lib/version-etc.c (version_etc_copyright): Update copyright date.
108327         * lib/xreadlink.c (xreadlink): Correct outdated comment.
108329 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
108331         Merge from coreutils.
108333         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
108334         value, $ac_cv_search_nanosleep, if it's "none required".
108336 2004-01-14  Paul Eggert  <eggert@twinsun.com>
108338         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
108339         with like-named macro in fnmatch.c.
108340         (EXT): Use an internal constant instead.
108342         Merge fnmatch patches from glibc.
108343         * lib/fnmatch.c (mbsinit): Remove define.
108344         Add libc_hidden_ver (__fnmatch, fnmatch).
108345         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
108346         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
108348 2004-01-14  Karl Berry  <karl@gnu.org>
108350         * config/install-sh: update from automake.
108352 2004-01-13  Karl Berry  <karl@gnu.org>
108354         * config/install-sh: update from automake.
108356 2004-01-09  Karl Berry  <karl@gnu.org>
108358         * config/install-sh: update from automake.
108360 2004-01-05  Karl Berry  <karl@gnu.org>
108362         * config/config.{sub,guess}: update from config.
108364 2003-12-31  Karl Berry  <karl@gnu.org>
108366         * config/depcomp: update from automake.
108368 2003-12-14  Karl Berry  <karl@gnu.org>
108370         * lib/config.charset: update from gettext-runtime.
108372 2003-12-03  Paul Eggert  <eggert@twinsun.com>
108374         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
108375         Bug reported by Alfred M. Szmidt.
108377 2003-12-03  Bruno Haible  <bruno@clisp.org>
108379         * m4/gettext.m4: Upgrade from gettext-0.13.
108380         * m4/po.m4: Upgrade from gettext-0.13.
108381         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
108382         * m4/intmax.m4: New file, from gettext-0.13.
108383         * m4/printf-posix.m4: New file, from gettext-0.13.
108385 2003-11-29  Karl Berry  <karl@gnu.org>
108387         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
108389 2003-11-25  Paul Eggert  <eggert@twinsun.com>
108390             Bruno Haible  <bruno@clisp.org>
108392         * lib/printf-parse.h: Don't include sys/types.h.
108393         (ARG_NONE): New macro.
108394         (char_directive): Change type of *arg_index fields to size_t.
108395         * lib/printf-parse.c: Don't include sys/types.h.
108396         (SSIZE_MAX): Remove macro.
108397         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
108398         Remove unnecessary overflow check.
108399         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
108400         fields.
108402 2003-11-25  Bruno Haible  <bruno@clisp.org>
108404         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
108406 2003-11-25  Bruno Haible  <bruno@clisp.org>
108408         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
108409         gt_TYPE_SSIZE_T.
108411 2003-11-24  Paul Eggert  <eggert@twinsun.com>
108413         * modules/alloca: Remove dependency on xalloc.
108415 2003-11-24  Paul Eggert  <eggert@twinsun.com>
108417         * lib/alloca.c: Remove dependency on xalloc module.
108418         (xalloc_die): Remove.
108419         (memory_full) [!defined emacs]: New macro.
108420         [!defined emacs]: Don't include xalloc.h.
108421         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
108422         address arithmetic overflows.  Change datatypes a bit to avoid
108423         unnecessary casts.
108425 2003-11-22  Jim Meyering  <jim@meyering.net>
108427         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
108428         s/size/size_t/.
108430 2003-11-21  Karl Berry  <karl@gnu.org>
108432         * config/config.{sub,guess}: update from config.
108434 2003-11-18  Karl Berry  <karl@gnu.org>
108436         * config/config.{sub,guess}: update from config.
108438         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
108440 2003-11-17  Paul Eggert  <eggert@twinsun.com>
108442         * README: Mention that S+T cannot overflow if S is the size of
108443         an existing object and T is sufficiently small.
108445 2003-11-17  Jim Meyering  <jim@meyering.net>
108447         On systems without utime and without a utimes function capable of
108448         dealing with a NULL struct utimbuf* argument, this utime replacement
108449         could -- in unusual circumstances -- leak a file descriptor.
108450         * lib/utime.c: Include <unistd.h> and <errno.h>.
108451         (utime_null): Be sure to close `fd' and to preserve errno.
108452         Reported by Geoff Collyer via Arnold Robbins.
108454 2003-11-17  Bruno Haible  <bruno@clisp.org>
108456         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
108457         (Depends-on): Add xsize.
108459 2003-11-17  Bruno Haible  <bruno@clisp.org>
108461         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
108463 2003-11-17  Bruno Haible  <bruno@clisp.org>
108465         * lib/vasnprintf.c (alloca): Remove fallback definition.
108466         (freea): Remove definition.
108467         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
108468         Reported by Paul Eggert.
108470 2003-11-16  Paul Eggert  <eggert@twinsun.com>
108471             Bruno Haible  <bruno@clisp.org>
108473         Protect against address arithmetic overflow.
108474         * lib/printf-args.h: Include stddef.h.
108475         (arguments): Change type of field 'count' to size_t.
108476         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
108477         'unsigned int' where appropriate.
108478         * lib/printf-parse.h: Include sys/types.h.
108479         (char_directive): Change type of *arg_index fields to ssize_t.
108480         (char_directives): Change type of fields 'count', max_*_length to
108481         size_t.
108482         * lib/printf-parse.c: Include sys/types.h and xsize.h.
108483         (SSIZE_MAX): Define fallback value.
108484         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
108485         instead of 'int' where appropriate. Check a_allocated, d_allocated
108486         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
108487         * lib/vasnprintf.c: Include xsize.h.
108488         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
108489         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
108490         overflow. Avoid wraparound when converting a width or precision from
108491         decimal to binary.
108493 2003-11-16  Bruno Haible  <bruno@clisp.org>
108495         Update from GNU gettext.
108496         * lib/printf-parse.c: Generalize to it can be compiled for wide
108497         strings.
108498         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
108499         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
108500         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
108501         SNPRINTF): New macros.
108502         Don't include <alloca.h> if the file is used inside libintl.
108503         (local_wcslen): New function, for Solaris 2.5.1.
108504         (VASNPRINTF): Use it instead of wcslen.
108506 2003-11-16  Bruno Haible  <bruno@clisp.org>
108508         * lib/xsize.h (xmax): New function.
108509         (xsum, xsum3, xsum4): Declare as "pure" functions.
108511 2003-11-12  Paul Eggert  <eggert@twinsun.com>
108513         * modules/xalloc (Files): Undo latest change, since xalloc.h
108514         no longer needs SIZE_MAX or PTRDIFF_MAX.
108516 2003-11-12  Paul Eggert  <eggert@twinsun.com>
108518         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
108519         gl_PTRDIFF_MAX.
108521 2003-11-12  Paul Eggert  <eggert@twinsun.com>
108523         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
108524         "return", to pacify some unknown compiler.  Problem reported
108525         by Joerg Schilling.
108527 2003-11-12  Paul Eggert  <eggert@twinsun.com>
108529         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
108530         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
108531         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
108532         heuristic is just as accurate as far as we know, and it removes a
108533         dependency on size_max.m4 and ptrdiff_max.m4.
108535 2003-11-11  Bruno Haible  <bruno@clisp.org>
108537         * modules/xsize (Files): Add m4/size_max.m4.
108538         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
108540 2003-11-11  Bruno Haible  <bruno@clisp.org>
108542         * m4/size_max.m4: New file.
108543         * m4/ptrdiff_max.m4: New file.
108544         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
108545         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
108546         (gl_XALLOC): Invoke it.
108548 2003-11-11  Bruno Haible  <bruno@clisp.org>
108550         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
108551         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
108552         defined.
108554 2003-11-10  Paul Eggert  <eggert@twinsun.com>
108556         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
108557         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
108558         rejected some allocations of exactly SIZE_MAX - 2 bytes.
108559         From Bruno Haible.
108560         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
108561         not (size_t) -1, since it's defined here.
108563 2003-11-09  Karl Berry  <karl@gnu.org>
108565         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
108567 2003-11-06  Paul Eggert  <eggert@twinsun.com>
108569         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
108570         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
108571         Reject sizes of exactly SIZE_MAX bytes.
108572         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
108573         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
108575 2003-11-05  Bruno Haible  <bruno@clisp.org>
108577         * lib/xsize.h: Include limits.h, to avoid a possible collision with
108578         SIZE_MAX defined in <limits.h> on Solaris.
108580 2003-11-04  Jim Meyering  <jim@meyering.net>
108582         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
108583         variable names, rather than @VAR@.
108584         * modules/poll: Likewise.
108586 2003-11-04  Bruno Haible  <bruno@clisp.org>
108588         * modules/xsize: New file.
108589         * modules/linebreak: Depend on xsize.
108590         * MODULES.html.sh (func_all_modules): Add xsize.
108592 2003-11-04  Bruno Haible  <bruno@clisp.org>
108594         * m4/xsize.m4: New file.
108596 2003-11-04  Bruno Haible  <bruno@clisp.org>
108598         * lib/xsize.h: New file.
108599         * lib/linebreak.c: Include xsize.h.
108600         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
108601         argument for overflow.
108602         Suggested by Paul Eggert.
108604 2003-11-03  Karl Berry  <karl@gnu.org>
108606         * config/config.{guess,sub}: update from config.
108608 2003-11-03  Jim Meyering  <jim@meyering.net>
108610         * modules/userspec (lib_SOURCES): Add userspec.h.
108611         (Include): Add "userspec.h".
108612         Improve description.
108614 2003-11-03  Jim Meyering  <jim@meyering.net>
108616         * lib/userspec.c: Include "userspec.h".
108617         * lib/userspec.h: New file.
108619 2003-11-03  Bruno Haible  <bruno@clisp.org>
108621         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
108623 2003-11-03  Bruno Haible  <bruno@clisp.org>
108625         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
108626         available, to avoid (extremely rare) race condition.
108627         Suggested by Paul Eggert.
108629 2003-11-02  Karl Berry  <karl@gnu.org>
108631         * config/srclist.txt (vasprintf.c): sync broken, sigh.
108633 2003-10-31  Paul Eggert  <eggert@twinsun.com>
108635         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
108636         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
108637         (read_filesystem_list): Set and use me_type_malloced.
108638         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
108639         whatever the type happens to be), for brevity and consistency.
108640         Check for size calculation overflow on Alphas running OSF/1.
108642 2003-10-31  Jim Meyering  <jim@meyering.net>
108644         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
108646         * lib/linebuffer.c: Include <string.h> for declaration of memset.
108648 2003-10-30  Paul Eggert  <eggert@twinsun.com>
108649             Bruno Haible  <bruno@clisp.org>
108651         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
108652         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
108654 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
108656         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
108657         netbsd*-gnu*.  Suggested by Robert Millan.
108659 2003-10-29  Paul Eggert  <eggert@twinsun.com>
108661         * modules/group-member: Depend on stdbool.
108663 2003-10-29  Paul Eggert  <eggert@twinsun.com>
108665         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
108667 2003-10-29  Paul Eggert  <eggert@twinsun.com>
108669         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
108670         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
108671         after the 'gnu' in these cases.  This fixes some bugs in the
108672         previous change, and is based on suggestions by Robert Millan.
108674 2003-10-29  Paul Eggert  <eggert@twinsun.com>
108676         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
108677         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
108678         no longer needed.
108679         * lib/quotearg.c (quotearg_n_options): Use it.
108680         * lib/group-member.c: Include <stdbool.h>.
108681         (free_group_info): Arg is now const *; don't free arg.
108682         (get_group_info): Now returns bool and accepts struct group_info *,
108683         rather than returning a malloc'ed struct group_info *.
108684         All uses changed.  Check for overflow in internal size calculation.
108686         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
108687         rather than xmalloc/xrealloc.
108688         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
108689         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
108690         conformance bug: the old code used a pointer after freeing the
108691         storage that it addressed.
108692         * lib/hash.c (hash_initialize): Simplify the code by using
108693         xalloc_oversized rather than doing it by hand.
108694         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
108695         the buffer preserved.  Use free and xmalloc instead.
108696         * lib/quotearg.c (quotearg_n_options): Likewise.
108697         Use a simpler test for size overflow.  Don't use xalloc_oversized
108698         because unsigned int might be wider than size_t (!); this suggests
108699         that we should switch from unsigned int to size_t for slot numbers.
108701 2003-10-28  Paul Eggert  <eggert@twinsun.com>
108703         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
108704         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
108705         NetBSD kernels.  Requested by Richard Stallman.
108707 2003-10-27  Paul Eggert  <eggert@twinsun.com>
108709         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
108710         to allocate the returned structure.  Do not allocate a subarray,
108711         as x2nrealloc will do that.
108712         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
108713         instead of xnrealloc.
108714         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
108716 2003-10-27  Bruno Haible  <bruno@clisp.org>
108718         * lib/stdbool_.h: Better support for BeOS.
108720 2003-10-26  Paul Eggert  <eggert@twinsun.com>
108722         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
108723         now uses inline.
108725 2003-10-26  Paul Eggert  <eggert@twinsun.com>
108727         * lib/xalloc.h (xalloc_oversized): New static inline function, for
108728         callers that want to do their own size-overflow checking.  Include
108729         <stdbool.h>, since xalloc_oversized returns bool.
108730         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
108731         to use xalloc_oversized.
108733         Add two functions x2realloc, x2nrealloc, for programs that grow
108734         arrays dynamically by doubling their sizes.
108735         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
108736         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
108737         New functions.
108739         Port to C99 semantics for 'inline' of external functions.
108740         Bug reported by Bruno Haible.
108741         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
108742         with the old contents of xnmalloc.
108743         (xnmalloc, xmalloc): Use it.
108744         (xnrealloc_inline): New static inline function,
108745         with the old contents of xnrealloc.
108746         (xnrealloc, xrealloc): Use it.
108748         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
108749         that.
108751 2003-10-26  Karl Berry  <karl@gnu.org>
108753         * config/srclist.txt (COPYING.DOC): no longer available from
108754         /gd/gnuorg; don't know where the ultimate source is.
108756 2003-10-25  Paul Eggert  <eggert@twinsun.com>
108758         Fix several address-calculation bugs in the hash modules,
108759         plus some minor code cleanup.
108761         * lib/hash.h: Include <stdbool.h>, for bool.
108762         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
108763         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
108764         hash_get_n_entries, hash_get_max_bucket_length,
108765         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
108766         hash_rehash): Use size_t rather than unsigned.
108767         * lib/hash.c (struct hash_table, hash_get_n_buckets,
108768         hash_get_n_buckets_used, hash_get_n_entries,
108769         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
108770         hash_get_entries, hash_do_for_each, hash_string, is_prime,
108771         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
108772         Likewise.
108773         (SIZE_MAX): Define if not defined.
108774         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
108775         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
108776         hash_print):
108777         Use const * when possible.
108778         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
108779         (check_tuning): Fix bug: if tuning parameters were very close to
108780         0 or 1, rounding errors could have caused subscript violations.
108781         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
108782         (hash_initialize): Add 'fail:' label
108783         to free table and return NULL, and use it to simplify code.
108784         Use calloc rather than clearing the storage ourself.
108785         (hash_initialize, hash_rehash): Check for arithmetic overflow in
108786         buffer size calculations.
108787         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
108788         Include <stddef.h>, for size_t.
108789         * lib/hash-pjw.c (hash_pjw): Likewise.
108790         Switch to method described by Bruno Haible.
108791         Include <limits.h>, for CHAR_BIT.
108792         (SIZE_BITS): New macro.
108794 2003-10-23  Paul Eggert  <eggert@twinsun.com>
108796         * m4/getline.m4 (AM_FUNC_GETLINE):
108797         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
108798         hosts.  Problem reported by Derek Robert Price in
108799         <http://mail.gnu.org/r/bug-gnulib/2003-10/msg00092.html>.
108800         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
108801         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
108803 2003-10-21  Paul Eggert  <eggert@twinsun.com>
108805         * lib/getndelim2.c (getndelim2): When size calculation overflows,
108806         ceiling the allocation at NMAX bytes rather than silently
108807         discarding input bytes before NMAX is reached.  This makes
108808         a difference only if NMAX exceeds SIZE_MAX / 2.
108810         * lib/obstack.c: Merge from glibc.
108811         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
108812         Add libc_hidden_def (_obstack_newchunk).
108813         (_obstack_free) [! defined _LIBC]: Remove.
108814         [defined _LIBC]: Make a strong alias from obstack_free, rather than
108815         a clone of the function body.
108816         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
108817         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
108819         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
108820         glibc.
108821         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
108822         arg to memcpy.
108824         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
108825         (obstack_ptr_grow_fast, obstack_int_grow_fast):
108826         Don't use lvalue casts, as GCC plans to remove support for them
108827         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
108828         was also present in the non-GCC version, indicating that this
108829         code had always been buggy and had never been widely used.
108830         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
108831         Use the fast variant of each macro, rather than copying the
108832         definiens of the fast variant; that way, we'll be more likely to
108833         catch future bugs in the fast variants.
108835 2003-10-20  Bruno Haible  <bruno@clisp.org>
108837         * modules/wait-process: New file.
108838         * MODULES.html.sh (func_all_modules): Add wait-process.
108840 2003-10-20  Bruno Haible  <bruno@clisp.org>
108842         * m4/wait-process.m4: New file.
108844 2003-10-20  Bruno Haible  <bruno@clisp.org>
108846         * lib/wait-process.h: New file, from GNU gettext.
108847         * lib/wait-process.c: New file, from GNU gettext.
108849 2003-10-19  Jim Meyering  <jim@meyering.net>
108851         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
108852         HPUX 10.20.
108854 2003-10-18  Karl Berry  <karl@gnu.org>
108856         * config/config.guess: update from config.
108858 2003-10-16  Paul Eggert  <eggert@twinsun.com>
108860         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
108861         (getgroups): First arg is int, not size_t.
108862         Don't let 'free' mangle errno.
108864 2003-10-16  Paul Eggert  <eggert@twinsun.com>
108866         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
108868 2003-10-16  Karl Berry  <karl@gnu.org>
108870         * config/config.{guess,sub}: update from config.
108872 2003-10-16  Jim Meyering  <jim@meyering.net>
108874         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
108875         memcpy.
108877 2003-10-15  Paul Eggert  <eggert@twinsun.com>
108879         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
108880         (SIZE_MAX): Remove.
108881         (new_exclude, add_exclude_file): Initial size no longer needs to
108882         be a power of 2.
108883         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
108884         our own address arithmetic overflow checking.
108886         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
108887         (fnmatch): Do not alloca more than 2000 wide characters;
108888         instead, use malloc for large buffers.
108889         Check for address arithmetic overflow, and return -1
108890         with errno set to ENOMEM in that case.
108891         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
108892         (NEW_PATTERN): Do not alloca more than 8000 bytes;
108893         instead, return -1.  Check for address arithmetic overflow.
108895 2003-10-14  Paul Eggert  <eggert@twinsun.com>
108897         Handle invalid suffixes and overflow independently, so that
108898         callers can treat them independently as needed.  Fix some bugs in
108899         suffix handling, e.g., "100k@" was not diagnosed as an invalid
108900         suffix for a human-readable blocksize.  The major caller-visible
108901         change is the addition of a new
108902         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
108903         that both overflow and suffix chars were found.
108905         * lib/human.c (humblock): Don't check separately for invalid suffix
108906         char; that is xstrtoumax's job (now that its bug is fixed).
108907         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
108908         INTMAX_MAX]: New macros.
108909         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
108910         TYPE_MAXIMUM): New macros.
108911         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
108912         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
108913         if overflow occurs, as it's what __strtol does and it's more useful
108914         in practice.
108915         (__xstrtol): If __strtol reports some error other than ERANGE,
108916         reflect it to the caller as LONGINT_INVALID.  If it reports
108917         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
108918         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
108919         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
108920         value.
108921         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
108922         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
108923         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
108924         [defined UINTMAX_MAX]: New macros.
108926 2003-10-14  Bruno Haible  <bruno@clisp.org>
108928         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
108930 2003-10-14  Bruno Haible  <bruno@clisp.org>
108932         * m4/sig_atomic_t: New file, from GNU gettext.
108933         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
108935 2003-10-14  Bruno Haible  <bruno@clisp.org>
108937         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
108938         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
108939         Also use volatile where needed.
108941 2003-10-12  Paul Eggert  <eggert@twinsun.com>
108943         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
108944         Change maintainer from Bruno Haible to 'all'.
108946 2003-10-12  Paul Eggert  <eggert@twinsun.com>
108948         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
108950 2003-10-12  Paul Eggert  <eggert@twinsun.com>
108952         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
108953         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
108954         and define in terms of the other primitives.
108955         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
108956         (SIZE_MAX): Define if not already defined.
108957         (array_size_overflow): New function.
108958         (xalloc_die): Abort instead of exiting if 'error' returns.
108959         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
108960         (xmalloc, xrealloc): Use them.
108961         (xcalloc): Check for address arithmetic overflow.
108962         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
108963         a bit faster than strcpy.
108965 2003-10-10  Simon Josefsson  <jas@extundo.com>
108967         * modules/argp (Depends-on): Add restrict and strcase.
108969 2003-10-10  Simon Josefsson  <jas@extundo.com>
108971         * m4/argp.m4: Add AC_C_INLINE.
108973 2003-10-08  Paul Eggert  <eggert@twinsun.com>
108975         Merge getpass from libc, plus a few fixes.
108977         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
108978         Include <stdbool.h>.
108979         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
108980         __fsetlocking to empty.
108981         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
108982         do include <bits/libc-lock.h>.
108983         Do not include <fcntl.h>; not needed.
108984         [_LIBC]: Include <wchar.h>.
108985         (NOTCANCEL_MODE): New macro.
108986         (flockfile, funlockfile) [_LIBC]: New macros.
108987         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
108988         [!_LIBC]: New macros.
108989         (call_fclose): New function.
108990         (getpass): Use it.  Save tty stream separately; this simplifies the
108991         code and makes it more reliable if stdin happens to equal stdout.
108992         Invoke __fsetlocking on tty.
108993         Handle thread cancellation if needed.
108994         Namespace cleanup (use __tcgetattr, __getline).
108995         Use bool for Booleans.
108996         [USE_IN_LIBIO]: Handle wide streams.
108997         [!_LIBC]: Unconditionally do the fseek, since we don't know what
108998         stream might go where.
109000         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
109001         doesn't have to include <stdio.h> before us.
109002         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
109003         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
109004         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
109005         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
109006         if not declared, so that we can use getpass.c code from libc without
109007         rewriting it.
109008         (flockfile, ftrylockfile, funlockfile): New macros.
109010 2003-10-08  Paul Eggert  <eggert@twinsun.com>
109012         * modules/getpass: Depend on stdbool.
109014 2003-10-08  Paul Eggert  <eggert@twinsun.com>
109016         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
109018 2003-10-07  Karl Berry  <karl@gnu.org>
109020         * config/config.{guess,sub}: update from config.
109022 2003-10-06  Jim Meyering  <jim@meyering.net>
109023             Bruno Haible  <bruno@clisp.org>
109025         This lets translators provide better translations for the
109026         "Written by ..." part of --version output.
109027         * lib/version-etc.h: Include stdarg.h.
109028         (version_etc_copyright): Declare as readonly.
109029         (version_etc): Make this function variadic with a NULL-terminated list
109030         of author name strings.
109031         (version_etc_va): New declaration.
109032         * lib/version-etc.c: Include stdarg.h, stdlib.h.
109033         (version_etc_copyright): Declare as readonly.
109034         (version_etc_va): New function. Provide a different translatable string
109035         for each possible number of authors < 10. Abbreviate when there are 10
109036         authors or more.
109037         (version_etc): Make this function variadic. Call version_etc_va.
109038         Suggestion from Gary V. Vaughan.
109040         * lib/long-options.h (parse_long_options): Change prototype: the
109041         authors string is moved to the end and becomes variadic.
109042         * lib/long-options.c: Include stdarg.h.
109043         (parse_long_options): Make this function variadic, too.
109044         Call version_etc_va, not version_etc.
109046 2003-10-06  Bruno Haible  <bruno@clisp.org>
109048         * modules/version-etc-2: Remove file.
109049         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
109051 2003-10-06  Bruno Haible  <bruno@clisp.org>
109053         * modules/fatal-signal: New file.
109054         * MODULES.html.sh (func_all_modules): Add fatal-signal.
109056 2003-10-06  Bruno Haible  <bruno@clisp.org>
109058         * m4/fatal-signal.m4: New file.
109059         * m4/signalblocking.m4: New file, from GNU gettext.
109061 2003-10-06  Bruno Haible  <bruno@clisp.org>
109063         * lib/version-etc-2.h: Remove file.
109064         * lib/version-etc-2.c: Remove file.
109066 2003-10-06  Bruno Haible  <bruno@clisp.org>
109068         * lib/fatal-signal.h: New file, from GNU gettext.
109069         * lib/fatal-signal.c: New file, from GNU gettext.
109071 2003-10-05  Paul Eggert  <eggert@twinsun.com>
109073         * README: Rework advice for preventing empty .o files.
109074         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
109075         not <sys/types.h>.
109077 2003-10-04  Karl Berry  <karl@gnu.org>
109079         * lib/argp*: update from libc.
109081 2003-10-04  Karl Berry  <karl@gnu.org>
109083         * config/config.{guess,sub}: update from config.
109085 2003-10-02  Bruno Haible  <bruno@clisp.org>
109087         * modules/lchown (Include): Add lchown.h.
109088         * modules/time_r (Include): Use "..." syntax.
109089         * modules/xgetdomainname (Include): Add xgetdomainname.h.
109091 2003-10-01  Simon Josefsson  <jas@extundo.com>
109093         * MODULES.html.sh (func_all_modules): Move gethostname from section
109094         'based on' to section 'lacking' POSIX:2001.
109096 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
109098         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
109099         to output mode on the same stream.
109101 2003-09-29  Paul Eggert  <eggert@twinsun.com>
109103         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
109104         Fix arg typo in previous patch.
109106 2003-09-28  Jim Meyering  <jim@meyering.net>
109108         * lib/error.c: Correct cpp indentation.
109110 2003-09-27  Paul Eggert  <eggert@twinsun.com>
109112         * modules/free: New file.
109114 2003-09-27  Paul Eggert  <eggert@twinsun.com>
109116         * m4/free.m4: New file.
109118 2003-09-27  Paul Eggert  <eggert@twinsun.com>
109120         * lib/minmax.h (MIN, MAX)
109121         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
109122         Omit the special code that used __typeof__, since we worry that
109123         it could be more trouble than it's worth.  See:
109124         http://mail.gnu.org/r/bug-gnulib/2003-01/msg00090.html
109125         http://mail.gnu.org/r/bug-gnulib/2003-01/msg00095.html
109127         * lib/free.c: New file.
109129 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
109131         Trivial fixes to Makefile.am parts of module listings.
109132         * modules/strstr: Append strstr.h to lib_SOURCES.
109133         * modules/strcase: Likewise, for strcase.h.
109135 2003-09-27  Karl Berry  <karl@gnu.org>
109137         * config/mkinstalldirs: update from automake.
109139 2003-09-26  Paul Eggert  <eggert@twinsun.com>
109141         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
109142         (error_tail): Do not loop, reallocating temporary buffer, since
109143         the output cannot contain more wide characters than the input
109144         contains bytes, the size must be big enough already.  This avoids
109145         one potential size overflow calculation.  Check for size overflow
109146         when calculating temporary buffer size.  Free temporary buffer
109147         when done, if it was allocated with malloc; this plugs a memory
109148         leak.  Remove casts from void * to pointers, that are no longer
109149         needed now that we're assuming C89 or better.
109151         Merge error changes from glibc.
109153         * lib/error.c, error.h: Update copyright notice header to match glibc.
109154         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
109155         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
109156         Disable cancellation while printing error.
109157         * lib/error.h: Prepend __ to parameter names.
109159 2003-09-26  Jim Meyering  <jim@meyering.net>
109161         * lib/error.c (error_tail): Move some declarations
109162         into inner scope where the local variables are used.
109164 2003-09-26  Bruno Haible  <bruno@clisp.org>
109166         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
109167         stpncpy().
109168         Don't define stpncpy through config.h; it's now done through stpncpy.h.
109170 2003-09-26  Bruno Haible  <bruno@clisp.org>
109172         * lib/stpncpy.h (gnu_stpncpy): New declaration.
109173         (stpncpy): Define as alias for gnu_stpncpy.
109174         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
109176 2003-09-25  Simon Josefsson  <jas@extundo.com>
109178         * lib/xgetdomainname.h: New file.
109179         * lib/xgetdomainname.c: New file.
109181 2003-09-25  Simon Josefsson  <jas@extundo.com>
109182             Bruno Haible  <bruno@clisp.org>
109184         * modules/getdomainname: New file.
109185         * modules/xgetdomainname: New file.
109186         * MODULES.html.sh (func_all_modules): Add getdomainname,
109187         xgetdomainname.
109189 2003-09-25  Simon Josefsson  <jas@extundo.com>
109190             Bruno Haible  <bruno@clisp.org>
109192         * m4/getdomainname.m4: New file.
109194 2003-09-25  Simon Josefsson  <jas@extundo.com>
109195             Bruno Haible  <bruno@clisp.org>
109197         * lib/getdomainname.h: New file.
109198         * lib/getdomainname.c: New file.
109200 2003-09-25  Karl Berry  <karl@gnu.org>
109202         * lib/argp-fmtstream.c, argp-help.c: update from libc.
109204 2003-09-25  Karl Berry  <karl@gnu.org>
109206         * config/install-sh: update from automake.
109208 2003-09-25  Bruno Haible  <bruno@clisp.org>
109210         * modules/version-etc-2: New file, from modules/version-etc with
109211         modifications.
109212         * MODULES.html.sh (func_all_modules): Add version-etc-2.
109214 2003-09-25  Bruno Haible  <bruno@clisp.org>
109216         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
109217         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
109219 2003-09-24  Simon Josefsson  <jas@extundo.com>
109221         * modules/xgethostname: Add xgethostname.h.
109223 2003-09-24  Paul Eggert  <eggert@twinsun.com>
109225         * lib/linebuffer.c (freebuffer): Don't free the argument, just
109226         the buffer associated with the argument.  Bug reported by
109227         Simon Josefsson.
109229 2003-09-24  Paul Eggert  <eggert@twinsun.com>
109231         * README: Document assumptions that 'int' is at least 32 bits
109232         wide, that integer arithmetic is 2's complement without overflow,
109233         that there are no holes in integer values, that adding sizes of
109234         two nonoverlapping objects can't overflow, and that all-bits-zero
109235         yields scalar zero.  Fix spelling and capitalization typos.
109237 2003-09-19  Karl Berry  <karl@gnu.org>
109239         * lib/argp.h: update from libc.
109241 2003-09-17  Paul Eggert  <eggert@twinsun.com>
109243         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
109244         to avoid spurious warnings like "AC_RUN_IFELSE was called before
109245         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
109247 2003-09-17  Paul Eggert  <eggert@twinsun.com>
109249         * gnulib-tool: Use "test -h", not "test -L", for portability
109250         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
109251         (tags_regexp): Remove, since \| doesn't conform to POSIX.
109252         (sed_extract_prog): Issue s commands one-by-one, rather than
109253         using \| in one s command.
109255 2003-09-16  Paul Eggert  <eggert@twinsun.com>
109257         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
109258         input error, instead of returning NULL the next time we are called
109259         (and therefore losing track of errno).
109261 2003-09-16  Bruno Haible  <bruno@clisp.org>
109263         * gnulib-tool (func_create_testdir): Warn about duplicated
109264         dependencies.
109266 2003-09-15  Paul Eggert  <eggert@twinsun.com>
109268         * modules/argmatch, modules/fatal, modules/obstack,
109269         modules/xalloc, modules/xgethostname: Sort dependencies by
109270         importance, not alphabetically.
109272 2003-09-15  Paul Eggert  <eggert@twinsun.com>
109274         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
109275         fails, so that the caller gets the proper errno.
109277         * lib/readutmp.c (read_utmp): Likewise.
109278         Check for fstat error.  Close stream and free storage
109279         when failing.
109281 2003-09-14  Karl Berry  <karl@gnu.org>
109283         * config/srclist.txt (strdup.c): disable for c89 changes.
109285 2003-09-14  Jim Meyering  <jim@meyering.net>
109287         * lib/getloadavg.c: Correct cpp indentation.
109288         * lib/strdup.c: Likewise.
109289         * lib/vasnprintf.c: Likewise.
109291 2003-09-14  Bruno Haible  <bruno@clisp.org>
109293         * modules/fwriteerror: New file.
109294         * MODULES.html.sh (func_all_modules): Add fwriteerror.
109296 2003-09-14  Bruno Haible  <bruno@clisp.org>
109298         * lib/fwriteerror.h: New file.
109299         * lib/fwriteerror.c: New file.
109301 2003-09-12  Paul Eggert  <eggert@twinsun.com>
109303         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
109304         modules/xgethostname, modules/xalloc: Depend on exit.
109306 2003-09-12  Paul Eggert  <eggert@twinsun.com>
109308         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
109310         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
109311         and AC_MINIX, too, so that their extensions are available.
109313         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
109314         This macro has been superseded by gl_BACKUPFILE.
109316         More patches to assume C89 or better.
109318         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
109320         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
109321         unconditionally.
109322         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
109323         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
109324         Include <string.h>, <stdlib.h> unconditionally.
109325         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
109326         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
109327         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
109328         headers or for string.h.
109329         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
109330         or strtoul.
109332         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
109333         headers.
109334         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
109335         * m4/userspec.m4 (gl_USERSPEC): Likewise.
109336         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
109337         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
109338         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
109339         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
109340         memcpy, memset.
109341         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
109342         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
109343         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
109344         strtol.
109345         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
109346         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
109347         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
109348         strtoul.
109350 2003-09-12  Paul Eggert  <eggert@twinsun.com>
109352         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
109353         * lib/obstack.c [!defined _LIBC]: Likewise.
109354         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
109355         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
109356         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
109358         More changes to assume C89 or better.
109360         * lib/error.c (error_tail): Assume vprintf.
109362         * lib/argmatch.c (getenv): Remove decl.
109363         * lib/progreloc.c (get_full_program_name): Define via prototype.
109364         * lib/setenv.c (clearenv): Likewise.
109365         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
109366         needed.
109367         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
109368         (malloc, memcpy): Remove decls.
109369         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
109370         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
109371         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
109372         (memcpy): Remove macro.
109373         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
109374         (__P): Remove.  All uses removed.
109375         (PTR): Remove.  All uses changed to void *.
109376         (CHAR_BIT, NULL): Remove.
109377         (spaces, zeros, memset_space, memset_zero)
109378         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
109379         Remove.
109380         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
109381         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
109382         Define with prototype.
109383         Remove now-unnecessary prototype decl.
109384         (extra_args_spec): Assume ANSI C.  All uses changed.
109385         (extra_args_spec_iso): Remove.
109386         (my_strftime, emacs_strftimeu): Define via prototype.
109387         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
109388         unconditionally.
109389         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
109390         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
109391         (strtoul, strtol): Remove decls.
109392         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
109393         LONG_MAX): Remove.
109394         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
109395         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
109396         (LOCALE_PARAM_PROTO): New macro.
109397         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
109398         (INTERNAL (strtol), strtol): Define with a prototype.
109399         (PARAMS): Remove.  All uses removed.
109400         * lib/tempname.c: Include <string.h> unconditionally.
109401         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
109402         * lib/xgethostname.c (main): Define with a prototype.
109403         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
109404         Include <stdlib.h> unconditionally.
109405         (calloc, malloc, realloc, free): Remove decls.
109406         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
109407         Include <stdlib.h> unconditionally.  Sort include file names.
109408         (strtod): Remove.
109409         (xstrtod): Define with a prototype.
109410         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
109411         (strtol, strtoul): Remove decls.
109413 2003-09-11  Paul Eggert  <eggert@twinsun.com>
109415         More patches to assume C89 or better.
109416         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
109417         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
109418         string.h, memchr, STDC_HEADERS.
109420 2003-09-11  Paul Eggert  <eggert@twinsun.com>
109422         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
109423         Include <stdlib.h>, <string.h> unconditionally.
109424         Remove now-unnecessary cast to char *.
109425         * lib/strnlen.c: Include <string.h> unconditionally.
109426         * lib/yesno.c (yesno): Define with a prototype.
109428 2003-09-11  Bruno Haible  <bruno@clisp.org>
109430         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
109432 2003-09-10  Jim Meyering  <jim@meyering.net>
109434         * lib/error.c: Correct indentation of cpp directives.
109436 2003-09-10  Bruno Haible  <bruno@clisp.org>
109438         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
109439         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
109440         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
109441         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
109442         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
109443         <stdlib.h> and <string.h> checks.
109444         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
109445         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
109447 2003-09-10  Bruno Haible  <bruno@clisp.org>
109449         * lib/strcspn.c: Include <string.h> unconditionally.
109450         * lib/strpbrk.c: Include <string.h> unconditionally.
109451         * lib/strstr.c: Include <string.h> unconditionally.
109452         * lib/unicodeio.c: Include <string.h> unconditionally.
109453         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
109454         * lib/unsetenv.c: Likewise.
109455         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
109456         * lib/yesno.c: Include <stdlib.h> unconditionally.
109457         (rpmatch): Add prototype.
109459 2003-09-09  Paul Eggert  <eggert@twinsun.com>
109461         More patches to assume C89 or better.
109462         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
109463         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
109464         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
109465         or for string.h.
109466         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
109467         stdlib.h.
109468         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
109469         C headers.
109470         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
109471         string.h.
109472         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
109473         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
109474         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
109475         or for string.h.
109476         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
109477         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
109478         C headers.
109479         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
109480         memcpy.
109481         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
109482         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
109483         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
109484         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
109485         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
109486         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
109487         string.h, free.
109488         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
109489         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
109490         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
109491         C headers, or for string.h.
109492         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
109493         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
109494         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
109495         headers, memory.h, stdlib.h, string.h, strings.h.
109496         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
109497         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
109498         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
109499         strchr.
109500         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
109501         headers, memory.h, string.h.
109502         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
109503         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
109504         free.
109505         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
109506         headers.
109507         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
109508         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
109509         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
109510         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
109511         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
109513 2003-09-09  Paul Eggert  <eggert@twinsun.com>
109515         More K&R removal.
109517         * lib/acosl.c (main): Use a prototype.
109518         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
109519         tanl.c: Likewise.
109521         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
109523         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
109524         (getopt, etopt_long, getopt_long_only, _getopt_internal)
109525         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
109526         with a prototype.
109527         * lib/getopt.c (const): Remove macro.
109528         Include <string.h> unconditionally.
109529         (my_index): Remove; all uses changed to strchr.
109530         (strlen): Remove decl.
109531         (exchange): Remove forward decl; no longer needed.
109532         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
109533         Define with prototype.
109534         * lib/getopt1.c (const): Remove macro.
109535         (getopt_long, getopt_long_only, main): Define with prototype.
109537         * lib/getugroups.c: Include <string.h> unconditionally.
109539         * lib/getusershell.c: Include <stdlib.h> unconditionally.
109540         (getusershell, setusershell, endusershell, readname, main):
109541         Define with prototypes.
109543         * lib/group-member.c: Include group-member.h first.
109544         Include <stdlib.h> unconditionally.
109546         * lib/hard-locale.c: Include hard-locale.h first.
109547         Include <stdlib.h>, <string.h> unconditionally.
109549         * lib/hash.c (free, malloc): Remove decls.
109550         Include <stdlib.h> unconditionally.
109552         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
109553         (getenv): Do not declare.
109555         * lib/idcache.c: Include <string.h> unconditionally.
109557         * lib/long-options.c: Include long-options.h first, to test interface.
109558         Include <stdlib.h> unconditionally.
109560         * lib/makepath.c: Include makepath.h first, to test interface.
109561         Include <stdlib.h> and <string.h> unconditionally.
109563         * lib/linebuffer.c: Include <stdlib.h>.
109564         (free): Remove decl.
109566         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
109567         stddef.h. rpl_malloc returns void *, not char *.
109568         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
109569         prototype.
109571         * lib/md5.h: Include <limits.h> unconditionally.
109572         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
109573         (__P): Remove; all uses removed.
109574         * lib/md5.c: Include "md5.h" first.
109575         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
109576         md5_buffer, md5_process_bytes, md5_process_block):
109577         Define with prototypes.
109578         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
109579         * lib/sha.c: Include "sha.h" first.
109580         Include <stdlib.h>, <string.h> unconditionally.
109582         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
109583         * lib/memcmp.c (__ptr_t): Likewise.
109584         * lib/memrchr.c (__ptr_t): Likewise.
109585         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
109586         Include <string.h> unconditionally.
109587         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
109588         * lib/memchr.c: Include <stdlib.h> unconditionally.
109589         * lib/memchr.c (LONG_MAX): Remove.
109590         * lib/memrchr.c (LONG_MAX): Likewise.
109591         * lib/memchr.c (__memchr): Define via a prototype.
109592         * lib/memrchr.c (__memrchr): Likewise.
109593         * lib/memcmp.c (__P): Remove, and remove all uses.
109594         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
109595         Remove forward decls; no longer needed.
109596         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
109597         Use types required by C89 in prototype.
109599         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
109600         * lib/savedir.c: Likewise.
109601         * lib/mkdir.c (free): Remove decl.
109602         * lib/rmdir.c (rmdir): Define with a prototype.
109603         * lib/savedir.c: Include savedir.h first, to test interface.
109605         * lib/mktime.c (STDC_HEADERS): Remove.
109606         Include <stdlib.h>, <string.h> unconditionally.
109608         * lib/modechange.c: Include <stdlib.h> unconditionally.
109609         (malloc): Remove decl.
109611         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
109612         (free): Remove decl.
109614         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
109615         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
109616         (This type really should be intptr_t, but that's a C99ism.)
109617         (_obstack_memcpy): Remove: all uses changed to memcpy.
109618         Include <string.h> unconditionally.
109619         (struct obstack): Assume __STDC__ for types of members
109620         chunkfun, freefun, extra_arg.
109621         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
109622         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
109623         obstack_begin, obstack_specify_allocation,
109624         obstack_specify_allocation_with_arg, obstack_chunkfun,
109625         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
109626         Remove unprototyped decls and the macros that use them.
109627         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
109628         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
109629         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
109630         (defined __STDC__ && __STDC__)]:
109631         Remove nonprototyped code.
109632         Include <stdlib.h> unconditionally.
109633         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
109634         _obstack_allocated_p, _obstack_free, obstack_free,
109635         _obstack_memory_used, print_and_abort):
109636         Define using prototypes.
109637         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
109638         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
109639         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
109640         obstack_next_free, obstack_object_size, obstack_room) [0]:
109641         Remove unused, unprototyped code.
109643         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
109645         * lib/physmem.c (physmem_total, physmem_available, main): Define
109646         with prototypes.
109648         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
109649         (main): Define with a prototype.
109651         * lib/posixver.c (getenv): Remove decl.
109653         * lib/putenv.c (malloc): Returns void *, not char *.
109654         Include <string.h> unconditionally.
109655         (strchr, memcpy, NULL): Do not define.
109657         * lib/readtokens.c: Include readtokens.h first, to test interface.
109658         Include <stdlib.h>, <string.h> unconditionally.
109659         (init_tokenbuffer): Define with a prototype.
109661         * lib/regex.c (PARAMS): Remove.  All uses removed.
109662         All uses of _RE_ARGS removed, too.
109663         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
109664         unconditionally.
109665         (bzero): Assume memset exists.
109666         (memcmp, memcpy, NULL): Remove.
109667         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
109668         char, or assignments to local vars of type signed char.
109669         (init_syntax_once, PREFIX(extract_number_and_incr),
109670         PREFIX(print_partial_compiled_pattern),
109671         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
109672         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
109673         PREFIX(regex_grow_registers), PREFIX(regex_compile),
109674         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
109675         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
109676         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
109677         wcs_compile_range, byte_compile_range, truncate_wchar,
109678         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
109679         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
109680         count_mbs_length, wcs_re_match_2_internal,
109681         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
109682         PREFIX(alt_match_null_string_p),
109683         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
109684         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
109685         regfree, PREFIX(extract_number)): Define with prototype.  Remove
109686         now-unnecessary declaration, if any.
109687         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
109688         regcomp, regexec):
109689         Remove now-unnecessary casts among pointer types.
109690         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
109692         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
109693         (free): Remove decl.
109695         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
109697         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
109698         (free): Remove decl.
109700         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
109701         * lib/xgetcwd.c: Likewise.
109703         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
109704         (free): Remove decl.
109706         * lib/strchrnul.c (strchrnul): Define with a prototype.
109707         Fix bug: c_in was not converted to char before searching.
109709         The following changes are not K&R related:
109711         * lib/group-member.h: Include <sys/types.h>, so that this file is
109712         self-contained.
109713         * lib/makepath.h: Likewise.
109715         * lib/getusershell.c (readname, default_index, line_size, readname):
109716         Use size_t, not int, for sizes.
109717         (readname): If the size overflows, report an error instead of
109718         looping forever.
109720 2003-09-09  Paul Eggert  <eggert@twinsun.com>
109722         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
109723         libc.
109725 2003-09-09  Paul Eggert  <eggert@twinsun.com>
109727         * README: New section: portability guidelines.
109729 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
109731         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
109732         C89 spec.
109734 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
109736         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
109738 2003-09-08  Paul Eggert  <eggert@twinsun.com>
109740         Assume C89 or better; remove K&R cruft.
109741         A few of these changes were first proposed by Derek Robert Price
109742         in <http://mail.gnu.org/r/bug-gnulib/2003-07/msg00105.html>.
109744         * lib/addext.c: Include <string.h> unconditionally.
109745         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
109746         Don't declare getenv or malloc.
109748         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
109749         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
109750         (NULL): Remove.
109751         (find_stack_direction, alloca): Use prototypes.
109753         * lib/atexit.c (atexit): Define using a prototype.
109755         * lib/basename.c, dirname.c, stripslash.c:
109756         Include <string.h> unconditionally.
109758         * lib/bcopy.c: Include <stddef.h>.
109759         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
109761         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
109763         * lib/error.h (error, error_at_line, error_print_progname)
109764         [! (defined (__STDC__) && __STDC__)]: Remove decls.
109765         * lib/error.c: Include error.h first, to check interface.
109766         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
109767         (VA_START): Remove; all uses changeed to va_start.
109768         (exit, strerror): Remove decls.
109769         (error_print_progname): Prototype uncondionally.
109770         Don't include <errno.h>; no longer needed.
109771         (private_strerror): Remove.
109772         (error_tail): Always define.
109773         (error, error_at_line): Assume C89 or better; always use prototypes.
109774         * lib/fatal.c: Include "fatal.h" first, to test interface.
109775         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
109776         (VA_START): Remove; all uses changed to va_start.
109777         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
109778         this case.
109779         (exit): Remove decl.
109780         (fatal): Prototype unconditionally.  Assume va_start works.
109781         Abort at end, to pacify gcc.
109783         * lib/euidaccess.c (main): Define with a prototype.
109785         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
109787         * lib/exitfail.c: Include <stdlib.h> unconditionally.
109789         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
109790         prototypes.
109791         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
109792         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
109793         (getenv): Remove decl.
109794         (fnmatch): Define using a prototype.
109795         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
109796         (FCT): Define using a prototype.
109798         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
109800         * lib/gethostname.c: Include <stddef.h>.
109801         (gethostname): Define with prototype.  Length is size_t, not int.
109803 2003-09-08  Paul Eggert  <eggert@twinsun.com>
109805         Assume C89 or better; remove K&R cruft.
109806         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
109807         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
109808         string.h, getenv, malloc.
109809         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
109810         headers.
109811         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
109812         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
109813         do not check for strerror.
109814         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
109815         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
109816         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
109817         do not check for doprnt or vprintf.
109818         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
109819         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
109821 2003-09-08  Paul Eggert  <eggert@twinsun.com>
109823         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
109824         getversion.c should have been removed then, but was accidentally
109825         preserved.
109827         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
109828         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
109830 2003-09-08  Karl Berry  <karl@gnu.org>
109832         * config/config.sub, config.guess, srclistvars.sh: update from savannah
109833                 config, forget about prep.
109835         * config/depcomp, missing: update from automake.
109837 2003-09-07  Paul Eggert  <eggert@twinsun.com>
109839         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
109840         <http://mail.gnu.org/r/bug-gnulib/2003-09/msg00028.html>.
109842 2003-09-07  Paul Eggert  <eggert@twinsun.com>
109844         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
109845         copy_tm_result.  Bug reported by Simon Josefsson in
109846         <http://mail.gnu.org/r/bug-gnulib/2003-09/msg00028.html>.
109848 2003-09-06  Paul Eggert  <eggert@twinsun.com>
109850         * m4/time_r.m4: New file.
109851         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
109852         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
109853         is. Check for timegm declaration.
109854         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
109855         Do not check for gmtime_r.
109856         Replace mktime if __mktime_internal does not exist and if mktime
109857         hasn't been replaced already.
109859 2003-09-06  Paul Eggert  <eggert@twinsun.com>
109861         * lib/time_r.c, lib/time_r.h: New files.
109863         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
109864         __localtime_r.
109865         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
109866         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
109868         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
109869         __gmtime_r.
109870         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
109871         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
109872         Include <time_r.h>.
109874         * lib/timegm.c: Switch to glibc implementation, with the following
109875         changes:
109876         [defined HAVE_CONFIG_H]: Include <config.h>.
109877         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
109878         (__mktime_internal) [!defined _LIBC]: New decl.
109879         (__gmtime_r) [!defined _LIBC]: New macro and function.
109880         (timegm): Use a prototype, since gnulib assumes C89.
109881         Do not bother declaring tmp to be const, as it's not really usefu.
109882         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
109883         (timegm): Declare only if HAVE_DECL_TIMEGM.
109885 2003-09-06  Paul Eggert  <eggert@twinsun.com>
109887         * MODULES.html.sh (func_all_modules): Add time_r.
109888         * modules/time_r: New file.
109889         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
109890         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
109892 2003-09-03  Paul Eggert  <eggert@twinsun.com>
109894         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
109895         Bug reported by Lute Kamstra in
109896         <http://mail.gnu.org/r/bug-gnulib/2003-09/msg00003.html>.
109898         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
109899         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
109900         course with correspondingly smaller numbers for tomorrow and
109901         yesterday.  From Tadayoshi Funaba.  Originally installed into
109902         sh-utils on 1999-08-07, but the patch got lost (I guess during the
109903         coreutils merge?).
109905 2003-08-31  Simon Josefsson  <jas@extundo.com>
109907         * modules/timegm: New file.
109908         * MODULES.html.sh (func_all_modules): Add timegm.
109910 2003-08-31  Simon Josefsson  <jas@extundo.com>
109912         * m4/timegm.m4: New file.
109914 2003-08-31  Simon Josefsson  <jas@extundo.com>
109916         * lib/timegm.h: New file.
109917         * lib/timegm.c: New file.  Based on
109918         wget-1.8.2/src/http.c:mktime_from_utc.
109920 2003-08-31  Karl Berry  <karl@gnu.org>
109922         * lib/argp.h: update from libc.
109924 2003-08-28  Bruno Haible  <bruno@clisp.org>
109926         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
109927         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
109928         followed by '#define fnmatch fnmatch_posix' gives an error.
109930 2003-08-28  Bruno Haible  <bruno@clisp.org>
109932         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
109933         warning on QNX, which defines O_BINARY to 000000.
109935 2003-08-27  Jim Meyering  <jim@meyering.net>
109937         * m4/mkstemp.m4: Require that the system mkstemp be able to create
109938         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
109939         would fail after 32.  Reported by Danny Levinson.  Details here:
109940         http://mail.gnu.org/r/bug-coreutils/2003-08/msg00124.html
109942 2003-08-24  Bruno Haible  <bruno@clisp.org>
109944         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
109945         MSVC7 <stdio.h> is included later.
109947 2003-08-22  Simon Josefsson  <jas@extundo.com>
109949         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
109951 2003-08-20  Karl Berry  <karl@gnu.org>
109953         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
109955 2003-08-20  Bruno Haible  <bruno@clisp.org>
109957         * modules/progname: New file.
109958         * MODULES.html.sh (func_all_modules): Add progname.
109960 2003-08-20  Bruno Haible  <bruno@clisp.org>
109962         * lib/progname.h: New file, from GNU gettext.
109963         * lib/progname.c: New file, from GNU gettext.
109964         * lib/progreloc.c: New file, from GNU gettext.
109966 2003-08-19  Jim Meyering  <jim@meyering.net>
109968         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
109969         http://mail.gnu.org/r/bug-gnulib/2003-08/msg00155.html
109971 2003-08-19  Bruno Haible  <bruno@clisp.org>
109973         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
109974         more.
109976 2003-08-19  Bruno Haible  <bruno@clisp.org>
109978         * lib/xstrdup.c: Assume <string.h> exists.
109980 2003-08-18  Paul Eggert  <eggert@twinsun.com>
109982         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
109983         in makefile rules.
109985 2003-08-18  Jim Meyering  <jim@meyering.net>
109987         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
109988         * m4/lib-ld.m4: Likewise.
109990 2003-08-18  Jim Meyering  <jim@meyering.net>
109992         * lib/setenv.h: Indent nested cpp directive.
109993         * lib/vasnprintf.c: Remove trailing blanks.
109995 2003-08-17  Simon Josefsson  <jas@extundo.com>
109997         * modules/xstrndup: New file.
109998         * MODULES.html.sh (func_all_modules): Add xstrndup.
110000 2003-08-17  Simon Josefsson  <jas@extundo.com>
110002         * modules/argp: Fix autoconf macro name. Add more dependencies.
110004 2003-08-17  Simon Josefsson  <jas@extundo.com>
110006         * m4/xstrndup.m4: New file.
110008 2003-08-17  Simon Josefsson  <jas@extundo.com>
110010         * m4/argp.m4: New file.
110012 2003-08-17  Simon Josefsson  <jas@extundo.com>
110013             Bruno Haible  <bruno@clisp.org>
110015         * lib/xstrndup.h: New file.
110016         * lib/xstrndup.c: New file.
110018 2003-08-17  Bruno Haible  <bruno@clisp.org>
110020         * modules/strndup (Files, Include): Add lib/strndup.h.
110022 2003-08-17  Bruno Haible  <bruno@clisp.org>
110024         * modules/euidaccess (Files): Add lib/euidaccess.h.
110026 2003-08-17  Bruno Haible  <bruno@clisp.org>
110028         * lib/strndup.h: New file.
110030 2003-08-17  Bruno Haible  <bruno@clisp.org>
110032         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
110033         like AC_GNU_SOURCE.
110034         * modules/extensions (configure.ac): Comment out the invocation of
110035         gl_USE_SYSTEM_EXTENSIONS.
110037 2003-08-16  Paul Eggert  <eggert@twinsun.com>
110039         Merges from coreutils, etc.
110040         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
110041         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
110042         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
110043         fixing a typo.
110044         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
110045         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
110047 2003-08-16  Paul Eggert  <eggert@twinsun.com>
110049         Document merge from coreutils.
110050         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
110051         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
110052         * modules/utime: Add m4/utimes-null.m4.
110054 2003-08-16  Paul Eggert  <eggert@twinsun.com>
110056         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
110057         space, undoing this 2003-08-12 change:
110058         <http://mail.gnu.org/r/bug-gnulib/2003-08/msg00080.html>
110060 2003-08-16  Paul Eggert  <eggert@twinsun.com>
110062         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
110063         strtoul.c from libc, undoing this 2003-08-12 change:
110064         <http://mail.gnu.org/r/bug-gnulib/2003-08/msg00080.html>
110066 2003-08-16  Jim Meyering  <jim@meyering.net>
110068         Merges from coreutils.
110069         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
110070         prefix.  Adjust cache variables similarly.  Create 500 rather than
110071         just 300 files, to exercise bug on Darwin6.5, too.
110072         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
110073         $missing_dir.
110074         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
110075         AM_SYS_POSIX_TERMIOS.
110076         Reported by mkc@mathdogs.com.
110077         Also change use of $am_cv_sys_posix_termios
110078         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
110079         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
110080         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
110081         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
110082         in /proc/mounts until it finds one with matching device number.  This
110083         is unnecessary when the FILE argument *is* a mount point.  No stat call
110084         is necessary in that case.  So, disable the statvfs-testing code on
110085         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
110086         as RedHat bug# 84846.
110087         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
110088         to 1MB, so as not to render systems with no stack size limit (e.g.,
110089         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
110090         Include <unistd.h>.  On some systems,
110091         it is required for the definition of _SC_PAGESIZE.
110093 2003-08-16  Jim Meyering  <jim@meyering.net>
110095         Merge from coreutils.
110096         * lib/xstrtoimax.c: #else #if -> #elif.
110097         * lib/xstrtoumax.c: Likewise.
110099 2003-08-16  Jim Meyering  <jim@meyering.net>
110101         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
110102         * m4/utimes.m4: Removed.
110103         * m4/utimes-null.m4: Renamed from utimes.m4.
110105         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
110106         to 1MB, so as not to render systems with no stack size limit (e.g.,
110107         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
110108         Include <unistd.h>.  On some systems,
110109         it is required for the definition of _SC_PAGESIZE.
110111 2003-08-16  Jim Meyering  <jim@meyering.net>
110112         and Paul Eggert  <eggert@cs.ucla.edu>
110114         Merges from coreutils, etc.
110116         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
110117         using the latest version from cvs.  This avoids problems with #line
110118         directives using a vendor (Sun) compiler.
110119         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
110120         Don't set GETGROUPS_LIB here; now it's
110121         done via getgroups.m4's wrapper function.
110122         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
110123         rather than just in sh-util/configure.in, so that the
110124         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
110125         same.
110126         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
110127         AC_FUNC_GETLOADAVG where to find getloadavg.c.
110128         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
110129         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
110130         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
110131         Remove code that is now done by the newly-required macros.
110132         Append $(EXEEXT) to DF_PROG.
110133         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
110134         Do not invoke or require the following here,
110135         since prereq.m4 or some gnulib .m4 now does this for us:
110136         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
110137         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
110138         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
110139         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
110140         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
110141         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
110142         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
110143         AC_FUNC_OBSTACK.
110144         Do not replace the following functions, as this is now the job
110145         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
110146         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
110147         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
110148         atexit getpass, strdup, getpagesize.
110149         Replace 'raise'.
110150         Do not check for the following functions, as this is now the job
110151         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
110152         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
110153         setregid.
110154         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
110155         Check for sys/sysctl.h.
110156         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
110157         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
110158         of checking for ssize_t ourselves.
110160         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
110161         Require every macro that gnulib/modules/* suggests for us.
110162         (jm_PREREQ_ADDEXT): New macro.
110163         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
110164         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
110166         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
110167         (gl_PHYSMEM): Use it.
110168         Also check for `table' function.
110169         Check for new headers and functions.
110170         Add check for sys/sysmp.h.
110171         With suggestions from Kaveh Ghazi.
110172         Ignore headers that are present but cannot be compiled.  This
110173         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
110174         C 5.4.
110176 2003-08-15  Paul Eggert  <eggert@twinsun.com>
110178         Document merge from coreutils.
110179         * modules/userspec: Depend on posixver.
110180         * modules/strftime: Depend on tzset.
110182 2003-08-15  Paul Eggert  <eggert@twinsun.com>
110184         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
110185         rather than tab, after '#' in shell-script copyright notices.
110186         Suggested by Bruno Haible.
110188 2003-08-15  Paul Eggert  <eggert@twinsun.com>
110190         * config/srclist-update: Use three spaces, rather than tab, after '#'
110191         in shell-script copyright notices.  Suggested by Bruno Haible.
110192         Remove unnecessary parenthesization in regular expression.
110194 2003-08-15  Jim Meyering  <jim@meyering.net>
110196         Merge from coreutils.
110197         * lib/xgethostname.c: Include <stdlib.h>.
110198         (xghostname): Don't exit for anything other than memory-related
110199         failure; just return NULL.
110200         * lib/userspec.c: Include "posixver.h".
110201         (parse_user_spec): Accept `.' as a separator only
110202         in pre-POSIX-200112 mode.
110203         * lib/strtoimax.c: Use #elif rather than #else #if.
110204         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
110205         Remove function, now that we can rely on a working tzset function.
110206         [!_LIBC]: Ensure that the required autoconf test has been run.
110207         [!defined _NL_CURRENT && HAVE_STRFTIME]:
110208         Use underlying_strftime for %r.
110209         * lib/sha.c: Merge in some clean-up and optimization changes from
110210         glibc.
110211         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
110212         Ensure that it is a multiple of 64.
110213         Rearrange loop exit tests so as to avoid performing an
110214         additional fread after encountering an error or EOF.
110215         * lib/realloc.c: Update copyright date.
110217 2003-08-15  Jim Meyering  <jim@meyering.net>
110218         and Paul Eggert  <eggert@twinsun.com>
110220         Merge from coreutils.
110221         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
110222         member but strut utmpx does not.  Needed for AIX 4.3.3.
110223         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
110225 2003-08-15  Jim Meyering  <jim@meyering.net>
110226         and Paul Eggert  <eggert@cs.ucla.edu>
110228         Merges from coreutils, etc.
110229         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
110230         Require gl_FUNC_TZSET_CLOBBER.
110231         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
110232         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
110233         members.
110235 2003-08-14  Paul Eggert  <eggert@twinsun.com>
110237         Help the merge from coreutils.
110238         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
110239         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
110240         * m4/tzset.m4: Use it too.
110242 2003-08-14  Paul Eggert  <eggert@twinsun.com>
110244         * modules/tzset: New file.
110246 2003-08-14  Jim Meyering  <jim@meyering.net>
110248         Merges from coreutils.
110249         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
110250         variable names, rather than @FNMATCH_H@.
110251         * modules/alloca: Likewise for $(ALLOCA_H).
110253         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
110254         the three copies of the literal target, `fnmatch.h'.
110255         * modules/alloca (alloca.h): Likewise.
110257 2003-08-14  Jim Meyering  <jim@meyering.net>
110259         Merge from coreutils.
110260         * m4/tzset.m4: New file.
110261         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
110262         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
110263         otherwise, AIX 5.1 systems would end up using the latter.
110264         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
110265         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
110266         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
110267         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
110269 2003-08-14  Jim Meyering  <jim@meyering.net>
110271         Merge from coreutils.
110272         * lib/obstack.h: Whitespace changes.
110273         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
110274         and xcalloc return values.
110275         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
110276         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
110277         hang on OSF/1 5.1 for DIR on both local and remote file systems.
110278         Reported by (and fix confirmed by) Nelson H. F. Beebe.
110279         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
110280         error from mntctl.
110281         Use mntctl's return value to drive the entry-processing loop, since
110282         we can't rely on the value of the vmt_length member in the last
110283         entry.  On some systems doing so could result in exhausting
110284         virtual memory.  Based in part on a patch from Mike Jetzer.
110286 2003-08-14  Jim Meyering  <jim@meyering.net>
110287         and Paul Eggert  <eggert@twinsun.com>
110289         Merges from coreutils, plus other fixes.
110290         * lib/physmem.c: Merge in portability changes from gcc/libiberty
110291         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
110292         for credits and details.  Thanks to Kaveh Ghazi for helping
110293         to keep these files in sync.
110294         (ARRAY_SIZE): Define it.
110295         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
110296         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
110297         (memcasecmp): Don't assume size_t fits in unsigned int.
110298         Remove casts and duplicate code.
110299         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
110300         (memcpy): Remove definition.
110301         Merge in some clean-up and optimization changes from glibc.
110302         [BLOCKSIZE]: Move definition to top of file.
110303         Ensure that it is a multiple of 64.
110304         Rearrange loop exit tests so as to avoid performing an
110305         additional fread after encountering an error or EOF.
110306         * lib/md5.h (md5_uintptr): Define.
110307         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
110308         return to the initial working directory.  Preserve errno
110309         for caller.
110310         * lib/idcache.c: Include "xalloc.h".
110311         (xmalloc, xrealloc): Remove decls.
110312         (getuser): Remove casts no longer required in C89.
110313         * lib/human.c: Include stdio.h, for sprintf.
110314         * lib/group-member.c: Include "xalloc.h".
110315         (xmalloc, xrealloc): Remove decls.
110316         (get_group_info): Remove casts no longer required in C89.
110317         * lib/getusershell.c (readname): Remove casts no longer required in
110318         C89.
110319         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
110320         * lib/getline.c: Whitespace fix, from coreutils.
110322 2003-08-13  Paul Eggert  <eggert@twinsun.com>
110324         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
110325         Check for isascii.
110327         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
110328         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
110329         Undo previous (whitespace-only) change.
110331 2003-08-13  Paul Eggert  <eggert@twinsun.com>
110333         * lib/exclude.c: Include <ctype.h>
110334         (IN_CTYPE_DOMAIN): New macro.
110335         (is_space): New fn.
110336         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
110337         and empty lines.
110339         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
110340         Undo previous (whitespace-only) change.
110342 2003-08-13  Paul Eggert  <eggert@twinsun.com>
110344         * config/srclist-update: Change update back to the old behavior,
110345         leaving whitespace alone.  Use one 'sed' command rather than a
110346         pipeline.
110347         (fixlicense): Now a variable, not a function.
110348         (remove_trailing_blanks): Remove.
110349         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
110350         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
110351         Undo previous (whitespace-only) change.
110353 2003-08-12  Paul Eggert  <eggert@twinsun.com>
110355         Merge from coreutils.
110356         * modules/euidaccess: Add lib_SOURCES, include for new
110357         file euidaccess.h
110359 2003-08-12  Paul Eggert  <eggert@twinsun.com>
110361         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
110362         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
110363         Normalize leading white space and remove trailing white space.
110365         Merge from coreutils
110366         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
110368         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
110369         0.12.1.  These files are now being upgraded automatically by
110370         ../config/srclist-update.
110372 2003-08-12  Paul Eggert  <eggert@twinsun.com>
110374         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
110375         Normalize leading white space and remove trailing white space.
110376         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
110377         notice, as per ../config/srclist-update.
110379         Merge from coreutils.
110380         * lib/euidaccess.h: New file.
110381         * lib/euidaccess.c: Include it.
110382         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
110383         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
110384         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
110386 2003-08-12  Paul Eggert  <eggert@twinsun.com>
110388         * config/srclist-update: Add copyright notice.
110389         (remove_id_lines, remove_trailing_blanks): New constants.
110390         (fixfile): Use them to normalize spacing a bit in copied files.
110391         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
110392         Normalize leading white space and remove trailing white space.
110394         * config/texinfo.tex: Sync with texinfo.
110396         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
110397         strtoul.c from libc, to merge coreutils whitespace changes.
110399         * config/srclist.txt: Get the following m4 files from gettext:
110400         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
110401         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
110402         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
110403         wint_t.m4.
110405 2003-08-12  Karl Berry  <karl@gnu.org>
110407         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
110408         been made.
110410 2003-08-11  Paul Eggert  <eggert@twinsun.com>
110412         * modules/gnu-source, m4/gnu-source.m4:
110413         Remove; we're assuming Autoconf 2.54 or later now.
110414         Suggested by Bruno Haible.
110415         * MODULES.html.sh (func_all_modules): Remove gnu-source.
110417 2003-08-11  Bruno Haible  <bruno@clisp.org>
110419         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
110421 2003-08-11  Bruno Haible  <bruno@clisp.org>
110423         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
110424         (vasnprintf): Use it instead of wcslen.
110426 2003-08-11  Bruno Haible  <bruno@clisp.org>
110428         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
110429         value to ensure that _Bool promotes to int. Use #define for _Bool when
110430         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
110432 2003-08-10  Karl Berry  <karl@gnu.org>
110434         * lib/regex.h: update from libc (whitespace fix).
110436 2003-08-09  Paul Eggert  <eggert@twinsun.com>
110438         Merge some files from coreutils.  These changes were
110439         originally made by Jim Meyering.
110440         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
110441         many older Unixes require this.
110442         * lib/alloca.c (alloca): Remove cast to argument of free;
110443         no longer needed in C89.
110444         * lib/alloca_.h, regex.h: Fix white space to match
110445         what GNU indent does.
110447 2003-08-09  Paul Eggert  <eggert@twinsun.com>
110449         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
110450         apparently Emacs's Unicode mode got confused before my 2003-08-05
110451         checkin.
110453 2003-08-08  Paul Eggert  <eggert@twinsun.com>
110455         * m4/extensions.m4: New file.
110456         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
110457         Require gl_USE_SYSTEM_EXTENSIONS.
110458         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
110459         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
110461 2003-08-08  Paul Eggert  <eggert@twinsun.com>
110463         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
110464         * modules/extensions, modules/gnu-source: New files.
110465         * modules/timespec, modules/unlocked-io: Depend on extensions.
110467 2003-08-07  Paul Eggert  <eggert@twinsun.com>
110469         * modules/restrict: New file.
110470         * MODULES.html.sh (func_all_modules): Add restrict.
110471         * modules/regex: Depend on restrict.
110473 2003-08-07  Paul Eggert  <eggert@twinsun.com>
110475         * m4/restrict.m4: New file.
110476         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
110478 2003-08-07  Bruno Haible  <bruno@clisp.org>
110480         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
110481         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
110483 2003-08-07  Bruno Haible  <bruno@clisp.org>
110485         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
110486         makes the module 'getndelim2' compatible with the module 'getline'.
110488 2003-08-05  Paul Eggert  <eggert@twinsun.com>
110490         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
110491         byte with "\201" to avoid glitches when editing that source file
110492         with multi-gnome-terminal.
110494 2003-08-05  Paul Eggert  <eggert@twinsun.com>
110496         * lib/bumpalloc.h: Remove.
110498 2003-08-05  Paul Eggert  <eggert@twinsun.com>
110500         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
110501         * modules/bumpalloc: Remove.
110503 2003-08-04  Paul Eggert  <eggert@twinsun.com>
110505         * lib/getloadavg.c: Change copyright notice and spacing to conform to
110506         GNU coding style.
110508         Merge from coreutils.
110509         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
110510         1. From glibc.
110511         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
110512         from Karl Berry, implemented by Jim Meyering.
110513         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
110514         from Dmitry V. Levin.
110515         Remove anachronistic cast of xrealloc.
110516         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
110517         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
110518         type. Otherwise, it wouldn't compile with at least /bin/cc on
110519         ymp-cray-unicos9.0.2.X.
110520         Combine two mostly-identical uses of alloca into one.
110521         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
110523 2003-08-04  Dave Love  <d.love@dl.ac.uk>
110525         [From Emacs.]
110527         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
110528         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
110529         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
110530         obsolete NLIST_NAME_UNION.
110531         [__GNU__]: Undef BSD and FSCALE.
110532         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
110534 2003-08-03  Paul Eggert  <eggert@twinsun.com>
110536         * lib/stdbool_.h (_Bool): Make it signed char, instead of
110537         an enum type, so that it's guaranteed to promote to int.  See:
110538         <http://mail.gnu.org/r/bug-gnulib/2003-07/msg00124.html>
110540 2003-08-03  Karl Berry  <karl@gnu.org>
110542         * config/depcomp: update from automake.
110544 2003-07-31  Paul Eggert  <eggert@twinsun.com>
110546         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
110547         (strerror): Don't assume that a printable int fits in 14 bytes.
110549 2003-07-31  Bruno Haible  <bruno@clisp.org>
110551         * modules/getpass-gnu: New file.
110552         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
110554 2003-07-31  Bruno Haible  <bruno@clisp.org>
110556         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
110558 2003-07-24  Karl Berry  <karl@gnu.org>
110560         * config/missing: update from automake.
110562 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
110563             Bruno Haible  <bruno@clisp.org>
110565         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
110566         * lib/getline.c (getline, getdelim): Likewise.
110567         Remove _GNU_SOURCE define; now it's defined in config.h through
110568         m4/getline.m4.
110570 2003-07-23  Karl Berry  <karl@gnu.org>
110572         * config/config.sub: update from prep.
110574 2003-07-22  Paul Eggert  <eggert@twinsun.com>
110576         * modules/xalloc (Depends-on): Add exitfail.
110577         * modules/xmemcoll: Likewise.
110579 2003-07-22  Paul Eggert  <eggert@twinsun.com>
110581         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
110582         over-parenthesization in macros.
110584         Sync with coreutils.
110586         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
110587         required by C99.
110589         Use `exit_failure' for xalloc and xmemcoll instead of their own
110590         private exit-failure variables.
110591         * lib/xalloc.h (xalloc_exit_failure): Remove.
110592         * lib/xmalloc.c: Likewise.  Include exitfail.h.
110593         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
110594         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
110595         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
110596         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
110598 2003-07-20  Jim Meyering  <jim@meyering.net>
110600         * modules/closeout (Depends-on): Add exitfail.
110601         Suggestion from Bruno Haible.
110603 2003-07-19  Karl Berry  <karl@gnu.org>
110605         * config/config.sub: update from prep.
110607 2003-07-18  Paul Eggert  <eggert@twinsun.com>
110609         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
110610         Remove.
110611         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
110612         to test that it can stand by itself.  Include "exitfail.h".
110613         Clients should set exit_failure instead.
110614         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
110616 2003-07-18  Bruno Haible  <bruno@clisp.org>
110618         * modules/getndelim2: New file.
110619         * modules/getline: Share files with module getndelim2.
110620         * modules/getnline: Depend on getndelim2 instead of sharing files with
110621         it. Add getnline.c to lib_SOURCES.
110622         * MODULES.html.sh (func_all_modules): Add getndelim2.
110624 2003-07-18  Bruno Haible  <bruno@clisp.org>
110626         * m4/getndelim2.m4: New file.
110627         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
110628         invoke gl_PREREQ_GETNDELIM2.
110629         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
110630         gl_PREREQ_GETNDELIM2.
110631         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
110632         gl_GETNDELIM2.
110634 2003-07-18  Bruno Haible  <bruno@clisp.org>
110636         * lib/getndelim2.h: New file.
110637         * lib/getndelim2.c: Make into a module of its own. Include config.h,
110638         getndelim2.h.
110639         (getndelim2): Make non-static. Change return type to ssize_t.
110640         * lib/getline.h: Change argument names.
110641         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
110642         * lib/getnline.c: Include getndelim2.h.
110644 2003-07-18  Andreas Schwab  <schwab@suse.de>
110646         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
110648 2003-07-17  Karl Berry  <karl@gnu.org>
110650         * config/config.sub: update from prep.
110652 2003-07-17  Bruno Haible  <bruno@clisp.org>
110654         * modules/getnline: New file.
110655         * modules/getline: Add lib/getndelim2.c to source file list.
110656         * MODULES.html.sh (func_all_modules): Add getnline.
110658 2003-07-17  Bruno Haible  <bruno@clisp.org>
110660         * m4/getnline.m4: New file.
110662 2003-07-17  Bruno Haible  <bruno@clisp.org>
110664         * m4/Makefile.am.in: Remove file.
110665         * m4/Makefile.am: Remove file.
110666         * m4/Makefile.in: Remove file.
110668 2003-07-17  Bruno Haible  <bruno@clisp.org>
110670         * lib/getnline.h: New file.
110671         * lib/getnline.c: New file.
110672         * lib/getndelim2.c: New file, extracted from getline.c.
110673         (getndelim2): Renamed from getdelim2, with added nmax argument.
110674         * lib/getline.c: Include getndelim2.c.
110675         (getdelim2): Moved out to getndelim2.c.
110676         (getline, getdelim): Update.
110678 2003-07-17  Bruno Haible  <bruno@clisp.org>
110680         * lib/Makefile.am: Remove file.
110681         * lib/Makefile.in: Remove file.
110683 2003-07-17  Bruno Haible  <bruno@clisp.org>
110685         * configure.in: Remove file.
110686         * Makefile.in: Remove file.
110688 2003-07-17  Bruno Haible  <bruno@clisp.org>
110690         * MODULES.html.sh: Put the </BODY> right before </HTML>.
110692 2003-07-16  Karl Berry  <karl@gnu.org>
110694         * config/srclist-update: was running fixlicense twice, which caused
110695                 texinfo.tex to be nullified for some reason.  Simplify,
110696                 $gplsrc is no longer needed as far as I can see?
110698 2003-07-16  Jim Meyering  <jim@meyering.net>
110700         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
110702 2003-07-15  Paul Eggert  <eggert@twinsun.com>
110704         * config/srclist.txt: Get the following files from gettext-runtime/intl
110705         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
110706         ref-del.sin.  From Bruno Haible.
110707         * config/srclist-update (fixfile): Change grep pattern again, since the
110708         previous fix didn't work (there was another trailing $).  Use
110709         '[$]' to escape the $s.
110711 2003-07-15  Karl Berry  <karl@gnu.org>
110713         * lib/vasnprintf.c: update from gettext.
110715 2003-07-15  Karl Berry  <karl@gnu.org>
110717         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
110718         gets expanded when surrounded by '$'.
110720 2003-07-15  Jim Meyering  <jim@meyering.net>
110722         * modules/save-cwd: Don't depend on error.  From Derek Price.
110724 2003-07-15  Jim Meyering  <jim@meyering.net>
110726         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
110728 2003-07-14  Simon Josefsson  <jas@extundo.com>
110730         * modules/mempcpy: New file.
110731         * MODULES.html.sh (func_all_modules): Add mempcpy.
110733 2003-07-14  Simon Josefsson  <jas@extundo.com>
110735         * m4/mempcpy.m4: New file.
110737 2003-07-14  Simon Josefsson  <jas@extundo.com>
110739         * lib/mempcpy.h: New file.
110740         * lib/mempcpy.c: New file.
110742 2003-07-14  Paul Eggert  <eggert@twinsun.com>
110744         * modules/getdate, modules/posixtm: Depend on mktime.
110746 2003-07-14  Paul Eggert  <eggert@twinsun.com>
110748         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
110749         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
110750         unicodeio.c, unicodeio.h, unlocked-io.h:
110751         Switch from LGPL to GPL.
110753 2003-07-14  Paul Eggert  <eggert@twinsun.com>
110755         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
110756         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
110757         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
110758         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
110759         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
110760         updated automatically by ../config/srclist-update.  This changes
110761         their license from LPGL to GPL.
110763 2003-07-14  Paul Eggert  <eggert@twinsun.com>
110765         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
110766         assumed to refer to the root of the most recent stable gettext version.
110767         * config/srclistvars.sh: Add defaults for eggert.
110768         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
110769         Match "This program" as well as "The program".  This is needed
110770         for gettext.
110772 2003-07-14  Jim Meyering  <jim@meyering.net>
110774         Don't emit diagnostics.  Let callers do that.
110775         * lib/save-cwd.c: Don't include "error.h".
110776         (save_cwd): Don't call error.  Ensure that errno is valid
110777         when returning nonzero.
110779         * lib/save-cwd.h (restore_cwd): Update prototype.
110780         * lib/save-cwd.c (restore_cwd): Remove two parameters.
110781         Simplify.  Don't call error upon failure.  Let callers do that.
110782         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
110783         when auditing is enabled.  But don't bother updating the #if.
110785 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
110787         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
110788         it breaks C++ compilation.
110789         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
110791 2003-07-10  Simon Josefsson  <jas@extundo.com>
110793         * modules/strchrnul (Makefile.am): Add strchrnul.h.
110795 2003-07-10  Jim Meyering  <jim@meyering.net>
110797         * m4/clock_time.m4: Remove trailing blank.
110798         * m4/intmax_t.m4: Likewise.
110800 2003-07-10  Jim Meyering  <jim@meyering.net>
110802         * lib/vasnprintf.c: Remove trailing blanks.
110803         Make cpp indentation consistent.
110805 2003-07-09  Paul Eggert  <eggert@twinsun.com>
110807         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
110808         posixver.c, strftime.c, strnlen.c, strverscmp.c:
110809         Switch from LGPL to GPL.
110811 2003-07-09  Paul Eggert  <eggert@twinsun.com>
110813         * config/srclist.txt: Sort sublists.  Add
110814         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
110815         that differ from gnulib for one reason or another; we'd like this list
110816         to be smaller but for now let's document what we have.
110818 2003-07-08  Paul Eggert  <eggert@twinsun.com>
110820         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
110821         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
110822         and sweeter "eval x=$x".
110823         * config/srclist.txt: Get lib/argp* from glibc.
110825 2003-07-07  Paul Eggert  <eggert@twinsun.com>
110827         * lib/mktime.c: Fix some boundary cases and remove need for floating
110828         point.
110830         Issue a compile-time diagnostic if time_t is floating point, or if
110831         two's complement arithmetic is not in effect, or if arithmetic
110832         right shift does not propagate the sign.  These assumptions were
110833         all in the original code but they weren't checked.
110835         (TIME_T_MIDPOINT, verify): New macros.
110836         (__isleap): Remove; it has integer overflow problems.
110837         (leapyear): New function, without those problems.
110838         (ydhms_tm_diff): Remove; splitting into two parts.
110839         (ydhms_diff): New function, containing the arithmetic part of
110840         the old ydhms_tm_diff function.  Issue a compile-time
110841         diagnostic if we are not using C99 integer division.
110842         Avoid casts when possible.
110843         (guess_time_tm): New function, containing the checking part of
110844         the old ydhms_tm_diff function.  Return the new value, rather than
110845         the difference between it and the old.  Accept a new argument T
110846         so that *T specifies the old value.  Check for overflow in the result.
110848         (__mktime_internal): Use a time_t offset, not a long int offset.
110849         This undoes the 2003-06-04 change, which is no longer needed now
110850         that we have better overflow checking.
110851         (localtime_offset): Likewise.
110853         (__mktime_internal): Avoid harmful overflow on hosts where time_t
110854         and long are 64-bit but int is only 32-bit.
110855         (ydhms_diff): Use long int to store year1 and yday1.
110856         Issue a compile-time diagnostic if long int is not wide enough.
110858         (__mktime_internal): Use long int to store adjusted year and yday.
110859         Use plain C rather than preprocessor commands, if that doesn't
110860         affect efficiency.
110861         Check for overflow (and try to repair) after each probe
110862         rather than checking only at the very end.  This avoids some bugs
110863         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
110864         does not equal GMT offset at maximum time).
110865         Use integer to check for overflow rather than floating point; this
110866         is more portable to non-IEEE hosts, and is a tad faster.
110867         When we detect that we are oscillating between two values,
110868         don't check whether tm_isdst has the requested value, since
110869         we already know the answer.  When tm_isdst has the wrong value,
110870         use a different heuristic to find the right one, based on the
110871         extreme values actually observed in practice in tz2003a,
110872         rather than the (overly optimistic) "previous 3 calendar quarters".
110874         (not_equal_tm, print_tm, check_result): Use "const T" rather than
110875         "T const" to accommodate glibc style.
110876         (check_result): Use less-confusing report format.  "long" -> "long int.
110877         (main): Likewise.
110878         Don't loop if the iteration overflows time_t.
110879         Allow a negative step in the iteration.
110881 2003-07-06  Karl Berry  <karl@gnu.org>
110883         * config/depcomp: update from automake.
110884         * config/config.sub: update from prep.
110886 2003-07-03  Karl Berry  <karl@gnu.org>
110888         * config/config.guess: update from prep.
110890 2003-07-01  Paul Eggert  <eggert@twinsun.com>
110892         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
110893         xreadlink.c now includes it unconditionally.
110895 2003-07-01  Paul Eggert  <eggert@twinsun.com>
110897         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
110898         having it depend on HAVE_SYS_TYPES_H.
110900 2003-07-01  Bruno Haible  <bruno@clisp.org>
110902         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
110903         <sys/types.h> should be sufficient.
110904         Reported by Paul Eggert.
110906 2003-06-26  Karl Berry  <karl@gnu.org>
110908         * config/depcomp: update from automake.
110910 2003-06-26  Bruno Haible  <bruno@clisp.org>
110912         * modules/human: Depend on module stdbool.
110914 2003-06-25  Bruno Haible  <bruno@clisp.org>
110916         * modules/readlink: New file.
110917         * modules/xreadlink: Depend on it.
110918         * MODULES.html.sh (func_all_modules): Add readlink.
110920 2003-06-25  Bruno Haible  <bruno@clisp.org>
110922         * m4/readlink.m4: New file.
110924 2003-06-25  Bruno Haible  <bruno@clisp.org>
110926         * lib/readlink.c: New file.
110928 2003-06-22  Karl Berry  <karl@gnu.org>
110930         * config/srclist.txt: update mkinstalldirs from automake.
110931         * config/mkinstalldirs: update.
110933 2003-06-22  Bruno Haible  <bruno@clisp.org>
110935         Portability to mingw32.
110936         * m4/ssize_t.m4: New file, from GNU gettext.
110937         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
110938         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
110940 2003-06-22  Bruno Haible  <bruno@clisp.org>
110942         * modules/safe-read: Add m4/ssize_t.m4.
110943         * modules/xreadlink: Add m4/ssize_t.m4.
110945 2003-06-20  Bruno Haible  <bruno@clisp.org>
110947         Assume C89, so PARAMS isn't needed.
110948         * lib/unicodeio.h (PARAMS): Remove.
110949         * lib/unicodeio.c: Don't use PARAMS.
110951 2003-06-18  Karl Berry  <karl@gnu.org>
110953         * config/config.{guess,sub}: update from prep.
110955 2003-06-18  Jim Meyering  <jim@meyering.net>
110957         Merge changes from coreutils.
110958         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
110959         Remove explicit declarations of xmalloc and realloc.
110960         Include xalloc.h.
110961         (read_utmp): Remove anachronistic cast of xmalloc.
110963 2003-06-17  Paul Eggert  <eggert@twinsun.com>
110965         Assume C89, so PARAMS isn't needed.
110966         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
110967         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
110968         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
110969         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
110970         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
110971         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
110972         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
110973         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
110974         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
110975         lib/xstrtod.h, lib/xstrtol.h: Likewise.
110976         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
110977         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
110978         no longer needed. Anyway, config.h should always be included before any
110979         other file.
110981 2003-06-11  Simon Josefsson  <jas@extundo.com>
110983         * modules/sysexits: New file.
110984         * MODULES.html.sh (func_all_modules): Add sysexits.
110986 2003-06-11  Simon Josefsson  <jas@extundo.com>
110988         * lib/sysexit_.h: New file.
110990 2003-06-11  Derek Price  <derek@ximbiot.com>
110992         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
110993         necessary.
110995 2003-06-11  Bruno Haible  <bruno@clisp.org>
110997         * m4/sysexits.m4: New file.
110999 2003-06-10  Simon Josefsson  <jas@extundo.com>
111001         * lib/argp.h: New file, from glibc.
111002         * lib/argp-ba.c: New file, from glibc.
111003         * lib/argp-eexst.c: New file, from glibc.
111004         * lib/argp-fmtstream.c: New file, from glibc.
111005         * lib/argp-fmtstream.h: New file, from glibc.
111006         * lib/argp-fs-xinl.c: New file, from glibc.
111007         * lib/argp-help.c: New file, from glibc.
111008         * lib/argp-namefrob.h: New file, from glibc.
111009         * lib/argp-parse.c: New file, from glibc.
111010         * lib/argp-pv.c: New file, from glibc.
111011         * lib/argp-pvh.c: New file, from glibc.
111012         * lib/argp-xinl.c: New file, from glibc.
111014 2003-06-10  Simon Josefsson  <jas@extundo.com>
111016         * modules/strchrnul: New file.
111018 2003-06-10  Simon Josefsson  <jas@extundo.com>
111020         * modules/argp: New file.
111022 2003-06-10  Simon Josefsson  <jas@extundo.com>
111024         * m4/strchrnul.m4: New file.
111026 2003-06-10  Simon Josefsson  <jas@extundo.com>
111028         * lib/strchrnul.h: New file.
111029         * lib/strchrnul.c: New file.
111031 2003-06-10  Bruno Haible  <bruno@clisp.org>
111033         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
111035 2003-06-07  Karl Berry  <karl@gnu.org>
111037         * config/config.{guess,sub}: update from prep.
111039 2003-06-07  Jim Meyering  <jim@meyering.net>
111041         * modules/strtod: Use $(...) notation, not @...@ for
111042         AC_REPLACE'd variables.
111043         * modules/localcharset: Likewise.
111045 2003-06-07  Jim Meyering  <jim@meyering.net>
111047         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
111048         in place of my name in the copyright comment.
111049         Remove definition and uses of __P.
111051         From coreutils.
111052         * lib/stat.c: Don't declare xmalloc explicitly.
111053         Instead, include "xalloc.h".
111054         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
111055         xrealloc, and xcalloc return values.
111056         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
111057         Improve comment.
111058         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
111060 2003-06-07  Bruno Haible  <bruno@clisp.org>
111062         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
111063         avoid AC_CONFIG_LINKS.
111064         * modules/fnmatch (Makefile.am): Use explicit creation rule for
111065         fnmatch.h, to avoid AC_CONFIG_LINKS.
111066         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
111068 2003-06-07  Bruno Haible  <bruno@clisp.org>
111070         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
111071         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
111072         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
111073         directory.
111074         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
111075         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
111076         directory.
111078 2003-06-06  Jim Meyering  <jim@meyering.net>
111080         Merge from coreutils.
111081         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
111082         Consolidate declarations and initializations of *_base* locals.
111084         Merge from coreutils.
111085         This avoids a core dump on systems without GNU putenv,
111086         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
111087         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
111088         (unsetenv): New static function, from GNU libc.
111089         (rpl_putenv): Use it.
111091         * lib/modechange.c: Remove trailing blanks.
111093         Merge from coreutils.
111094         * lib/fsusage.c: Remove declaration of statfs.
111095         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
111097         * lib/posixtm.c: Include <stdbool.h> unconditionally.
111099 2003-06-06  Jim Meyering  <jim@meyering.net>
111101         * lib/stdbool_.h: Renamed from stdbool.h.in.
111103 2003-06-06  Jim Meyering  <jim@meyering.net>
111104             Bruno Haible  <bruno@clisp.org>
111106         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
111107         Adjust Makefile.am snippet not to redirect directly to target.
111108         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
111110 2003-06-05  Paul Eggert  <eggert@twinsun.com>
111112         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
111113         mismatch, look in future quarters as well as past.  This fixes a
111114         bug when processing fall-backwards gaps immediately after a long
111115         period of daylight-saving time.
111117         * lib/mktime.c: Assume freestanding C89 or better.
111118         (HAVE_LIMITS_H): Remove.  Assume it's 1.
111119         (__P): Remove; not used.
111120         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
111121         (mktime, not_equal_tm, print_tm, check_result,
111122         main): Use prototypes.  Use const * where appropriate.
111123         (main): Fix typo in testing code that uncovered by above changes.
111124         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
111126 2003-06-04  Paul Eggert  <eggert@twinsun.com>
111128         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
111129         locale.h, localeconv.  This merges changes from coreutils.
111131         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
111132         It can be removed after the next Autoconf is released.
111133         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
111134         needed.
111136 2003-06-04  Paul Eggert  <eggert@twinsun.com>
111138         * lib/mktime.c: Fix Debian bug 177940
111139         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
111140         (localtime_offset): Now long int, not time_t, because we want it
111141         to be guaranteed to be signed.  All uses changed.
111142         (__mktime_internal): If overflow would occur when adding offset,
111143         don't add it.
111145         Merge 'human' changes from coreutils.  Rewrite to support
111146         locale-specific notations like thousands separators.
111147         * lib/human.c: Simplify authorship notice.
111148         Include human.h immediately after config.h.
111149         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
111150         <limits.h>: Do not include, since human.h does.
111151         (SIZE_MAX, UINTMAX_MAX): New macros.
111152         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
111153         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
111154         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
111155         (power_letter): Renamed from suffixes.
111156         (generate_suffix_backwards): Remove.
111157         (adjust_value): Now takes int style (because of human.h changes)
111158         and long double value (for greater precision on some platforms).
111159         (group_number): New function.
111160         (human_readable): Use it.  Use integer options, not enum.
111161         Put the options before the sizes in the arg list.
111162         Support all the new options.
111163         The old human_readable function has been removed;
111164         use inttostr.h instead.
111165         (human_readable, default_block_size, humblock):
111166         Use uintmax_t, not int, for block sizes.
111167         (human_readable_inexact, block_size_types): Remove.
111168         (block_size_opts): New constant.
111169         (human_options): Renamed from human_block_size, with new signature
111170         that allows block sizes up to UINTMAX_MAX.  All callers changed.
111171         * lib/human.h: Add copyright and authorship notice.
111172         Include <limits.h> and <stdbool.h> unconditionally.
111173         (PARAMS): Remove.  All uses removed.
111174         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
111175         (enum human_inexact_style): Remove tag; now a nameless enum.
111176         (human_floor, human_ceiling, human_round_to_even): Now have
111177         values 2, 0, 1 rather than -1, 1, 0.
111178         (human_group_digits, human_suppress_point_zero, human_autoscale,
111179         human_base_1024, human_SI, human_B): New constants.
111180         (human_readable_inexact, human_block_size): Remove.
111181         (human_readable): Size args are now uintmax_t, not int.
111182         (human_options): New decl.
111184         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
111185         unnecessary now that we assume C89 or better.  This change
111186         imported from coreutils.
111188         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
111189         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
111190         in the 2003-05-30 sync from glibc.
111192         .h files should stand alone, but we shouldn't include <sys/types.h>
111193         if we can get away with just <stddef.h>.
111195         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
111196         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
111197         rather than <sys/types.h>, as we merely need size_t.
111198         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
111199         to get size_t.
111200         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
111201         Include <stdio.h>, to get FILE.
111202         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
111203         memcasecmp.h has included <stddef.h> and all we need is size_t.
111204         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
111205         our interface, instead of including <sys/types.h>
111207 2003-06-04  Paul Eggert  <eggert@twinsun.com>
111209         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
111210         now, as glibc mktime is buggy on non-glibc systems.
111212 2003-06-03  Karl Berry  <karl@gnu.org>
111214         * config/config.sub: update from prep.
111216 2003-06-02  Paul Eggert  <eggert@twinsun.com>
111218         [from coreutils]
111219         Fix some minor time-related bugs with POSIX time arguments.
111220         Some valid time stamps were being rejected (notably -1, and
111221         time stamps before 1900 on 64-bit hosts).  And some invalid
111222         time stamps were being accepted, e.g. September 31.
111224         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
111225         that we can return (time_t) -1 successfully.
111226         * lib/posixtm.c: Likewise.
111227         [HAVE_STDBOOL_H]: Include <stdbool.h>.
111228         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
111229         (t): Remove static var.
111230         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
111231         of static var.  All uses changed.
111232         (year): Do not reject years before 1900; they can occur with
111233         64-bit time_t.
111234         (posix_time_parse): Do not check for out-of-range components;
111235         that is now the caller's responsibility, since our checks were
111236         only approximations.
111237         (posixtime): Use mktime to check for out-of-range components,
111238         since it knows them exactly.
111239         If mktime returns (time_t) -1, check whether an error actually occurred
111240         by invoking localtime on -1.
111241         (main) [TEST_POSIXTIME]: Check for input data errors, and report
111242         posixtime failures better.
111243         Improve the test data (in comments only).
111245 2003-06-02  Karl Berry  <karl@gnu.org>
111247         * config/mkinstalldirs (version): new variable.
111248         (--version): new option.
111249         (usage): improve message.
111251 2003-05-30  Karl Berry  <karl@gnu.org>
111253         * lib/mktime.c: update from libc.
111255 2003-05-30  Bruno Haible  <bruno@clisp.org>
111257         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
111258         * config/config.rpath: Upgrade to gettext-0.12.1.
111260 2003-05-30  Bruno Haible  <bruno@clisp.org>
111262         * m4/gettext.m4: Upgrade to gettext-0.12.1.
111263         * m4/nls.m4: New file, from gettext-0.12.1.
111264         * m4/po.m4: New file, from gettext-0.12.1.
111265         * m4/progtest.m4: Upgrade to gettext-0.12.1.
111267 2003-05-30  Bruno Haible  <bruno@clisp.org>
111269         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
111270         * lib/localcharset.h: Likewise.
111271         * lib/localcharset.c: Likewise.
111273 2003-05-29  Karl Berry  <karl@gnu.org>
111275         * config/config.rpath: update from gettext.
111277 2003-05-28  Paul Eggert  <eggert@twinsun.com>
111279         Assume the headers required for C89 freestanding compilers.
111280         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
111281         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
111282         * m4/human.m4 (gl_HUMAN): Likewise.
111283         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
111284         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
111285         * m4/userspec.m4 (gl_USERSPEC): Likewise.
111286         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
111287         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
111288         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
111290 2003-05-28  Paul Eggert  <eggert@twinsun.com>
111292         Assume the headers required for C89 freestanding compilers.
111293         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
111294         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
111295         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
111296         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
111297         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
111298         define, since <limits.h> is guaranteed to do that.
111299         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
111300         * lib/exclude.c: Include <stdbool.h> unconditionally.
111301         * lib/tempname.c: Include <stddef.h> unconditionally.
111302         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
111303         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
111304         <stddef.h> does that.
111305         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
111306         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
111307         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
111308         needed.
111309         * lib/xstrtol.c: Likewise.
111310         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
111311         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
111313         * lib/addext.c (addext): Use assignment rather than cast, to avoid
111314         warnings on some platforms.
111316         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
111317         arbitrarily.
111319 2003-05-26  Jim Meyering  <jim@meyering.net>
111321         Merge in a change from coreutils:
111322         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
111323         that is guaranteed to be `no'.  Use `no_such_member' to indicate
111324         that condition, rather than `-1' which is slightly misleading.
111325         Change the name of the cache variable to have the gl_ prefix.
111326         Prompted by a patch from Richard Dawe for DJGPP.
111328 2003-05-24  Karl Berry  <karl@gnu.org>
111330         * config/config.guess: update from prep.
111332 2003-05-22  Karl Berry  <karl@gnu.org>
111334         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
111336 2003-05-20  Karl Berry  <karl@gnu.org>
111338         * config/config.guess: update from prep.
111340 2003-05-18  Karl Berry  <karl@gnu.org>
111342         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
111343         might actually be set by the user.
111345         * config/depcomp, install-sh, mdate-sh: update from automake.
111347 2003-05-17  Bruno Haible  <bruno@clisp.org>
111349         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
111350         invalid expansion for AC_EGREP_CPP.
111351         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
111352         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
111353         Suggested by Akim Demaille <akim@epita.fr> in
111354         http://mail.gnu.org/r/bug-autoconf/2003-05/threads.html
111356 2003-05-12  Jim Meyering  <jim@meyering.net>
111358         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
111359         the space-padded-by-default conversion specifiers, %e, %k, %l.
111361 2003-05-12  Bruno Haible  <bruno@clisp.org>
111363         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
111364         the string is longer than 4 KB.
111366 2003-05-11  Karl Berry  <karl@gnu.org>
111368         * config/config.{guess,sub}: update from prep.
111370 2003-05-09  Bruno Haible  <bruno@clisp.org>
111372         * modules/error: Add m4/strerror_r.m4 to file list.
111374 2003-05-03  Bruno Haible  <bruno@clisp.org>
111376         Upgrade to Unicode-4.0.
111377         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
111378         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
111379         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
111380         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
111381         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
111382         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
111383         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
111384         Change width of U+E0100..U+E01EF from 1 to 0.
111386 2003-04-25  Jim Meyering  <jim@meyering.net>
111388         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
111389         of type size_t, not int.
111391 2003-04-25  Bruno Haible  <bruno@clisp.org>
111393         * lib/copy-file.c: Include <stddef.h>, for size_t.
111395 2003-04-21  Paul Eggert  <eggert@twinsun.com>
111397         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
111398         code which expansion is under static control.  Patch imported from
111399         Akim Demaille's patch to Bison; see
111400         <http://mail.gnu.org/r/bison-patches/2003-03/msg00057.html>.
111402 2003-04-14  Bruno Haible  <bruno@clisp.org>
111404         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
111406 2003-04-11  Jim Meyering  <jim@meyering.net>
111408         Merge changes from Coreutils.
111410         2003-03-22  Jim Meyering  <jim@meyering.net>
111412         * lib/strftime.c (widen): Cast alloca return value to proper type.
111414         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
111416         From GNU libc.
111417         * lib/strftime.c (my_strftime): Handle very large width
111418         specifications for numeric values correctly.  Improve checks for
111419         overflow.
111421         2003-01-19  Jim Meyering  <jim@meyering.net>
111423         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
111424         definitions.
111425         (nl_get_alt_digit) [! defined my_strftime]: Define.
111426         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
111427         _nl_get_alt_digit and _nl_get_walt_digit.
111429         * lib/strftime.c (my_strftime): Merge in locale-related changes from
111430         libc. These changes have no effect outside of _LIBC.
111432 2003-04-10  Bruno Haible  <bruno@clisp.org>
111434         * modules/findprog: New file.
111435         * MODULES.html.sh (func_all_modules): Add it.
111437 2003-04-10  Bruno Haible  <bruno@clisp.org>
111439         * m4/findprog.m4: New file.
111440         * m4/eaccess.m4: New file.
111442 2003-04-10  Bruno Haible  <bruno@clisp.org>
111444         * lib/findprog.h: New file, from GNU gettext.
111445         * lib/findprog.c: New file, from GNU gettext.
111447 2003-04-05  Jim Meyering  <jim@meyering.net>
111449         Merge changes from Coreutils.
111451         * lib/exclude.h (PARAMS): Remove definition and uses.
111452         * lib/exclude.c: Remove uses of `PARAMS'.
111454         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
111455         Add test-cases for DOS filenames. Declare program_name.
111456         (main): Set up program_name.  Patch by Rich Dawe.
111458         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
111459         error from mntctl.
111460         Use mntctl's return value to drive the entry-processing loop, since
111461         we can't rely on the value of the vmt_length member in the last
111462         entry.  On some systems doing so could result in exhausting
111463         virtual memory.  Based in part on a patch from Mike Jetzer.
111465 2003-04-04  Bruno Haible  <bruno@clisp.org>
111467         * modules/linebreak: New file.
111468         * MODULES.html.sh (func_all_modules): Add it.
111470 2003-04-04  Bruno Haible  <bruno@clisp.org>
111472         * m4/linebreak.m4: New file.
111474 2003-04-04  Bruno Haible  <bruno@clisp.org>
111476         * lib/linebreak.h: New file, from GNU gettext.
111477         * lib/linebreak.c: New file, from GNU gettext with slight
111478         modifications.
111479         * lib/lbrkprop.h: New file, from GNU gettext.
111481 2003-04-03  Bruno Haible  <bruno@clisp.org>
111483         * modules/utf8-ucs4: New file.
111484         * modules/utf16-ucs4: New file.
111485         * modules/ucs4-utf8: New file.
111486         * modules/ucs4-utf16: New file.
111487         * MODULES.html.sh (func_all_modules): Add them.
111489 2003-04-03  Bruno Haible  <bruno@clisp.org>
111491         * m4/utf-ucs4.m4: New file.
111492         * m4/ucs4-utf.m4: New file.
111494 2003-04-03  Bruno Haible  <bruno@clisp.org>
111496         * lib/utf8-ucs4.h: New file, from GNU gettext.
111497         * lib/utf16-ucs4.h: New file, from GNU gettext.
111498         * lib/ucs4-utf8.h: New file, from GNU gettext.
111499         * lib/ucs4-utf16.h: New file, from GNU gettext.
111501 2003-04-02  Bruno Haible  <bruno@clisp.org>
111503         * modules/binary-io: New file.
111504         * MODULES.html.sh (func_all_modules): Add it.
111506 2003-04-02  Bruno Haible  <bruno@clisp.org>
111508         * lib/binary-io.h: New file, from GNU gettext.
111510 2003-04-01  Bruno Haible  <bruno@clisp.org>
111512         * modules/pathname: New file.
111513         * MODULES.html.sh (func_all_modules): Add it.
111515 2003-04-01  Bruno Haible  <bruno@clisp.org>
111517         * lib/pathname.h: New file, from GNU gettext.
111518         * lib/concatpath.c: New file, from GNU gettext.
111520 2003-03-30  Bruno Haible  <bruno@clisp.org>
111522         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
111524 2003-03-30  Bruno Haible  <bruno@clisp.org>
111526         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
111527         function chown() doesn't exist.
111529 2003-03-28  Bruno Haible  <bruno@clisp.org>
111531         * modules/copy-file: New file.
111532         * MODULES.html.sh (func_all_modules): Add it.
111534 2003-03-28  Bruno Haible  <bruno@clisp.org>
111536         * m4/copy-file.m4: New file.
111538 2003-03-28  Bruno Haible  <bruno@clisp.org>
111540         * lib/copy-file.h: New file, from GNU gettext.
111541         * lib/copy-file.c: New file, from GNU gettext.
111543 2003-03-18  Jim Meyering  <jim@meyering.net>
111545         * lib/quote.c (quote_n): Fix typo in comment.
111547 2003-03-18  Bruno Haible  <bruno@clisp.org>
111549         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
111550         checking.
111551         * m4/onceonly_2_57.m4: Likewise.
111553 2003-03-17  Bruno Haible  <bruno@clisp.org>
111555         * m4/onceonly.m4: Require autoconf 2.54 or newer.
111556         (m4_quote): Remove macro.
111557         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
111559 2003-03-14  Jim Meyering  <jim@meyering.net>
111561         Merge changes from Coreutils.
111562         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
111563         to be const, in order to avoid warnings.
111564         (obstack_room): Likewise.
111565         (obstack_empty_p): Likewise.
111567 2003-03-14  Bruno Haible  <bruno@clisp.org>
111569         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
111570         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
111572 2003-03-13  Paul Eggert  <eggert@twinsun.com>
111574         Merge changes from Bison.
111575         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
111576         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
111577         when compiling Bison 1.875's `bitset bset = obstack_alloc
111578         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
111579         * lib/hash.c: Include <stdbool.h> unconditionally.
111581 2003-03-13  Paul Eggert  <eggert@twinsun.com>
111583         * m4/onceonly.m4 (m4_quote): New macro.
111584         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
111585         Quote AC_FOREACH variable-expansions properly.
111587 2003-03-13  Paul Eggert  <eggert@twinsun.com>
111589         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
111591 2003-03-09  Paul Eggert  <eggert@twinsun.com>
111593         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
111594         Reported by Bruce Becker; see:
111595         http://mail.gnu.org/r/bug-bison/2003-03/msg00017.html
111597 2003-03-03  Paul Eggert  <eggert@twinsun.com>
111598             Bruno Haible  <bruno@clisp.org>
111600         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
111601         Reported by John Hughes, see
111602         http://mail.gnu.org/r/bug-bison/2003-02/msg00030.html
111604 2003-02-20  Bruno Haible  <bruno@clisp.org>
111606         * MODULES.html.sh (func_all_modules): Add poll.
111608 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
111610         * modules/poll: New file.
111612 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
111614         * lib/poll_.h: New file.
111615         * lib/poll.c: New file.
111617 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
111619         * m4/poll.m4: New file.
111621 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
111623         * modules/mathl: New file.
111625 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
111627         * lib/mathl.h: New file.
111628         * lib/acosl.c: New file.
111629         * lib/asinl.c: New file.
111630         * lib/atanl.c: New file.
111631         * lib/ceill.c: New file.
111632         * lib/cosl.c: New file.
111633         * lib/expl.c: New file.
111634         * lib/floorl.c: New file.
111635         * lib/frexpl.c: New file.
111636         * lib/ldexpl.c: New file.
111637         * lib/logl.c: New file.
111638         * lib/sincosl.c: New file.
111639         * lib/sinl.c: New file.
111640         * lib/sqrtl.c: New file.
111641         * lib/tanl.c: New file.
111642         * lib/trigl.c: New file.
111643         * lib/trigl.h: New file.
111645 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
111647         * m4/mathl.m4: New file.
111649 2003-02-18  Bruno Haible  <bruno@clisp.org>
111651         * MODULES.html.sh (func_all_modules): Add mathl.
111653 2003-02-17  Bruno Haible  <bruno@clisp.org>
111655         * modules/mkdtemp: New module.
111656         * MODULES.html.sh (func_all_modules): Add it.
111658 2003-02-17  Bruno Haible  <bruno@clisp.org>
111660         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
111662 2003-02-17  Bruno Haible  <bruno@clisp.org>
111664         * lib/mkdtemp.h: New file, from GNU gettext.
111665         * lib/mkdtemp.c: New file, from GNU gettext.
111667 2003-02-02  Jim Meyering  <jim@meyering.net>
111669         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
111670         e.g. glibc-2.2.93.
111672 2003-01-31  Bruno Haible  <bruno@clisp.org>
111674         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
111675         'rpl_rename'.
111676         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
111677         'rpl_strnlen'.
111678         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
111679         'rpl_strtod'.
111680         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
111681         'rpl_utime'.
111683 2003-01-31  Bruno Haible  <bruno@clisp.org>
111685         * lib/rename.c: #undef rename before defining rpl_rename.
111686         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
111688 2003-01-30  Bruno Haible  <bruno@clisp.org>
111690         * modules/vasnprintf, modules/vasprintf: New modules.
111691         * MODULES.html.sh (func_all_modules): Add them.
111693 2003-01-30  Bruno Haible  <bruno@clisp.org>
111695         * m4/signed.m4: New file, from GNU gettext.
111696         * m4/longdouble.m4: New file, from GNU gettext.
111697         * m4/wchar_t.m4: New file, from GNU gettext.
111698         * m4/wint_t.m4: New file, from GNU gettext.
111699         * m4/vasnprintf.m4: New file.
111700         * m4/vasprintf.m4: New file.
111702 2003-01-30  Bruno Haible  <bruno@clisp.org>
111704         * lib/printf-args.h: New file, from GNU gettext.
111705         * lib/printf-args.c: New file, from GNU gettext.
111706         * lib/printf-parse.h: New file, from GNU gettext.
111707         * lib/printf-parse.c: New file, from GNU gettext.
111708         * lib/vasnprintf.h: New file, from GNU gettext.
111709         * lib/vasnprintf.c: New file, from GNU gettext.
111710         * lib/asnprintf.c: New file, from GNU gettext.
111711         * lib/vasprintf.h: New file, from GNU gettext with modifications.
111712         * lib/vasprintf.c: New file, from GNU gettext.
111713         * lib/asprintf.c: New file, from GNU gettext.
111715 2003-01-29  Bruno Haible  <bruno@clisp.org>
111717         * modules/stpncpy: New module.
111718         * MODULES.html.sh (func_all_modules): Add it.
111720 2003-01-29  Bruno Haible  <bruno@clisp.org>
111722         * m4/stpncpy.m4: New file.
111724 2003-01-29  Bruno Haible  <bruno@clisp.org>
111726         * lib/stpncpy.h: New file, from GNU gettext with modifications.
111727         * lib/stpncpy.c: New file, from GNU gettext with modifications.
111729 2003-01-28  Bruno Haible  <bruno@clisp.org>
111731         * modules/c-ctype: New module.
111732         * MODULES.html.sh (func_all_modules): Add it.
111734 2003-01-28  Bruno Haible  <bruno@clisp.org>
111736         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
111737         Paul Eggert.
111738         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
111739         Paul Eggert.
111741 2003-01-27  Bruno Haible  <bruno@clisp.org>
111743         * modules/xsetenv: New module.
111744         * MODULES.html.sh (func_all_modules): Add it.
111746 2003-01-27  Bruno Haible  <bruno@clisp.org>
111748         * lib/xsetenv.h: New file, from GNU gettext.
111749         * lib/xsetenv.c: New file, from GNU gettext.
111751 2003-01-23  Jim Meyering  <jim@meyering.net>
111753         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
111754         from working on systems without dirfd (at least Irix and OSF1/Tru64).
111756 2003-01-23  Bruno Haible  <bruno@clisp.org>
111758         * modules/minmax: New module.
111759         * MODULES.html.sh (func_all_modules): Add it.
111761 2003-01-23  Bruno Haible  <bruno@clisp.org>
111763         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
111764         Eggert.
111766 2003-01-22  Bruno Haible  <bruno@clisp.org>
111768         * modules/exit: New module.
111769         * MODULES.html.sh (func_all_modules): Add it.
111771 2003-01-22  Bruno Haible  <bruno@clisp.org>
111773         * lib/exit.h: New file, from GNU gettext.
111775 2003-01-19  Bruno Haible  <bruno@clisp.org>
111777         * gnulib-tool: Recognize option --extract-maintainer.
111778         (func_get_maintainer): New function.
111779         * modules/*: Add Maintainer entry.
111781 2003-01-16  Jim Meyering  <jim@meyering.net>
111783         * m4/regex.m4: The `regex' struct is both input and output.
111784         Initialize it before each use.  Patch by Tim Waugh.
111786 2003-01-16  Bruno Haible  <bruno@clisp.org>
111788         * MODULES.html.sh: Add a table of contents. Add the module name as
111789         leftmost column. Add hyperlinks.
111791 2003-01-15  Bruno Haible  <bruno@clisp.org>
111793         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
111795 2003-01-15  Bruno Haible  <bruno@clisp.org>
111797         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
111798         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
111799         suffix.
111801 2003-01-15  Bruno Haible  <bruno@clisp.org>
111803         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
111805 2003-01-15  Bruno Haible  <bruno@clisp.org>
111807         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
111808         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
111810 2003-01-14  Jim Meyering  <jim@meyering.net>
111812         * lib/same.c (same_name): Tweak a comment.
111814 2003-01-14  Bruno Haible  <bruno@clisp.org>
111816         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
111817         when a string comparison is sufficient.
111819 2003-01-14  Bruno Haible  <bruno@clisp.org>
111821         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
111822         'unsigned int'.
111824 2003-01-14  Bruno Haible  <bruno@clisp.org>
111826         * lib/hash-pjw.c: Add comment about low quality of this function.
111828 2003-01-13  Bruno Haible  <bruno@clisp.org>
111830         * modules/stpcpy: Distribute lib/stpcpy.h.
111831         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
111833 2003-01-13  Bruno Haible  <bruno@clisp.org>
111835         * modules/*: Add a description.
111836         * modules/strpbrk: Fix Makefile.am snippet.
111837         * modules/strtoimax: Fix dependencies.
111838         * modules/strtoumax: Likewise.
111840 2003-01-13  Bruno Haible  <bruno@clisp.org>
111842         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
111843         * modules/alloca (Makefile.am): All object files depend on alloca.h.
111844         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
111846 2003-01-13  Bruno Haible  <bruno@clisp.org>
111848         * gnulib-tool (func_create_testdir): Store config/* files in the main
111849         directory.
111850         * config.rpath: Move to ...
111851         * config/config.rpath: ... here.
111852         * modules/gettext: Contains config/config.rpath, not config.rpath.
111853         * modules/iconv: Likewise.
111855 2003-01-12  Paul Eggert  <eggert@twinsun.com>
111857         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
111858         to avoid collisions with libcurses and libreadline.
111860         * m4/getstr.m4: Remove.
111861         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
111863 2003-01-12  Paul Eggert  <eggert@twinsun.com>
111865         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
111866         to avoid collisions with libcurses and libreadline.
111868         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
111869         * lib/getstr.h, getstr.c: Remove.
111870         * lib/getline.c: Include "getline.h", to check interface.
111871         Move body of old getstr.c here: this defines MIN_CHUNK and
111872         declares getdelim2, which is renamed from getstr.
111873         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
111875         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
111876         All uses changed.
111877         * lib/linebuffer.h: Likewise.
111878         (readline): Remove backward-compatibility macro.
111880 2003-01-12  Paul Eggert  <eggert@twinsun.com>
111882         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
111883         to avoid collisions with libcurses and libreadline.
111884         * getstr: Remove.
111885         * MODULES.html.sh: Remove getstr.
111886         * modules/getline: Depend on unlocked-io, not getstr.
111888 2003-01-12  Jim Meyering  <jim@meyering.net>
111890         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
111892 2003-01-10  Bruno Haible  <bruno@clisp.org>
111894         * modules/alloca: Change Makefile.am requirements. Simplify Include
111895         requirements. Add lib/alloca_.h to file list.
111897 2003-01-10  Bruno Haible  <bruno@clisp.org>
111899         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
111901 2003-01-10  Bruno Haible  <bruno@clisp.org>
111903         * lib/alloca_.h: New file.
111904         * lib/getdate.y: Unconditionally include alloca.h.
111905         * lib/makepath.c: Likewise.
111906         * lib/setenv.c: Likewise.
111907         * lib/userspec.c: Likewise.
111909 2003-01-09  Karl Berry  <karl@gnu.org>
111911         * MODULES.html.sh: include `dirname $0` in PATH, to find
111912         gnulib-tool.
111914 2003-01-09  Bruno Haible  <bruno@clisp.org>
111916         * modules/stdbool: Change configure.ac, Makefile.am requirements.
111917         Simplify Include requirements. Add lib/stdbool.h.in to file list.
111919 2003-01-09  Bruno Haible  <bruno@clisp.org>
111921         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
111923 2003-01-09  Bruno Haible  <bruno@clisp.org>
111925         * lib/stdbool.h.in: New file.
111927 2003-01-09  Bruno Haible  <bruno@clisp.org>
111929         * gnulib-tool (func_all_modules): Ignore files ending in ~.
111930         * MODULES.html.sh: Likewise.
111932 2003-01-08  Jim Meyering  <jim@meyering.net>
111934         * lib/full-write.c: Undefine and define-away `const' after inclusion
111935         of errno.h, not before.  Suggestion from Bruno Haible.
111937 2003-01-08  Bruno Haible  <bruno@clisp.org>
111939         * modules/full-read: Depend on full-write.
111941 2003-01-08  Bruno Haible  <bruno@clisp.org>
111943         * lib/safe-read.c: Include specification header first, to ensure its
111944         selfcontainedness.
111945         * lib/full-write.c: Likewise.
111947 2003-01-07  Jim Meyering  <jim@meyering.net>
111949         * lib/full-write.c: Rework so that it may serve to define full_read,
111950         too.
111951         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
111953 2003-01-07  Bruno Haible  <bruno@clisp.org>
111955         * lib/strtoimax.c: Include <stdint.h> as an alternative to
111956         <inttypes.h>.
111957         * lib/xstrtol.h: Likewise.
111958         * lib/xstrtoimax.c: Likewise.
111959         * lib/xstrtoumax.c: Likewise.
111960         * lib/human.h: Likewise.
111962         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
111963         on systems that have <inttypes.h> but not <stdint.h>.
111965 2003-01-07  Bruno Haible  <bruno@clisp.org>
111967         * MODULES.html.sh: Add copyright notice.
111968         (missed_files): Omit CVS directory entries.
111969         (func_module): Make it work with sed-3.02.
111970         * MODULES.txt: Remove file.
111972 2003-01-06  Jim Meyering  <jim@meyering.net>
111974         * lib/version-etc.c: Update year in translatable copyright string.
111976 2003-01-03  Karl Berry  <karl@gnu.org>
111978         * config/config.{guess,sub}: update from prep.
111980 2003-01-02  Karl Berry  <karl@gnu.org>
111982         * doc/COPYING.DOC: belatedly updated to 1.2.
111984 2003-01-01  Karl Berry  <karl@gnu.org>
111986         * gnulib-tool (func_verify_module): report module name $module in
111987         error message, not $1.
111988         * gnulib-tool (create-testdir): don't complain if destdir couldn't
111989         be created, only if it doesn't exist.
111990         * gnulib-tool (last_checkin_date): don't expand the $Date here.
111992 2002-12-31  Paul Eggert  <eggert@twinsun.com>
111994         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
111996 2002-12-31  Paul Eggert  <eggert@twinsun.com>
111998         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
111999         memcmp if strcoll doesn't work.
112001 2002-12-31  Bruno Haible  <bruno@clisp.org>
112003         * lib/utime.c (utime_null): No need to call ftruncate if the file was
112004         nonempty.
112006 2002-12-31  Bruno Haible  <bruno@clisp.org>
112008         * lib/memcoll.c (STRCOLL): New macro.
112009         (memcoll): Use it.
112011 2002-12-31  Bruno Haible  <bruno@clisp.org>
112013         * lib/localcharset.h: New file.
112014         * lib/localcharset.c: Include it.
112015         * lib/unicodeio.c: Likewise.
112017 2002-12-31  Bruno Haible  <bruno@clisp.org>
112019         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
112020         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
112022 2002-12-31  Bruno Haible  <bruno@clisp.org>
112024         * lib/getline.h: Include <stddef.h>, for size_t.
112026         * lib/unicodeio.h: Include <stddef.h>, for size_t.
112027         * lib/unicodeio.c: Don't include <stddef.h>.
112029 2002-12-31  Bruno Haible  <bruno@clisp.org>
112031         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
112032         HAVE_TM_ZONE.
112034 2002-12-24  Karl Berry  <karl@gnu.org>
112036         * config/config.guess: update from prep.
112038 2002-12-24  Bruno Haible  <bruno@clisp.org>
112040         General infrasructure.
112041         * m4/README: Rewritten.
112042         * m4/onceonly.m4: New file.
112043         * m4/onceonly_2_57.m4: New file.
112045         Module atexit.
112046         * m4/atexit.m4: New file.
112048         Module strtod.
112049         * m4/strtod.m4: New file.
112051         Module strtol.
112052         * m4/strtol.m4: New file.
112054         Module strtoul.
112055         * m4/strtoul.m4: New file.
112057         Module memchr.
112058         * m4/memchr.m4: New file.
112060         Module memcmp.
112061         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
112062         (jm_FUNC_MEMCMP): Invoke it.
112064         Module memcpy.
112065         * m4/memcpy.m4: New file.
112067         Module memmove.
112068         * m4/memmove.m4: New file.
112070         Module memset.
112071         * m4/memset.m4: New file.
112073         Module strcspn.
112074         * m4/strcspn.m4: New file.
112076         Module strpbrk.
112077         * m4/strpbrk.m4: New file.
112079         Module strstr.
112080         * m4/strstr.m4: New file.
112082         Module strerror.
112083         * m4/strerror.m4: New file.
112085         Module mktime.
112086         * m4/mktime.m4: Renamed from jm-mktime.m4.
112087         (gl_PREREQ_MKTIME): New macro.
112088         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
112090         Module malloc.
112091         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
112092         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
112093         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
112095         Module realloc.
112096         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
112097         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
112098         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
112100         Module strftime.
112101         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
112102         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
112103         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
112104         gl_TM_GMTOFF.
112105         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
112107         Module xalloc.
112108         * m4/xalloc.m4: New file.
112110         Module alloca.
112111         * m4/alloca.m4: New file.
112113         Module putenv.
112114         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
112115         (jm_FUNC_PUTENV): Invoke it.
112117         Module setenv.
112118         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
112119         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
112120         when invoked twice.
112121         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
112122         gt_FUNC_SETENV.
112124         Module memrchr.
112125         * m4/memrchr.m4: New file.
112127         Module stpcpy.
112128         * m4/stpcpy.m4: New file.
112130         Module strcase.
112131         * m4/strcase.m4: New file.
112133         Module strdup.
112134         * m4/strdup.m4: New file.
112136         Module strnlen.
112137         * m4/strnlen.m4: New file.
112139         Module strndup.
112140         * m4/strndup.m4: New file.
112142         Module xstrtod.
112143         * m4/xstrtod.m4: New file.
112145         Module xstrtol.
112146         * m4/xstrtol.m4: New file.
112148         Module getdate.
112149         * m4/getdate.m4: New file.
112151         Module unlocked-io.
112152         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
112153         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
112154         * m4/jm-glibc-io.m4n: Remove file.
112156         Module long-options.
112157         * m4/long-options.m4: New file.
112159         Module md5.
112160         * m4/md5.m4: New file.
112162         Module sha.
112163         * m4/sha.m4: New file.
112165         Module getstr.
112166         * m4/getstr.m4: New file.
112168         Module getline.
112169         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
112170         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
112171         <sys/types.h>, for size_t. Use the function name gnu_getline, not
112172         simply getline. Infoke gl_PREREQ_GETLINE.
112174         Module obstack.
112175         * m4/obstack.m4: New file.
112177         Module hash.
112178         * m4/hash.m4: New file.
112180         Module readtokens.
112181         * m4/readtokens.m4: New file.
112183         Module strverscmp.
112184         * m4/strverscmp.m4: New file.
112186         Module stdbool.
112187         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
112188         OSF/1.
112190         Module strtoll.
112191         * m4/strtoll.m4: New file.
112193         Module strtoull.
112194         * m4/strtoull.m4: New file.
112196         Module strtoimax.
112197         * m4/strtoimax.m4: New file.
112199         Module strtoumax.
112200         * m4/strtoumax.m4: New file.
112202         Module xstrtoimax.
112203         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
112204         jm_AC_PREREQ_XSTRTOIMAX.
112205         Moved the strtol prerequisites to strtol.m4.
112206         Moved the strtoll prerequisites to strtoll.m4.
112207         Moved the strtoimax prerequisites to strtoimax.m4.
112209         Module xstrtoumax.
112210         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
112211         jm_AC_PREREQ_XSTRTOUMAX.
112212         Moved the strtoul prerequisites to strtoul.m4.
112213         Moved the strtoull prerequisites to strtoull.m4.
112214         Moved the strtoumax prerequisites to strtoumax.m4.
112216         Module chown.
112217         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
112218         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
112220         Module dup2.
112221         * m4/dup2.m4: New file.
112223         Module ftruncate.
112224         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
112225         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
112227         Module getgroups.
112228         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
112229         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
112231         Module gettimeofday.
112232         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
112233         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
112234         gl_PREREQ_GETTIMEOFDAY.
112236         Module mkdir.
112237         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
112238         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
112240         Module mkstemp.
112241         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
112242         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
112243         jm_AC_TYPE_UINTMAX_T.
112244         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
112246         Module stat.
112247         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
112248         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
112250         Module lstat.
112251         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
112252         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
112254         Module timespec.
112255         * m4/timespec.m4 (gl_TIMESPEC): New macro.
112256         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
112257         * m4/st_mtim.m4: Indentation.
112259         Module nanosleep.
112260         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
112261         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
112262         gl_PREREQ_NANOSLEEP.
112264         Module regex.
112265         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
112266         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
112267         (gl_REGEX): New macro.
112269         Module rename.
112270         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
112271         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
112273         Module rmdir.
112274         * m4/rmdir.m4: New file.
112276         Module utime.
112277         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
112278         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
112279         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
112281         Module dirname.
112282         * m4/dirname.m4: New file.
112284         Module getopt.
112285         * m4/getopt.m4: New file.
112287         Module unistd-safer.
112288         * m4/unistd-safer.m4: New file.
112290         Module fnmatch.
112291         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
112292         declaration.
112293         (gl_PREREQ_FNMATCH_EXTRA): New macro.
112294         (gl_FUNC_FNMATCH_POSIX): New macro.
112295         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
112296         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
112297         simply fnmatch.
112299         Module exclude.
112300         * m4/exclude.m4: New file.
112302         Module human.
112303         * m4/human.m4: New file.
112305         Module acl.
112306         * m4/acl.m4: Nop.
112308         Module backupfile.
112309         * m4/backupfile.m4: New file.
112310         * m4/d-ino.m4: Indentation.
112312         Module fsusage.
112313         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
112314         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
112315         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
112317         Module dirfd.
112318         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
112319         requirements.
112321         Module euidaccess.
112322         * m4/euidaccess.m4: New file.
112324         Module file-type.
112325         * m4/file-type.m4: New file.
112327         Module fileblocks.
112328         * m4/fileblocks.m4: New file.
112330         Module filemode.
112331         * m4/filemode.m4: New file.
112333         Module isdir.
112334         * m4/isdir.m4: New file.
112336         Module lchown.
112337         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
112338         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
112340         Module makepath.
112341         * m4/makepath.m4: New file.
112343         Module modechange.
112344         * m4/modechange.m4: New file.
112346         Module mountlist.
112347         * m4/mountlist.m4: New file.
112348         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
112349         Indentation.
112351         Module path-concat.
112352         * m4/path-concat.m4: New file.
112354         Module pathmax.
112355         * m4/pathmax.m4: New file.
112357         Module same.
112358         * m4/same.m4: New file.
112360         Module save-cwd.
112361         * m4/save-cwd.m4: New file.
112363         Module savedir.
112364         * m4/savedir.m4: New file.
112366         Module xgetcwd.
112367         * m4/xgetcwd.m4: New file.
112368         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
112370         Module xreadlink.
112371         * m4/xreadlink.m4: New file.
112373         Module safe-read.
112374         * m4/safe-read.m4: New file.
112376         Module safe-write.
112377         * m4/safe-write.m4: New file.
112379         Module closeout.
112380         * m4/closeout.m4: New file.
112382         Module stdio-safer.
112383         * m4/stdio-safer.m4: New file.
112385         Module getpass.
112386         * m4/getpass.m4: New file.
112388         Module getugroups.
112389         * m4/getugroups.m4: New file.
112391         Module group-member.
112392         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
112393         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
112395         Module idcache.
112396         * m4/idcache.m4: New file.
112398         Module userspec.
112399         * m4/userspec.m4: New file.
112401         Module gettime.
112402         * m4/clock_time.m4: New file.
112403         * m4/gettime.m4: New file.
112405         Module settime.
112406         * m4/settime.m4: New file.
112408         Module posixtm.
112409         * m4/posixtm.m4: New file.
112411         Module gethostname.
112412         * m4/gethostname.m4: New file.
112414         Module canon-host.
112415         * m4/canon-host.m4: New file.
112417         Module gettext.
112418         * m4/codeset.m4: New file, from gettext-0.11.5.
112419         * m4/gettext.m4: New file, from gettext-0.11.5.
112420         * m4/glibc21.m4: New file, from gettext-0.11.5.
112421         * m4/iconv.m4: New file, from gettext-0.11.5.
112422         * m4/intdiv0.m4: New file, from gettext-0.11.5.
112423         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
112424         * m4/inttypes.m4: New file, from gettext-0.11.5.
112425         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
112426         * m4/isc-posix.m4: New file, from gettext-0.11.5.
112427         * m4/lcmessage.m4: New file, from gettext-0.11.5.
112428         * m4/lib-ld.m4: New file, from gettext-0.11.5.
112429         * m4/lib-link.m4: New file, from gettext-0.11.5.
112430         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
112431         * m4/progtest.m4: New file, from gettext-0.11.5.
112432         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
112433         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
112434         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
112436         Module localcharset.
112437         * m4/localcharset.m4: New file.
112439         Module hard-locale.
112440         * m4/hard-locale.m4: New file.
112442         Module mbswidth.
112443         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
112444         onceonly macros.
112445         * m4/mbrtowc.m4: Add comment.
112447         Module memcasecmp.
112448         * m4/memcasecmp.m4: New file.
112450         Module memcoll.
112451         * m4/memcoll.m4: New file.
112453         Module unicodeio.
112454         * m4/unicodeio.m4: New file.
112456         Module rpmatch.
112457         * m4/rpmatch.m4: New file.
112459         Module yesno.
112460         * m4/yesno.m4: New file.
112462         Module exitfail.
112463         * m4/exitfail.m4: New file.
112465         Module c-stack.
112466         * m4/c-stack.m4 (gl_C_STACK): New macro.
112467         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
112469         Module error.
112470         * m4/error.m4 (gl_ERROR): New macro.
112471         (jm_PREREQ_ERROR): Use onceonly macros.
112473         Module fatal.
112474         * m4/fatal.m4: New file.
112476         Module getloadavg.
112477         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
112478         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
112480         Module getpagesize.
112481         * m4/getpagesize.m4: New file.
112483         Module getusershell.
112484         * m4/getusershell.m4: New file.
112486         Module physmem.
112487         * m4/physmem.m4: New file.
112489         Module posixver.
112490         * m4/posixver.m4: New file.
112492         Module quotearg.
112493         * m4/quotearg.m4: New file.
112495         Module quote.
112496         * m4/quote.m4: New file.
112498         Module readutmp.
112499         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
112501         Module sig2str.
112502         * m4/sig2str.m4: New file.
112504         Other.
112505         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
112506         ulonglong.m4.
112507         * m4/intmax_t.m4: New file.
112508         * m4/d-type.m4: Indentation.
112509         * m4/jm-macros.m4: Update.
112510         * m4/prereq.m4 (jm_PREREQ): Update.
112511         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
112512         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
112513         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
112514         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
112515         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
112516         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
112517         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
112518         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
112519         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
112520         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
112521         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
112522         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
112523         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
112524         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
112525         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
112526         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
112527         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
112528         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
112529         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
112531 2002-12-24  Bruno Haible  <bruno@clisp.org>
112533         * MODULES.txt: Update according to m4/ changes.
112535         Module gettext.
112536         * config.rpath: New file, from gettext-0.11.5.
112538         * modules/*: New module descriptions.
112539         * gnulib-tool: New file.
112540         * MODULES.html.sh: New file.
112542 2002-12-21  Karl Berry  <karl@gnu.org>
112544         * doc/fdl.texi: update to version 1.2.
112546 2002-12-19  Karl Berry  <karl@gnu.org>
112548         * config/config.guess: update from prep.
112550 2002-12-18  Bruno Haible  <bruno@clisp.org>
112552         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
112553         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
112555 2002-12-17  Bruno Haible  <bruno@clisp.org>
112557         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
112558         stdlib.h, string.h.
112560 2002-12-17  Bruno Haible  <bruno@clisp.org>
112562         * lib/canon-host.c (strdup): Remove unused declaration.
112564         * lib/fsusage.c: Include full_read.h.
112565         (get_fs_usage): Use full_read instead of safe_read.
112567         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
112569 2002-12-12  Karl Berry  <karl@gnu.org>
112571         * config/config.guess: update from prep.
112573 2002-12-11  Bruno Haible  <bruno@clisp.org>
112575         * m4/setenv.m4: New file, from gettext-0.11.5.
112577 2002-12-11  Bruno Haible  <bruno@clisp.org>
112579         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
112580         not unsetenv().
112581         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
112582         modifications:
112584         2002-12-11  Bruno Haible  <bruno@clisp.org>
112586                 * setenv.c (alloca): Fall back to malloc.
112587                 (freea): New macro.
112588                 (setenv): Use freea() to free memory allocated with alloca().
112590         2002-11-13  Bruno Haible  <bruno@clisp.org>
112592                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
112593                 function declarations.
112594                 * unsetenv.c (unsetenv): Likewise.
112596         2002-03-04  Bruno Haible  <bruno@clisp.org>
112598                 Portability to AIX 4.3.3.
112599                 * unsetenv.c: New file, extracted from setenv.c.
112600                 * setenv.c: Move the unsetenv() function to unsetenv.c.
112602         2001-12-20  Bruno Haible  <bruno@clisp.org>
112604                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
112605                 use malloc instead. For SunOS 4.
112607         2001-12-11  Bruno Haible  <bruno@clisp.org>
112609                 * setenv.c: Declare alloca.
112610                 (compar_fn_t): New typedef.
112611                 (KNOWN_VALUE, STORE_VALUE): Use it.
112613         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
112614         setenv.h.
112616 2002-12-10  Paul Eggert  <eggert@twinsun.com>
112618         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
112619         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
112620         Choose values that are less likely to collide with system fnmatch
112621         options.
112622         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
112623         defined (e.g., a pure POSIX system).
112624         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
112625         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
112627 2002-12-06  Paul Eggert  <eggert@twinsun.com>
112629         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
112630         a pain in practice to deal with generated m4 files.  This change
112631         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
112633         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
112634         and jm-glibc-io.m4, as they are no longer a special case.
112635         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
112636         kludge and the auto-generation stuff.  Check only whether the
112637         functions are declared, not whether they exist, since older hosts
112638         that don't declare the functions can't use the optimization anyway.
112640 2002-12-06  Jim Meyering  <jim@meyering.net>
112642         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
112644         Merge in changes from libc's misc/error.c, in preparation
112645         for the merge of gnulib's changes back into libc.
112647         * lib/error.c (_): Define only if not already defined.
112648         Move definition to follow all #include directives.
112649         Include unlocked-io.h only if !_LIBC.
112650         [_LIBC]: Include <libio/libioP.h>.
112651         [USE_IN_LIBIO]: Include <libio/iolibio.h>
112652         (fflush): Tweak definition to use INTUSE.
112653         (putc): Define.
112655 2002-12-05  Paul Eggert  <eggert@twinsun.com>
112657         * lib/alloca.c [defined emacs]: Include "lisp.h".
112658         (xalloc_die) [defined emacs]: New macro.
112659         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
112660         [! defined emacs]: Include <xalloc.h>.
112661         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
112662         (pointer): Typedef to POINTER_TYPE *.
112663         (malloc): Remove decl; we now always use xmalloc.
112664         (alloca): Use old-style definition, since Emacs needs this.
112665         Check for arithmetic overflow when computing combined size.
112667 2002-12-04  Paul Eggert  <eggert@twinsun.com>
112669         Do not generate unlocked-io.h automatically, since it's easier to
112670         maintain it by hand.
112672         * lib/unlocked-io.h: New file, from GNU diffutils,
112673         but with proper copyright notice and attribution.
112674         * lib/gen-uio: Remove.
112675         * lib/Makefile.am: Add copyright notice.
112676         (libfetish_a_SOURCES): Add unlocked-io.h.
112677         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
112678         (DISTCLEANFILES, io_functions): Remove macros.
112679         (EXTRA_DIST): Remove gen_uio.
112680         (unlocked-io.h): Remove rule.
112682 2002-12-04  Jim Meyering  <jim@meyering.net>
112684         Reflect the fact that stat.c and lstat.c are no longer generated.
112685         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
112686         (DISTCLEANFILES): Likewise.
112687         (EXTRA_DIST): Likewise.
112688         (all_local): Don't depend on stat.c or lstat.c.
112689         (stat.c, lstat.c): Remove rules.
112690         (EXTRA_DIST): Remove xstat.in.
112692         * lib/xstat.in: Remove file.  Contents moved into stat.c.
112693         * lib/stat.c: New file.  Contents mostly from xstat.in.
112694         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
112695         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
112697         * lib/safe-read.c: Rework so that it may serve to define safe_write,
112698         too.
112699         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
112701 2002-12-03  Jim Meyering  <jim@meyering.net>
112703         * lib/safe-read.c, safe-write.c: Change variable names and comments,
112704         but not semantics, to minimize the differences between these two files.
112705         (safe_read): Change comment to mention SAFE_READ_ERROR.
112707         * lib/safe-read.c (IS_EINTR): Define.
112708         (safe_read): Use IS_EINTR in place of in-function cpp directives.
112710 2002-12-02  Jim Meyering  <jim@meyering.net>
112712         * lib/safe-read.c (EINTR): Define.
112713         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
112714         (INT_MAX): Provide fallback.
112715         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
112717         * lib/safe-read.h (SAFE_READ_ERROR): Define.
112719 2002-12-02  Bruno Haible  <bruno@clisp.org>
112721         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
112722         Define, taken from safe-read.c.
112723         (INT_MAX): Provide fallback.
112724         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
112725         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
112727         * lib/safe-read.c (EINTR): Remove definition.
112728         (safe_read): Don't use EINTR if it is absent.
112730 2002-12-01  Jim Meyering  <jim@meyering.net>
112732         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
112733         zero.
112734         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
112736 2002-11-27  Paul Eggert  <eggert@twinsun.com>
112738         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
112739         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
112740         with `if (! (value < limit)) abort ();', for readability.
112742 2002-11-26  Karl Berry  <karl@gnu.org>
112744         * lib/strdup.c: copy from libc again, with jim's ok.
112745         * lib/.cppi-disable: re-add strdup.c
112747 2002-11-25  Karl Berry  <karl@gnu.org>
112749         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
112750         instead of "strtol.c".
112752 2002-11-25  Karl Berry  <karl@gnu.org>
112754         * config/install-sh: update from automake for variable quoting, $0 in
112755         error msgs, etc.
112757         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
112758         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
112759         entry.
112761 2002-11-25  Jim Meyering  <jim@meyering.net>
112763         * lib/mktime.c: Sync from libc, now that it has the latest fix.
112765 2002-11-24  Karl Berry  <karl@gnu.org>
112767         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
112768         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
112770 2002-11-24  Jim Meyering  <jim@meyering.net>
112772         Update from coreutils:
112774         * lib/mktime.c: Merge in changes from libc.
112776         Avoid a link-time failure on some Linux systems.
112777         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
112778         (otherwise).
112779         (__mon_yday): Declare with the STATIC attribute.
112780         (__mktime_internal): Likewise.
112781         Based on a report from Greg Schafer.
112783 2002-11-23  Jim Meyering  <jim@meyering.net>
112785         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
112786         Use `unsigned', not `int', as type of index.
112788         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
112790         * lib/fsusage.c: Remove unneeded parentheses around operands of
112791         `defined'.
112793 2002-11-22  Paul Eggert  <eggert@twinsun.com>
112795         * lib/quotearg.h: Allow multiple inclusion by surrounding with
112796         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
112797         so that we can be included first.
112798         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
112799         * lib/quotearg.c: Include quotearg.h immediately after config.h.
112800         No need to include stddef.h or sys/types.h any more.
112801         Surround local include files with "", not "<>".
112802         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
112803         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
112804         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
112805         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
112806         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
112807         (ISPRINT): Remove; no longer needed now that we assume C89.
112809         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
112810         Preserve errno.
112812         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
112813         quotearg_char): Use SIZE_MAX rather than
112814         (size_t) -1 when we are talking about "infinity".
112816         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
112818 2002-11-22  Paul Eggert  <eggert@twinsun.com>
112820         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
112821         hint that one should use `if (! x) abort ();' rather than `assert
112822         (x);', and anyway it's one less thing to worry about configuring.
112823         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
112824         hash_rehash, hash_insert): Use abort rather than assert.
112826 2002-11-22  Bruno Haible  <bruno@clisp.org>
112828         * lib/safe-read.h: Assume C89. Add comments.
112829         (safe_read): Change return type to size_t.
112830         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
112831         byte counts > SSIZE_MAX correctly.
112832         * lib/safe-write.h: New file.
112833         * lib/safe-write.c: New file.
112834         * lib/full-read.h: New file.
112835         * lib/full-read.c: New file.
112836         * lib/full-write.h: Assume C89. Add comments.
112837         * lib/full-write.c: Include safe-write.h.
112838         (full_write): Rewritten to use safe_write.
112839         Suggested by Jim Meyering and Paul Eggert.
112841 2002-11-21  Jim Meyering  <jim@meyering.net>
112843         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
112845         Merge in changes from the coreutils.
112847         2002-09-25  Paul Eggert  <eggert@twinsun.com>
112848         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
112849         <stdint.h>.
112850         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
112851         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
112852         int.  Work more efficiently if X is the same width as uintmax_t.
112853         Do not compare X to -1, to avoid bogus compiler warning.
112854         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
112855         Don't assume that f_frsize and f_bsize are the same type.
112857         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
112858         warning on FreeBSD.
112860         * lib/makepath.c (make_path): Restore umask *before* creating the final
112861         component.
112862         (make_path): Minor reformatting.
112864         * lib/xmalloc.c: Adjust to work with new autoconf macros,
112865         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
112866         HAVE_MALLOC/HAVE_REALLOC.
112868         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
112869         dummy ones.  At least on GNU/Linux systems, `auto' means something
112870         else.
112871         From Michael Stone.
112873 2002-11-21  Bruno Haible  <bruno@clisp.org>
112875         Remove case insensitive option matching.
112876         * lib/argmatch.h (argcasematch): Remove declaration.
112877         (ARGCASEMATCH): Remove macro.
112878         (__xargmatch_internal): Remove case_sensitive argument.
112879         (XARGMATCH): Update.
112880         (XARGCASEMATCH): Remove macro.
112881         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
112882         case_sensitive argument.
112883         (argcasematch): Remove function.
112884         (__xargmatch_internal): Remove case_sensitive argument.
112885         (main): Use XARGMATCH instead of XARGCASEMATCH.
112887         * lib/xmalloc.c: Change compile-time error message. Add comment about
112888         required autoconf version.
112890 2002-11-20  Paul Eggert  <eggert@twinsun.com>
112892         Merge argmatch cleanups from Bison.  Assume C89.
112894         * lib/argmatch.c: Include config.h here, not in argmatch.h.
112895         Include stdlib.h, for EXIT_FAILURE.
112896         Always include <string.h>, since we assume C89.
112897         (EXIT_FAILURE): Remove pre-C89 bug workaround.
112898         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
112899         Include <stddef.h> instead, since it's all we need for size_t.
112900         (PARAMS): Remove.  All uses removed.
112901         (ARRAY_CARDINALITY): Do not bother to #undef.
112902         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
112903         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
112904         Remove unnecessary parentheses.
112905         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
112906         Insert necessary parentheses.
112907         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
112908         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
112910 2002-11-19  Bruno Haible  <bruno@clisp.org>
112912         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
112913         * lib/mbswidth.h: Include <stddef.h>, for size_t.
112915         * lib/mbswidth.h (PARAMS): Remove macro.
112916         (mbswidth, mbsnwidth): Use ANSI C function declarations.
112917         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
112919         * lib/gcd.h (PARAMS): Remove macro.
112920         (gcd): Use ANSI C function declarations.
112921         * lib/gcd.c (gcd): Likewise.
112923 2002-11-15  Bruno Haible  <bruno@clisp.org>
112925         * lib/strcspn.c: Include <stddef.h>.
112926         (strcspn): Use ANSI C function declaration. Change return type to
112927         size_t. Use NULL.
112928         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
112929         (strpbrk): Use NULL.
112930         * lib/strpbrk.h (PARAMS): Remove macro.
112931         (strpbrk): Use ANSI C function declaration.
112932         * lib/strstr.c: Don't include <sys/types.h>.
112933         * lib/strstr.h (PARAMS): Remove macro.
112934         (strstr): Use ANSI C function declarations.
112936 2002-11-14  Karl Berry  <karl@gnu.org>
112938         * config/mkinstalldirs: `do' on separate line, instead of
112939         `for var; do'.
112941 2002-11-06  Bruno Haible  <bruno@clisp.org>
112943         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
112944         * lib/gcd.c (gcd): Likewise.
112946 2002-11-05  Bruno Haible  <bruno@clisp.org>
112948         * lib/gcd.h: New file, from gettext-0.11.5.
112949         * lib/gcd.c: New file, from gettext-0.11.5.
112951 2002-11-05  Bruno Haible  <bruno@clisp.org>
112953         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
112954         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
112955         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
112956         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
112958         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
112959         <libintl.h>.
112960         * lib/makepath.c: Include gettext.h instead of <locale.h> and
112961         <libintl.h>.
112963         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
112964         * lib/human.c: Include gettext.h instead of <libintl.h>.
112965         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
112966         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
112967         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
112968         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
112969         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
112970         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
112971         (textdomain): Remove definition.
112972         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
112974         * lib/long-options.c: Remove include of <libintl.h> and definition of
112975         _.
112976         * lib/same.c: Remove include of <libintl.h> and definition of _.
112978 2002-11-04  Owen Taylor  <otaylor@redhat.com>
112980         * lib/config.charset: A few additions for Solaris.
112982 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
112984         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
112985         * lib/localcharset.c (locale_charset): Declare as extern "C".
112987 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
112989         * lib/config.charset: msdos in uk_UA uses CP1125.
112991 2002-11-04  Bruno Haible  <bruno@clisp.org>
112993         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
112994         * lib/strcase.h: New file, from GNU gettext-0.11.5.
112995         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
112996         * lib/strstr.h: New file, from GNU gettext-0.11.5.
112997         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
112999 2002-11-04  Bruno Haible  <bruno@clisp.org>
113001         * lib/localcharset.c (locale_charset): Don't return an empty string.
113003 2002-11-04  Bruno Haible  <bruno@clisp.org>
113005         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
113006         aliases.
113008 2002-11-04  Bruno Haible  <bruno@clisp.org>
113010         * lib/config.charset: Update for newest glibc. Add canonical names
113011         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
113013 2002-11-04  Bruno Haible  <bruno@clisp.org>
113015         * lib/config.charset: Add support for NetBSD.
113017 2002-11-04  Bruno Haible  <bruno@clisp.org>
113019         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
113021 2002-11-01  Bruno Haible  <bruno@clisp.org>
113023         * configure.in: Add AC_CONFIG_AUX_DIR call.
113024         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
113025         test/Makefile.
113026         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
113028 2002-09-28  Karl Berry  <karl@gnu.org>
113030         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
113031         installed automake until the next release, since changes have been
113032         made.
113034 2002-09-25  Karl Berry  <karl@gnu.org>
113036         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
113037         * lib/getopt*: copy from libc/posix.
113038         * lib/gettext.h: copy from gettext.
113039         * lib/.cppi-disable: add strdup.c, gettext.h.
113041 2002-09-25  Karl Berry  <karl@gnu.org>
113043         * config/srclist.txt: enable gettext.h check.
113044         * config/config.{guess,sub}: update from prep.
113045         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
113046                 from automake 1.6.3.
113047         See srclist*.
113049 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
113051         * regex.c (PATFETCH): Remove the translating fetch.
113052         (PATFETCH_RAW): Rename to PATFETCH.
113053         (set_image_of_range): New fun.
113054         (SET_RANGE_TABLE_WORK_AREA): Use it.
113055         (regex_compile): Don't translate the pattern chars so eagerly.
113056         Only do it when inserting an `exactn' bytecode or when handling
113057         a char-range.
113058         (mutually_exclusive_p): Avoid empty statement.
113060 2002-07-06  Jim Meyering  <meyering@lucent.com>
113062         * m4/README: Don't mention Makefile.am.in.
113063         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
113065 2002-07-01  Jim Meyering  <meyering@lucent.com>
113067         * lib/c-stack.c: Include sys/time.h.
113068         From Volker Borchert.
113070 2002-06-26  Paul Eggert  <eggert@twinsun.com>
113072         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
113074 2002-06-26  Paul Eggert  <eggert@twinsun.com>
113076         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
113077         New macro.  Use it uniformly instead of
113078         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
113079         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
113080         reported by Vin Shelton.
113082 2002-06-22  Paul Eggert  <eggert@twinsun.com>
113084         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
113085         Do not assume SA_SIGINFO behavior.
113086         Bug reported by Jim Meyering on NetBSD 1.5.2.
113088 2002-06-22  Jim Meyering  <meyering@lucent.com>
113090         * m4/c-stack.m4: New file, from diffutils-2.8.2.
113091         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
113093         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
113094         now that configure.ac uses AC_GNU_SOURCE.
113095         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
113096         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
113098         Update to latest tools.  Suggestions from Paul Eggert.
113099         * m4/stdbool.m4: New file, from diffutils-2.8.2.
113100         * m4/gnu-source.m4: Update from diffutils-2.8.2.
113101         * m4/fnmatch.m4: Likewise.
113102         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
113103         to AC_HEADER_STDBOOL
113105 2002-06-22  Jim Meyering  <meyering@lucent.com>
113107         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
113108         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
113110 2002-06-22  Jim Meyering  <meyering@lucent.com>
113112         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
113114         * lib/exitfail.c, exitfail.h: Likewise.
113115         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
113117         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
113118         of fnmatch.h.
113119         (EXTRA_DIST): Add fnmatch_loop.c.
113120         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
113122         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
113123         * lib/fnmatch.c: Update from diffutils-2.8.2.
113124         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
113125         * lib/fnmatch.h: Remove file.
113127 2002-06-21  Jim Meyering  <meyering@lucent.com>
113129         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
113130         * m4/mbrtowc.m4: Likewise.
113132         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
113133         * m4/mbswidth.m4: Reflect name change:
113134         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
113135         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
113137         * m4/lib-link.m4: Update from gettext-0.11.2.
113138         * m4/gettext.m4: Likewise.
113140         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
113141         From Alfred M. Szmidt.
113143 2002-06-18  Paul Eggert  <eggert@twinsun.com>
113145         * lib/file-type.h: Report an error if neither S_ISREG nor
113146         S_IFREG is defined, instead of using a test specific to glibc
113147         2.2.  This should be safe, since POSIX requires S_ISREG and
113148         Unix Version 7 had S_IFREG.  We don't need to check for
113149         <sys/types.h> since we don't use any symbols that it defines.
113151 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
113153         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
113154         $@-t, so that each temporary file name is unique and valid in the first
113155         8 characters, for operation under DOS.
113157 2002-06-15  Paul Eggert  <eggert@twinsun.com>
113159         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
113161 2002-06-15  Jim Meyering  <meyering@lucent.com>
113163         Work even with DJGPP 2.03, which lacks support for symlinks.
113164         From Richard Dawe.
113165         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
113166         is defined.
113167         * lib/lchown.c (S_ISLNK): Likewise.
113169 2002-06-15  Jim Meyering  <meyering@lucent.com>
113171         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
113172         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
113173         have been included before this file.
113175 2002-06-14  Jim Meyering  <meyering@lucent.com>
113177         * lib/file-type.h: Use the version from diffutils-2.8.2.
113178         * lib/file-type.c: Likewise.
113180 2002-06-07  Jim Meyering  <meyering@lucent.com>
113182         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
113183         They're needed at least for NetBSD 1.5.2.
113184         ($statxfs_includes): Include those same headers.
113185         ($statxfs_includes): Include sys/vfs.h if available.
113186         ($statxfs_includes): Likewise for sys/statvfs.h.
113187         Check for the following members in both structs statfs and statvfs:
113188         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
113190 2002-06-01  Jim Meyering  <meyering@lucent.com>
113192         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
113193         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
113195 2002-05-28  Jim Meyering  <meyering@lucent.com>
113197         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
113198         Reported by Volker Borchert.
113200 2002-05-27  Jim Meyering  <meyering@lucent.com>
113202         Fix a problem seen only on nonconforming systems whereby ls.c's
113203         use of localtime, and then of gettimeofday would cause trouble:
113204         the localtime call used to initialize rpl_gettimeofday's save
113205         mechanism would clobber ls's current local time information so
113206         that in any long listing the first file would always be listed
113207         with date 1970-01-01.  Analysis by Volker Borchert.
113209         * lib/gettimeofday.c (localtime): Undefine.
113210         (rpl_localtime): New function.
113212 2002-05-27  Jim Meyering  <meyering@lucent.com>
113214         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
113215         localtime.
113217         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
113218         use the replacement function; it wouldn't resolve at link time.
113219         Reported by Volker Borchert.
113221 2002-05-22  Jim Meyering  <meyering@lucent.com>
113223         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
113224         file-type.h.
113225         * lib/file-type.h: New file.
113226         * lib/file-type.c (file_type): New file/function.  Extracted from
113227         diffutils.
113229 2002-04-30  Jim Meyering  <meyering@lucent.com>
113231         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
113233 2002-04-29  Paul Eggert  <eggert@twinsun.com>
113235         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
113237 2002-04-29  Paul Eggert  <eggert@twinsun.com>
113239         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
113240         Do not check for alloca.h (no longer used) or stdbool.h (was never
113241         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
113243 2002-04-29  Paul Eggert  <eggert@twinsun.com>
113245         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
113247 2002-04-29  Jim Meyering  <meyering@lucent.com>
113249         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
113250         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
113251         Use AC_FUNC_STRNLEN here instead.
113253         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
113254         With autoconf-2.53a, it's part of AC_PROG_CC.
113256 2002-04-28  Paul Eggert  <eggert@twinsun.com>
113258         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
113259         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
113261 2002-04-28  Paul Eggert  <eggert@twinsun.com>
113263         * lib/sig2str.h, lib/sig2str.c: New files.
113264         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
113266 2002-04-28  Paul Eggert  <eggert@twinsun.com>
113268         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
113269         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
113270         of 127, since 64 is the largest conceivable number for ancient
113271         nonstandard hosts.
113272         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
113274 2002-04-28  Jim Meyering  <meyering@lucent.com>
113276         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
113278 2002-04-24  Jim Meyering  <meyering@lucent.com>
113280         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
113281         (jm_PREREQ): Use it.
113283         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
113284         mach/mach.h fcntl.h.
113285         Check for this function: setlocale.
113287 2002-04-24  Jim Meyering  <meyering@lucent.com>
113289         * lib/gettext.h: New file, from Gettext.
113290         * lib/Makefile.am (INCLUDES): Remove -I../intl.
113291         (libfetish_a_SOURCES): Add gettext.h.
113293 2002-04-16  Jim Meyering  <meyering@lucent.com>
113295         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
113296         ut_pid, ut_id, ut_exit.
113298 2002-04-16  Jim Meyering  <meyering@lucent.com>
113300         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
113301         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
113302         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
113304 2002-04-12  Jim Meyering  <meyering@lucent.com>
113306         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
113307         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
113308         existence of the getmntinfo function.  Needed for Darwin 5.3.
113310         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
113311         This is necessary at least on Darwin 5.3.
113313         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
113314         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
113315         strnlen.o in the library, and that makes some versions of ranlib
113316         object.
113318 2002-04-12  Jim Meyering  <meyering@lucent.com>
113320         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
113322 2002-04-09  Jim Meyering  <meyering@lucent.com>
113324         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
113325         to be more precise.  Rather than saying we're checking whether the
113326         function `works', say what we're testing.
113327         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
113328         Reported by Bruno Haible.
113330 2002-03-10  Jim Meyering  <meyering@lucent.com>
113332         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
113333         Suggestion from Santiago Vila.
113335 2002-03-08  Jim Meyering  <meyering@lucent.com>
113337         * lib/rename.c: Mention that this wrapper is needed also on
113338         mips-dec-ultrix4.4 systems.
113340 2002-03-02  Jim Meyering  <meyering@lucent.com>
113342         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
113343         not HAVE_CLOCK_SETTIME.
113345 2002-02-27  Paul Eggert  <eggert@twinsun.com>
113347         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
113348         Check for clock_settime.
113350 2002-02-27  Paul Eggert  <eggert@twinsun.com>
113352         * lib/nanosleep.h: Rename to....
113353         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
113355         * lib/gettime.c: New file.
113356         * lib/settime.c: New file.
113357         * lib/stime.c: Remove.
113359         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
113360         timespec.h.  Remove nanosleep.h.
113362 2002-02-25  Paul Eggert  <eggert@twinsun.com>
113364         * m4/acl.m4: New file.
113365         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
113366         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
113368 2002-02-25  Paul Eggert  <eggert@twinsun.com>
113370         * lib/acl.c, lib/acl.h: New files.
113371         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
113373 2002-02-24  Jim Meyering  <meyering@lucent.com>
113375         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
113376         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
113377         cause trouble.  Reported by Nelson Beebe.
113379 2002-02-23  Paul Eggert  <eggert@twinsun.com>
113381         * lib/path-concat.c (xpath_concat): Reorder code to pacify
113382         compilers that don't know that xalloc_die never returns.
113384 2002-02-20  Jim Meyering  <meyering@lucent.com>
113386         * lib/getdate.c: Regenerate using bison-1.33.
113388 2002-02-17  Jim Meyering  <meyering@lucent.com>
113390         * config/config.guess (main): Don't use `head -1'; it's no longer
113391         portable. Use `sed 1q' instead.
113393 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
113395         * m4/codeset.m4: Upgrade to gettext-0.11.
113396         * m4/gettext.m4: Upgrade to gettext-0.11.
113397         * m4/glibc21.m4: Upgrade to gettext-0.11.
113398         * m4/iconv.m4: Upgrade to gettext-0.11.
113399         * m4/isc-posix.m4: Upgrade to gettext-0.11.
113400         * m4/lcmessage.m4: Upgrade to gettext-0.11.
113401         * m4/lib-ld.m4: New file, from gettext-0.11.
113402         * m4/lib-link.m4: New file, from gettext-0.11.
113403         * m4/lib-prefix.m4: New file, from gettext-0.11.
113404         * m4/progtest.m4: Upgrade to gettext-0.11.
113406 2002-02-15  Paul Eggert  <eggert@twinsun.com>
113408         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
113409         (jm_PREREQ): Use it.
113411 2002-02-15  Paul Eggert  <eggert@twinsun.com>
113413         * lib/posixver.c, lib/posixver.h: New files.
113414         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
113416 2002-02-02  Paul Eggert  <eggert@twinsun.com>
113417             Bruno Haible  <bruno@clisp.org>
113419         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
113420         (fwrite_success_callback): New declaration.
113421         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
113422         print_unicode_char. Call failure callback instead of error.
113423         (fwrite_success_callback): New function.
113424         (exit_failure_callback): New function.
113425         (fallback_failure_callback): New function.
113426         (print_unicode_char): Call unicode_to_mb.
113428 2002-01-26  Jim Meyering  <meyering@lucent.com>
113430         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
113431         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
113433 2002-01-26  Jim Meyering  <meyering@lucent.com>
113435         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
113437 2002-01-22  Paul Eggert  <eggert@twinsun.com>
113439         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
113441 2002-01-22  Jim Meyering  <meyering@lucent.com>
113443         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
113444         Otherwise, some versions of automake would omit the rule that makes
113445         Makefile from Makefile.in.
113447 2002-01-21  Paul Eggert  <eggert@twinsun.com>
113449         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
113450         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
113451         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
113452         (memcoll): Set errno to zero if there is no error.
113454         * lib/quotearg.c (quotearg_buffer_restyled):
113455         Fix bug with quoting buffers containing NUL when backslashing escapes.
113456         This bug was exposed by the other changes in this patch.
113457         (quotearg_n_options): New arg ARGSIZE.
113458         All callers changed.
113459         (quoting_options_from_style): New function.
113460         (quotearg_n_style): Use it.
113461         (quotearg_n_style_mem): New function.
113463         * lib/quotearg.h (quotearg_n_style_mem): New function.
113465 2002-01-19  Jim Meyering  <meyering@lucent.com>
113467         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
113468         Remove useless quotes: DF_PROG="df".
113469         * m4/strnlen.m4: New file.
113471 2002-01-16  Paul Eggert  <eggert@twinsun.com>
113473         * lib/backupfile.c (ISDIGIT): Comment fix.
113474         * lib/getdate.y (ISDIGIT): Likewise.
113475         * lib/posixtm.c (ISDIGIT, year): Likewise.
113476         * lib/strverscmp.c (ISDIGIT): Likewise.
113477         * lib/userspec.c (ISDIGIT): Likewise.
113479 2002-01-16  Jim Meyering  <meyering@lucent.com>
113481         * lib/getdate.y: Add three semicolons, each just before a closing
113482         brace. Bison (as of version 1.31) no longer papers over that mistake.
113484 2002-01-05  Jim Meyering  <meyering@lucent.com>
113486         * lib/version-etc.c (version_etc_copyright): Update copyright year.
113488 2001-12-19  Paul Eggert  <eggert@twinsun.com>
113490         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
113491         not silently exit merely because the output buffer happens to
113492         have nothing pending.
113494 2001-12-18  Paul Eggert  <eggert@twinsun.com>
113496         See the big note in ../ChangeLog.
113497         * lib/human.c (suffixes): Prefer K to k for 1024.
113498         (generate_suffix_backwards): New function.
113499         (human_readable_inexact): Use it.
113500         * lib/xstrtol.c (__xstrtol): If there is no number but there
113501         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
113502         Accept 'K' as well as 'k'.
113504 2001-12-15  Jim Meyering  <meyering@lucent.com>
113506         * lib/regex.h (__restrict_arr): Update from libc.
113508         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
113509         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
113510         (STREQ): Define.
113512 2001-12-14  Jim Meyering  <meyering@lucent.com>
113514         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
113515         Suggestion from Bruno Haible.
113517 2001-12-10  Jim Meyering  <meyering@lucent.com>
113519         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
113520         xrealloc, Instead, include "xalloc.h".
113521         (initbuffer): Don't cast xmalloc return value to char*.
113522         (readline): Reword comment.
113523         Don't cast xrealloc return value to char*
113524         Return NULL, not 0.
113526 2001-12-09  Jim Meyering  <meyering@lucent.com>
113528         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
113529         about `signed and unsigned type in conditional expression'.
113530         * lib/posixtm.c (posix_time_parse): Likewise.
113532         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
113534         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
113535         to avoid a pedantic warning.
113537         * lib/getstr.c: Don't include assert.h.
113538         (getstr): Remove warning-evoking assertions.
113539         Return -1 if offset parameter is out of bounds.
113540         Change the type of a local from int to size_t.
113542         * lib/strftime.c (my_strftime_localtime_r): Include this function
113543         definition in the `#if ! HAVE_TM_GMTOFF' block.
113545         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
113546         Include xalloc.h instead.
113548 2001-12-02  Jim Meyering  <meyering@lucent.com>
113550         * lib/tempname.c: Don't declare getenv, thus reverting the change of
113551         2001-11-18.  It's no longer necessary, now that stdlib.h is always
113552         included.
113554         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
113555         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
113557 2001-11-30  Akim Demaille  <akim@epita.fr>
113559         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
113560         before being defined.
113562 2001-11-27  Paul Eggert  <eggert@twinsun.com>
113564         * lib/quotearg.h (quotearg_n, quotearg_n_style):
113565         First arg is int, not unsigned.
113566         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
113567         (SIZE_MAX, UINT_MAX): New macros.
113568         (quotearg_n_options): Abort if N is negative.
113569         Avoid overflow check on hosts where size_t is 64 bits and int
113570         is 32 bits, as overflow is impossible there.
113571         Fix off-by-one typo that caused unnecessary reallocation.
113573 2001-11-27  Jim Meyering  <meyering@lucent.com>
113575         * lib/tempname.c: Merge with version from libc.
113576         * lib/regex.c: Likewise.
113578         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
113579         systems for which STDC_HEADERS is 0, it was not included, resulting in
113580         a warning about an integer-to-pointer conversion problem with getenv.
113581         Reported by Volker Borchert.
113583 2001-11-26  Jim Meyering  <meyering@lucent.com>
113585         * lib/gtod.h: Remove file.
113586         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
113587         * lib/gettimeofday.c: Don't include gtod.h.
113588         (GTOD_init): Remove function.
113589         (rpl_gettimeofday): Do its job here instead, rather than aborting.
113590         Suggestion from Volker Borchert.
113592 2001-11-23  Jim Meyering  <meyering@lucent.com>
113594         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
113595         it.
113596         * lib/hash.c (struct hash_table): Define it here instead.
113598 2001-11-22  Jim Meyering  <meyering@lucent.com>
113600         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
113602 2001-11-20  Jim Meyering  <meyering@lucent.com>
113604         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
113605         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
113607 2001-11-19  Jim Meyering  <meyering@lucent.com>
113609         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
113610         directory.  Use "conftestXXXXXX" as the template.
113611         Suggestion from Paul Eggert.
113613         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
113614         immediately, so the test doesn't mistakenly hit the max-open-files
113615         limit.
113617 2001-11-18  Paul Eggert  <eggert@twinsun.com>
113619         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
113620         (TEMPORARIES): New macro.
113621         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
113622         removes an artificial limitation (e.g. HP-UX 10.20, where
113623         TMP_MAX is 17576).
113625 2001-11-18  Jim Meyering  <meyering@lucent.com>
113627         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
113629 2001-11-18  Jim Meyering  <meyering@lucent.com>
113631         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
113632         on SunOS 4.
113634         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
113635         files will be created before anything else.
113637 2001-11-17  Paul Eggert  <eggert@twinsun.com>
113639         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
113640         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
113642 2001-11-17  Jim Meyering  <meyering@lucent.com>
113644         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
113645         Prompted by a report from Bob Proulx.
113647         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
113648         Instead, require UTILS_FUNC_MKSTEMP.
113650 2001-11-17  Jim Meyering  <meyering@lucent.com>
113652         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
113653         Now, that's done as part of AC_FUNC_STRTOD.
113655 2001-11-17  Jim Meyering  <meyering@lucent.com>
113657         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
113658         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
113659         rather than group writable.  Patch by Juan F. Codagnone.
113661         * lib/readtokens.c: Remove explicit declarations of xmalloc and
113662         xrealloc, Instead, include "xalloc.h".
113664         * lib/mountlist.c: Include unlocked-io.h after all system headers.
113665         Remove explicit declarations of xmalloc, xrealloc,
113666         and xstrdup.  Instead, include "xalloc.h".
113668         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
113669         unlocked-io.h.
113670         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
113671         Likewise.
113672         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
113674         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
113675         Reported by Padraig Brady.
113677         * lib/mkstemp.c: #undef mkstemp.
113678         Include config.h.
113679         (rpl_mkstemp): Rename from mkstemp.
113680         Protoize.
113682 2001-11-16  Jim Meyering  <meyering@lucent.com>
113684         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
113685         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
113686         determine the amount of total physical memory, use pstat_getstatic.
113687         HPUX-11 doesn't define _SC_PHYS_PAGES.
113688         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
113689         If sysconf couldn't be used to determine the amount of available
113690         physical memory, use both pstat_getstatic and pstat_getdynamic.
113691         Based on a patch from Bob Proulx.
113693 2001-11-10  Jim Meyering  <meyering@lucent.com>
113695         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
113696         (jm_PREREQ): Use it.
113698 2001-11-09  Jim Meyering  <meyering@lucent.com>
113700         * m4/jm-macros.m4: Require autoconf-2.52f.
113701         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
113702         Use these AC_-prefixed names, not the AM_-prefixed ones.
113704         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
113706 2001-11-05  Jim Meyering  <meyering@lucent.com>
113708         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
113710 2001-11-04  Jim Meyering  <meyering@lucent.com>
113712         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
113713         $DEFS.
113715 2001-11-03  Jim Meyering  <meyering@lucent.com>
113717         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
113718         of AC_DEFUN.
113720         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
113721         know the name of the variable in the macro definition.
113723 2001-11-03  Jim Meyering  <meyering@lucent.com>
113725         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
113726         in argmatch_to_argument call.
113728         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
113729         argument.
113731         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
113732         e.g., a fault due to an attempt to free a NULL pointer.
113734 2001-11-01  Jim Meyering  <meyering@lucent.com>
113736         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
113737         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
113739 2001-11-01  Jim Meyering  <meyering@lucent.com>
113741         * lib/dirfd.c, lib/dirfd.h: New files.
113742         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
113744         * lib/hash.c (hash_print) [TESTING]: Clean up.
113746 2001-10-22  Paul Eggert  <eggert@twinsun.com>
113748         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
113749         to avoid a warning if -Wall.
113751 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
113753         * README: New file
113754         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
113755         (per RMS's instructions, this is now the canonical source)
113756         * lgpl/, gpl/: New directories.
113758 2001-10-21  Paul Eggert  <eggert@twinsun.com>
113760         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
113762 2001-10-21  Jim Meyering  <meyering@lucent.com>
113764         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
113765         this code would end up calling gettext even in packages built
113766         with --disable-nls.
113767         * lib/getopt.c (_): Likewise.
113768         * lib/regex.c (_): Likewise.
113770 2001-10-20  Paul Eggert  <eggert@twinsun.com>
113772         * m4/error.m4 (jm_PREREQ_ERROR):
113773         Do not invoke AC_CHECK_FUNCS with strerror_r, as
113774         AC_FUNC_STRERROR_R does that.
113775         Check for strerror declaration.
113777         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
113778         are supposed to have them these days.
113779         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
113780         Merge changes from latest Autoconf CVS.
113781         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
113782         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
113783         POSIX decided to standardize on the int flavor of strerror_r.
113785 2001-10-20  Paul Eggert  <eggert@twinsun.com>
113787         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
113788         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
113789         Use strerror_r that is only a macro, even if it is not a function.
113790         (strerror): Check for HAVE_DECL_STRERROR before declaring.
113791         (private_strerror): Use prototypes, not old-style function definition.
113792         (print_errno_message): New function.
113793         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
113794         char*-flavored one.
113795         (error_tail, error, error_at_line): Use it.
113797 2001-10-11  Jim Meyering  <meyering@lucent.com>
113799         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
113800         and quote_n (1, ... to avoid clobbering a buffer.
113802 2001-10-05  Jim Meyering  <meyering@lucent.com>
113804         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
113805         hash-pjw.h.
113806         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
113807         * lib/hash-pjw.h: New file.
113809 2001-09-30  Jim Meyering  <meyering@lucent.com>
113811         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
113812         `struct fsstat' has the `f_fstypename' member.
113813         Use that to define FS_TYPE, which is now used to make
113814         the getfsstat link test tighter.
113816 2001-09-30  Jim Meyering  <meyering@lucent.com>
113818         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
113819         Include <sys/ucred.h>, for Apple Darwin.
113820         Include sys/mount.h and sys/fs_types.h only if available.
113821         (FS_TYPE): Define.
113822         (read_filesystem_list): Use FS_TYPE.
113824 2001-09-29  Paul Eggert  <eggert@twinsun.com>
113826         * lib/exclude.c (excluded_filename): 0 -> false, since it's
113827         a boolean context.
113829 2001-09-29  Jim Meyering  <meyering@lucent.com>
113831         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
113832         [one-argument getmntent function]): Include stdio.h before mntent.h.
113833         SunOS 4.1.x needs it for the declaration of `FILE'.
113834         Patch by Volker Borchert.
113836         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
113837         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
113838         sys/fs_types.h, and make the link-test for getfsstat guard #include
113839         directives with appropriate #if HAVE_*_H tests so that we can
113840         detect getfsstat on Apple Darwin1.3.7 systems.
113841         Reported by Nelson Beebe.
113842         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
113844 2001-09-28  Paul Eggert  <eggert@twinsun.com>
113846         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
113847         #defines strtoimax.  Also treat the other strto* functions
113848         like strtoimax.
113850         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
113851         Check for strtoul and strtoumax,
113852         as those declarations are made even in the signed case.
113853         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
113854         Likewise, for strtol and strtoimax.
113856 2001-09-28  Paul Eggert  <eggert@twinsun.com>
113858         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
113859         #defines strtoimax.  Also treat the other strto* functions
113860         like strtoimax.
113862         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
113863         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
113864         (strtoimax, strtoumax): Do not declare if already defined as a macro.
113866 2001-09-26  Jim Meyering  <meyering@lucent.com>
113868         Most macros in unlocked-io.h had the wrong number of arguments.
113869         * lib/gen-uio: New script.
113870         (USE_UNLOCKED_IO): Define to 1 if not already defined.
113871         * lib/unlocked-io.hin: Remove file.
113872         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
113873         rather than trying to embed it here.
113874         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
113875         Reported by Padraig Brady.
113877 2001-09-25  Volker Borchert  <bt@teknon.de>
113879         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
113880         `result'.
113882 2001-09-24  Jim Meyering  <meyering@lucent.com>
113884         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
113886 2001-09-23  Jim Meyering  <meyering@lucent.com>
113888         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
113889         instead of the mere test for existence of mntent.h.  The latter
113890         would get a false-positive on AIX 3.4 systems.
113891         In the outer getmntent if-block, don't die if neither of the getmntent
113892         tests succeeds.  Instead, just fall through and continue with the
113893         remaining tests.
113895 2001-09-23  Jim Meyering  <meyering@lucent.com>
113897         * lib/mountlist.c: Remove useless parentheses in #if directives.
113898         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
113899         the deprecated MOUNTED symbol is no longer defined in mntent.h.
113901 2001-09-22  Jim Meyering  <meyering@lucent.com>
113903         * m4/gettext.m4: New file.  From gettext.
113904         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
113905         * m4/progtest.m4: Likewise
113906         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
113907         * m4/glibc21.m4: Likewise.
113909         * m4/libintl.m4: Remove.  No longer used.
113911 2001-09-22  Jim Meyering  <meyering@lucent.com>
113913         * lib/localcharset.c: Update from latest gettext.
113914         * lib/config.charset: Likewise.
113916 2001-09-20  Jim Meyering  <meyering@lucent.com>
113918         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
113919         strtoimax.
113920         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
113921         strtoumax.
113923 2001-09-20  Jim Meyering  <meyering@lucent.com>
113925         * lib/xstrtol.c (strtoimax): Guard declaration with
113926         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
113927         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
113928         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
113929         (strtoumax): Likewise, for completeness (it wasn't necessary).
113931 2001-09-17  Paul Eggert  <eggert@twinsun.com>
113933         * lib/strtoimax.c (HAVE_LONG_LONG):
113934         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
113935         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
113936         to work around bug in IBM C compiler.
113938 2001-09-17  Jim Meyering  <meyering@lucent.com>
113940         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
113941         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
113942         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
113943         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
113944         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
113945         whenever the right hand side need not be expanded by the shell.
113947 2001-09-16  Paul Eggert  <eggert@twinsun.com>
113949         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
113950         library.  It's not correct, as some older glibcs are buggy.
113951         fnmatch wasn't fixed until glibc 2.2.
113953         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
113954         special shell magic here.
113956 2001-09-16  Jim Meyering  <meyering@lucent.com>
113958         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
113959         * m4/jm-macros.m4: Require it.
113961 2001-09-16  Jim Meyering  <meyering@lucent.com>
113963         * lib/mkdir.c: New file.
113965 2001-09-15  Jim Meyering  <meyering@lucent.com>
113967         * m4/jm-macros.m4: Check for help2man.
113969 2001-09-11  Jim Meyering  <meyering@lucent.com>
113971         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
113972         The body, by Paul Eggert, was moved here from configure.in.
113973         * m4/jm-macros.m4: Require UTILS_HOST_OS.
113975 2001-09-04  Paul Eggert  <eggert@twinsun.com>
113977         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
113978         (jm_PREREQ): Use it.
113980 2001-09-04  Paul Eggert  <eggert@twinsun.com>
113982         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
113983         Use ssize_t, not int, to store result of readlink.
113984         Check for ssize_t overflow as well as size_t overflow,
113985         as POSIX says the result of readlink is implementation-defined
113986         when ssize_t overflows.
113987         Remove unnecessary cast to char*.
113988         Use free+malloc instead of realloc, as the storage doesn't need
113989         to be preserved and it's clearer and can be more efficient that way.
113990         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
113991         * lib/xreadlink.h (xreadlink): Update prototype.
113993 2001-09-04  Paul Eggert  <eggert@twinsun.com>
113995         * lib/xgetcwd.c: Revert some of the previous change; intead,
113996         fix the HAVE_GETCWD_NULL code to behave more like the
113997         !HAVE_GETCWD_NULL code used to.
113999         Include "xalloc.h".
114000         (xgetcwd): Do not return NULL when memory is exhausted; instead,
114001         invoke xalloc_die.
114003 2001-09-03  Paul Eggert  <eggert@twinsun.com>
114005         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
114006         sys/param.h, as pathmax.h includes them.
114008 2001-09-03  Paul Eggert  <eggert@twinsun.com>
114010         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
114011         (jm_PREREQ_XGETCWD): New macro.
114013         * m4/getcwd.m4: New file.
114015 2001-09-03  Paul Eggert  <eggert@twinsun.com>
114017         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
114018         like the HAVE_GETCWD_NULL code.
114019         Include pathmax.h if not HAVE_GETCWD.
114020         Do not include xalloc.h.
114021         (INITIAL_BUFFER_SIZE): New symbol.
114022         Do not use xmalloc / xrealloc, since the caller is responsible for
114023         handling errors.  Preserve errno around `free' during failure.
114024         Do not overrun buffer when using getwd.
114026 2001-09-03  Paul Eggert  <eggert@twinsun.com>
114028         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
114029         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
114030         getcwd (NULL, 0).
114032 2001-09-03  Paul Eggert  <eggert@twinsun.com>
114034         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
114035         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
114036         spotted by Jim Meyering.
114038 2001-09-03  Jim Meyering  <meyering@lucent.com>
114040         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
114041         failure.
114043 2001-09-02  Jim Meyering  <meyering@lucent.com>
114045         * lib/error.c: Update from GNU libc.
114047 2001-09-01  Jim Meyering  <meyering@lucent.com>
114049         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
114050         Used by df.
114052 2001-09-01  Jim Meyering  <meyering@lucent.com>
114054         * lib/xreadlink.c: New file.
114055         * lib/xreadlink.h: New file.
114056         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
114057         xreadlink.h.
114059         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
114060         doesn't conflict with sparc Solaris 7's definition in
114061         /usr/include/sys/int_types.h.
114063         * lib/exclude.c: Use `""', not `<>' to #include non-system header
114064         files.
114065         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
114066         and strncasecmp as r-values.  Unixware didn't have declarations.
114068 2001-08-31  Paul Eggert  <eggert@twinsun.com>
114070         * lib/xstrtol.h: Add copyright notice.
114071         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
114072         LONGINT_INVALID_SUFFIX_CHAR.
114074 2001-08-31  Paul Eggert  <eggert@twinsun.com>
114076         * lib/xstrtol.c (strtoimax): New decl.
114078 2001-08-31  Paul Eggert  <eggert@twinsun.com>
114080         * lib/xgetcwd.c: Don't include pathmax.h.
114081         Include stdlib.h and unistd.h if available.
114082         Include xalloc.h.
114083         (xmalloc, xstrdup, free): Remove decls.
114084         (xgetcwd): Don't assume sizes fit in unsigned.
114085         Check for overflow when computing sizes.
114086         Simplify reallocation code.
114088 2001-08-31  Paul Eggert  <eggert@twinsun.com>
114090         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
114091         a directory's st_size can have an arbitrary value, so the old
114092         usage could waste an arbitrary amount of memory.  All uses
114093         changed.
114094         * lib/savedir.h: Update prototype.
114096 2001-08-31  Paul Eggert  <eggert@twinsun.com>
114098         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
114100         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
114101         old strtoimax.c.
114103         Also, make the following further changes to make this file's
114104         configuration more similar to that of strtol.c:
114105         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
114106         (strtoumax, uintmax_t, strtoull, strtol): Remove.
114107         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
114108         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
114109         changed to signed values.
114111         And make the following changes as well:
114112         Fix copyright notice, as 1999 was missing.
114113         (verify): New macro.
114114         (strtoimax): Check sizes at compile-time, not run-time.
114115         Prefer strtol to strtoll if both work.
114116         (main): Remove; it was not that useful and was a pain to maintain.
114118         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
114120 2001-08-31  Jim Meyering  <meyering@lucent.com>
114122         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
114123         Use an initial, malloc'd, buffer of length 128 rather than
114124         a statically allocated one of length 1024.
114126 2001-08-30  Paul Eggert  <eggert@twinsun.com>
114128         Simplify code, partly by assuming autoconf 2.52 semantics.
114130         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
114132         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
114133         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
114134         All uses removed.
114135         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
114136         Move AC_REQUIRE to next-to-top level, to avoid confusion.
114137         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
114138         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
114139         jm_AC_HEADER_INTTYPES_H.
114140         * m4/jm-macros.m4 (jm_MACROS): Likewise.
114142         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
114144         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
114145         Quote first arg of AC_DEFUN.
114146         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
114147         since they are needed to parse the include file even if we need
114148         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
114149         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
114150         but with opposite signedness.
114152 2001-08-30  Paul Eggert  <eggert@twinsun.com>
114154         Merge 'exclude' changes from tar 1.13.22.
114155         This fixes one or two unlikely storage allocation overflow bugs,
114156         but doesn't change user-visible behavior otherwise.
114158 2001-08-30  Paul Eggert  <eggert@twinsun.com>
114160         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
114161         (jm_PREREQ_EXCLUDE): New macro.
114163 2001-08-30  Paul Eggert  <eggert@twinsun.com>
114165         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
114166         tm to be declared.
114168 2001-08-30  Paul Eggert  <eggert@twinsun.com>
114170         * lib/hash.c: Remove '2001' from copyright notice.
114172 2001-08-30  Paul Eggert  <eggert@twinsun.com>
114174         * lib/full-write.h: New file.
114175         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
114176         * lib/full-write.c: Correct credits, as cccp.c no longer
114177         exists and anyway it was so heavily changed from the old cccp
114178         code as to be unrecognizable.  Include full-write.h.
114179         (full_write): Return size_t, with short writes meaning failure.
114180         All callers changed.  This fixes a bug with large buffers
114181         on 64-bit hosts.
114182         * lib/utime.c: Include full-write.h.
114184 2001-08-30  Paul Eggert  <eggert@twinsun.com>
114186         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
114187         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
114188         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
114189         Include if available.
114190         (<xalloc.h>): Include
114191         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
114192         (verify): New macro.  Use it to verify that EXCLUDE macros do not
114193         collide with FNM macros.
114194         (struct patopts): New struct.
114195         (struct exclude): Use it, as exclude patterns now come with options.
114196         (new_exclude): Support above changes.
114197         (new_exclude, add_exclude_file):
114198         Initial size must now be a power of two to simplify overflow checking.
114199         (free_exclude, fnmatch_no_wildcards): New function.
114200         (excluded_filename): No longer requires options arg, as the options
114201         are determined by add_exclude.  Now returns bool, not int.
114202         (excluded_filename, add_exclude):
114203         Add support for the fancy new exclusion options.
114204         (add_exclude, add_exclude_file): Now takes int options arg.
114205         Check for arithmetic overflow when computing sizes.
114206         (add_exclude_file): xrealloc might modify errno, so don't
114207         realloc until after errno might be used.
114209         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
114210         New macros.
114211         (free_exclude): New decl.
114212         (add_exclude, add_exclude_file): Now takes int options arg.
114213         (excluded_filename): No longer requires options arg, as the options
114214         are determined by add_exclude.  Now returns bool, not int.
114216 2001-08-30  Paul Eggert  <eggert@twinsun.com>
114218         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
114220 2001-08-27  Jim Meyering  <meyering@lucent.com>
114222         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
114224         * lib/version-etc.c (N_): Remove definition.
114225         Revert most of last change.
114226         Instead, simply don't mark the `Copyright...' string for translation.
114227         Based on advice from Paul Eggert.
114229         * lib/strtoxmax.c: Tweak comment.
114231 2001-08-26  Jim Meyering  <meyering@lucent.com>
114233         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
114235         * m4/xstrtoimax.m4: New file.
114236         * m4/xstrtoumax.m4: Add comments explaining why we
114237         AC_REPLACE_FUNCS(strtol).
114239 2001-08-26  Jim Meyering  <meyering@lucent.com>
114241         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
114242         of copyright with `%s' so translators don't get an untranslated
114243         message in 2002.
114244         (COPYRIGHT_YEAR): Define.
114245         (version_etc): Use fprintf rather than fputs.
114246         Suggestion from Ulrich Drepper.
114248         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
114250         * lib/strtoll.c: New file, from GNU libc.
114251         * lib/xstrtoimax.c: New file.
114253         * lib/xstrtol.h: Add xstrtoimax.
114254         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
114255         * lib/strtoimax.c: New file.  Likewise, but first define
114256         STRTOUXMAX_SIGNED.
114258         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
114259         ...
114260         * lib/strtoxmax.c: ... then renamed to this.
114262 2001-08-18  Paul Eggert  <eggert@twinsun.com>
114264         * m4/inttypes.m4: Add AC_PREREQ(2.13).
114265         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
114266         (jm_AC_TYPE_INTMAX_T): New macro.
114267         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
114269         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
114271         * m4/longlong.m4: Renamed from ulonglong.m4.
114272         * m4/inttypes.m4: Renamed from inttypes_h.m4.
114273         * m4/uintmax_t.m4: Removed.
114275 2001-08-13  Paul Eggert  <eggert@twinsun.com>
114277         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
114278         Port to Solaris 8, where 'sed' requires a space after the 'r'
114279         command, and where sh dislikes "$/".  Clean up the spacing a bit.
114280         Redirect output to $tmp just once.
114282 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
114284         * lib/addext.c (<errno.h>): Include.
114285         (errno): Declare if not defined.
114286         (addext): Work correctly when pathconf returns -1 and leaves
114287         errno alone because there is no limit.  Also, work even if
114288         pathconf returns a value greater than SIZE_MAX.
114290 2001-08-12  Jim Meyering  <meyering@lucent.com>
114292         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
114293         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
114294         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
114295         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
114296         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
114297         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
114298         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
114299         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
114300         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
114301         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
114302         utime.m4, utimes.m4, xstrtoumax.m4:
114303         Quote the first argument in each use of AC_DEFUN.
114305 2001-08-12  Jim Meyering  <meyering@lucent.com>
114307         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
114308         Simply `return getcwd (NULL, 0);'.
114309         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
114310         Use 1300 as initial value for length, not PATH_MAX.
114312         * lib/pathmax.h: Clean up cpp syntax.
114314 2001-08-12  Jim Meyering  <meyering@lucent.com>
114316         * lib/gettimeofday.c: New file.
114317         * lib/gtod.h: New file.
114318         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
114320 2001-08-05  Jim Meyering  <meyering@lucent.com>
114322         * m4/jm-macros.m4: Require autoconf-2.52.
114324 2001-08-04  Jim Meyering  <meyering@lucent.com>
114326         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
114327         stmt, to get in sync with glibc.
114329 2001-08-03  Paul Eggert  <eggert@twinsun.com>
114331         The following changes are from gettext 0.10.39 as maintained by
114332         Bruno Haible.
114334         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
114335         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
114336         with inverted sense.  All uses changed.
114338         * lib/mbswidth.c: Don't include <limits.h>.
114339         Include <stdlib.h> and <string.h> unconditionally.
114340         (iswcntrl, mbsinit, ISCNTRL): New macros.
114341         (mbsnwidth): Use K&R style function declarations.
114342         Don't bother checking for MB_LEN_MAX == 1, since the compiler
114343         can optimize it when MB_CUR_MAX == 1.
114344         The width of control characters is zero, not 1.
114346 2001-08-03  Paul Eggert  <eggert@twinsun.com>
114348         The following changes are from gettext 0.10.39 as maintained by
114349         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
114351         * m4/codeset.m4: Upgrade to serial AM1.
114352         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
114353         all uses changed.  Quote first arg of AC_DEFUN.
114354         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
114356         * m4/iconv.m4: Upgrade to serial AM2.
114357         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
114358         Add --with-libconv-prefix.
114359         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
114360         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
114361         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
114362         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
114363         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
114365         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
114366         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
114367         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
114368         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
114369         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
114370         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
114371         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
114372         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
114373         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
114375         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
114376         string.h any more.
114378         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
114379         not the default value.
114381         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
114382         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
114383         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
114384         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
114385         Also check for iswcntrl, used for wcwidth fallback.
114386         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
114387         to Autoconf 2.13.
114389 2001-08-03  Jim Meyering  <meyering@lucent.com>
114391         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
114392         as it was in the original.  Reported by Paul Eggert.
114394 2001-07-16  Jim Meyering  <meyering@lucent.com>
114396         * m4/gettimeofday.m4: New file.
114397         Prompted by a report from Bernhard Baehr.
114399 2001-07-15  Jim Meyering  <meyering@lucent.com>
114401         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
114402         stuff. Now it's in ../Makefile.cfg.
114404 2001-07-15  Jim Meyering  <meyering@lucent.com>
114406         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
114407         (BUILT_SOURCES): Add unlocked-io.h.
114408         (io_functions): Define.
114409         (unlocked-io.h): New rule.
114410         (DISTCLEANFILES): Add unlocked-io.h.
114411         (all-local): Depend on unlocked-io.h, to ensure it is created.
114413         * lib/unlocked-io.hin: New file
114415         * lib/regex.c: Update from glibc.
114417 2001-07-05  Jim Meyering  <meyering@lucent.com>
114419         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
114420         recommendation.
114421         (libfetish_a_SOURCES): Put all .h files here instead.
114422         Remove a thus-exposed (better checks in automake) duplicate and
114423         two unnecessary .h files.
114425 2001-07-04  Jim Meyering  <meyering@lucent.com>
114427         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
114428         that generates jm-glibc-io.m4 so that it doesn't trigger any make
114429         distcheck failure.
114431 2001-07-02  Jim Meyering  <meyering@lucent.com>
114433         The following changes were prompted by suggestions from Bruno Haible.
114435         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
114436         is now generated.
114437         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
114438         definition of EXTRA_DIST.
114439         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
114440         ensure that the generated file is created/updated whenever the list
114441         of $(unlocked_functions) is changed.
114442         (jm-glibc-io.m4): New rule.
114443         (unlocked-io.h): New rule -- currently unused.
114445 2001-06-24  Jim Meyering  <meyering@lucent.com>
114447         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
114448         unmatched right bracket, rather than kludging it with an extra,
114449         falsely-matching quote in a comment.  Patch by Akim Demaille.
114451 2001-06-11  Jim Meyering  <meyering@lucent.com>
114453         * lib/regex.c: Update from GNU libc.
114455 2001-05-27  Jim Meyering  <meyering@lucent.com>
114457         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
114458         Check for ut_type in struct utmp.
114460 2001-05-27  Jim Meyering  <meyering@lucent.com>
114462         * lib/readutmp.h (UT_TYPE): Define.
114464 2001-05-24  Jim Meyering  <meyering@lucent.com>
114466         * lib/argmatch.c: Include "quote.h".
114467         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
114468         quote function.  Reported by Göran Uddeborg.
114470 2001-05-22  Jim Meyering  <meyering@lucent.com>
114472         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
114473         now that we use the package-supplied version unconditionally.
114474         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
114476 2001-05-21  Jim Meyering  <meyering@lucent.com>
114478         * m4/regex.m4: Change a couple backticks to single quotes to avoid
114479         shell syntax errors.
114481 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
114483         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
114485 2001-05-20  Paul Eggert  <eggert@twinsun.com>
114487         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
114488         Don't bother to check library strftime, since
114489         we'll be using our own my_strftime function anyway.
114490         Define my_strftime instead of strftime.
114492 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
114494         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
114495         which is not yet declared.
114497 2001-05-15  Jim Meyering  <meyering@lucent.com>
114499         * m4/regex.m4: Use proper quoting so brackets appear in the test
114500         program.
114501         Reported by, and with help from, Bruno Haible.
114503 2001-05-13  Jim Meyering  <meyering@lucent.com>
114505         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
114506         undefined.
114508 2001-05-11  Paul Eggert  <eggert@twinsun.com>
114510         dirname code cleanup.  base_name now behaves more compatibly
114511         with POSIX basename when given file names that have trailing
114512         slashes, and similarly for dir_name.  Add new primitives
114513         base_len and dir_len.  Put the directory-name-related decls
114514         into dirname.h.
114516         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
114517         * lib/backupfile.c (base_name): Likewise.
114518         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
114519         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
114520         * lib/makepath.c (strip_trailing_slashes): Likewise.
114521         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
114522         ISSLASH): Likewise.
114523         * lib/rename.c (strip_trailing_slashes): Likewise.
114524         * lib/same.c (base_name): Likewise.
114525         * lib/stripslash.c (ISSLASH): Likewise.
114527         * lib/addext.c: Include <dirname.h> after size_t is defined.
114528         * lib/backupfile.c: Likewise.
114530         * lib/addext.c (addext): Use base_len to trim redundant
114531         trailing slashes instead of doing it ourselves.
114532         But do not trim the last slash if it is not redundant.
114534         * lib/backupfile.c (find_backup_file_name,
114535         max_backup_version): Use base_len instead of rolling it ourselves.
114536         Handle the case of "" and (on DOS) "C:" correctly.
114538         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
114539         needed. Include <string.h>, <dirname.h>.
114540         (base_name): Allow file names ending in slashes, other than names
114541         that are all slashes.  In this case, return the basename followed
114542         by the slashes.  This is more general, and can be used in places
114543         where the original base_name purposely had an assertion failure.
114544         (base_len): New function.
114546         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
114547         Do not include <assert.h>; no longer needed.
114548         Include xalloc.h.
114549         (memrchr): Remove decl.
114550         (dir_name_r): Remove.
114551         (dir_len): Renamed from dirlen.  All callers changed.
114552         Rewrite in terms of base_name, for simplicity and consistency.
114553         (dir_name): Never return NULL.  All callers changed.
114554         Do not include <stdlib.h> in test program; no longer needed.
114555         return 0; is fine for test program.
114557         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
114558         New macros.
114559         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
114561         * lib/path-concat.c (path_concat): Use base_len to compute
114562         base length, not strlen; this means we cannot rely on memcpy
114563         to null-terminate.
114565         * lib/same.c (STREQ): Remove.
114566         (same_name): Handle the case where the basename ends in trailing '/'.
114568         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
114569         a slash was stripped.  Do not strip the last slash after a
114570         file system prefix.
114572 2001-05-11  Paul Eggert  <eggert@twinsun.com>
114574         * lib/Makefile.am (libfetish_a_SOURCES):
114575         Add strftime.c, since we now compile it on all hosts.
114577         * lib/strftime.c (my_strftime):
114578         Define to nstrftime if emacs, but only if my_strftime is not defined.
114579         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
114580         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
114581         Add one more extra argument: a nanoseconds value.
114582         All uses changed.
114583         (ns): New macro.
114584         (my_strftime function): Add %N format.
114585         (emacs_strftimeu): Renamed from emacs_strftime,
114586         with extra ut argument.
114588 2001-05-09  Paul Eggert  <eggert@twinsun.com>
114590         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
114592 2001-04-21  Jim Meyering  <meyering@lucent.com>
114594         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
114595         doesn't interfere.
114597 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
114599         * m4/ftruncate.m4: Check for chsize.
114600         Link with ftruncate.o unconditionally if ftruncate is missing.
114601         This was required when cross-compiling to i586-mingw32msvc.
114603 2001-04-08  Jim Meyering  <meyering@lucent.com>
114605         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
114606         recomputed; that's necessary when the offset spans a DST transition.
114607         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
114609 2001-04-02  Jim Meyering  <meyering@lucent.com>
114611         * lib/regex.h, regex.c: Update from GNU libc.
114613 2001-03-24  Jim Meyering  <meyering@lucent.com>
114615         * m4/jm-macros.m4: Require autoconf-2.49d.
114617 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
114619         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
114621 2001-03-19  Paul Eggert  <eggert@twinsun.com>
114623         * lib/version-etc.c (version_etc_copyright): Update to 2001.
114625 2001-03-17  Jim Meyering  <meyering@lucent.com>
114627         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
114628         now that the version in autoconf is equivalent.
114629         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
114631         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
114632         Suggestion from Akim Demaille.
114634         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
114635         (jm_PREREQ_TEMPNAME): New function.
114637 2001-03-16  Paul Eggert  <eggert@twinsun.com>
114639         * lib/tempname.c (uint64_t): Define to uintmax_t if
114640         not defined, and if UINT64_MAX is not defined.
114641         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
114642         Reported by John David Anglin.
114644 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
114646         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
114647         resolve alias if codeset is empty.
114648         * lib/config.charset (BeOS): Use wildcard syntax.
114650 2001-03-13  Jim Meyering  <meyering@lucent.com>
114652         * lib/path-concat.c (path_concat)
114653         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
114654         concatenating e.g., `C:' and `foo'.
114655         From Bruno Haible.
114657 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
114659         * lib/localcharset.c (locale_charset): Don't use
114660         setlocale(LC_CTYPE,NULL). Don't return NULL.
114661         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
114663 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
114665         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
114666         support for DOS/DJGPP.
114668 2001-03-01  Paul Eggert  <eggert@twinsun.com>
114670         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
114671         lacks mkstemp.  Compile our own tempname.c if we compile our own
114672         mkstemp.c, as mkstemp relies on tempname.
114674 2001-03-01  Jim Meyering  <meyering@lucent.com>
114676         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
114677         AH_VERBATIM really does output its argument verbatim.
114679 2001-02-28  Paul Eggert  <eggert@twinsun.com>
114681         * lib/Makefile.am (libfetish_a_SOURCES):
114682         Add dup-safer.c, fopen-safer.c.
114683         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
114685         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
114686         * lib/unistd-safer.h: New files.
114688 2001-02-25  Paul Eggert  <eggert@twinsun.com>
114690         The mkstemp replacement is taken from glibc 2.2.2, with some
114691         portability fixes for use outside glibc, as follows:
114693         * lib/tempname.c (struct_stat64): New macro.
114694         (direxists, __gen_tempname): Use it.
114695         This avoids a portability problem with Solaris 8.
114697         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
114698         (<stddef.h>, <stdint.h>, <string.h>):
114699         Include only if STDC_HEADERS || _LIBC.
114700         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
114701         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
114702         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
114703         (__set_errno): Define this macro if <errno.h> doesn't.
114704         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
114705         Define these macros if <stdio.h> doesn't.
114706         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
114707         Define these macros if <sys/stat.h>
114708         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
114709         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
114710         __xstat64): Define if not _LIBC.
114711         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
114712         (__gen_tempname): Invoke gettimeofday only if
114713         HAVE_GETTIMEOFDAY || _LIBC;
114714         otherwise, fall back on plain "time".
114715         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
114717         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
114719         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
114721 2001-02-18  Paul Eggert  <eggert@twinsun.com>
114723         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
114725 2001-02-17  Paul Eggert  <eggert@twinsun.com>
114727         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
114728         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
114729         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
114730         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
114732 2001-02-17  Paul Eggert  <eggert@twinsun.com>
114734         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
114735         Remove workaround macros for hosts that have mbrtowc but not
114736         mbstate_t, as we now insist on proper declarations for both
114737         before using mbrtowc.
114739 2001-02-17  Jim Meyering  <meyering@lucent.com>
114741         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
114742         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
114743         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
114744         UnixWare 7.1.1.
114746         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
114747         rather than AC_CACHE_VAL.
114749 2001-02-17  Jim Meyering  <meyering@lucent.com>
114751         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
114752         around included file name.
114754         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
114756         * lib/strftime.c: Update from GNU libc (the only changes were to
114757         comments).
114759 2001-02-17  Jim Meyering  <meyering@lucent.com>
114761         * lib/regex.c: Update from libc.
114763 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
114765         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
114766         clash.
114768 2001-02-16  Paul Eggert  <eggert@twinsun.com>
114770         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
114771         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
114772         Reported by Mark Hounschell via Paul Eggert.
114774 2001-02-07  Jim Meyering  <meyering@lucent.com>
114776         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
114778 2001-02-05  Jim Meyering  <meyering@lucent.com>
114780         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
114781         it includes the patch required for `large file' support with at least
114782         HP-UX's 10.20 /bin/cc.
114784 2001-02-03  Jim Meyering  <meyering@lucent.com>
114786         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
114787         AS_IF, now that it works once again (mysteriously).
114788         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
114790 2001-01-30  Jim Meyering  <meyering@lucent.com>
114792         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
114793         * m4/chown.m4: Rename conftestchown to conftest.chown.
114794         * m4/rename.m4: s/conftestdir/conftest.d1/ and
114795         s/conftestdir2/conftest.d2/.
114796         * m4/utimes.m4: s/conftestdata/conftest.data/
114797         Inspired by Pavel Roskin's change in autoconf.
114799 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
114801         * lib/config.charset: Update for FreeBSD 4.2.
114803 2001-01-27  Jim Meyering  <meyering@lucent.com>
114805         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
114806         a use of AS_IF.
114807         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
114809 2001-01-26  Jim Meyering  <meyering@lucent.com>
114811         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
114812         quotearg.c includes it.
114814 2001-01-26  Jim Meyering  <meyering@lucent.com>
114816         * lib/quotearg.c: Include stddef.h.
114817         * lib/quote.c: Include stddef.h.
114818         Reported by Axel Kittenberger.
114820         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
114821         line in double quotes so that it evokes a better diagnostic.
114822         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
114823         Reported by Axel Kittenberger.
114825 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
114827         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
114828         as if it was a `charset'.
114830 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
114832         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
114833         has const.
114835 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
114837         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
114838         to avoid a warning.  Add back 'const' to inptr.
114840 2001-01-20  Jim Meyering  <meyering@lucent.com>
114842         Be sure that headers are checked before used in code compiled
114843         for the type checks.
114844         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
114845         In place of that, invoke jm_CHECK_ALL_TYPES.
114846         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
114847         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
114848         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
114849         The check for ssize_t was mistakenly run before the test for unistd.h.
114851         The configure-time check for stdbool.h was missing.
114852         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
114853         (jm_PREREQ_HASH): New function.
114855 2001-01-17  Jim Meyering  <meyering@lucent.com>
114857         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
114858         for autoconf-2.49c.
114859         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
114861 2001-01-16  Jim Meyering  <meyering@lucent.com>
114863         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
114864         From Bruno Haible.
114866 2001-01-14  Jim Meyering  <meyering@lucent.com>
114868         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
114869         foo and bar.  Create conftestdir/ in the script, not in the C code.
114870         Remove directories in the script, not in the C code.
114871         Remove conftestdir{,2} before trying to create the directory.
114872         Make the entire configure script fail if the mkdir fails.
114874 2001-01-14  Jim Meyering  <meyering@lucent.com>
114876         * lib/rename.c: New file.  From Volker Borchert.
114877         Include stdlib.h, string.h or strings.h, and xalloc.h.
114878         Use strip_trailing_slashes rather than open-coding it.
114880 2001-01-03  Paul Eggert  <eggert@twinsun.com>
114882         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
114884 2001-01-03  Jim Meyering  <meyering@lucent.com>
114886         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
114887         of local `inptr' to avoid warning with some system declarations of
114888         iconv.
114890 2001-01-02  Volker Borchert  <bt@teknon.de>
114892         * m4/rename.m4: New file.
114893         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
114895 2001-01-01  Jim Meyering  <meyering@lucent.com>
114897         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
114898         even on systems with utmpx.h.  It's necessary for the declaration of
114899         utmp's ut_user member.  Reported by Andreas Jaeger.
114901         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
114902         available. They are required for the declarations of getgrgid and
114903         getpwuid resp.
114904         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
114905         Reported by Andreas Jaeger.
114907 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
114909         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
114910         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
114911         so `make install' also works in VPATH builds.
114913 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
114915         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
114916         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
114917         can be used in subdirectories.
114919 2000-12-29  Paul Eggert  <eggert@twinsun.com>
114921         * lib/modechange.c: Do not assume that mode_t uses the
114922         traditional octal encoding.  E.g. "chmod 1 FOO" should set
114923         the other-execute bit of FOO even if S_IXOTH != 1.
114925         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
114926         WOTH, XOTH, ALLM): New macros.
114927         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
114928          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
114929         Use them.
114930         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
114931         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
114932         (mode_compile):
114933         No need to use uintmax_t; unsigned long is long enough.
114934         Don't bother to get suffix since we don't use it.
114936 2000-12-26  Jim Meyering  <meyering@lucent.com>
114938         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
114939         better with autoheader.
114941 2000-12-24  Jim Meyering  <meyering@lucent.com>
114943         * lib/hash.c (is_prime): Return explicit boolean values.
114944         (hash_get_first): Return NULL to appease Irix5.6's 89.
114945         Reported by Nelson Beebe.
114947 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
114949         * lib/localcharset.c (locale_charset): Add support for Win32.
114951 2000-12-18  Paul Eggert  <eggert@twinsun.com>
114953         * lib/physmem.h, lib/physmem.c: New files.
114955         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
114956         (noinst_HEADERS): Add physmem.h.
114958         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
114959         't' for compatibility with Solaris 8 sort.
114961 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
114963         * lib/config.charset: Add support for BeOS.
114965 2000-12-17  Jim Meyering  <meyering@lucent.com>
114967         * m4/dos.m4 (jm_AC_DOS): New file and macro.
114968         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
114970 2000-12-16  Jim Meyering  <meyering@lucent.com>
114972         This bug had a serious impact on chown: `chown N:M FILE' (for integer
114973         N and M) would have treated it like `chown N:N FILE'.
114975         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
114977 2000-12-16  Jim Meyering  <meyering@lucent.com>
114979         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
114980         SHELLS_FILE to a file name that's useful on djgpp systems.
114981         Include stdlib.h.
114982         (ADDITIONAL_DEFAULT_SHELLS): Define.
114983         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
114984         Based mostly on a patch from Prashant TR.
114986 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
114988         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
114989         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
114990         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
114992 2000-12-08  Andreas Schwab  <schwab@suse.de>
114994         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
114995         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
114997 2000-12-07  Jim Meyering  <meyering@lucent.com>
114999         * lib/stripslash.c (ISSLASH): Define.
115000         (strip_trailing_slashes): Use ISSLASH rather than comparing against
115001         `/'.
115002         From Prashant TR.
115004         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
115005         (dir_name_r): Declare this function as static.
115006         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
115007         manifest itself on a name containing a mix of slashes and
115008         backslashes.
115009         Make this function work with names starting with a DOS-style
115010         drive letter and colon prefix.
115011         (dir_name): Append `.' if necessary.
115012         Based mostly on patches from Prashant TR and Eli Zaretskii.
115014         * lib/dirname.h (dir_name_r): Remove prototype.
115016 2000-12-06  Paul Eggert  <eggert@twinsun.com>
115018         * m4/off_t-format.m4: Remove this file.
115019         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
115021 2000-12-06  Jim Meyering  <meyering@lucent.com>
115023         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
115024         replacement strtoull, we may well need the replacement strtoul, too.
115025         Check for declarations of strtoul and strtoull.
115026         Check for strtol.  Mainly as a cue to cause automake to include
115027         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
115028         Check for limits.h -- strtol.c needs it.
115030 2000-12-05  Jim Meyering  <meyering@lucent.com>
115032         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
115034 2000-12-04  Jim Meyering  <meyering@lucent.com>
115036         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
115037         Also include memory.h, stdlib.h, unistd.h if appropriate.
115038         Reported by Andreas Jaeger (conflicting declaration of malloc).
115040 2000-12-02  Jim Meyering  <meyering@lucent.com>
115042         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
115043         * m4/jm-macros.m4 (jm_MACROS): require it.
115045 2000-12-02  Jim Meyering  <meyering@lucent.com>
115047         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
115049 2000-12-01  Paul Eggert  <eggert@twinsun.com>
115051         * lib/memrchr.c: Include <config.h> before any system include file.
115053 2000-11-30  Jim Meyering  <meyering@lucent.com>
115055         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
115057 2000-11-30  Jim Meyering  <meyering@lucent.com>
115059         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
115061 2000-11-29  Paul Eggert  <eggert@twinsun.com>
115063         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
115065 2000-11-26  Jim Meyering  <meyering@lucent.com>
115067         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
115069 2000-11-22  Paul Eggert  <eggert@twinsun.com>
115071         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
115072         size of (size_t) -1; it's not portable.
115074 2000-11-17  Jim Meyering  <meyering@lucent.com>
115076         * lib/strstr.c: Update from GNU libc.
115078 2000-11-17  Akim Demaille  <akim@epita.fr>
115080         * lib/obstack.h: Formatting changes.
115081         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
115082         prevent type checking.
115083         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
115084         cast the value to (void *): assigning a `foo *' to a `void *'
115085         variable is valid.
115086         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
115088 2000-11-16  Jim Meyering  <meyering@lucent.com>
115090         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
115092 2000-11-11  Jim Meyering  <meyering@lucent.com>
115094         * lib/error.c: Add a couple #includes, merging from GNU libc version.
115096 2000-11-10  Jim Meyering  <meyering@lucent.com>
115098         * lib/obstack.h: Update from GNU libc.
115099         * lib/obstack.c: Likewise.
115101 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
115103         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
115105 2000-11-06  Paul Eggert  <eggert@twinsun.com>
115107         * lib/getusershell.c (setusershell): Use rewind rather than
115108         fseek/fseeko, to avoid configuration hassles with fseeko.
115109         Don't bother opening SHELLS_FILE if shellstream is NULL;
115110         it's not necessary.
115112 2000-11-05  Jim Meyering  <meyering@lucent.com>
115114         * lib/makepath.h (make_dir): Declare.
115115         * lib/makepath.c (make_dir): Remove `static' attribute.
115116         Tweak a comment.
115118 2000-11-04  Jim Meyering  <meyering@lucent.com>
115120         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
115122 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
115124         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
115125         last one in a bucket, advance to the next bucket.
115127 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
115129         * lib/fnmatch.c: Do not comment out all the code if we are using
115130         the GNU C library, because in some cases we are replacing buggy
115131         code in the GNU C library itself.
115133 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
115135         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
115136         (regex_compile): Catch bogus \(\1\).
115138 2000-10-30  Paul Eggert  <eggert@twinsun.com>
115140         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
115141         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
115142         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
115144 2000-10-30  Paul Eggert  <eggert@twinsun.com>
115146         * lib/error.h, getline.h, modechange.h:
115147         Remove "2000" from Copyright line, as the file hasn't been
115148         changed this year other than in the copyright notice.
115150         * lib/xalloc.h: Add "2000" to Copyright line, as this file
115151         was changed this year.
115153 2000-10-29  Jim Meyering  <meyering@lucent.com>
115155         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
115156         renaming.
115157         * m4/ls-mntd-fs.m4: Likewise
115159 2000-10-29  Jim Meyering  <meyering@lucent.com>
115161         * lib/xstat.in: Fix grammar in comment.
115163 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
115165         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
115166         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
115167         doesn't define __restrict_arr.
115169 2000-10-28  Jim Meyering  <meyering@lucent.com>
115171         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
115172         (jm_PREREQ_MEMCHR): New function.
115174 2000-10-28  Jim Meyering  <meyering@lucent.com>
115176         * lib/memchr.c: Update from libc.
115177         Adjust for portability:
115178         [HAVE_STDLIB_H]: Include stdlib.h.
115179         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
115180         Undef __memchr, too.
115181         [!weak_alias]: Define __memchr to memchr.
115183         * lib/regex.c: Update from libc.
115184         * lib/regex.h: Likewise.
115185         * lib/getopt1.c: Likewise.
115186         * lib/memcmp.c: Likewise.
115188         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
115189         Avoid using fseek, when possible -- it's broken by design.
115190         Patch by Ulrich Drepper.
115192 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
115194         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
115195         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
115196         Giving in to popular pressure to shut up the compiler with casts.
115198 2000-10-26  Jim Meyering  <meyering@lucent.com>
115200         * lib/strftime.c: Update from libc.
115202 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
115204         * regex.c: More `unsigned char' -> `re_char' changes.
115205         Also change several `int' into `re_wchar_t'.
115206         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
115207         (PUSH_FAILURE_POINTER): Don't cast any more.
115208         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
115209         We want GCC to complain, since this piece of code makes
115210         re_match non-reentrant, which *should* be fixed.
115211         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
115212         (EXTEND_BUFFER): Use RETALLOC.
115213         (SET_LIST_BIT): Don't cast.
115214         (re_wchar_t): New type.
115215         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
115216         that those two functions will always properly return.
115217         (IMMEDIATE_QUIT_CHECK): Cast to void.
115218         (analyse_first): Use recursion rather than an explicit stack.
115219         (re_compile_fastmap): Can't fail anymore.
115220         (re_search_2): Don't check re_compile_fastmap for failure.
115221         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
115222         Now also sets the new value (passed in a new argument).
115223         (re_match_2_internal): Use it.
115224         Also, use a new var `reg' of type size_t when looping through regs
115225         rather than reuse the inappropriate `mcnt'.
115227 2000-10-25  Jim Meyering  <meyering@lucent.com>
115229         * lib/obstack.c: Update from libc.
115231 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
115233         * regex.c (regex_compile): Change the way of handling a range from
115234         a char less than 256 to a char not less than 256.
115236 2000-10-24  Andrew Innes  <andrewi@gnu.org>
115238         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
115239         NT-Emacs only.
115240         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
115241         so that re_search functions only quit when callers expect them to.
115243 2000-10-23  Jim Meyering  <meyering@lucent.com>
115245         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
115246         wrong.  That set_locale call must not have any side effects.
115247         From Paul Eggert.
115249 2000-10-22  Jim Meyering  <meyering@lucent.com>
115251         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
115252         [CYCLIC]: Remove now-unused definition.
115254         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
115255         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
115256         Suggestion from Ulrich Drepper.
115258 2000-10-21  Jim Meyering  <meyering@lucent.com>
115260         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
115261         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
115262         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
115264 2000-10-21  Jim Meyering  <meyering@lucent.com>
115266         * lib/dirname.c (memrchr): Declare if necessary.
115267         (dir_name): Remove the restriction that there be no
115268         trailing slashes.  Now, this code skips past them, effectively
115269         ignoring them.
115270         [TEST_DIRNAME] (main): New unit tests.
115272         * lib/memrchr.c: New file from GNU libc.
115273         Undef __memrchr, too.
115274         [!weak_alias]: Define __memrchr to memrchr.
115275         Guard weak_alias use with `#ifdef weak_alias'.
115277 2000-10-21  Jim Meyering  <meyering@lucent.com>
115279         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
115280         (dir_name): Use dir_name_r.
115281         * lib/dirname.h (dir_name_r): Declare it.
115283 2000-10-17  Jim Meyering  <meyering@lucent.com>
115285         * lib/quote.h (PARAMS): Define and use.
115286         Reported by Akim Demaille.
115288         * lib/getopt.c: Update from libc.
115290 2000-10-16  Jim Meyering  <meyering@lucent.com>
115292         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
115293         setlocale.
115294         From Jan Fedak.
115296 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
115298         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
115300 2000-09-25  Jim Meyering  <meyering@lucent.com>
115302         * lib/md5.h (rol): Define (from GnuPG).
115304         * lib/sha.c: Give credit (GnuPG) where due.
115305         (M): Use rol rather than open-coding it.
115306         Add a FIXME comment.
115308 2000-09-21  Jim Meyering  <meyering@lucent.com>
115310         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
115311         Reported by Michael Stone.
115313 2000-09-20  Jim Meyering  <meyering@lucent.com>
115315         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
115316         (noinst_HEADERS): Add sha.h.
115317         Based on code from Scott G. Miller and from GnuPG.
115319 2000-09-18  Jim Meyering  <meyering@lucent.com>
115321         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
115322         LIBS. Otherwise, everyone ends up linking with -lelf for some
115323         configurations.
115324         Reported by Mike Stone.
115326 2000-09-15  Jim Meyering  <meyering@lucent.com>
115328         * lib/regex.c: Update from libc.
115330 2000-09-10  Jim Meyering  <meyering@lucent.com>
115332         * lib/getopt.c (_getopt_internal): Update from glibc.
115334 2000-09-09  Jim Meyering  <meyering@lucent.com>
115336         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
115337         think it should be used as a general replacement for isascii.
115338         * lib/fnmatch.c: Likewise.
115339         * lib/mbswidth.c: Likewise
115340         * lib/regex.c: Likewise.
115342         Don't use atoi.
115343         * lib/userspec.c: Include sys/param.h and limits.h.
115344         Include xstrtol.h.
115345         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
115346         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
115347         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
115348         UID, GID.  Check range.
115350 2000-09-06  Jim Meyering  <meyering@lucent.com>
115352         * lib/getopt.c (_getopt_internal): Update from glibc.
115354 2000-08-30  Jim Meyering  <meyering@lucent.com>
115356         * lib/strftime.c: Merge in changes from GNU libc.
115358 2000-08-26  Jim Meyering  <meyering@lucent.com>
115360         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
115361         * m4/fpending.m4: New file.
115363 2000-08-26  Jim Meyering  <meyering@lucent.com>
115365         * lib/closeout.c: Include "__fpending.h".
115366         (close_stdout_status): Return right away if there's nothing to flush.
115368         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
115369         * lib/__fpending.c: New file.
115370         * lib/__fpending.h: New file.
115372 2000-08-20  Jim Meyering  <meyering@lucent.com>
115374         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
115375         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
115376         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
115378 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
115380         Improve fileutils installation on systems where running
115381         programs (like install) can't be unlinked.
115382         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
115383         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
115385 2000-08-07  Paul Eggert  <eggert@twinsun.com>
115387         Standardize on "memory exhausted" instead of "Memory exhausted"
115388         or "virtual memory exhausted".
115389         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
115390         "virtual memory exhausted".
115391         * lib/same.c (same_name): Invoke xalloc_die instead of printing
115392         our own message.
115393         * lib/userspec.c (parse_user_spec): Likewise.
115394         * lib/bumpalloc.h: comment fix
115395         * lib/same.c, userspec.c: Include xalloc.h.
115397         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
115398         not char *const and pointing to a constant array.
115399         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
115400         (xrealloc): Comment fix.
115402         * lib/userspec.c (parse_user_spec):
115403         Don't translate a message until just before returning,
115404         to avoid unnecessary translation.
115406 2000-08-07  Jim Meyering  <meyering@lucent.com>
115408         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
115409         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
115410         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
115411         getgroups.c, gethostname.c, getopt.h, group-member.c,
115412         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
115413         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
115414         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
115415         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
115416         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
115417         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
115418         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
115419         yesno.c: Back out Copyright date changes for each file with no change
115420         this year.  This eases coordination with other programs using the same
115421         source code modules.  From Paul Eggert.
115423 2000-08-06  Paul Eggert  <eggert@twinsun.com>
115425         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
115426         not char, for compatibility with glibc 2.1.3 strftime.c.
115428 2000-08-03  Greg McGary  <greg@mcgary.org>
115430         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
115431         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
115432         (EXTEND_BUFFER): Use them.
115434 2000-08-01  Jim Meyering  <meyering@lucent.com>
115436         * lib/dirname.c (ISSLASH): Define.
115437         (BACKSLASH_IS_PATH_SEPARATOR): Define.
115438         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
115439         both `\' and `/' may be use as path separators.
115440         Based on a patch from Prashant TR.
115442 2000-07-31  Paul Eggert  <eggert@twinsun.com>
115444         * lib/quotearg.c (quotearg_n_options): Don't make the initial
115445         slot vector a constant, since it might get modified.
115447 2000-07-31  Jim Meyering  <meyering@lucent.com>
115449         * lib/xmalloc.c: Use `virtual memory exhausted', not
115450         `Memory exhausted'.
115451         * lib/obstack.c (print_and_abort): Likewise.
115453 2000-07-30  Paul Eggert  <eggert@twinsun.com>
115455         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
115456         buffer, so that the caller can always quote one small
115457         component of a "memory exhausted" message in slot 0.
115458         From a suggestion by Jim Meyering.
115460 2000-07-30  Jim Meyering  <meyering@lucent.com>
115462         * lib/makepath.c (make_path): Quote the other instance, too.
115464         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
115465         (STATIC_BUF_SIZE): Define.
115466         (quotearg_n_options): Use only statically allocated storage when
115467         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
115468         than STATIC_BUF_SIZE.
115470 2000-07-29  Jim Meyering  <meyering@lucent.com>
115472         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
115473         * lib/dirname.c (dir_name): Likewise.
115475         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
115476         `/'.
115478         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
115479         (dir_name): Assert that there are no trailing slashes.
115481 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
115483         * lib/mbswidth.h (mbswidth): Add a flags argument.
115484         (mbswidth): New declaration.
115485         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
115486         * lib/mbswidth.c (mbswidth): Add a flags argument.
115487         (mbsnwidth): New function.
115489 2000-07-24  Jim Meyering  <meyering@lucent.com>
115491         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
115493 2000-07-23  Paul Eggert  <eggert@twinsun.com>
115495         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
115497 2000-07-23  Paul Eggert  <eggert@twinsun.com>
115499         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
115500         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
115501         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
115502         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
115503         invoke multibyte primitives.
115505 2000-07-23  Paul Eggert  <eggert@twinsun.com>
115507         * lib/quotearg.c:
115508         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
115509         so that mbstate_t is always defined.
115511         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
115512         be 1 in at least one GCC installation, and this configuration
115513         error is likely to be common.  Ignoring MB_LEN_MAX hurts
115514         performance on hosts that have mbrtowc but have only unibyte
115515         locales, but I assume these hosts are rare.
115517 2000-07-23  Paul Eggert  <eggert@twinsun.com>
115519         * lib/mbswidth.c (_XOPEN_SOURCE):
115520         Don't define; this causes problems on Solaris 7.
115521         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
115523 2000-07-23  Jim Meyering  <meyering@lucent.com>
115525         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
115526         too: getgrgid, getpwuid, getuid.
115528 2000-07-23  Jim Meyering  <meyering@lucent.com>
115530         * lib/basename.c (base_name): Add an assertion.
115532 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
115534         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
115535         shadow its mbsinit function.
115537 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
115539         * lib/mbswidth.h: New file.
115540         * lib/mbswidth.c: New file.
115541         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
115542         (noinst_HEADERS): Add mbswidth.h.
115544 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
115546         * lib/config.charset: Add support for FreeBSD. Improve support for
115547         HP-UX and IRIX 6.
115549 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
115551         * m4/mbswidth.m4: New file.
115552         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
115554 2000-07-15  Jim Meyering  <meyering@lucent.com>
115556         * lib/makepath.c: Include quote.h.
115557         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
115558         corresponding argument in a `quote (...)' call.
115559         Give better diagnostics.
115561         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
115562         (noinst_HEADERS): Add quote.h.
115564         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
115565         from tar's src/misc.c.
115566         * lib/quote.h: New file.  Prototypes for same.
115568 2000-07-14  Paul Eggert  <eggert@twinsun.com>
115570         From a suggestion by Bruno Haible.
115571         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
115572         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
115573         to decide whether to define the BeOS workaround macro;
115574         this adjusts to the change to AC_MBSTATE_T.
115576 2000-07-14  Jim Meyering  <meyering@lucent.com>
115578         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
115579         jm_AC_TYPE_UINTMAX_T.
115581 2000-07-13  Paul Eggert  <eggert@twinsun.com>
115583         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
115585         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
115586         quotearg_buffer_restyled): Add support for
115587         clocale_quoting_style.  Undo previous change to
115588         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
115589         and "{RIGHT QUOTATION MARK}" msgids.
115591 2000-07-10  Paul Eggert  <eggert@twinsun.com>
115593         From a suggestion by Bruno Haible.
115594         * m4/mbstate_t.m4 (AC_MBSTATE_T):
115595         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
115596         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
115597         and mbstate_t, to a single-part test that simply defines mbstate_t.
115598         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
115599         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
115601 2000-07-10  Jim Meyering  <meyering@lucent.com>
115603         * m4/strerror_r.m4: Mirror the correction made in autoconf.
115605         * m4/gnu-source.m4: Output to confdefs.h directly.
115606         Suggestion from Akim Demaille.
115608 2000-07-09  Paul Eggert  <eggert@twinsun.com>
115610         The old behavior of quoting `like this' doesn't look good with
115611         newer, ISO-style fonts.  See:
115612         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
115614         Instead, quote "like this" by default.  Let the translator
115615         tailor the locale-specific quoting behavior by providing
115616         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
115618         * lib/quotearg.c (N_): New macro.
115619         (gettext_default): New function.
115620         (quotearg_buffer_restyled): Use
115621         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
115622         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
115624 2000-07-09  Jim Meyering  <meyering@lucent.com>
115626         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
115627         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
115629         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
115630         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
115632 2000-07-09  Jim Meyering  <meyering@lucent.com>
115634         * lib/Most files: Update copyright dates to include 2000.
115636 2000-07-08  Jim Meyering  <meyering@lucent.com>
115638         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
115639         if not defined.
115640         (xgethostname): Remove now-unnecessary #ifdef.
115641         Move declaration of `err' into loop where it's used.
115643 2000-07-05  Paul Eggert  <eggert@twinsun.com>
115644         and Bruno Haible  <haible@clisp.cons.org>
115646         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
115647         only if the test for an object-type mbstate_t fails.  This
115648         prevents us from mistakenly reporting that mbstate_t is a
115649         system object type after we "#define mbstate_t int" to work
115650         around its lack.
115652 2000-07-05  Paul Eggert  <eggert@twinsun.com>
115653         and Bruno Haible  <haible@clisp.cons.org>
115655         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
115657 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
115659         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
115660         to strerror_r.
115661         Include <ctype.h> for use of isalpha.
115663 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
115665         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
115666         by allocating a larger buffer. Test the gethostname return value for
115667         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
115668         returns an error and ENAMETOOLONG isn't defined.
115670 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
115672         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
115673         dimension.
115675 2000-07-04  Jim Meyering  <meyering@lucent.com>
115677         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
115678         of the deprecated AC_CHECKING.
115680 2000-07-04  Jim Meyering  <meyering@lucent.com>
115682         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
115683         Reported by Bruno Haible.
115685 2000-07-04  Jim Meyering  <meyering@lucent.com>
115687         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
115688         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
115689         lacks mbrtowc.
115691 2000-07-03  Paul Eggert  <eggert@twinsun.com>
115693         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
115694         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
115696 2000-07-03  Paul Eggert  <eggert@twinsun.com>
115697         and Bruno Haible  <haible@clisp.cons.org>
115699         * lib/quotearg.c (mbrtowc):
115700         Assign to *pwc, and return 1 only if result is nonzero.
115701         (iswprint): Use ISPRINT when substituting our own mbrtowc.
115703 2000-07-03  Jim Meyering  <meyering@lucent.com>
115705         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
115707 2000-07-03  Jim Meyering  <meyering@lucent.com>
115709         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
115710         This is necessary to get a definition of e.g., UTMP_FILE on
115711         HP-UX 10.20.
115712         From Bob Proulx.
115714 2000-07-02  Jim Meyering  <meyering@lucent.com>
115716         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
115718         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
115719         AC_LIBOBJ(function_name).
115720         * m4/chown.m4: Likewise.
115721         * m4/fnmatch.m4: Likewise.
115722         * m4/ftruncate.m4: Likewise.
115723         * m4/getgroups.m4: Likewise.
115724         * m4/getline.m4: Likewise.
115725         * m4/group-member.m4: Likewise.
115726         * m4/jm-macros.m4: Likewise.
115727         * m4/lstat.m4: Likewise.
115728         * m4/malloc.m4: Likewise.
115729         * m4/memcmp.m4: Likewise.
115730         * m4/nanosleep.m4: Likewise.
115731         * m4/putenv.m4: Likewise.
115732         * m4/realloc.m4: Likewise.
115733         * m4/regex.m4: Likewise.
115734         * m4/stat.m4: Likewise.
115735         * m4/strftime.m4: Likewise.
115737 2000-07-02  Jim Meyering  <meyering@lucent.com>
115739         * lib/quotearg.c (mbstate_t): Don't define here.
115741 2000-07-02  Jim Meyering  <meyering@lucent.com>
115743         * lib/nanosleep.c (SIGCONT): Define if not already defined.
115745 2000-07-01  Jim Meyering  <meyering@lucent.com>
115747         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
115749 2000-07-01  Jim Meyering  <meyering@lucent.com>
115751         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
115752         problem.
115754 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
115756         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
115757         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
115759 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
115761         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
115762         per change in ../m4/ls-mntd-fs.m4.
115763         (read_filesystem_list): Ignore symbolic links.
115765 2000-06-29  Jim Meyering  <meyering@lucent.com>
115767         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
115768         for declaration of strcmp.
115770         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
115772         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
115773         Avoid warning by casting result to `char *' to remove `const'.
115775 2000-06-28  Jim Meyering  <meyering@lucent.com>
115777         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
115778         included by quotearg.c, for which we perform this test.  From
115779         Bruno Haible.
115781 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
115783         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
115784         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
115785         <utmpx.h> exists, put readutmp.o into LIBOBJS.
115787 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
115789         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
115791 2000-06-26  Paul Eggert  <eggert@twinsun.com>
115793         savedir now sets errno on failure and invokes xmalloc to get memory.
115794         Fix a couple of other minor bugs while we're at it.
115796         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
115797         (NAMLEN): Remove macro.
115798         (malloc, realloc): Remove decls.
115799         (stpcpy): Likewise.
115800         ("xalloc.h"): Include.
115801         (NAME_SIZE_DEFAULT): New macro.
115802         (savedir): Use xmalloc / xrealloc to allocate memory.
115803         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
115804         Skip "" directory entries.
115805         Use strlen to calculate directory entry length, since the old method
115806         is rarely used these days and isn't worth supporting.
115807         Don't use a pointer after freeing it.
115808         Check for integer overflow when calculating allocation size.
115809         Use memcpy to copy entries, instead of stpcpy.
115810         Set errno properly when returning NULL.
115811         Check for readdir error.
115813 2000-06-26  Jim Meyering  <meyering@lucent.com>
115815         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
115817 2000-06-25  Jim Meyering  <meyering@lucent.com>
115819         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
115820         Linux header bug when _XOPEN_SOURCE is defined to 500.
115822 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
115824         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
115825         deficiency.
115827 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
115829         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
115830         Include xalloc.h.
115831         Don't include <stdlib.h>.  Don't declare malloc, realloc.
115833 2000-06-24  Jim Meyering  <meyering@lucent.com>
115835         * m4/strerror_r.m4: Revive this file -- to try out an experimental
115836         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
115837         for which strerror does return char*, but which lacks a conveniently
115838         accessible declaration of the function.  If the compile-test says
115839         strerror_r doesn't work, then resort to a `run'-test that works on
115840         BeOS and segfaults on DEC Unix.
115842 2000-06-24  Jim Meyering  <meyering@lucent.com>
115844         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
115846 2000-06-23  Paul Eggert  <eggert@twinsun.com>
115848         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
115849         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
115851 2000-06-23  Paul Eggert  <eggert@twinsun.com>
115853         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
115854         (mbrtowc, mbstate_t): Define substitutes if
115855         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
115856         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
115857         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
115859 2000-06-23  Jim Meyering  <meyering@lucent.com>
115861         * m4/afs.m4: Add missing AC_MSG_RESULT.
115862         Reported by Bruno Haible.
115864         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
115865         Suggestion from Bruno Haible.
115867 2000-06-23  Jim Meyering  <meyering@lucent.com>
115869         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
115871 2000-06-21  Jim Meyering  <meyering@lucent.com>
115873         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
115875 2000-06-21  Jim Meyering  <meyering@lucent.com>
115877         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
115878         (noinst_HEADERS): Add getstr.h.
115880         * lib/getline.c (getstr): Move into a separate file.
115881         * lib/getstr.c (getstr): New file, extracted from getline.c, with
115882         the following changes: new parameter, delim2; both delim[12]
115883         parameters have type `int', not `char'.  The latter would lose
115884         with 8-bit delimiters.
115885         * lib/getstr.h: New file.
115887 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
115889         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
115890         than 1024, return a memory chunk of least possible size, instead
115891         of size PATH_MAX + 2. In the loop, increment the size proportionally.
115892         Use free/xmalloc instead of xrealloc to avoid copying for very long
115893         paths.
115895 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
115897         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
115898         the empty string.
115900 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
115902         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
115903         address, not strdup.  Include <stdlib.h> and don't declare free().
115905 2000-06-19  Jim Meyering  <meyering@lucent.com>
115907         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
115909 2000-06-18  Jim Meyering  <meyering@lucent.com>
115911         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
115913         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
115914         `checking whether...' message to be consistent with that of the
115915         lstat test.
115917 2000-06-18  Jim Meyering  <meyering@lucent.com>
115919         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
115920         Besides, these days every porting target provides a mkdir function.
115922         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
115923         needed. (this snippet comes from src/system.h).
115925 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
115927         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
115929 2000-06-15  Paul Eggert  <eggert@twinsun.com>
115931         * lib/human.c (adjust_value): New function.
115932         (human_readable_inexact): Apply rounding style even when
115933         printing approximate values.
115935 2000-06-14  Paul Eggert  <eggert@twinsun.com>
115937         * lib/human.c (human_readable_inexact): Allow an input block
115938         size that is not a multiple of the output block size, and vice versa.
115939         Reported by Piergiorgio Sartor.
115941 2000-06-14  Paul Eggert  <eggert@twinsun.com>
115943         * lib/getdate.y (get_date): Apply relative times after time
115944         zone indicator, not before.  Reported by Todd A. Jacobs.
115946 2000-06-13  Jim Meyering  <meyering@lucent.com>
115948         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
115950         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
115952 2000-06-12  Paul Eggert  <eggert@twinsun.com>
115954         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
115956 2000-06-12  Jim Meyering  <meyering@lucent.com>
115958         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
115959         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
115960         optional argument.
115961         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
115962         the optional argument, `lib'.
115964 2000-06-08  Jim Meyering  <meyering@lucent.com>
115966         * m4/largefile.m4: Remove file (now that it's part of autoconf).
115968 2000-06-04  Paul Eggert  <eggert@twinsun.com>
115970         Rewrite largefile configuration so that we don't need to run
115971         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
115972         AC_CANONICAL_HOST in configure.in -- jmm]
115974         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
115975         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
115976         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
115977         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
115978         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
115979         All uses changed.
115980         Instead of inspecting the output of getconf, try to compile the
115981         test program without and with the macro definition.
115982         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
115983         for getconf.  Instead, check for the needed flags by compiling
115984         test programs.
115986 2000-06-04  Paul Eggert  <eggert@twinsun.com>
115988         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
115990 2000-06-04  Jim Meyering  <meyering@lucent.com>
115992         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
115993         SunOS 4.1.4 for which gid_t is an unsigned type.
115995 2000-06-03  Jim Meyering  <meyering@lucent.com>
115997         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
115998         now that autoconf requires that.
116000         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
116001         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
116002         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
116004 2000-06-03  Jim Meyering  <meyering@lucent.com>
116006         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
116008 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
116010         * m4/glibc21.m4: New file.
116011         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
116013 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
116015         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
116016         newer, don't install charset.alias.
116017         * lib/config.charset: Change the Linux/glibc rules so they become empty
116018         on glibc-2.1 or newer.
116020 2000-06-02  Jim Meyering  <meyering@lucent.com>
116022         * lib/mountlist.c: Back out last change.  Instead, do this...
116023         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
116024         me_dummy member using the same `ignore'-testing code.
116025         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
116026         fs_type strings.
116027         From Mark D. Roth.
116029 2000-05-29  Jim Meyering  <meyering@lucent.com>
116031         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
116032         mounts with the `ignore' attribute.  Based on a patch from
116033         Mark D. Roth.
116035 2000-05-28  Jim Meyering  <meyering@lucent.com>
116037         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
116038         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
116039         * m4/stat.m4: Likewise.
116040         * m4/lstat.m4: Likewise.
116041         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
116043         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
116044         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
116046 2000-05-26  Jim Meyering  <meyering@lucent.com>
116048         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
116050 2000-05-24  Jim Meyering  <meyering@lucent.com>
116052         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
116053         autoconf requires that.
116054         * m4/lib-check.m4: Likewise.
116055         * m4/jm-macros.m4: Likewise.
116056         * m4/strftime.m4: Likewise.
116058         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
116059         AC_CHECK_DECLS, now that autoconf requires that.
116061 2000-05-22  Jim Meyering  <meyering@lucent.com>
116063         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
116064         * m4/lstat.m4: Likewise.
116066 2000-05-22  Jim Meyering  <meyering@lucent.com>
116068         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
116070 2000-05-20  Jim Meyering  <meyering@lucent.com>
116072         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
116073         (jm_PREREQ): Use it.
116075 2000-05-18  Jim Meyering  <meyering@lucent.com>
116077         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
116078         back, too, since it may have been modified by allocate_entry.
116079         (hash_delete): Rewrite to use neither the assignment operator
116080         nor the comma operator in an if-expression.
116082 2000-05-15  Paul Eggert  <eggert@twinsun.com>
116084         * lib/closeout.c:
116085         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
116086         Remove; no longer needed.
116087         "quotearg.h": Add include.
116088         (file_name): Do not bother to explicitly initialize to NULL; it's less
116089         efficient on some hosts.
116090         (close_stdout_status): Remove test as to whether stdout was already
116091         closed; it breaks for the case "echo x | sort >&-".
116092         Quote file name colons.
116093         Do not assume that _("write error") lacks format strings.
116095 2000-05-15  Jim Meyering  <meyering@lucent.com>
116097         * lib/version-etc.c (version_etc_copyright): Update the copyright
116098         string used in all --version output.
116100 2000-05-14  Jim Meyering  <meyering@lucent.com>
116102         * lib/closeout.c (close_stdout_set_file_name): New function.
116103         (close_stdout_status): Use new file-scoped global.
116104         Return right away if fstat says the stdout file descriptor is invalid.
116105         * lib/closeout.h (close_stdout_set_file_name): Declare.
116107 2000-05-10  Jim Meyering  <meyering@lucent.com>
116109         * lib/closeout.c [default_exit_status]: New file-scoped variable.
116110         (close_stdout_set_status): New function.
116111         * lib/closeout.h (close_stdout_set_status): Declare.
116113 2000-05-09  Jim Meyering  <meyering@lucent.com>
116115         * m4/gettext.m4: Rename this...
116116         * m4/libintl.m4: ...to this.
116118 2000-05-08  Jim Meyering  <meyering@lucent.com>
116120         * lib/long-options.c: Don't include closeout.h.
116121         (parse_long_options): Don't call close_stdout for --version.
116123 2000-05-06  Paul Eggert  <eggert@twinsun.com>
116125         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
116126         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
116127         2.1.3 bug.  This avoids a clash when files like regex.c define
116128         _GNU_SOURCE.
116130 2000-05-06  Jim Meyering  <meyering@lucent.com>
116132         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
116133         (AC_REPLACE_FUNCS): Add strnlen.
116135         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
116136         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
116138         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
116139         AC_SEARCH_LIBS call for nanosleep.
116140         (LIB_NANOSLEEP): Set and AC_SUBST.
116142 2000-05-06  Jim Meyering  <meyering@lucent.com>
116144         * lib/strnlen.c: Undefine __strnlen and strnlen.
116145         [!weak_alias]: Define __strnlen to strnlen.
116147         * lib/atexit.c: New file, from libiberty.
116149 2000-05-06  Jim Meyering  <meyering@lucent.com>
116151         * lib/closeout.c (close_stdout_status): Also check for errors on the
116152         stderr stream.
116154 2000-05-05  Jim Meyering  <meyering@lucent.com>
116156         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
116157         AC_SEARCH_LIBS call for clock_gettime.
116158         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
116160         * m4/search-libs.m4: Update from autoconf.
116162         su doesn't work on Solaris 2.6.
116163         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
116164         <shadow.h>.  Reported by Dragos Harabor.
116166 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
116168         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
116169         memcpy instead of xmalloc, xrealloc, path_concat.
116170         (locale_charset): Treat empty environment variables as absent.
116171         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
116173 2000-05-04  Jim Meyering  <meyering@lucent.com>
116175         * lib/getopt.c: Update from glibc.
116176         * lib/obstack.c: Likewise.
116177         * lib/obstack.h: Likewise.
116178         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
116179         file
116181         * lib/regex.h: Likewise.
116182         * lib/strndup.c: Likewise.
116183         * lib/strnlen.c: New file, from glibc.
116185 2000-05-03  Jim Meyering  <meyering@lucent.com>
116187         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
116189 2000-05-02  Paul Eggert  <eggert@twinsun.com>
116191         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
116192         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
116193         compile-time test, rather than inspecting host and OS, to
116194         decide whether to define _LARGEFILE_SOURCE.
116196 2000-05-01  Jim Meyering  <meyering@lucent.com>
116198         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
116200         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
116201         Based on a patch from Bruno Haible.
116203 2000-05-01  Jim Meyering  <meyering@lucent.com>
116205         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
116207 2000-04-29  Jim Meyering  <meyering@lucent.com>
116209         * lib/path-concat.c: Declare strdup only if it's not defined.
116210         * lib/canon-host.c: Likewise.
116212 2000-04-28  Jim Meyering  <meyering@lucent.com>
116214         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
116215         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
116216         is included first, then limits.h is included by locale.h by libintl.h.
116217         From John David Anglin.
116219 2000-04-25  Jim Meyering  <meyering@lucent.com>
116221         * lib/makepath.c (S_IRWXUGO): Define.
116222         (make_path): Always perform explicit chmod if MODE specifies any
116223         of the `special' permission bits.  Prompted by a bug report against
116224         install from Mate Wierdl and Joost van Baal.
116226 2000-04-18  Jim Meyering  <meyering@lucent.com>
116228         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
116229         (jm_PREREQ): Use it.
116231 2000-04-18  Jim Meyering  <meyering@lucent.com>
116233         * lib/README: New file.
116235         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
116236         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
116238 2000-04-17  Jim Meyering  <meyering@lucent.com>
116240         Get it right :-)
116241         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
116242         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
116243         Suggestion from Akim Demaille.
116245 2000-04-17  Jim Meyering  <meyering@lucent.com>
116247         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
116248         the definition of it to rpl_strftime also defined-away the system's
116249         declaration.
116251 2000-04-15  Jim Meyering  <meyering@lucent.com>
116253         Use `C' to denote so-called `contiguous' files, the same way
116254         that tar does.
116255         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
116256         (ftypelet): Use S_ISCTG.
116257         From Michael Deutschmann.
116259 2000-04-14  Jim Meyering  <meyering@lucent.com>
116261         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
116262         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
116263         clobbered.
116265 2000-04-14  Jim Meyering  <meyering@lucent.com>
116267         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
116269 2000-04-13  Jim Meyering  <meyering@lucent.com>
116271         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
116272         AH_VERBATIM to insert required #ifndef into config.h.in.
116273         Suggestion from Akim Demaille.
116275 2000-04-12  Jim Meyering  <meyering@lucent.com>
116277         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
116278         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
116279         Christian Krackowizer.
116281         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
116282         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
116283         (AC_SYS_LARGEFILE): Require.
116284         (AM_C_PROTOTYPES): Require.
116286 2000-04-08  Jim Meyering  <meyering@lucent.com>
116288         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
116289         names don't conflict.  Reported by Eli Zaretskii.
116291 2000-04-07  Jim Meyering  <meyering@lucent.com>
116293         * lib/putenv.c: Move inclusion of errno.h so it follows that of
116294         sys/types.h, to work around system header problems on AIX 3.2.5.
116295         From Bruno Haible.
116297 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
116299         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
116300         bug.  Deal with the different error behavior of Irix iconv.
116302 2000-04-05  Paul Eggert  <eggert@twinsun.com>
116304         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
116305         IRIX if the installer said otherwise.
116307 2000-04-05  Jim Meyering  <meyering@lucent.com>
116309         Portability tweaks required for ultrix4.3.
116310         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
116311         (jm_CHECK_DECLS): Add getutent to the list of functions.
116312         (_jm_DECL_HEADERS): Add utmpx.h.
116313         From John David Anglin.
116315         * m4/strftime.m4: Back out the 2000-04-02 change.
116316         Instead of that change, simply undefine putenv in the test program.
116318 2000-04-05  Jim Meyering  <meyering@lucent.com>
116320         Portability tweaks required for ultrix4.3.
116321         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
116322         getutent.
116323         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
116324         * lib/canon-host.c: Declare strdup.
116325         * lib/path-concat.c: Likewise.
116326         From John David Anglin.
116328 2000-04-04  Jim Meyering  <meyering@lucent.com>
116330         Be more DOS 8.3-friendly.
116331         * lib/ref-add.sin: Renamed from ref-add.sed.in.
116332         * lib/ref-del.sin: Renamed from ref-del.sed.in.
116333         * lib/Makefile.am: Reflect renaming.
116334         Reported by Eli Zaretskii.
116336         Use a temporary file name that won't clash with `charset.alias'
116337         in the DOS 8.3 name space.
116338         * lib/Makefile.am (charset_tmp): Define.
116339         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
116340         (uninstall-local): Likewise.
116341         Reported by Eli Zaretskii.
116343 2000-04-03  Jim Meyering  <meyering@lucent.com>
116345         * m4/gettext.m4: Fix typo in comment.
116347         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
116348         textutils/configure.in).  Suggestion from Paul Eggert.
116349         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
116351 2000-04-02  Paul Eggert  <eggert@twinsun.com>
116353         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
116354         variable in the shell rather than using putenv, which isn't
116355         portable.  This avoids the configure-time inter-test dependency
116356         on the potentially-renamed putenv function.
116358 2000-03-30  Paul Eggert  <eggert@twinsun.com>
116360         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
116361         before checking struct stat.st_blksize, so that
116362         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
116364 2000-03-29  Paul Eggert  <eggert@twinsun.com>
116366         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
116367         since strftime.c uses HAVE_STRFTIME to decide whether to use
116368         the underlying strftime.
116370 2000-03-29  Paul Eggert  <eggert@twinsun.com>
116372         * lib/time/strftime.c (my_strftime): Make sure we call the system
116373         strftime, not ourselves, when invoking the underlying strftime.
116375 2000-03-24  Jim Meyering  <meyering@lucent.com>
116377         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
116378         (charset_alias): Define.
116379         (install-exec-local): Factor out common code.
116380         (uninstall-local): Split lines longer than 80.
116381         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
116382         (SUFFIXES): Define.
116383         (.sed.in.sed): New rule.  Don't redirect directly to $@.
116384         (CLEANFILES): Add ref-add.sed and ref-del.sed.
116386 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
116388         * lib/config.charset: Output a line containing "Packages using this
116389         file".
116390         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
116391         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
116392         ref-del.sed): New rules.
116394 2000-03-17  Jim Meyering  <meyering@lucent.com>
116396         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
116397         Otherwise, include <strings.h>
116399 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
116401         * lib/unicodeio.c (utf8_wctomb): New function.
116402         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
116403         format instead of in UCS-4 with platform dependent endianness.
116405 2000-03-10  Jim Meyering  <meyering@lucent.com>
116407         * m4/lib-check.m4: Look for getspnam in -lgen, too.
116408         From Marco Franzen.
116410 2000-03-07  Paul Eggert  <eggert@twinsun.com>
116412         * lib/savedir.c (savedir): Work even if directory size is
116413         negative; this can happen with some screwy NFS configurations.
116415 2000-03-06  Jim Meyering  <meyering@lucent.com>
116417         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
116418         if it's NULL (because we ran out of memory).  From Bruno Haible.
116420 2000-03-05  Jim Meyering  <meyering@lucent.com>
116422         * lib/localcharset.c ("path-concat.h"): Include.
116423         (get_charset_aliases): Use path_concat instead of ANSI string
116424         concatenation.
116426         * lib/unicodeio.h (PARAMS): Define.
116427         Use it to guard prototype.
116429 2000-03-04  Jim Meyering  <meyering@lucent.com>
116431         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
116432         for lib/localcharset.c.
116434 2000-03-04  Jim Meyering  <meyering@lucent.com>
116436         * lib/Makefile.am (install-exec-local): Create $(libdir) before
116437         installing into it.
116438         (uninstall-local): Uncomment this rule so `make distcheck' works
116439         once again.
116441         * lib/unicodeio.c (<errno.h>): Include it.
116442         (errno): Declare if not defined.
116444         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
116446         * lib/config.charset: New version, incorporating remarks from a linux
116447         i18n mailing list.  From Bruno Haible.
116449 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
116451         * m4/codeset.m4: New file.
116452         * m4/iconv.m4: New file.
116453         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
116455 2000-03-03  Jim Meyering  <meyering@lucent.com>
116457         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
116459 2000-03-02  Jim Meyering  <meyering@lucent.com>
116461         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
116462         the messages come out on separate lines.
116464         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
116465         rather than jm_CHECK_DECLARATIONS.
116466         * m4/decl.m4: Remove now-unused file.
116468         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
116469         geteuid.
116471 2000-03-02  Jim Meyering  <meyering@lucent.com>
116473         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
116475 2000-03-01  Jim Meyering  <meyering@lucent.com>
116477         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
116478         * lib/unicodeio.c: Likewise.
116480 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
116482         * lib/config.charset: New file.
116483         * lib/localcharset.c: New file.
116484         * lib/unicodeio.h, lib/unicodeio.c: New files.
116485         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
116486         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
116487         (noinst_HEADERS): Add unicodeio.h.
116488         (all-local, install-exec-local, charset.alias): New targets.
116490 2000-02-28  Paul Eggert  <eggert@twinsun.com>
116492         * lib/quotearg.c (ALERT_CHAR): New macro.
116493         (quotearg_buffer_restyled): Use it.
116495 2000-02-27  Jim Meyering  <meyering@lucent.com>
116497         * m4/check-decl.m4: Add getenv to the list.
116499 2000-02-27  Jim Meyering  <meyering@lucent.com>
116501         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
116502         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
116504         * lib/backupfile.c: Guard inclusion of stdlib.h with
116505         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
116506         Declare malloc if needed.
116508         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
116509         `#ifndef HAVE_DECL..'
116510         now that autoconf always defines the HAVE_DECL_ symbols.
116511         * lib/human.c: Likewise.
116512         * lib/same.c: Likewise.
116513         * lib/strtoumax.c: Likewise.
116515         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
116516         declaration check was not run.
116517         * lib/hash.c: Likewise.
116518         * lib/human.c: Likewise.
116519         * lib/same.c: Likewise.
116520         * lib/strtoumax.c: Likewise.
116522         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
116523         `.', then first look up the entire `.'-containing string as a login
116524         name.
116526 2000-02-23  Jim Meyering  <meyering@lucent.com>
116528         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
116529         in place of my hack.
116531 2000-02-18  Paul Eggert  <eggert@twinsun.com>
116533         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
116534         (textint): New typedef.
116535         (parser_control): Member year changed from int to textint.
116536         All uses changed.
116537         (YYSTYPE): Removed; replaced by %union with int and textint members.
116538         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
116539         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
116540         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
116541         (tSNUMBER, tUNUMBER): Now of type <textintval>.
116542         (date, number, to_year): Use width of number in digits, not its value,
116543         to determine whether it's a 2-digit year, or a 2-digit time.
116544         (yylex): Store number of digits of numeric tokens.
116545         Reported by John Kendall.
116547         (parser_control): Changed from struct parser_control to typedef (for
116548         consistency).  All uses changed.
116550         (tID): Removed; not used.
116551         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
116553 2000-02-14  Paul Eggert  <eggert@twinsun.com>
116555         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
116556         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
116558 2000-02-12  Jim Meyering  <meyering@lucent.com>
116560         * lib/userspec.c (ISDIGIT): Define it.
116561         (isdigit): Remove definition.
116562         (is_number): Use ISDIGIT, not isdigit.
116563         <libintl.h>: Include.
116564         (_ and N_): Define.
116565         (parse_user_spec): Mark translatable strings.
116567 2000-02-10  Jim Meyering  <meyering@lucent.com>
116569         With these changes, nanosleep.[ch] are finally enough like the other
116570         lib/* replacement files to compile on a few more losing systems.
116572         * lib/nanosleep.h: Don't include config.h.
116573         Remove prototype from declaration of nanosleep.
116574         (PARAMS): Remove now-unneeded definition.
116575         * lib/nanosleep.c: #undef nanosleep.
116576         (rpl_nanosleep): Rename from nanosleep.
116578 2000-02-10  Jim Meyering  <meyering@lucent.com>
116580         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
116581         gnu_nanosleep to rpl_nanosleep.
116583 2000-02-09  Jim Meyering  <meyering@lucent.com>
116585         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
116586         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
116588 2000-02-08  Akim Demaille  <akim@epita.fr>
116590         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
116591         `[' and `]' and remove uses of `changequote'.
116592         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
116593         (AC_SYS_LARGEFILE): Likewise.
116594         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
116595         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
116596         of changequote.
116597         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
116598         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
116599         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
116600         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
116602 2000-02-05  Jim Meyering  <meyering@lucent.com>
116604         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
116605         Remove explicit use of AC_HEADER_TIME.  It is required by
116606         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
116607         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
116608         in autoconf whereby the expansion of the latter ended up preceding
116609         the expansion of its prerequisite, AC_HEADER_TIME.
116610         Reported by Volker Borchert.
116612 2000-02-03  Jim Meyering  <meyering@lucent.com>
116614         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
116616 2000-02-03  Jim Meyering  <meyering@lucent.com>
116618         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
116619         rather than with `#if HAVE_UTMPNAME'.
116621 2000-02-02  Jim Meyering  <meyering@lucent.com>
116623         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
116624         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
116625         Reported by Eli Zaretskii.
116627 2000-02-01  Jim Meyering  <meyering@lucent.com>
116629         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
116631 2000-01-31  Jim Meyering  <meyering@lucent.com>
116633         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
116634         functions.  Add the time.h and sys/time.h headers along with the
116635         AC_REQUIRE'ment of AC_HEADER_TIME.
116637 2000-01-31  Jim Meyering  <meyering@lucent.com>
116639         * lib/nanosleep.h (nanosleep): Guard declaration with
116640         `#if ! HAVE_DECL_NANOSLEEP'.
116641         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
116642         the declaration in that vendor's sys/timers.h.
116643         Reported by Christian Krackowizer.
116645         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
116646         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
116647         (ISPRINT): Likewise.
116648         Reported by Tom Tromey.
116650 2000-01-30  Jim Meyering  <meyering@lucent.com>
116652         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
116654         * m4/prereq.m4 (utmp_includes): Define.
116655         Check for ut_user and ut_name members in both struct utmpx
116656         and struct utmp.
116658 2000-01-30  Jim Meyering  <meyering@lucent.com>
116660         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
116661         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
116662         header files where only utmpx.ut_user is declared.
116664         * lib/readutmp.h (UT_USER): Define.
116666 2000-01-29  Jim Meyering  <meyering@lucent.com>
116668         * m4/lib-check.m4: New file containing library-related checks from
116669         fileutils and sh-utils (textutils had none).
116671 2000-01-28  Jim Meyering  <meyering@lucent.com>
116673         * m4/perl.m4: Change format of warning message to look more like that
116674         from the missing script.  Suggestion from François Pinard.
116676 2000-01-25  Jim Meyering  <meyering@lucent.com>
116678         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
116679         well as time.h in the compile check.
116680         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
116681         Fix typo in cross-compiling case: s/yes/no/.
116683 2000-01-23  Jim Meyering  <meyering@lucent.com>
116685         * m4/jm-macros.m4: Move df-related tests here from
116686         fileutils/configure.in
116688         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
116689         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
116691         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
116692         s/space/ac_fsusage_space/.
116693         (jm_FILE_SYSTEM_USAGE): Take two parameters.
116695         * m4/ftruncate.m4: New file (derived from part of
116696         fileutils/configure.in).
116697         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
116698         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
116700         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
116701         AC_SUBST these here, rather than just in sh-util/configure.in, so
116702         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
116703         all the same.
116704         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
116705         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
116706         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
116707         (AC_SUBST(POW_LIBM)): Likewise.
116708         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
116710 2000-01-23  Jim Meyering  <meyering@lucent.com>
116712         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
116713         obstack.c.
116715 2000-01-22  Jim Meyering  <meyering@lucent.com>
116717         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
116719         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
116721         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
116722         configure.in
116723         (AC_CHECK_HEADERS): Likewise for sh-utils.
116724         (AC_CHECK_HEADERS): Likewise for textutils.
116725         Merge the three lists of headers.
116727         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
116728         from fileutils' configure.in.
116730         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
116731         code. Moved tests into their own function (_jm_DECL_HEADERS) in
116732         check-decl.m4.
116734         * m4/check-decl.m4: Use #if rather than #ifdef.
116735         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
116736         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
116737         (_jm_DECL_HEADERS): Define new function.
116738         (jm_CHECK_DECLARATIONS): Require it.
116740 2000-01-22  Jim Meyering  <meyering@lucent.com>
116742         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
116743         [! HAVE_DECL_STRTOULL]: Declare strtoull.
116744         Required for some AIX systems.  Reported by Christian Krackowizer.
116745         [TESTING] (main): New function.
116747         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
116748         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
116749         letters.
116751         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
116752         iswprint.
116754         * lib/strverscmp.c (ISDIGIT): Define.
116755         (strverscmp): Use ISDIGIT, not isdigit.
116757 2000-01-19  Jim Meyering  <meyering@lucent.com>
116759         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
116760         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
116761         defines `struct timespec' in <sys/time.h>
116763         * m4/c-bs-a.m4: Remove uses of changequote altogether.
116764         Thanks to Akim for explaining.
116766 2000-01-17  Paul Eggert  <eggert@twinsun.com>
116768         * lib/nanosleep.c (nanosleep):
116769         Don't use SA_INTERRUPT to decide whether to call sigaction, as
116770         POSIX.1 doesn't require SA_INTERRUPT and some systems
116771         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
116772         it's been part of POSIX.1 since day 1 (in 1988).
116774 2000-01-17  Jim Meyering  <meyering@lucent.com>
116776         * lib/interlock: Remove unused file.  Reported by François Pinard.
116778 2000-01-16  Paul Eggert  <eggert@twinsun.com>
116780         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
116781         alert, backslash, formfeed, and vertical tab unnecessarily in
116782         shell quoting style.
116784 2000-01-16  Jim Meyering  <meyering@lucent.com>
116786         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
116787         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
116788         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
116789         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
116791 2000-01-16  Jim Meyering  <meyering@lucent.com>
116793         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
116794         because the latter didn't work.
116796 2000-01-15  Jim Meyering  <meyering@lucent.com>
116798         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
116799         (AC_REPLACE_FUNCS): Add memcpy and memset.
116800         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
116801         Add strpbrk.
116802         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
116804 2000-01-12  Jim Meyering  <meyering@lucent.com>
116806         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
116807         (jm_PREREQ): Use it.
116808         (jm_PREREQ_READUTMP): New macro.
116809         (jm_PREREQ): Use it.
116811 2000-01-11  Paul Eggert  <eggert@twinsun.com>
116813         Quote multibyte characters correctly.
116814         * m4/c-bs-a.m4: New file.
116815         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
116816         (jm_PREREQ): Use it.
116818 2000-01-11  Paul Eggert  <eggert@twinsun.com>
116820         * m4/uintmax_t.m4: Port to autoconf 2.13.
116822 2000-01-08  Jim Meyering  <meyering@ascend.com>
116824         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
116825         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
116827 2000-01-04  Jim Meyering  <meyering@ascend.com>
116829         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
116830         jm_STRUCT_DIRENT_D_TYPE.
116831         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
116832         jm_STRUCT_DIRENT_D_INO.
116833         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
116834         jm_STRUCT_UTIMBUF.
116835         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
116836         renamings.
116837         * m4/utime.m4: Likewise.
116839         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
116840         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
116842 2000-01-03  Paul Eggert  <eggert@twinsun.com>
116844         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
116845         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
116847 2000-01-02  Jim Meyering  <meyering@ascend.com>
116849         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
116850         remember if this is necessary.
116852 1999-12-26  Jim Meyering  <meyering@ascend.com>
116854         * m4/jm-macros.m4: Use it here.
116855         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
116857 1999-12-23  Jim Meyering  <meyering@ascend.com>
116859         * m4/jm-macros.m4: Check for clock_gettime (moved from
116860         fileutils/configure.in)
116861         Check for gettimeofday.
116863 1999-12-20  Jim Meyering  <meyering@ascend.com>
116865         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
116866         autoconf-2.14a-1999-12-20.
116868 1999-12-19  Jim Meyering  <meyering@ascend.com>
116870         * m4/lstat-slash.m4: New file.
116871         * m4/jm-macros.m4: Use the new macro:
116872         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
116874 1999-12-07  Jim Meyering  <meyering@ascend.com>
116876         * m4/perl.m4: Require that File::Compare be available, too.
116877         Too many systems seem to lack it.
116879         * m4/strftime.m4: Add checks for most of the cpp macros tested in
116880         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
116882 1999-11-18  Paul Eggert  <eggert@twinsun.com>
116884         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
116885         problem with the QNX 4.25 shell, which doesn't propagate exit
116886         status of failed commands inside shell assignments.
116888 1999-11-17  Jim Meyering  <meyering@ascend.com>
116890         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
116892 1999-11-07  Jim Meyering  <meyering@ascend.com>
116894         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
116896 1999-11-06  Jim Meyering  <meyering@ascend.com>
116898         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
116899         * m4/jm-macros.m4 (jm_MACROS): Use it here.
116901 1999-11-05  Jim Meyering  <meyering@ascend.com>
116903         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
116904         configure.in of textutils, fileutils, and sh-utils into this one
116905         (shared between those packages) file.
116906         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
116907         AC_STRUCT_ST_BLKSIZE.
116909 1999-11-03  Jim Meyering  <meyering@ascend.com>
116911         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
116912         of AC_CHECK_TYPE checks includes unistd.h.
116913         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
116914         Suggestion from Akim Demaille.
116916 1999-10-30  Jim Meyering  <meyering@ascend.com>
116918         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
116919         m4-quoted string.
116920         * m4/ls-mntd-fs.m4: Likewise.
116921         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
116922         * m4/jm-winsz1.m4: Likewise.
116924         * m4/const.m4: Remove file, since the fix made it into the experimental
116925         version of autoconf.
116926         * m4/mktime.m4: Likewise.
116928         * m4/check-type.m4: Remove file, now that the latest version of
116929         AC_CHECK_TYPE takes a third arg to specify additional #includes.
116931         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
116932         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
116933         AC_CHECK_TYPE.
116935 1999-10-04  Jim Meyering  <meyering@ascend.com>
116937         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
116939 1999-09-22  Paul Eggert  <eggert@twinsun.com>
116941         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
116942         2.95.1 bug with HP-UX 10.20.
116944 1999-09-17  Jim Meyering  <meyering@ascend.com>
116946         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
116947         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
116948         due to missing strdup (against sh-utils-2.0).
116950 1999-08-29  Jim Meyering  <meyering@ascend.com>
116952         * m4/jm-macros.m4: Require jm_BISON.
116953         * m4/bison.m4: New file.
116955 1999-08-17  Paul Eggert  <eggert@twinsun.com>
116957         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
116958         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
116960 1999-08-05  Jim Meyering  <meyering@ascend.com>
116962         * m4/getline.m4: Rename test file from conftestdata to conftest.data
116963         to avoid conflicts with `conftest' on 8+3 filesystems.
116964         Suggestion from Eli Zaretskii.
116966 1999-08-04  Jim Meyering  <meyering@ascend.com>
116968         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
116969         fileutils and sh-utils (textutils's getline test was inadequate).
116970         (AM_FUNC_GETLINE): Run this test.
116971         (AC_CHECK_FUNCS): Check for getdelim.
116972         Reported by Bob Proulx.
116974 1999-08-02  Jim Meyering  <meyering@ascend.com>
116976         * m4/jm-macros.m4: Add a comment.
116978 1999-08-01  Paul Eggert  <eggert@twinsun.com>
116980         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
116981         <inttypes.h> defines strtoumax as a macro (and not as a
116982         function).
116984 1999-08-01  Paul Eggert  <eggert@twinsun.com>
116986         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
116987         that we can shift, multiply and divide unsigned long long
116988         values; Ultrix cc can't do it.
116990 1999-08-01  Paul Eggert  <eggert@twinsun.com>
116992         * m4/mktime.m4: New file, which is a preview of what should appear
116993         in the next public autoconf release.
116995 1999-08-01  Paul Eggert  <eggert@twinsun.com>
116997         * m4/lfs.m4: Remove this file.
116998         * m4/largefile.m4: New file.  It contains the old contents of
116999         lfs.m4, except that all names with prefix AC_LFS have been
117000         changed to use the prefix AC_SYS_LARGEFILE instead, to be
117001         compatible with future autoconf versions.  Also, some minor m4
117002         quoting problems have been fixed.
117004 1999-08-01  Paul Eggert  <eggert@twinsun.com>
117006         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
117007         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
117008         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
117009         and simplify the shell code.
117011 1999-08-01  Jim Meyering  <meyering@ascend.com>
117013         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
117014         m4.
117016 1999-07-20  Jim Meyering  <meyering@ascend.com>
117018         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
117020 1999-07-15  Jim Meyering  <meyering@ascend.com>
117022         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
117024 1999-05-22  Jim Meyering  <meyering@ascend.com>
117026         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
117028 1999-05-20  Jim Meyering  <meyering@ascend.com>
117030         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
117031         Add a colon after each `then' in case $4 is empty.
117033 1999-05-16  Jim Meyering  <meyering@ascend.com>
117035         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
117037 1999-05-10  Jim Meyering  <meyering@ascend.com>
117039         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
117041         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
117042         AC_FUNC_MKTIME.
117044 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
117046         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
117048 1999-05-04  Paul Eggert  <eggert@twinsun.com>
117050         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
117051         not CPPFLAGS, so that linking works correctly in IRIX.
117053 1999-04-30  Paul Eggert  <eggert@twinsun.com>
117055         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
117057 1999-04-20  Paul Eggert  <eggert@twinsun.com>
117059         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
117060         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
117061         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
117062         jm_AC_TYPE_UNSIGNED_LONG_LONG.
117063         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
117065         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
117067 1999-04-20  Jim Meyering  <meyering@ascend.com>
117069         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
117070         AC_REPLACE xstroull if necessary.  From Paul Eggert.
117071         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
117073 1999-04-18  Jim Meyering  <meyering@ascend.com>
117075         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
117076         * m4/jm-macros.m4: Use it.
117078 1999-04-06  Jim Meyering  <meyering@ascend.com>
117080         * m4/strftime.m4: Remove test for %f.
117082 1999-03-29  Jim Meyering  <meyering@ascend.com>
117084         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
117085         superset of the AC_TYPE_* checks in the textutils, fileutils,
117086         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
117087         AC_TYPE_PID_T.
117089 1999-03-28  Jim Meyering  <meyering@ascend.com>
117091         * m4/jm-macros.m4: Define GNU_PACKAGE here.
117092         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
117093         replaced e.g., in the *.sh files of the sh-utils.
117095 1999-03-20  Jim Meyering  <meyering@ascend.com>
117097         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
117098         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
117099         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
117101 1999-03-19  Jim Meyering  <meyering@ascend.com>
117103         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
117105 1999-03-12  Jim Meyering  <meyering@ascend.com>
117107         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
117109 1999-03-07  Jim Meyering  <meyering@ascend.com>
117111         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
117112         declared.
117114 1999-02-17  Jim Meyering  <meyering@ascend.com>
117116         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
117117         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
117119 1999-02-07  Jim Meyering  <meyering@ascend.com>
117121         * m4/group-member.m4: New file -- extracted from sh-utils'
117122         configure.in.
117124         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
117125         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
117127 1999-02-06  Jim Meyering  <meyering@ascend.com>
117129         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
117130         * m4/fnmatch.m4: Likewise.
117131         * m4/getgroups.m4: Likewise.
117132         * m4/lstat.m4: Likewise.
117133         * m4/malloc.m4: Likewise.
117134         * m4/putenv.m4: Likewise.
117135         * m4/realloc.m4: Likewise.
117136         * m4/regex.m4: Likewise.
117137         * m4/stat.m4: Likewise.
117138         * m4/strftime.m4: Likewise.
117139         Suggestion from Alain Magloire.
117141         * m4/chown.m4: Use `.$ac_objext', not `.o'.
117142         * m4/fnmatch.m4: Likewise.
117143         * m4/getgroups.m4: Likewise.
117144         * m4/getline.m4: Likewise.
117145         * m4/lstat.m4: Likewise.
117146         * m4/malloc.m4: Likewise.
117147         * m4/memcmp.m4: Likewise.
117148         * m4/putenv.m4: Likewise.
117149         * m4/realloc.m4: Likewise.
117150         * m4/regex.m4: Likewise.
117151         * m4/stat.m4: Likewise.
117152         * m4/strftime.m4: Likewise.
117153         Suggestion from Alain Magloire.
117155         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
117156         an argument.
117158         * m4/regex.m4: Add a run-time Test for proper operation of
117159         re_compile_pattern.
117161 1999-01-31  Jim Meyering  <meyering@ascend.com>
117163         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
117165 1999-01-30  Jim Meyering  <meyering@ascend.com>
117167         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
117169         * m4/jm-mktime.m4: Make this a wrapper around the official
117170         AM_FUNC_MKTIME rather than my private copy, now that the official one
117171         is up to date.
117172         * m4/mktime.m4: Remove file.
117174         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
117175         * m4/uptime.m4: Likewise.
117176         * m4/uintmax_t.m4: Likewise.
117178 1999-01-28  Jim Meyering  <meyering@ascend.com>
117180         * m4/jm-macros.m4: Use jm_AFS.
117181         * m4/afs.m4: New file (from fileutils' configure.in).
117183         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
117184         * m4/chown.m4: Likewise.
117185         * m4/d-ino.m4: Likewise.
117186         * m4/d-type.m4: Likewise.
117187         * m4/fnmatch.m4: Likewise.
117188         * m4/getgroups.m4: Likewise.
117189         * m4/gettext.m4: Likewise.
117190         * m4/jm-mktime.m4: Likewise.
117191         * m4/jm-winsz2.m4: Likewise.
117192         * m4/lcmessage.m4: Likewise.
117193         * m4/ls-mntd-fs.m4: Likewise.
117194         * m4/malloc.m4: Likewise.
117195         * m4/memcmp.m4: Likewise.
117196         * m4/putenv.m4: Likewise.
117197         * m4/realloc.m4: Likewise.
117198         * m4/st_mtim.m4: Likewise.
117199         * m4/strftime.m4: Likewise.
117201 1999-01-16  Jim Meyering  <meyering@ascend.com>
117203         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
117204         (ARGMATCH_DIE_DECL): Define.
117206 1999-01-12  Jim Meyering  <meyering@ascend.com>
117208         * m4/Makefile.am.in: Rewrite to avoid using fmt.
117209         Reported by Lars Hecking.
117211 1999-01-10  Jim Meyering  <meyering@ascend.com>
117213         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
117214         gross kludge.
117215         * m4/inttypes_h.m4: Likewise.
117216         * m4/lstat.m4: Likewise.
117217         * m4/malloc.m4: Likewise.
117218         * m4/readdir.m4: Likewise.
117219         * m4/realloc.m4: Likewise.
117220         * m4/st_dm_mode.m4: Likewise.
117221         * m4/stat.m4: Likewise.
117222         * m4/utimbuf.m4: Likewise.
117223         * m4/utimes.m4: Likewise.
117225         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
117226         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
117227         comments in config.h.in are meaningful.
117229         * m4/jm-macros.m4: Require autoconf-2.13 here.
117231         * m4/regex.m4: By default, don't use the included regex.c on systems
117232         with glibc 2.  Suggestion from Uli Drepper.
117234 1999-01-02  Jim Meyering  <meyering@ascend.com>
117236         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
117238 1998-12-18  Jim Meyering  <meyering@ascend.com>
117240         * m4/Makefile.am.in (Makefile.am): Simplify rule.
117241         Based on a suggestion from Lars Hecking.
117243 1998-11-16  Paul Eggert  <eggert@twinsun.com>
117245         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
117247 1998-11-16  Jim Meyering  <meyering@ascend.com>
117249         * m4/lfs.m4: Double-quote the `uname...` expression.
117251 1998-11-14  Jim Meyering  <meyering@ascend.com>
117253         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
117254         * m4/stat.m4: Likewise.
117256 1998-11-03  Jim Meyering  <meyering@ascend.com>
117258         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
117259         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
117261 1998-10-18  Jim Meyering  <meyering@ascend.com>
117263         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
117265 1998-10-17  Jim Meyering  <meyering@ascend.com>
117267         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
117268         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
117269         calls for those previously hard-coded headers.  Instead, take a new
117270         parameter.
117271         (jm_CHECK_DECLARATIONS): Reflect interface change.
117272         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
117273         (jm_CHECK_DECL_LOCALTIME_R): New macro.
117275         * m4/mktime.m4: Test for spring-forward gap before long-running test.
117277 1998-10-14  Jim Meyering  <meyering@ascend.com>
117279         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
117280         instead of "TZ=America/Vancouver".  From Paul Eggert.
117282 1998-10-11  Jim Meyering  <meyering@ascend.com>
117284         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
117285         This adds a test for a recently added compatibility fix for mktime.c.
117286         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
117288 1998-09-27  Jim Meyering  <meyering@ascend.com>
117290         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
117292         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
117293         ../configure.in, including a change from Gordon Matzigkeit to allow
117294         cross-compiling for the Hurd.
117296         * m4/glibc.m4: New file/macro to test for the GNU C Library
117297         versions 1 and 2.  From Gordon Matzigkeit.
117298         Indent.
117300 1998-09-21  Jim Meyering  <meyering@ascend.com>
117302         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
117304 1998-08-18  Paul Eggert  <eggert@twinsun.com>
117306         Port nanosecond-resolution times to UnixWare 2.1.2 and
117307         pedantic Solaris 2.6.
117309         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
117310         AC_STRUCT_ST_MTIM.
117311         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
117312         Generate name of ns member, instead of just 1 or undef.
117313         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
117315 1998-08-15  Jim Meyering  <meyering@ascend.com>
117317         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
117318         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
117319         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
117320         instead of jm_TYPE_SSIZE_T.
117322 1998-08-12  Jim Meyering  <meyering@ascend.com>
117324         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
117326 1998-08-02  Jim Meyering  <meyering@ascend.com>
117328         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
117329         in acconfig.h manually.
117331 1998-07-31  Paul Eggert  <eggert@twinsun.com>
117333         * m4/st_mtim.m4: New file.
117335 1998-07-28  Jim Meyering  <meyering@ascend.com>
117337         * m4/utimes.m4: Undef stat.
117339 1998-07-25  Jim Meyering  <meyering@ascend.com>
117341         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
117342         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
117344 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
117346         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
117347         uid and gid actually remain unchanged.
117349 1998-07-07  Jim Meyering  <meyering@ascend.com>
117351         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
117353 1998-07-04  Jim Meyering  <meyering@ascend.com>
117355         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
117356         to prove that this macro can be used in packages without regex.c.
117358 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
117360         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
117361         is to be used.
117363 1998-07-03  Jim Meyering  <meyering@ascend.com>
117365         * m4/gettext.m4: Add -lintl if it's found to be necessary.
117367         * m4/gettext.m4: New file -- from gettext-0.10.35.
117368         * m4/lcmessage.m4: Likewise.
117369         * m4/progtest.m4: Likewise.
117371         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
117372         * m4/jm-macros.m4: Require the new macro.
117374 1998-06-29  Jim Meyering  <meyering@ascend.com>
117376         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
117377         for the definition of NGROUPS (used in a system header included
117378         by sys/mount.h).
117380 1998-06-28  Jim Meyering  <meyering@ascend.com>
117382         * m4/ls-mntd-fs.m4: New file.
117383         * m4/fstypename.m4: New file.
117385         * m4/jm-macros.m4: Require the new macro.
117386         * m4/jm-glibc-io.m4: New file.
117388 1998-05-19  Jim Meyering  <meyering@ascend.com>
117390         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
117391         * m4/lchown.m4: New file.
117393         * m4/Makefile.am.in: New file.
117394         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
117396 1998-05-14  Jim Meyering  <meyering@ascend.com>
117398         * m4/Makefile.am (EXTRA_DIST): Add them.
117399         * m4/jm-macros.m4: New file.
117400         * m4/utimbuf.m4: New file.
117402 1998-05-12  Jim Meyering  <meyering@ascend.com>
117404         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
117406 1998-05-11  Jim Meyering  <meyering@ascend.com>
117408         * m4/isc-posix.m4: New file.
117410 1998-05-10  Jim Meyering  <meyering@ascend.com>
117412         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
117414 1998-05-09  Jim Meyering  <meyering@ascend.com>
117416         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
117417         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
117418         with automake.
117420         * m4/ssize_t.m4: New file.
117421         * m4/mktime.m4: Remove file -- the new automake has this now.
117423 1998-04-26  Jim Meyering  <meyering@ascend.com>
117425         * m4/assert.m4: New file.
117426         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
117428 1998-04-05  Jim Meyering  <meyering@ascend.com>
117430         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
117431         (jm_PREREQ): Use it here.
117433 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
117435         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
117436         in acconfig.h.
117438 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
117440         * m4/prereq.m4: New file.
117441         * m4/error.m4: New file.
117442         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
117444 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
117446         * m4/getline.m4: Don't set am_cv_func_working_getline before the
117447         cache-check for the same variable -- that defeated the purpose of
117448         the test; the test program was never run.  This was a problem only
117449         on systems with losing getline functions -- HP-UX 10.20 is one.
117450         Reported by Bjorn Helgaas.
117452 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
117454         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
117456 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
117458         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
117460         * m4/const.m4: New file.  Use an initializer in this declaration
117461         typedef int charset[2]; const charset x;
117462         Reported by Bob Glickstein.
117464 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
117466         * m4/chown.m4: Fix reversed types on -1 args to chown.
117467         From Kaveh Ghazi.
117469 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
117471         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
117472         Add lseek and memchr.
117474         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
117475         T.E.Dickey <dickey@clark.net> said that some older preprocessors
117476         have a 20-character limit on names.
117478 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
117480         * m4/inttypes_h.m4: New file.
117481         * m4/uintmax_t.m4: New file.
117482         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
117485         -----
117487         Local Variables:
117488         coding: utf-8
117489         End:
117491         Copyright (C) 1997-2018 Free Software Foundation, Inc.
117493         Copying and distribution of this file, with or without
117494         modification, are permitted provided the copyright notice
117495         and this notice are preserved.